{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/layouts/Public.vue?6a11","webpack:///./src/App.vue?5b85","webpack:///./src/views/ResetPassword.vue?da90","webpack:///./src/components/EsriSearch.vue?918d","webpack:///./src/components/EsriMap.vue?2248","webpack:///./src/views/Login.vue?b4c0","webpack:///./src/layouts/Editor.vue?7737","webpack:///./node_modules/@stencil/core/internal/client lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///./src/views/Signup.vue?4133","webpack:///./src/App.vue?3b35","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue","webpack:///./src/services/PlacenamesService.ts","webpack:///./src/models/Placename.ts","webpack:///./src/store.ts","webpack:///./src/layouts/Public.vue?979d","webpack:///./src/components/LayerSelector.vue?2bbf","webpack:///./src/components/LayerSelector.vue?19fa","webpack:///./src/components/LayerSelector.vue?7766","webpack:///./src/components/LayerSelector.vue","webpack:///./src/components/EsriPopup.vue?6be0","webpack:///./src/components/EsriPopup.vue?a5a1","webpack:///./src/components/EsriPopup.vue?6bb7","webpack:///./src/components/EsriPopup.vue","webpack:///./src/components/EsriSearch.vue?24a5","webpack:///./src/components/EsriSearch.vue?6e76","webpack:///./src/components/EsriSearch.vue?6682","webpack:///./src/components/EsriSearch.vue","webpack:///./src/components/EsriPrint.vue?ac87","webpack:///./src/components/EsriPrint.vue?1bdb","webpack:///./src/components/EsriPrint.vue?2463","webpack:///./src/components/EsriPrint.vue","webpack:///./src/components/EsriSketch.vue?c2be","webpack:///./src/components/EsriSketch.vue?9e6e","webpack:///./src/components/EsriSketch.vue?ce9f","webpack:///./src/components/EsriSketch.vue","webpack:///./src/views/Map.vue?0bff","webpack:///./src/components/EsriMap.vue?7e58","webpack:///./src/components/EsriMap.vue?4bc5","webpack:///./src/components/EsriMap.vue?a479","webpack:///./src/components/EsriMap.vue","webpack:///./src/views/Map.vue?fe44","webpack:///./src/views/Map.vue?9165","webpack:///./src/views/Map.vue","webpack:///./src/components/AddData.vue?0599","webpack:///./src/components/AddData.vue?96f4","webpack:///./src/components/AddData.vue?8d98","webpack:///./src/components/AddData.vue","webpack:///./src/components/About.vue?0ffb","webpack:///./src/components/About.vue?6183","webpack:///./src/components/About.vue?64d7","webpack:///./src/components/About.vue","webpack:///./src/layouts/Public.vue?8372","webpack:///./src/layouts/Public.vue?a0ca","webpack:///./src/layouts/Public.vue","webpack:///./src/layouts/Editor.vue?efa3","webpack:///./src/components/Approvals.vue?43a3","webpack:///./src/components/Approvals.vue?96ea","webpack:///./src/components/Approvals.vue?6193","webpack:///./src/components/Approvals.vue","webpack:///./src/layouts/Editor.vue?8a4d","webpack:///./src/layouts/Editor.vue?bd09","webpack:///./src/layouts/Editor.vue","webpack:///./src/views/Login.vue?b342","webpack:///./src/services/LoginService.ts","webpack:///./src/views/Login.vue?bb6b","webpack:///./src/views/Login.vue?5134","webpack:///./src/views/Login.vue","webpack:///./src/views/ResetPassword.vue?8a0c","webpack:///./src/views/ResetPassword.vue?e0a9","webpack:///./src/views/ResetPassword.vue?5762","webpack:///./src/views/ResetPassword.vue","webpack:///./src/views/Signup.vue?c53f","webpack:///./src/views/Signup.vue?ac6a","webpack:///./src/views/Signup.vue?003c","webpack:///./src/views/Signup.vue","webpack:///./src/views/AuthHandler.vue?6886","webpack:///./src/models/User.ts","webpack:///./src/views/AuthHandler.vue?6e82","webpack:///./src/views/AuthHandler.vue?40e5","webpack:///./src/views/AuthHandler.vue","webpack:///./src/router.ts","webpack:///./src/quasar.js","webpack:///./src/main.ts","webpack:///./src/components/LayerSelector.vue?7f59","webpack:///./src/components/Approvals.vue?66ea","webpack:///./src/components/EsriPopup.vue?c4ae"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","webpackEmptyAsyncContext","req","then","code","keys","id","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","component","a","baseURL","withCredentials","headers","interceptors","response","use","status","config","__isRetryRequest","user","store","getters","refreshToken","upsertPlacename","placename","token","post","Authorization","deletePlacename","objectId","delete","getFileNames","uploadAudio","formData","deleteAudio","filename","approve","attributes","smithName","englishName","x","y","SmithName","EnglishName","OBJECTID","smithName2","SmithName2","county","County","translation","SmithProperTranslation","name1","meaning1","source1","sourceDetail1","source_detail1","name2","meaning2","source2","sourceDetail2","source_detail2","name3","meaning3","source3","sourceDetail3","source_detail3","name4","meaning4","source4","sourceDetail4","source_detail4","name5","meaning5","source5","sourceDetail5","source_detail5","comment","Comment","audioLink","AudioLink","video","Video","approved","enteredBy","entered_by","vuexLocal","storage","localStorage","reducer","state","Store","rootUrl","leftDrawerOpen","rightDrawerOpen","isMobile","windowHeight","windowWidth","rightDrawerContent","edit","print","about","layer","leftDrawerContent","popup","approvals","sketch","sketchLayer","layers","url","active","unapproved","search","basemaps","sources","PACIF","PIERS","RAND","OTH","layerView","communitiesLayer","count","editFeature","map","mapView","center","zoom","searchLayer","novaScotiaLocator","placeholder","mutations","LOGIN","SKETCH_TOGGLE","DRAWER_TOGGLE_LEFT","content","k","openSesame","values","v","DRAWER_TOGGLE_RIGHT","SET_BASEMAP","basemap","forEach","item","index","TOGGLE_LAYER","startsWith","visible","SET_UNAPPROVED_COUNT","SET_UNAPPROVED_DATA","SET_EDIT_FEATURE","UPDATE_WINDOW_HEIGHT","UPDATE_WINDOW_WIDTH","actions","context","payload","login","commit","drawerToggleLeft","drawerToggleRight","setBasemap","toggleLayer","sketchToggle","initSearch","initPopup","popupFromSearch","feature","aboutAction","notify","getAudioFileNames","PlacenamesService","catch","dispatch","deleteAudioFile","uploadAudioFile","file","FormData","set","addPlacename","statusText","resetEditFeature","editPlacename","query","createQuery","returnGeometry","outFields","where","queryFeatures","results","features","geometry","approvePlacename","rejectPlacename","refreshLayers","close","refresh","updateUnapprovedCount","updateUnapprovedData","allAttributes","updateWindowHeight","updateWindowWidth","audioRootUrl","indexOf","plugins","plugin","staticClass","widthThresholdValue","on","$event","_v","staticStyle","directives","rawName","expression","onClose","_l","nativeOn","onLayerToggle","model","callback","$$v","$set","_s","onBasemapSelect","$store","filter","highlightHandle","unsubscribe","subscribeAction","action","popupGraphic","oldValue","popupEnabled","remove","location","href","pxToMeters","extent","width","Circle","mapPoint","radius","q","hitTest","graphic","goTo","parsedUrl","path","mikmawPlaceNamesLayerURL","open","container","getElementById","innerHTML","Feature","view","searchLayerView","highlight","immediate","deep","computed","locatorSearchSource","LocatorSearchSource","locator","Locator","singleLineFieldName","maxResults","maxSuggestions","suggestionsEnabled","minSuggestCharacters","layerSearchSource","LayerSearchSource","searchFields","suggestionTemplate","exactMatch","searchWidget","Search","allPlaceholder","activeSourceIndex","searchAllEnabled","includeDefaultSources","locationEnabled","source","ui","add","position","domNode","style","printWidget","initPrintWidget","Print","printServiceUrl","sketchWidget","destroy","Sketch","includes","tool","symbol","outline","color","_m","activeBasemap","GraphicsLayer","approveAction","rejectAction","editAction","deleteAction","eMap","role","title","className","MapView","dockEnabled","dockOptions","buttonEnabled","compass","Compass","$q","platform","is","mobile","move","createLayers","popFunc","div","domain","OTHER","soundFile","mediaRow","split","comments","translationText","popTemplate","labelClass","haloColor","haloSize","font","size","weight","minScale","labelPlacement","labelExpressionInfo","pointRenderer","layerList","clusterConfig","FeatureReductionCluster","clusterRadius","clusterMinSize","clusterMaxSize","labelingInfo","deconflictionStrategy","FeatureLayer","renderer","popupTemplate","featureReduction","unshift","definitionExpression","fLayer","miLayer","MapImageLayer","watchHandle","updateAttribution","updateCompassTooltip","setupActions","whenLayerView","addMany","viewModel","selectedFeature","dialog","cancel","persistent","onOk","onCancel","onDismiss","poweredBy","querySelector","compassElement","createMap","components","EsriMap","closeEditor","unapprovedCount","ref","onSubmit","addPoint","_e","isCountyLoading","val","meaning","sourceDetail","addedSources","onAddSource","sourceId","onDeleteSource","validateAudioFile","clearAudioFile","scopedSlots","_u","fn","proxy","audioFile","vIdx","videos","onAddVideo","isSaving","showInstruction","cancelAddPoint","maxFileSize","markerGraphic","eventHandler","newPointSymbol","showMarker","File","resetData","graphics","Graphic","Point","spatialReference","wkid","communitiesLayerUrl","datumTransformation","countyCode","CO_CODE","countyFromCode","obj","find","join","replace","endsWith","substring","uploadFile","innerHeight","innerWidth","addEventListener","desktop","LayerSelector","EsriPopup","EsriSearch","EsriPrint","EsriSketch","Map","AddData","About","userRole","onOpenPDF","onLogout","unapprovedData","highlightMap","highlightClear","playSound","vid","zoomToPlacename","isLoading","toggleApproval","removeFromList","deleteConfirm","unapprovedLayerView","unapprovedLayer","audioElement","play","$router","Approvals","onReset","username","password","errorMessage","clientId","userDb","auth0Domain","auth0","clientID","audience","responseType","redirectUri","scope","getUserInfo","client","userInfo","parseHash","hash","realm","checkSession","resetPassword","email","apiClient","client_id","connection","signup","redirect","$route","params","LoginService","description","isValidEmail","go","isDisabled","emailPattern","test","roleAdmin","roleContrib","tokenExpiry","Date","now","isAuthenticated","accessToken","expiresIn","router","regex","RegExp","exec","decodeURIComponent","getParameterFromHash","parseInt","newLogin","routes","Public","Editor","beforeEnter","to","from","next","ResetPassword","Signup","Vue","Quasar","QLayout","QHeader","QDrawer","QPageContainer","QPage","QToolbar","QToolbarTitle","QBtn","QIcon","QList","QItem","QItemSection","QItemLabel","QDialog","QCard","QCardSection","QCardActions","QMenu","QSeparator","QForm","QInput","QAvatar","QToggle","QSelect","QFile","QUploader","QBadge","QExpansionItem","QSpace","QTooltip","ClosePopup","Ripple","Notify","Dialog","iconSet","productionTip","render","h","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASY,EAAe5B,GACvB,OAAOyB,EAAoBI,EAAI,OAAS,GAAG7B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB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","file":"js/app.0ffa8350.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-00b02611\":\"68e623ee\",\"chunk-01941038\":\"2c9feba4\",\"chunk-434f637c\":\"5b453400\",\"chunk-a1580416\":\"a8d81d92\",\"chunk-09e8aaad\":\"7ed750ec\",\"chunk-09ef6aec\":\"6d1b2dbe\",\"chunk-14e002a7\":\"5922a010\",\"chunk-1b5d43a4\":\"d779a2e7\",\"chunk-53ff5184\":\"bdb93021\",\"chunk-13156232\":\"18386445\",\"chunk-6e6f7a00\":\"2ca43f21\",\"chunk-2d0dace6\":\"aa311339\",\"chunk-2d0e62e7\":\"004fd5a1\",\"chunk-2d237116\":\"c12eaa75\",\"chunk-21440acd\":\"fb89c9d9\",\"chunk-2d0a2dc5\":\"bc64d981\",\"chunk-2d0a3344\":\"6af5abdb\",\"chunk-2d0a4c1e\":\"2dec6a63\",\"chunk-2d0aa1f5\":\"866b10ba\",\"chunk-2d0abe0e\":\"5d6320a6\",\"chunk-2d0aead6\":\"545f8ff8\",\"chunk-2d0b2b44\":\"e3712146\",\"chunk-2d0b32f8\":\"6f83ccb0\",\"chunk-2d0b6d34\":\"96344e80\",\"chunk-2d0b726e\":\"5d554536\",\"chunk-2d0bcda5\":\"f370206e\",\"chunk-2d0bdcef\":\"5964aad5\",\"chunk-2d0bdf78\":\"7202458d\",\"chunk-2d0c0894\":\"ffe3a26f\",\"chunk-2d0c1948\":\"dbcbe39d\",\"chunk-2d0c7ed4\":\"e8c50a7f\",\"chunk-2d0c86de\":\"17192b59\",\"chunk-2d0c970e\":\"513cbfd1\",\"chunk-2d0cbd02\":\"d3998f67\",\"chunk-2d0cf344\":\"e7b80e5d\",\"chunk-2d0cffe8\":\"05c7f599\",\"chunk-2d0d03a7\":\"4ac03c8c\",\"chunk-460eca32\":\"b545e694\",\"chunk-1f70f5e4\":\"6ac1a054\",\"chunk-3231c886\":\"d47706cc\",\"chunk-528f064d\":\"93ea2ed5\",\"chunk-5a8c9dfa\":\"d76e4a73\",\"chunk-b3709d6c\":\"bfcbf222\",\"chunk-cb89b566\":\"dbde7772\",\"chunk-e26bd3da\":\"9aaf717a\",\"chunk-2d0d03e5\":\"c688863d\",\"chunk-2d0d30d0\":\"be8fa04c\",\"chunk-2d0d6f6b\":\"ed6d74df\",\"chunk-2d0d7e56\":\"2a1d3b7b\",\"chunk-2d0d7fd9\":\"11843587\",\"chunk-2d0da5dc\":\"a1f406b1\",\"chunk-2d0dd452\":\"cefbec44\",\"chunk-2d0e48cf\":\"54d8d10c\",\"chunk-2d0e504c\":\"edaef56a\",\"chunk-2d0e5bc0\":\"690158d0\",\"chunk-2d0e91ed\":\"db61cb16\",\"chunk-2d0e925e\":\"6c3958bd\",\"chunk-2d207ac9\":\"41af9469\",\"chunk-2d2080c7\":\"1e9fc71e\",\"chunk-2d20828d\":\"c7b1a768\",\"chunk-2d20fd1a\":\"cbf15c07\",\"chunk-2d20ff55\":\"f81a1f91\",\"chunk-2d210440\":\"2b7c35f6\",\"chunk-2d210f99\":\"6394020e\",\"chunk-2d21711c\":\"c846da76\",\"chunk-2d218057\":\"5e128a75\",\"chunk-2d21b2d9\":\"488f8f65\",\"chunk-2d21dff7\":\"e6cd583a\",\"chunk-2d21e41f\":\"c2fd05f5\",\"chunk-2d221c62\":\"ceee8b18\",\"chunk-2d222546\":\"70a319d0\",\"chunk-2d225296\":\"0972555f\",\"chunk-2d225664\":\"97924e69\",\"chunk-2d22611c\":\"bfc464f7\",\"chunk-2d2297bc\":\"b1400798\",\"chunk-2d22a1b6\":\"e7764c39\",\"chunk-2d22cca7\":\"34c5cf00\",\"chunk-2d22ce36\":\"55918cec\",\"chunk-2d22cf8c\":\"1f9b54cf\",\"chunk-252da140\":\"40f5cf8d\",\"chunk-252f2cfc\":\"b2ccff16\",\"chunk-eb72276e\":\"83a42a59\",\"chunk-405af158\":\"8bc27e2e\",\"chunk-2d22d3a8\":\"8fab7d5e\",\"chunk-2d22e157\":\"314b608a\",\"chunk-2d231045\":\"eb194f03\",\"chunk-2d2311e8\":\"0ee77e1a\",\"chunk-2d237526\":\"42bb7c83\",\"chunk-342283ac\":\"94c03ccb\",\"chunk-2dd5c23a\":\"ea8885da\",\"chunk-3b31293b\":\"bfc78f7a\",\"chunk-3bb87d0e\":\"7990d680\",\"chunk-3f48965f\":\"e3129fdb\",\"chunk-4d7d4f4d\":\"4644e403\",\"chunk-00e28c26\":\"950e1f5d\",\"chunk-4e58cc46\":\"d7229561\",\"chunk-294f1278\":\"04c1dbbf\",\"chunk-810d7b66\":\"dab08c22\",\"chunk-59ca81b0\":\"88f15a60\",\"chunk-2d0aec69\":\"611be39e\",\"chunk-59f29c8d\":\"5031763e\",\"chunk-6a49fddb\":\"0d7c2f3c\",\"chunk-31eaba96\":\"cb0d5b4a\",\"chunk-0d72be16\":\"7320c405\",\"chunk-2f72af03\":\"58ace99b\",\"chunk-108cbe6a\":\"244ce6ba\",\"chunk-23712b88\":\"c9970331\",\"chunk-27409b0e\":\"a323df1a\",\"chunk-28bba517\":\"9276f7f2\",\"chunk-38d340e8\":\"47abfefc\",\"chunk-485d3636\":\"9190f103\",\"chunk-5e7951a0\":\"385a0f7d\",\"chunk-65e8d576\":\"e8ef7cbd\",\"chunk-f3d92724\":\"67ddbf8f\",\"chunk-5994f67a\":\"0289a7fd\",\"chunk-698f74d5\":\"86514707\",\"chunk-867ead08\":\"083869e5\",\"chunk-ea5dff4c\":\"2ef9a034\",\"chunk-1f9e72e9\":\"84be33aa\",\"chunk-27cd9fc4\":\"799f0139\",\"chunk-8a3e5714\":\"2c398f50\",\"chunk-375c0dc3\":\"4bf83c81\",\"chunk-60d724c8\":\"36036119\",\"chunk-6c40627a\":\"02b0396d\",\"chunk-703d78b0\":\"d6535b3d\",\"chunk-7476957c\":\"ee975042\",\"chunk-7499dfb6\":\"5f7a1123\",\"chunk-771be51c\":\"96b85fde\",\"chunk-7f209272\":\"a7d1628e\",\"chunk-80f047ce\":\"e2e99f85\",\"chunk-9f03d140\":\"b28787b2\",\"chunk-9f2904a0\":\"a892b004\",\"chunk-9f2fa872\":\"38eee340\",\"chunk-c08e8064\":\"073ccc2f\",\"chunk-c6435564\":\"9fd7acf3\",\"chunk-15302fac\":\"a7c26363\",\"chunk-f7404b1e\":\"c2dd427d\",\"chunk-fbbf9fbe\":\"32a1f708\",\"chunk-06ad9dad\":\"4e3cd960\",\"chunk-06c71652\":\"8ec15f06\",\"chunk-161078e6\":\"bbfa11fc\",\"chunk-20e837a3\":\"ed67e386\",\"chunk-2d0a33b6\":\"0f6e825e\",\"chunk-2d0a4f14\":\"0b7911e1\",\"chunk-2d0ac5dd\":\"aa716f48\",\"chunk-2d0c8892\":\"d9c1194f\",\"chunk-2d207eeb\":\"be50a35d\",\"chunk-2d209b4c\":\"8a3458fb\",\"chunk-2d20f003\":\"b4eea7b7\",\"chunk-2d21a92d\":\"db147d70\",\"chunk-2dcc590e\":\"38b484f5\",\"chunk-3db7ae48\":\"8a159d5c\",\"chunk-41b20229\":\"50dc5173\",\"chunk-435aa026\":\"9ecce6bd\",\"chunk-5084825c\":\"000204a3\",\"chunk-55744460\":\"1009673c\",\"chunk-55a2b5c0\":\"4e27d1c7\",\"chunk-49c6e9cd\":\"5a869249\",\"chunk-2d237932\":\"4b3ff67e\",\"chunk-30099953\":\"0f0e7a9c\",\"chunk-6d68c34e\":\"f07b9539\",\"chunk-88f92b30\":\"e0e256ef\",\"chunk-e4fd0ad0\":\"9de804ad\",\"chunk-ef0d75d0\":\"393e7394\",\"chunk-2d23775c\":\"745c2005\",\"chunk-d2cad90c\":\"92cbf737\",\"chunk-3f876f0c\":\"d0316492\",\"chunk-7503b3e1\":\"708b7b15\",\"chunk-2d0e887f\":\"a63ab685\",\"chunk-180660b2\":\"9b102b9c\",\"chunk-196bbbbc\":\"5aae5ab1\",\"chunk-2d222178\":\"5477f50f\",\"chunk-4c9945e4\":\"a0eb0dc6\",\"chunk-145c2404\":\"2460704f\",\"chunk-47c1d7bd\":\"adbeb65d\",\"chunk-b6f42e0c\":\"61cc2068\",\"chunk-045d740e\":\"6364d6cf\",\"chunk-2d0c8483\":\"4e13921f\",\"chunk-2d0a514a\":\"7e1131f3\",\"chunk-a1620918\":\"ab774e78\",\"chunk-2d0c8f9b\":\"51d44c84\",\"chunk-57e02c98\":\"a8ebd695\",\"chunk-2d0a4b23\":\"d0e6d549\",\"chunk-1900908c\":\"b475b382\",\"chunk-f8df2c5c\":\"465b9736\",\"chunk-2d0a47fe\":\"f5b6ab78\",\"chunk-2d0c191a\":\"b9aa0ec7\",\"chunk-2d0c55a7\":\"b0f9938e\",\"chunk-2d0ccfe5\":\"21e6c488\",\"chunk-2d0e1788\":\"0296f4d6\",\"chunk-2d0f0025\":\"46187c6e\",\"chunk-2d207f46\":\"f462ddf2\",\"chunk-0d0331bd\":\"db158650\",\"chunk-2d0a5169\":\"a7da719a\",\"chunk-2d0ab897\":\"89053010\",\"chunk-2d0b3143\":\"c68c653d\",\"chunk-2d0c7e33\":\"75792bec\",\"chunk-2d0cb6c5\":\"fd31b739\",\"chunk-2d0db7d8\":\"c00d6d8c\",\"chunk-2d0de726\":\"7c6732aa\",\"chunk-2d0efcae\":\"e123e52e\",\"chunk-2d208701\":\"e3c9bbd6\",\"chunk-2d20f1b1\":\"aa566c7e\",\"chunk-2d213386\":\"b4b62dde\",\"chunk-2d0a47c1\":\"8fdc8a94\",\"chunk-2d215c84\":\"e41d4980\",\"chunk-2d2219c9\":\"4c63d8a8\",\"chunk-2d2248f1\":\"d9f921f8\",\"chunk-2d22cca6\":\"0ce2f627\",\"chunk-2d209409\":\"70f28c6b\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Public.vue?vue&type=style&index=0&id=84a41b28&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Public.vue?vue&type=style&index=0&id=84a41b28&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&id=0ad36769&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&id=0ad36769&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSearch.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSearch.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriMap.vue?vue&type=style&index=0&id=2b82aee2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriMap.vue?vue&type=style&index=0&id=2b82aee2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=270737a5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=270737a5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=style&index=0&id=740a3626&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=style&index=0&id=740a3626&scoped=true&lang=css&\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"bc66\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signup.vue?vue&type=style&index=0&id=5048432a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signup.vue?vue&type=style&index=0&id=5048432a&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class App extends Vue {}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6d2e14f2&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\r\nimport { Placename } from '../models/Placename';\r\nimport store from '../store';\r\n\r\nlet token = '';\r\n\r\nconst apiClient = axios.create({\r\n // baseURL: 'https://localhost:44312',\r\n baseURL: 'https://placenames-webapi.azurewebsites.net',\r\n withCredentials: false, // This is the default\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n});\r\n\r\naxios.interceptors.response.use(undefined, (err) => {\r\n return new Promise((resolve, reject) => {\r\n if (err.status === 401 && err.config && !err.config.__isRetryRequest) {\r\n // attempt token refresh / go back to login screen if there is ever an unauthorized response\r\n const user = store.getters.user;\r\n if (user) {\r\n user.refreshToken();\r\n }\r\n } else {\r\n throw err;\r\n }\r\n });\r\n});\r\n\r\nexport default {\r\n upsertPlacename(placename: Placename) {\r\n token = store.getters.token;\r\n return apiClient.post('/mikmaw', placename, { headers: {Authorization: `Bearer ${token}`} });\r\n },\r\n deletePlacename(objectId: number) {\r\n token = store.getters.token;\r\n return apiClient.delete('/mikmaw/' + objectId, { headers: {Authorization: `Bearer ${token}`} });\r\n },\r\n getFileNames() {\r\n token = store.getters.token;\r\n return apiClient.get('/mikmawAudio', { headers: {Authorization: `Bearer ${token}`}});\r\n },\r\n uploadAudio(formData: FormData) {\r\n console.log(formData);\r\n token = store.getters.token;\r\n return apiClient.post('/mikmawAudio', formData, {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n 'Accept': 'audio/mpeg',\r\n 'Authorization': `Bearer ${token}`,\r\n },\r\n });\r\n },\r\n deleteAudio(filename: string) {\r\n token = store.getters.token;\r\n return apiClient.delete('/mikmawAudio/' + filename, { headers: {Authorization: `Bearer ${token}`} });\r\n },\r\n\r\n // admin:placenames only\r\n approve(id: number) {\r\n token = store.getters.token;\r\n return apiClient.get('/mikmaw/approve/' + id, { headers: {Authorization: `Bearer ${token}`} });\r\n },\r\n reject(id: number) {\r\n token = store.getters.token;\r\n return apiClient.get('/mikmaw/reject/' + id, { headers: {Authorization: `Bearer ${token}`} });\r\n },\r\n};\r\n","export interface IPlacename {\r\n objectId?: number;\r\n smithName: string;\r\n smithName2?: string;\r\n englishName: string;\r\n county?: string;\r\n translation?: string;\r\n name1?: string;\r\n meaning1?: string;\r\n source1?: string;\r\n sourceDetail1?: string;\r\n name2?: string;\r\n meaning2?: string;\r\n source2?: string;\r\n sourceDetail2?: string;\r\n name3?: string;\r\n meaning3?: string;\r\n source3?: string;\r\n sourceDetail3?: string;\r\n name4?: string;\r\n meaning4?: string;\r\n source4?: string;\r\n sourceDetail4?: string;\r\n name5?: string;\r\n meaning5?: string;\r\n source5?: string;\r\n sourceDetail5?: string;\r\n comment?: string;\r\n audioLink?: string;\r\n video?: string;\r\n approved?: number;\r\n enteredBy?: string;\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport class Placename implements IPlacename {\r\n public smithName: string = '';\r\n public englishName: string = '';\r\n public x: number = 0;\r\n public y: number = 0;\r\n public objectId?: number; // OID will not be populated on new features\r\n public smithName2?: string;\r\n public county?: string;\r\n public translation?: string;\r\n public name1?: string;\r\n public meaning1?: string;\r\n public source1?: string;\r\n public sourceDetail1?: string;\r\n public name2?: string;\r\n public meaning2?: string;\r\n public source2?: string;\r\n public sourceDetail2?: string;\r\n public name3?: string;\r\n public meaning3?: string;\r\n public source3?: string;\r\n public sourceDetail3?: string;\r\n public name4?: string;\r\n public meaning4?: string;\r\n public source4?: string;\r\n public sourceDetail4?: string;\r\n public name5?: string;\r\n public meaning5?: string;\r\n public source5?: string;\r\n public sourceDetail5?: string;\r\n public comment?: string;\r\n public audioLink?: string;\r\n public video?: string;\r\n public approved?: number;\r\n public enteredBy?: string;\r\n constructor(attributes?: any) { // constructor for Graphic attributes\r\n this.smithName = attributes && attributes.SmithName;\r\n this.englishName = attributes && attributes.EnglishName;\r\n this.objectId = attributes && attributes.OBJECTID;\r\n this.smithName2 = attributes && attributes.SmithName2;\r\n this.county = attributes && attributes.County;\r\n this.translation = attributes && attributes.SmithProperTranslation;\r\n this.name1 = attributes && attributes.name1;\r\n this.meaning1 = attributes && attributes.meaning1;\r\n this.source1 = attributes && attributes.source1;\r\n this.sourceDetail1 = attributes && attributes.source_detail1;\r\n this.name2 = attributes && attributes.name2;\r\n this.meaning2 = attributes && attributes.meaning2;\r\n this.source2 = attributes && attributes.source2;\r\n this.sourceDetail2 = attributes && attributes.source_detail2;\r\n this.name3 = attributes && attributes.name3;\r\n this.meaning3 = attributes && attributes.meaning3;\r\n this.source3 = attributes && attributes.source3;\r\n this.sourceDetail3 = attributes && attributes.source_detail3;\r\n this.name4 = attributes && attributes.name4;\r\n this.meaning4 = attributes && attributes.meaning4;\r\n this.source4 = attributes && attributes.source4;\r\n this.sourceDetail4 = attributes && attributes.source_detail4;\r\n this.name5 = attributes && attributes.name5;\r\n this.meaning5 = attributes && attributes.meaning5;\r\n this.source5 = attributes && attributes.source5;\r\n this.sourceDetail5 = attributes && attributes.source_detail5;\r\n this.comment = attributes && attributes.Comment;\r\n this.audioLink = attributes && attributes.AudioLink;\r\n this.video = attributes && attributes.Video;\r\n this.approved = attributes && attributes.approved;\r\n this.enteredBy = attributes && attributes.entered_by;\r\n }\r\n}\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport VuexPersistence from 'vuex-persist';\r\nimport PlacenamesService from './services/PlacenamesService';\r\nimport { Placename } from './models/Placename';\r\nimport { User } from './models/User';\r\n\r\nVue.use(Vuex);\r\n\r\nconst vuexLocal = new VuexPersistence({\r\n storage: window.localStorage,\r\n reducer: (state: any) => ({\r\n // add any states that need to be persisted beyond the current session\r\n user: state.user,\r\n }),\r\n});\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n rootUrl: 'https://placenames.mapdev.ca/',\r\n // rootUrl: 'http://localhost:8080/',\r\n\r\n // LayoutDefault\r\n leftDrawerOpen: false,\r\n rightDrawerOpen: false,\r\n isMobile: false,\r\n\r\n // Window size\r\n windowHeight: null,\r\n windowWidth: null,\r\n\r\n // Login\r\n user: null,\r\n\r\n // controls which component is shown in the panel\r\n rightDrawerContent: {\r\n edit: false,\r\n print: false,\r\n about: false,\r\n layer: false,\r\n },\r\n\r\n leftDrawerContent: {\r\n popup: false,\r\n edit: false,\r\n approvals: false,\r\n },\r\n\r\n sketch: false, // visibility of sketch widget\r\n sketchLayer: null, // initalized as an empty GraphicsLayer\r\n\r\n // Layers\r\n layers: [\r\n {\r\n // Unapproved only shown in admin\r\n name: 'Mi\\'kmaw Place Names Atlas [Unapproved]',\r\n type: 'FeatureLayer',\r\n url: 'https://services2.arcgis.com/hhEghZifbm8vjGX2/arcgis/rest/services/Placenames_Unapproved2/FeatureServer/0',\r\n active: true,\r\n unapproved: true,\r\n },\r\n {\r\n name: 'Mi\\'kmaw Place Names Atlas',\r\n type: 'FeatureLayer',\r\n url: 'https://services2.arcgis.com/hhEghZifbm8vjGX2/arcgis/rest/services/Placenames_Public2/FeatureServer/0',\r\n active: true,\r\n search: true,\r\n },\r\n // {\r\n // name: 'Address',\r\n // type: 'FeatureLayer',\r\n // url: 'https://nsgiwa.novascotia.ca/arcgis/rest/services/BASE/BASE_NS_CivicAddress_File_WM84/MapServer/0',\r\n // active: false,\r\n // minScale: 15000,\r\n // },\r\n ],\r\n basemaps: [\r\n {name: 'Topographic', url: 'topo-vector', active: true},\r\n {name: 'Satellite', url: 'satellite', active: false},\r\n {name: 'Streets', url: 'streets-vector', active: false},\r\n {name: 'Greyscale', url: 'gray-vector', active: false},\r\n {name: 'Dark Greyscale', url: 'dark-gray-vector', active: false},\r\n ],\r\n\r\n // domain code=>description\r\n sources : {\r\n PACIF: 'Father Pacifique Guide to Micmac Place Names',\r\n PIERS: 'Harry Piers unpublished notes',\r\n RAND: 'Silas Rand English to Micmac Dictionary',\r\n OTH: 'Other',\r\n },\r\n\r\n // search layer must also exist in the layers data\r\n search: {\r\n // url not needed anymore, specify search=true in layers\r\n // url: 'https://services2.arcgis.com/hhEghZifbm8vjGX2/arcgis/rest/services/Placenames_Public/FeatureServer/0',\r\n layer: null, // gets populated after created\r\n layerView: null,\r\n },\r\n\r\n // this is municipality, but the counties are polylines\r\n communitiesLayer: {\r\n type: 'FeatureLayer',\r\n url: 'https://nsgiwa.novascotia.ca/arcgis/rest/services/BND/BND_NS_Community_Bndys_UT83/MapServer/0',\r\n },\r\n\r\n unapproved: {\r\n count: null,\r\n data: [], // queried features from layer\r\n layer: null, // gets populated after created\r\n layerView: null,\r\n },\r\n\r\n edit: {\r\n // editing is done though web api now\r\n // https://services2.arcgis.com/hhEghZifbm8vjGX2/arcgis/rest/services/Placenames_Editor/FeatureServer/0\r\n url: null, // 'https://services1.arcgis.com/l7yyY2A6SvFv23CL/arcgis/rest/services/Mikmaw_Placenames_EDIT/FeatureServer/0',\r\n layer: null, // gets populated after created\r\n layerView: null,\r\n },\r\n\r\n // placeholder for feature that is being edited\r\n editFeature: null,\r\n\r\n // EsriMap\r\n map: null,\r\n mapView: null,\r\n center: null,\r\n zoom: null,\r\n searchLayer: null,\r\n\r\n // NS Locator\r\n novaScotiaLocator: {\r\n url: 'https://utility.arcgis.com/usrsvcs/servers/5cf2b7b81d0342fc9977c7868ab32f5e/rest/services/World/GeocodeServer',\r\n name: 'Nova Scotia Geocoder',\r\n placeholder: 'Find address or place',\r\n },\r\n\r\n },\r\n\r\n mutations: {\r\n LOGIN(state: any, user: User | null) {\r\n state.user = user;\r\n },\r\n SKETCH_TOGGLE(state: any) {\r\n state.sketch = !state.sketch;\r\n },\r\n DRAWER_TOGGLE_LEFT(state: any, content: any) {\r\n for (const k of Object.keys(state.leftDrawerContent)) {\r\n if (k === content) {\r\n state.leftDrawerContent[k] = !state.leftDrawerContent[k];\r\n } else {\r\n state.leftDrawerContent[k] = false;\r\n }\r\n }\r\n let openSesame = false;\r\n for (const v of Object.values(state.leftDrawerContent)) {\r\n if (v) {\r\n openSesame = true;\r\n }\r\n }\r\n state.leftDrawerOpen = openSesame;\r\n },\r\n DRAWER_TOGGLE_RIGHT(state: any, content: string) {\r\n for (const k of Object.keys(state.rightDrawerContent)) {\r\n if (k === content) {\r\n state.rightDrawerContent[k] = !state.rightDrawerContent[k];\r\n } else {\r\n state.rightDrawerContent[k] = false;\r\n }\r\n }\r\n let openSesame = false;\r\n for (const v of Object.values(state.rightDrawerContent)) {\r\n if (v) {\r\n openSesame = true;\r\n }\r\n }\r\n state.rightDrawerOpen = openSesame;\r\n },\r\n SET_BASEMAP(state: any, basemap: string) {\r\n state.map.basemap = basemap;\r\n state.basemaps.forEach((item: any, index: number) => {\r\n if (item.url === basemap) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n });\r\n },\r\n TOGGLE_LAYER(state: any, layer: any) {\r\n // this is not clear, should be using ids\r\n state.map.layers.forEach((item: any, index: number) => {\r\n if (layer.url.startsWith(item.url)) {\r\n item.visible = !item.visible;\r\n }\r\n });\r\n },\r\n SET_UNAPPROVED_COUNT(state: any, count: number) {\r\n state.unapproved.count = count;\r\n },\r\n SET_UNAPPROVED_DATA(state: any, data: any) {\r\n state.unapproved.data = data;\r\n },\r\n SET_EDIT_FEATURE(state: any, placename?: Placename) {\r\n state.editFeature = placename;\r\n },\r\n UPDATE_WINDOW_HEIGHT(state: any, windowHeight?: number) {\r\n state.windowHeight = windowHeight;\r\n },\r\n UPDATE_WINDOW_WIDTH(state: any, windowWidth?: number) {\r\n state.windowWidth = windowWidth;\r\n },\r\n },\r\n\r\n actions: {\r\n refreshToken(context, payload) {\r\n if (context.state.user) {\r\n context.state.user.refreshToken();\r\n }\r\n },\r\n login(context, payload) {\r\n console.log('login action');\r\n context.commit('LOGIN', payload);\r\n },\r\n drawerToggleLeft(context, content) {\r\n context.commit('DRAWER_TOGGLE_LEFT', content);\r\n },\r\n drawerToggleRight(context, content) {\r\n context.commit('DRAWER_TOGGLE_RIGHT', content);\r\n },\r\n setBasemap(context, basemap) {\r\n context.commit('SET_BASEMAP', basemap);\r\n },\r\n toggleLayer(context, layer) {\r\n context.commit('TOGGLE_LAYER', layer);\r\n },\r\n sketchToggle(context) {\r\n context.commit('SKETCH_TOGGLE');\r\n },\r\n initSearch(context) {\r\n // no state/mutations, this is only used to subscribe to actions in other components\r\n },\r\n initPopup(context) {\r\n // no state/mutations, this is only used to subscribe to actions in other components\r\n },\r\n popupFromSearch(context, feature) {\r\n // no state/mutations, this is only used to subscribe to actions in other components\r\n },\r\n aboutAction(context) {\r\n // no state/mutations, this is only used to subscribe to actions in other components\r\n },\r\n notify(context, message) {\r\n // no state/mutations, this is only used to subscribe to actions in other components\r\n },\r\n getAudioFileNames(context) {\r\n PlacenamesService.getFileNames()\r\n .then((response: any) => {\r\n console.log(response.data);\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n deleteAudioFile(context, filename) {\r\n console.log(filename);\r\n PlacenamesService.deleteAudio(filename)\r\n .then((response: any) => {\r\n console.log(response.data);\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n // UNUSED - this is done directly in AddData component\r\n uploadAudioFile(context, file: File) {\r\n const formData = new FormData();\r\n formData.set('file', file);\r\n PlacenamesService.uploadAudio(formData)\r\n .then((response: any) => {\r\n // TODO handle this uploaded filename\r\n console.log(response.data);\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n deletePlacename(context, id: number) {\r\n PlacenamesService.deletePlacename(id)\r\n .then((response: any) => {\r\n console.log(response.data); // TODO: should be true\r\n this.dispatch('refreshLayers');\r\n this.dispatch('updateUnapprovedCount');\r\n this.dispatch('updateUnapprovedData');\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n addPlacename(context, placename: Placename) {\r\n PlacenamesService.upsertPlacename(placename)\r\n .then((response: any) => {\r\n console.log(response.data); // TODO: should be true\r\n // close the add data toolbar\r\n this.dispatch('drawerToggleLeft', 'nothing');\r\n context.commit('SET_EDIT_FEATURE', null);\r\n this.dispatch('refreshLayers');\r\n this.dispatch('updateUnapprovedCount');\r\n this.dispatch('updateUnapprovedData');\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response.statusText);\r\n }\r\n });\r\n },\r\n resetEditFeature(context) {\r\n context.commit('SET_EDIT_FEATURE', null);\r\n },\r\n async editPlacename(context, id: number) {\r\n // get placename, set editFeature\r\n const query = this.state.unapproved.layer.createQuery();\r\n query.returnGeometry = true;\r\n query.outFields = ['*'];\r\n query.where = 'OBJECTID = ' + id;\r\n // check both unaprooved and approved views for data\r\n let editPlacename = await this.state.unapproved.layer.queryFeatures(query).then((results: __esri.FeatureSet) => {\r\n console.log(results.features);\r\n if (results.features.length) {\r\n const placename = new Placename(results.features[0].attributes);\r\n placename.x = (results.features[0].geometry as __esri.Point).x;\r\n placename.y = (results.features[0].geometry as __esri.Point).y;\r\n return placename;\r\n }\r\n });\r\n\r\n if (!editPlacename) {\r\n editPlacename = await this.state.search.layer.queryFeatures(query).then((results: __esri.FeatureSet) => {\r\n console.log(results.features);\r\n if (results.features.length) {\r\n const placename = new Placename(results.features[0].attributes);\r\n placename.x = (results.features[0].geometry as __esri.Point).x;\r\n placename.y = (results.features[0].geometry as __esri.Point).y;\r\n return placename;\r\n }\r\n });\r\n }\r\n\r\n if (!editPlacename) {\r\n context.commit('SET_EDIT_FEATURE', null);\r\n context.dispatch('notify', 'Editable feature not found');\r\n } else {\r\n context.commit('SET_EDIT_FEATURE', editPlacename);\r\n this.dispatch('drawerToggleLeft', 'edit');\r\n }\r\n\r\n },\r\n approvePlacename(context, id: number) {\r\n PlacenamesService.approve(id)\r\n .then((response: any) => {\r\n console.log(response.data);\r\n this.dispatch('refreshLayers');\r\n this.dispatch('updateUnapprovedCount');\r\n this.dispatch('updateUnapprovedData');\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n rejectPlacename(context, id: number) {\r\n PlacenamesService.reject(id)\r\n .then((response: any) => {\r\n console.log(response.data); // TODO: should be true\r\n this.dispatch('refreshLayers');\r\n this.dispatch('updateUnapprovedCount');\r\n this.dispatch('updateUnapprovedData');\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.dispatch('notify', error.response);\r\n }\r\n });\r\n },\r\n refreshLayers(context) {\r\n console.log('refreshLayers');\r\n this.state.mapView.popup.close();\r\n if (this.state.unapproved.layer) {\r\n this.state.unapproved.layer.refresh();\r\n }\r\n if (this.state.search.layer) {\r\n this.state.search.layer.refresh();\r\n }\r\n },\r\n updateUnapprovedCount(context) {\r\n if (this.state.unapproved.layer) {\r\n this.state.unapproved.layer.queryFeatures().then((results: any) => {\r\n context.commit('SET_UNAPPROVED_COUNT', results.features.length);\r\n });\r\n }\r\n },\r\n updateUnapprovedData(context, data) {\r\n if (this.state.unapproved.layer) {\r\n const query = this.state.unapproved.layer.createQuery();\r\n query.returnGeometry = true;\r\n query.outFields = ['*'];\r\n this.state.unapproved.layer.queryFeatures(query).then((results: __esri.FeatureSet) => {\r\n console.log(results.features);\r\n console.log(results.features.length);\r\n const allAttributes: any = [];\r\n for (const feature of results.features) {\r\n const placename = new Placename(feature.attributes);\r\n placename.x = (feature.geometry as __esri.Point).x;\r\n placename.y = (feature.geometry as __esri.Point).y;\r\n allAttributes.push(placename);\r\n }\r\n context.commit('SET_UNAPPROVED_DATA', allAttributes);\r\n });\r\n }\r\n },\r\n updateWindowHeight(context, windowHeight) {\r\n context.commit('UPDATE_WINDOW_HEIGHT', windowHeight);\r\n },\r\n updateWindowWidth(context, windowWidth) {\r\n context.commit('UPDATE_WINDOW_WIDTH', windowWidth);\r\n },\r\n },\r\n\r\n getters: {\r\n rootUrl: (state) => {\r\n return state.rootUrl;\r\n },\r\n audioRootUrl: (state) => {\r\n if (state.rootUrl.indexOf('localhost') !== -1) {\r\n return state.rootUrl + 'admin/audio/';\r\n }\r\n return state.rootUrl + 'audio/';\r\n },\r\n token: (state) => {\r\n if (state.user && state.user.token) {\r\n return state.user.token;\r\n }\r\n return '';\r\n },\r\n user: (state) => {\r\n return state.user;\r\n },\r\n },\r\n\r\n plugins: [vuexLocal.plugin],\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-layout',{attrs:{\"view\":\"hHh lpR fFf\"}},[_c('q-header',{staticClass:\"basic bg-brand\",attrs:{\"elevated\":\"\"}},[_c('q-toolbar',[_c('img',{staticClass:\"q-pa-sm\",attrs:{\"src\":\"Tan-Weji-sqaliatiek-Reverse.png\",\"width\":\"230px\"}}),_c('q-toolbar-title'),(_vm.windowWidth > _vm.widthThresholdValue)?_c('div',{attrs:{\"alig\":\"\"}},[_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Print\",\"icon\":\"print\"},on:{\"click\":function($event){return _vm.drawerToggleRight('print')}}},[_c('q-tooltip',[_vm._v(\"Print\")])],1),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Sketch\",\"icon\":\"gesture\"},on:{\"click\":_vm.sketchToggle}},[_c('q-tooltip',[_vm._v(\"Sketch\")])],1),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Menu\",\"icon\":\"layers\"},on:{\"click\":function($event){return _vm.drawerToggleRight('layer')}}},[_c('q-tooltip',[_vm._v(\"Layers\")])],1)],1):_c('q-btn',{attrs:{\"round\":\"\",\"flat\":\"\",\"icon\":\"menu\"}},[_c('q-menu',[_c('q-list',{staticStyle:{\"min-width\":\"40px\"}},[_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.drawerToggleRight('print')}}},[_c('q-item-section',[_vm._v(\"Print\")])],1),_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":_vm.sketchToggle}},[_c('q-item-section',[_vm._v(\"Sketch\")])],1),_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.drawerToggleRight('layer')}}},[_c('q-item-section',[_vm._v(\"Layers\")])],1)],1)],1)],1)],1)],1),_c('q-drawer',{attrs:{\"side\":\"left\",\"value\":_vm.leftDrawerOpen,\"overlay\":\"\",\"bordered\":\"\"},on:{\"hide\":function($event){return _vm.drawerToggleLeft('nothing')}}},[_c('EsriPopup')],1),_c('q-drawer',{attrs:{\"side\":\"right\",\"value\":_vm.rightDrawerOpen,\"overlay\":\"\",\"bordered\":\"\",\"content-class\":\"bg-grey-2\"},on:{\"hide\":function($event){return _vm.drawerToggleRight('nothing')}}},[_c('EsriSearch'),_c('EsriPrint'),_c('EsriSketch'),_c('LayerSelector'),_c('About')],1),_c('q-page-container',[_c('Map')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerShow),expression:\"layerShow\"}],attrs:{\"id\":\"layerSelector\"}},[_c('q-card',{staticClass:\"my-card bg-grey-1\",attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('q-toolbar',[_c('q-toolbar-title',{staticClass:\"text-h6\"},[_vm._v(\"Layers\")]),_c('q-btn',{attrs:{\"flat\":\"\",\"round\":\"\",\"dense\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.onClose}})],1),_c('q-card-section',_vm._l((_vm.layers),function(layer){return _c('q-item',{directives:[{name:\"ripple\",rawName:\"v-ripple\"}],key:layer.name,attrs:{\"tag\":\"label\"}},[_c('q-item-section',{attrs:{\"side\":\"\"}},[_c('q-toggle',{attrs:{\"color\":\"blue-11\"},nativeOn:{\"click\":function($event){return _vm.onLayerToggle(layer)}},model:{value:(layer.active),callback:function ($$v) {_vm.$set(layer, \"active\", $$v)},expression:\"layer.active\"}})],1),_c('q-item-section',[_c('q-item-label',[_vm._v(_vm._s(layer.name))])],1)],1)}),1),_c('q-separator'),_c('q-card-actions',[_c('div',{staticClass:\"row items-center no-wrap\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Basemaps\")])])])]),_c('q-card-section',_vm._l((_vm.basemaps),function(basemap){return _c('q-item',{directives:[{name:\"ripple\",rawName:\"v-ripple\"}],key:basemap.name,attrs:{\"active\":basemap.active,\"active-class\":\"active-basemap\"}},[_c('q-item-section',[_c('q-item-label',{on:{\"click\":function($event){return _vm.onBasemapSelect(basemap.url)}}},[_vm._v(_vm._s(basemap.name))])],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { mapGetters } from 'vuex';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class LayerSelector extends Vue {\r\n get layerShow(): boolean {\r\n return this.$store.state.rightDrawerContent.layer;\r\n }\r\n\r\n get layers() {\r\n if (this.$store.state.user) {\r\n return this.$store.state.layers;\r\n }\r\n return this.$store.state.layers.filter((layer: any) => layer.unapproved !== true);\r\n }\r\n\r\n get basemaps() {\r\n return this.$store.state.basemaps;\r\n }\r\n\r\n public onClose() {\r\n this.$store.dispatch('drawerToggleRight', 'nothing');\r\n }\r\n\r\n public mounted() {\r\n console.log('LayerSelector: mounted()');\r\n }\r\n\r\n public beforeDestroy() {\r\n // something\r\n }\r\n\r\n public onBasemapSelect(basemap: string) {\r\n console.log('LayerSelector:onBasemapSelect');\r\n this.$store.dispatch('setBasemap', basemap);\r\n }\r\n\r\n public onLayerToggle(layer: string) {\r\n console.log('LayerSelector:onLayerToggle');\r\n this.$store.dispatch('toggleLayer', layer);\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LayerSelector.vue?vue&type=template&id=eec7fb90&scoped=true&\"\nimport script from \"./LayerSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./LayerSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LayerSelector.vue?vue&type=style&index=0&id=eec7fb90&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eec7fb90\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.popupShow),expression:\"popupShow\"}]},[_c('q-toolbar',[_c('q-toolbar-title',[_vm._v(\" \")]),_c('q-btn',{attrs:{\"flat\":\"\",\"round\":\"\",\"dense\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.onClose}})],1),_c('div',{staticClass:\"q-pr-md q-pb-md q-pl-md\",staticStyle:{\"margin-top\":\"-50px\"},attrs:{\"id\":\"esriPopup\"}},[_vm._v(\"\\n Click on something\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { mapState } from 'vuex';\r\nimport Feature from '@arcgis/core/widgets/Feature';\r\nimport Circle from '@arcgis/core/geometry/Circle';\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component({\r\n computed: {\r\n ...mapState(['leftDrawerOpen']),\r\n },\r\n})\r\nexport default class EsriPopup extends Vue {\r\n\r\n get popupShow(): boolean {\r\n return this.$store.state.leftDrawerContent.popup;\r\n }\r\n\r\n get leftDrawerOpen() {\r\n return this.$store.state.leftDrawerOpen;\r\n }\r\n\r\n get mapView() {\r\n return this.$store.state.mapView;\r\n }\r\n\r\n get searchLayer() {\r\n return this.$store.state.search.layer;\r\n }\r\n\r\n get user() {\r\n return this.$store.state.user;\r\n }\r\n\r\n get searchLayerView() {\r\n return this.$store.state.search.layerView;\r\n }\r\n\r\n get isMobile() {\r\n return this.$store.state.isMobile;\r\n }\r\n\r\n get mikmawPlaceNamesLayerURL() {\r\n return this.$store.state.search.layer.parsedUrl.path;\r\n }\r\n\r\n public highlightHandle: __esri.Handle | null = null;\r\n\r\n public unsubscribe = this.$store.subscribeAction((action, state) => {\r\n if (action.type === 'initPopup') {\r\n this.initPopup();\r\n } else if (action.type === 'popupFromSearch') {\r\n this.popupGraphic(action.payload);\r\n }\r\n });\r\n\r\n @Watch('leftDrawerOpen', { immediate: false, deep: true })\r\n public leftDrawerChanged(value: boolean, oldValue: boolean) {\r\n if (this.$store.state.search.layer) {\r\n this.$store.state.search.layer.popupEnabled = !value;\r\n }\r\n if (this.highlightHandle) {\r\n this.highlightHandle.remove();\r\n }\r\n }\r\n\r\n public onClose() {\r\n this.$store.dispatch('drawerToggleLeft', 'nothing');\r\n }\r\n\r\n public initPopup() {\r\n this.mapView.on('click', (event: any) => {\r\n // IMPROVE THIS: we need to check if at the /admin url -\r\n // The user object is stored in local storage on the same domain so the public side will use the native popup if logged in\r\n if (this.isMobile || window.location.href.indexOf('admin') !== -1) {\r\n // Attempt a wider radius search for popups in mobile\r\n const pxToMeters = this.mapView.extent.width / this.mapView.width;\r\n const c = new Circle({\r\n center: event.mapPoint,\r\n radius: 8 * pxToMeters, // meters by default\r\n });\r\n const q = this.searchLayer.createQuery();\r\n q.geometry = c;\r\n this.searchLayer.queryFeatures(q).then( (results: any) => {\r\n if (!this.mapView.popup.visible) {\r\n if (results.features.length > 0) {\r\n console.log('Open wide range popup');\r\n // console.log(results.features[0]);\r\n this.popupGraphic(results.features[0]);\r\n }\r\n }\r\n });\r\n } else {\r\n this.mapView.hitTest(event).then((response: any) => {\r\n if (response.results[0].graphic.attributes.hasOwnProperty('clusterId')) {\r\n this.mapView.goTo({\r\n target: response.results[0].graphic.geometry,\r\n zoom: this.mapView.zoom + 1,\r\n });\r\n } else if (response.results && response.results.length > 0 && response.results[0].graphic.layer.parsedUrl.path === this.mikmawPlaceNamesLayerURL) {\r\n if (!this.leftDrawerOpen) {\r\n this.$store.dispatch('drawerToggleLeft', 'popup');\r\n }\r\n\r\n this.popupGraphic(response.results[0].graphic);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n public popupGraphic(graphic: __esri.Graphic) {\r\n if (this.isMobile || window.location.href.indexOf('admin') !== -1) {\r\n this.mapView.popup.open({\r\n features: [graphic],\r\n location: graphic.geometry,\r\n });\r\n } else {\r\n if (!this.leftDrawerOpen) {\r\n this.$store.dispatch('drawerToggleLeft', 'popup');\r\n }\r\n const container = document.getElementById('esriPopup');\r\n if (container) {\r\n container.innerHTML = '';\r\n }\r\n const feature = new Feature({\r\n graphic,\r\n view: this.mapView,\r\n container: 'esriPopup',\r\n });\r\n if (this.highlightHandle) {\r\n this.highlightHandle.remove();\r\n }\r\n this.highlightHandle = this.searchLayerView.highlight(graphic);\r\n }\r\n }\r\n\r\n public mounted() {\r\n console.log('EsriPopup: mounted()');\r\n }\r\n\r\n public beforeDestroy() {\r\n this.unsubscribe();\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPopup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPopup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EsriPopup.vue?vue&type=template&id=35cf0bbb&\"\nimport script from \"./EsriPopup.vue?vue&type=script&lang=ts&\"\nexport * from \"./EsriPopup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EsriPopup.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport Search from '@arcgis/core/widgets/Search';\r\nimport LayerSearchSource from '@arcgis/core/widgets/Search/LayerSearchSource';\r\nimport LocatorSearchSource from '@arcgis/core/widgets/Search/LocatorSearchSource';\r\nimport Locator from '@arcgis/core/tasks/Locator';\r\n\r\n@Component\r\nexport default class EsriSearch extends Vue {\r\n\r\n get searchLayer() {\r\n return this.$store.state.search.layer;\r\n }\r\n\r\n get mapView() {\r\n return this.$store.state.mapView;\r\n }\r\n\r\n get novaScotiaLocator() {\r\n return this.$store.state.novaScotiaLocator;\r\n }\r\n\r\n public unsubscribe = this.$store.subscribeAction((action, state) => {\r\n if (action.type === 'initSearch') {\r\n this.initSearch();\r\n }\r\n });\r\n\r\n public initSearch() {\r\n console.log('EsriSearch: initSearch()');\r\n const locatorSearchSource: __esri.LocatorSearchSource = new LocatorSearchSource({\r\n locator: new Locator({url: this.novaScotiaLocator.url}),\r\n singleLineFieldName: 'SingleLine',\r\n name: this.novaScotiaLocator.name,\r\n placeholder: this.novaScotiaLocator.placeholder,\r\n maxResults: 3,\r\n maxSuggestions: 6,\r\n suggestionsEnabled: true,\r\n minSuggestCharacters: 0,\r\n });\r\n\r\n const layerSearchSource: __esri.LayerSearchSource = new LayerSearchSource({\r\n layer: this.searchLayer,\r\n searchFields: ['EnglishName', 'SmithName'],\r\n // displayField: 'name',\r\n suggestionTemplate: '{EnglishName}: {SmithName}',\r\n exactMatch: false,\r\n outFields: [\r\n 'SmithName',\r\n 'SmithName2',\r\n 'EnglishName',\r\n 'County',\r\n 'SmithProperTranslation',\r\n 'name1',\r\n 'meaning1',\r\n 'source1',\r\n 'source_detail1',\r\n 'name2',\r\n 'meaning2',\r\n 'source2',\r\n 'source_detail2',\r\n 'name3',\r\n 'meaning3',\r\n 'source3',\r\n 'source_detail3',\r\n 'name4',\r\n 'meaning4',\r\n 'source4',\r\n 'source_detail4',\r\n 'name5',\r\n 'meaning5',\r\n 'source5',\r\n 'source_detail5',\r\n 'Comment',\r\n 'AudioLink',\r\n 'Video',\r\n ],\r\n name: 'Mi\\'kmaw Place Name',\r\n placeholder: 'Mi\\'kmaw Place Name',\r\n });\r\n\r\n const searchWidget: __esri.widgetsSearch = new Search({\r\n view: this.mapView,\r\n allPlaceholder: 'Search',\r\n activeSourceIndex: 1, // unlselect ESRI world geocoder\r\n searchAllEnabled: false,\r\n includeDefaultSources: false,\r\n sources: [locatorSearchSource, layerSearchSource],\r\n popupEnabled: false,\r\n locationEnabled: false,\r\n });\r\n\r\n // @ts-ignore this is valid but esri types thinks 'select-result' is missing\r\n searchWidget.on('select-result', (response: any) => {\r\n if (response && response.source && response.source.name === 'Nova Scotia Geocoder') {\r\n // don't do anything with geocoding responses\r\n } else if (response && response.result && response.result.feature) {\r\n console.log(response.result.feature);\r\n this.$store.dispatch('popupFromSearch', response.result.feature);\r\n }\r\n });\r\n\r\n this.mapView.ui.add(searchWidget, {\r\n position: 'top-right',\r\n });\r\n // I don't know why we can't set this in the widget properies\r\n // @ts-ignore\r\n searchWidget.domNode.style = 'width: 300px';\r\n }\r\n\r\n public mounted() {\r\n console.log('EsriSearch: mounted()');\r\n // init only when the map is ready, not when the component is mounted\r\n }\r\n\r\n public beforeDestroy() {\r\n this.unsubscribe();\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EsriSearch.vue?vue&type=template&id=92f8692e&\"\nimport script from \"./EsriSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./EsriSearch.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EsriSearch.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.printShow),expression:\"printShow\"}]},[_c('q-toolbar',[_c('q-toolbar-title',{staticClass:\"text-blue-brand text-bold\"},[_vm._v(\"Print\")]),_c('q-btn',{attrs:{\"flat\":\"\",\"round\":\"\",\"dense\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.onClose}})],1),_c('div',{attrs:{\"id\":\"printWidget\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport Print from '@arcgis/core/widgets/Print';\r\n\r\n@Component\r\nexport default class EsriPrint extends Vue {\r\n get printShow(): boolean {\r\n return this.$store.state.rightDrawerContent.print;\r\n }\r\n\r\n public printWidget: __esri.Print | null = null;\r\n\r\n @Watch('printShow', { immediate: false, deep: true })\r\n public printShowChanged(value: boolean, oldValue: boolean) {\r\n if (value !== oldValue) {\r\n this.initPrintWidget();\r\n }\r\n }\r\n\r\n public onClose() {\r\n this.$store.dispatch('drawerToggleRight', 'nothing');\r\n }\r\n\r\n public initPrintWidget() {\r\n if (!this.printWidget) {\r\n this.printWidget = new Print({\r\n view: this.$store.state.mapView,\r\n container: 'printWidget',\r\n // AGOL print service, should this be something else??\r\n printServiceUrl: 'https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task',\r\n });\r\n }\r\n }\r\n\r\n public mounted() {\r\n console.log('EsriPrint: mounted()');\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPrint.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPrint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EsriPrint.vue?vue&type=template&id=58d5b8e9&scoped=true&\"\nimport script from \"./EsriPrint.vue?vue&type=script&lang=ts&\"\nexport * from \"./EsriPrint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58d5b8e9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport Sketch from '@arcgis/core/widgets/Sketch';\r\n\r\n@Component\r\nexport default class EsriSketch extends Vue {\r\n\r\n // subscribe to actions from vuex\r\n public unsubscribe = this.$store.subscribeAction((action, state) => {\r\n if (action.type === 'sketchToggle') {\r\n this.sketchToggle();\r\n }\r\n });\r\n\r\n public sketchWidget: __esri.Sketch | null = null;\r\n\r\n public sketchToggle() {\r\n if (!this.sketchWidget) {\r\n this.sketchWidget = new Sketch({\r\n layer: this.$store.state.sketchLayer,\r\n view: this.$store.state.mapView,\r\n // border-radius\r\n });\r\n this.$store.state.mapView.ui.add(this.sketchWidget, 'top-right');\r\n // @ts-ignore\r\n this.sketchWidget.container.style = 'border-radius: 5px';\r\n this.sketchWidget.on('create', (event: any) => {\r\n if (event.state === 'complete') {\r\n console.log(this.sketchWidget);\r\n if (['polygon', 'circle', 'rectangle'].includes(event.tool)) {\r\n event.graphic.symbol.outline.color = [102, 204, 255];\r\n }\r\n if (['polyline'].includes(event.tool)) {\r\n event.graphic.symbol.color = [102, 204, 255];\r\n }\r\n if (['point'].includes(event.tool)) {\r\n event.graphic.symbol.color = [102, 204, 255, 0.5];\r\n event.graphic.symbol.outline.color = [102, 204, 255];\r\n }\r\n }\r\n });\r\n } else {\r\n this.sketchWidget.destroy();\r\n this.sketchWidget = null;\r\n }\r\n }\r\n\r\n public mounted() {\r\n console.log('EsriSketch: mounted()');\r\n }\r\n\r\n public beforeDestroy() {\r\n this.unsubscribe();\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSketch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriSketch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EsriSketch.vue?vue&type=template&id=0f46af27&scoped=true&\"\nimport script from \"./EsriSketch.vue?vue&type=script&lang=ts&\"\nexport * from \"./EsriSketch.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f46af27\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('EsriMap')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"viewDiv\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Prop, Vue} from 'vue-property-decorator';\r\nimport { User } from '../models/User';\r\nimport Map from '@arcgis/core/Map';\r\nimport MapView from '@arcgis/core/views/MapView';\r\nimport GraphicsLayer from '@arcgis/core/layers/GraphicsLayer';\r\nimport FeatureLayer from '@arcgis/core/layers/FeatureLayer';\r\nimport MapImageLayer from '@arcgis/core/layers/MapImageLayer';\r\nimport FeatureReductionCluster from '@arcgis/core/layers/support/FeatureReductionCluster';\r\nimport Compass from '@arcgis/core/widgets/Compass';\r\nimport '@arcgis/core/assets/esri/themes/light/main.css';\r\n\r\n\r\n@Component\r\nexport default class EsriMap extends Vue {\r\n\r\n get leftDrawerOpen(): boolean {\r\n return this.$store.state.leftDrawerOpen;\r\n }\r\n\r\n get map() {\r\n return this.$store.state.map;\r\n }\r\n\r\n get mapView() {\r\n return this.$store.state.mapView;\r\n }\r\n\r\n get layers() {\r\n return this.$store.state.layers;\r\n }\r\n\r\n get user(): User | null {\r\n return this.$store.state.user;\r\n }\r\n\r\n get audioRootUrl() {\r\n return this.$store.getters.audioRootUrl;\r\n }\r\n\r\n public createMap() {\r\n let activeBasemap = 'topo-vector';\r\n this.$store.state.basemaps.forEach((item: any, index: number) => {\r\n if (item.active === true) {\r\n activeBasemap = item.url;\r\n }\r\n });\r\n\r\n const sketchLayer: __esri.GraphicsLayer = new GraphicsLayer();\r\n this.$store.state.sketchLayer = sketchLayer;\r\n\r\n const eMap: __esri.Map = new Map({\r\n basemap: activeBasemap,\r\n layers: [sketchLayer],\r\n });\r\n this.$store.state.map = eMap;\r\n\r\n let approveAction;\r\n let rejectAction;\r\n let editAction;\r\n let deleteAction;\r\n\r\n // IMPROVE THIS: we need to check if at the /admin url -\r\n // The user object is stored in local storage on the same domain so the public side will have these actions if logged in\r\n if (window.location.href.indexOf('admin') !== -1 && this.user && this.user.role === 'admin') {\r\n approveAction = {\r\n title: 'Approve',\r\n id: 'approve-this',\r\n className: 'esri-icon-check-mark',\r\n };\r\n rejectAction = {\r\n title: 'Unapprove',\r\n id: 'reject-this',\r\n className: 'esri-icon-close',\r\n };\r\n }\r\n if (window.location.href.indexOf('admin') !== -1 && this.user && (this.user.role === 'admin' || this.user.role === 'contributor')) {\r\n editAction = {\r\n title: 'Edit',\r\n id: 'edit-this',\r\n className: 'esri-icon-edit',\r\n };\r\n deleteAction = {\r\n title: 'Delete',\r\n id: 'delete-this',\r\n className: 'esri-icon-trash',\r\n };\r\n }\r\n\r\n const view: __esri.MapView = new MapView({\r\n container: 'viewDiv',\r\n map: eMap,\r\n center: [-63.5268027, 44.982321],\r\n zoom: 8,\r\n popup: {\r\n // @ts-ignore\r\n actions: [approveAction, rejectAction, editAction, deleteAction], // remove zoom-to\r\n dockEnabled: true, // dock handled in vue components\r\n dockOptions: {\r\n buttonEnabled: false,\r\n },\r\n },\r\n });\r\n this.$store.state.mapView = view;\r\n\r\n const compass: __esri.Compass = new Compass({\r\n view,\r\n });\r\n view.ui.add(compass, 'bottom-right');\r\n if (this.$q.platform.is.mobile) {\r\n view.ui.move(['zoom'], 'bottom-left');\r\n }\r\n\r\n this.createLayers();\r\n }\r\n\r\n public createLayers() {\r\n const popFunc = (feature: any) => {\r\n const div = document.createElement('div');\r\n let title = '
' + feature.graphic.attributes.SmithName + '
';\r\n if (feature.graphic.attributes.SmithName2 && feature.graphic.attributes.SmithName2.length > 0) {\r\n title = '
' + feature.graphic.attributes.SmithName + ' / ' + feature.graphic.attributes.SmithName2 + '
';\r\n }\r\n const domain: any = {\r\n PACIF: 'Transcriptions of Father Pacifique Guide to Micmac Place Names',\r\n PIERS: 'Harry Piers unpublished notes',\r\n RAND: 'Silas Rand English to Micmac Dictionary',\r\n OTHER: 'Other',\r\n };\r\n\r\n const soundFile = (feature.graphic.attributes.AudioLink ? '
Audio
' : '');\r\n let mediaRow = '
' + soundFile + '
';\r\n if (feature.graphic.attributes.Video) {\r\n for (const video of feature.graphic.attributes.Video.split('|')) {\r\n mediaRow += '
Video
';\r\n }\r\n }\r\n mediaRow += '
';\r\n const comments = (feature.graphic.attributes.Comment ?\r\n '
Additional Comments
' + feature.graphic.attributes.Comment + '
' : '');\r\n let sources = '';\r\n if (feature.graphic.attributes.name1 || feature.graphic.attributes.meaning1 || feature.graphic.attributes.source_detail1) {\r\n sources += '
Source(s)
';\r\n if (feature.graphic.attributes.name1 && feature.graphic.attributes.name1.length > 0) {\r\n sources += '
' + feature.graphic.attributes.name1 + '
';\r\n }\r\n if (feature.graphic.attributes.meaning1 && feature.graphic.attributes.meaning1.length > 0) {\r\n sources += '
' + feature.graphic.attributes.meaning1 + '
';\r\n }\r\n if (feature.graphic.attributes.source1 && feature.graphic.attributes.source1.length > 0) {\r\n sources += '
' + domain[feature.graphic.attributes.source1] + '
';\r\n }\r\n if (feature.graphic.attributes.source_detail1 && feature.graphic.attributes.source_detail1.length > 0) {\r\n sources += '
' + feature.graphic.attributes.source_detail1 + '
';\r\n }\r\n }\r\n if (feature.graphic.attributes.name2 || feature.graphic.attributes.meaning2 || feature.graphic.attributes.source_detail2) {\r\n sources += '
';\r\n if (feature.graphic.attributes.name2 && feature.graphic.attributes.name2.length > 0) {\r\n sources += '
' + feature.graphic.attributes.name2 + '
';\r\n }\r\n if (feature.graphic.attributes.meaning2 && feature.graphic.attributes.meaning2.length > 0) {\r\n sources += '
' + feature.graphic.attributes.meaning2 + '
';\r\n }\r\n if (feature.graphic.attributes.source2 && feature.graphic.attributes.source2.length > 0) {\r\n sources += '
' + domain[feature.graphic.attributes.source2] + '
';\r\n }\r\n if (feature.graphic.attributes.source_detail2 && feature.graphic.attributes.source_detail2.length > 0) {\r\n sources += '
' + feature.graphic.attributes.source_detail2 + '
';\r\n }\r\n }\r\n if (feature.graphic.attributes.name3 || feature.graphic.attributes.meaning3 || feature.graphic.attributes.source_detail3) {\r\n sources += '
';\r\n if (feature.graphic.attributes.name3 && feature.graphic.attributes.name3.length > 0) {\r\n sources += '
' + feature.graphic.attributes.name3 + '
';\r\n }\r\n if (feature.graphic.attributes.meaning3 && feature.graphic.attributes.meaning3.length > 0) {\r\n sources += '
' + feature.graphic.attributes.meaning3 + '
';\r\n }\r\n if (feature.graphic.attributes.source3 && feature.graphic.attributes.source3.length > 0) {\r\n sources += '
' + domain[feature.graphic.attributes.source3] + '
';\r\n }\r\n if (feature.graphic.attributes.source_detail3 && feature.graphic.attributes.source_detail3.length > 0) {\r\n sources += '
' + feature.graphic.attributes.source_detail3 + '
';\r\n }\r\n }\r\n if (feature.graphic.attributes.name4 || feature.graphic.attributes.meaning4 || feature.graphic.attributes.source_detail4) {\r\n sources += '
';\r\n if (feature.graphic.attributes.name4 && feature.graphic.attributes.name4.length > 0) {\r\n sources += '
' + feature.graphic.attributes.name4 + '
';\r\n }\r\n if (feature.graphic.attributes.meaning4 && feature.graphic.attributes.meaning4.length > 0) {\r\n sources += '
' + feature.graphic.attributes.meaning4 + '
';\r\n }\r\n if (feature.graphic.attributes.source4 && feature.graphic.attributes.source4.length > 0) {\r\n sources += '
' + domain[feature.graphic.attributes.source4] + '
';\r\n }\r\n if (feature.graphic.attributes.source_detail4 && feature.graphic.attributes.source_detail4.length > 0) {\r\n sources += '
' + feature.graphic.attributes.source_detail4 + '
';\r\n }\r\n }\r\n if (feature.graphic.attributes.name5 || feature.graphic.attributes.meaning5 || feature.graphic.attributes.source_detail5) {\r\n sources += '
';\r\n if (feature.graphic.attributes.name5 && feature.graphic.attributes.name5.length > 0) {\r\n sources += '
' + feature.graphic.attributes.name5 + '
';\r\n }\r\n if (feature.graphic.attributes.meaning5 && feature.graphic.attributes.meaning5.length > 0) {\r\n sources += '
' + feature.graphic.attributes.meaning5 + '
';\r\n }\r\n if (feature.graphic.attributes.source5 && feature.graphic.attributes.source5.length > 0) {\r\n sources += '
' + domain[feature.graphic.attributes.source5] + '
';\r\n }\r\n if (feature.graphic.attributes.source_detail5 && feature.graphic.attributes.source_detail5.length > 0) {\r\n sources += '
' + feature.graphic.attributes.source_detail5 + '
';\r\n }\r\n }\r\n\r\n let translationText = feature.graphic.attributes.SmithProperTranslation;\r\n if (translationText === '') {\r\n translationText = 'No Translation';\r\n }\r\n div.innerHTML = title +\r\n '
' + feature.graphic.attributes.EnglishName + ', ' + feature.graphic.attributes.County + ' County
' +\r\n '
Translation
' +\r\n '
' + translationText + '
' +\r\n sources +\r\n comments +\r\n mediaRow;\r\n return div;\r\n };\r\n\r\n const popTemplate = {\r\n // autocasts as new PopupTemplate()\r\n content: popFunc,\r\n outFields: ['*'],\r\n };\r\n\r\n const labelClass: __esri.LabelClass = {\r\n // @ts-ignore autocasts as new LabelClass()\r\n symbol: {\r\n type: 'text',\r\n // @ts-ignore\r\n haloColor: 'white',\r\n // @ts-ignore\r\n haloSize: '1px',\r\n // @ts-ignore\r\n font: {\r\n size: 8,\r\n weight: 'bold',\r\n },\r\n },\r\n minScale: 180000,\r\n labelPlacement: 'above-center',\r\n labelExpressionInfo: {\r\n expression: '$feature.SmithName + \" : \" + $feature.EnglishName',\r\n },\r\n };\r\n\r\n const pointRenderer: __esri.SimpleRenderer = {\r\n // @ts-ignore autocasts as new SimpleRenderer()\r\n type: 'simple',\r\n symbol: {\r\n type: 'simple-marker',\r\n size: 6,\r\n // @ts-ignore quasar red-9\r\n color: [119, 61, 26],\r\n outline: {\r\n width: 0.5,\r\n color: 'white',\r\n },\r\n },\r\n };\r\n\r\n const layerList: __esri.Layer[] = [];\r\n const clusterConfig: __esri.FeatureReductionCluster = new FeatureReductionCluster({\r\n clusterRadius: '100px',\r\n // {cluster_count} is an aggregate field containing\r\n // the number of features comprised by the cluster\r\n clusterMinSize: '24px',\r\n clusterMaxSize: '60px',\r\n labelingInfo: [\r\n {\r\n deconflictionStrategy: 'none',\r\n labelExpressionInfo: {\r\n expression: 'Text($feature.cluster_count, \\'#,###\\')',\r\n },\r\n labelPlacement: 'center-center',\r\n symbol: {\r\n type: 'text',\r\n color: 'white',\r\n font: {\r\n size: '12px',\r\n },\r\n haloSize: 0,\r\n },\r\n },\r\n ],\r\n });\r\n\r\n this.layers.forEach((item: any, index: number) => {\r\n if (item.search === true) {\r\n this.$store.state.search.layer = new FeatureLayer({\r\n url: item.url,\r\n outFields: [\r\n 'SmithName',\r\n 'SmithName2',\r\n 'EnglishName',\r\n 'County',\r\n 'SmithProperTranslation',\r\n 'name1',\r\n 'meaning1',\r\n 'source1',\r\n 'source_detail1',\r\n 'name2',\r\n 'meaning2',\r\n 'source2',\r\n 'source_detail2',\r\n 'name3',\r\n 'meaning3',\r\n 'source3',\r\n 'source_detail3',\r\n 'name4',\r\n 'meaning4',\r\n 'source4',\r\n 'source_detail4',\r\n 'name5',\r\n 'meaning5',\r\n 'source5',\r\n 'source_detail5',\r\n 'Comment',\r\n 'AudioLink',\r\n 'Video',\r\n ],\r\n visible: item.active,\r\n renderer: pointRenderer,\r\n popupTemplate: popTemplate,\r\n popupEnabled: true, // !this.leftDrawerOpen, // popups depend on leftDrawer state\r\n labelingInfo: [labelClass],\r\n featureReduction: clusterConfig,\r\n });\r\n layerList.unshift(this.$store.state.search.layer);\r\n } else if (item.unapproved === true) {\r\n if (window.location.href.indexOf('admin') !== -1 && this.user && (this.user.role === 'admin' || this.user.role === 'contributor')) {\r\n this.$store.state.unapproved.layer = new FeatureLayer({\r\n title: item.name,\r\n url: item.url,\r\n outFields: [\r\n 'SmithName',\r\n 'SmithName2',\r\n 'EnglishName',\r\n 'County',\r\n 'SmithProperTranslation',\r\n 'name1',\r\n 'meaning1',\r\n 'source1',\r\n 'source_detail1',\r\n 'name2',\r\n 'meaning2',\r\n 'source2',\r\n 'source_detail2',\r\n 'name3',\r\n 'meaning3',\r\n 'source3',\r\n 'source_detail3',\r\n 'name4',\r\n 'meaning4',\r\n 'source4',\r\n 'source_detail4',\r\n 'name5',\r\n 'meaning5',\r\n 'source5',\r\n 'source_detail5',\r\n 'Comment',\r\n 'AudioLink',\r\n 'Video',\r\n ],\r\n visible: item.active,\r\n // renderer: pointRenderer,\r\n popupTemplate: popTemplate,\r\n popupEnabled: true, // !this.leftDrawerOpen, // popups depend on leftDrawer state\r\n labelingInfo: [labelClass],\r\n });\r\n if (this.user.role === 'contributor') {\r\n this.$store.state.unapproved.layer.definitionExpression = `entered_by = '${this.user.name}'`;\r\n }\r\n layerList.unshift(this.$store.state.unapproved.layer);\r\n }\r\n } else if (item.type === 'FeatureLayer') {\r\n const fLayer: __esri.FeatureLayer = new FeatureLayer({\r\n url: item.url,\r\n visible: item.active,\r\n });\r\n if (item.hasOwnProperty('minScale')) {\r\n fLayer.minScale = item.minScale ;\r\n }\r\n layerList.unshift(fLayer);\r\n } else if (item.type === 'MapImageLayer') {\r\n const miLayer: __esri.MapImageLayer = new MapImageLayer({\r\n url: item.url,\r\n visible: item.active,\r\n // sublayers: item.visibleSubLayers,\r\n });\r\n layerList.unshift(miLayer);\r\n }\r\n });\r\n\r\n const watchHandle = this.mapView.on('layerview-create', (event: any) => {\r\n watchHandle.remove();\r\n this.$store.dispatch('initSearch');\r\n this.$store.dispatch('initPopup');\r\n this.updateAttribution();\r\n this.updateCompassTooltip();\r\n this.setupActions();\r\n this.map.layers.forEach((layer: __esri.Layer) => {\r\n this.mapView.whenLayerView(layer).then((layerView: __esri.FeatureLayerView) => {\r\n if (layer.id === this.$store.state.search.layer.id) {\r\n this.$store.state.search.layerView = layerView;\r\n }\r\n });\r\n });\r\n\r\n if (window.location.href.indexOf('admin') !== -1 && this.user) { // extra admin setup\r\n this.$store.dispatch('updateUnapprovedCount');\r\n this.$store.dispatch('updateUnapprovedData').then(() => {\r\n if (this.user && this.user.role === 'admin') {\r\n this.$store.dispatch('drawerToggleLeft', 'approvals');\r\n }\r\n });\r\n this.map.layers.forEach((layer: __esri.Layer) => {\r\n this.mapView.whenLayerView(layer).then((layerView: __esri.FeatureLayerView) => {\r\n if (layer.id === this.$store.state.unapproved.layer.id) {\r\n this.$store.state.unapproved.layerView = layerView;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n this.$store.state.map.layers.addMany(layerList);\r\n }\r\n\r\n public setupActions() {\r\n this.mapView.popup.on('trigger-action', (event: any) => {\r\n const attributes = this.mapView.popup.viewModel.selectedFeature.attributes;\r\n if (event.action.id === 'approve-this') {\r\n this.$store.dispatch('approvePlacename', attributes.OBJECTID);\r\n } else if (event.action.id === 'reject-this') {\r\n this.$store.dispatch('rejectPlacename', attributes.OBJECTID);\r\n } else if (event.action.id === 'edit-this') {\r\n if (this.user && this.user.role !== 'admin' && this.user.name !== attributes.entered_by) {\r\n this.$store.dispatch('notify', 'Only editable by admin or owner');\r\n } else if (this.user && this.user.role !== 'admin' && attributes.approved === 1) {\r\n this.$store.dispatch('notify', 'Unable to edit approved place names');\r\n } else {\r\n this.$store.dispatch('editPlacename', attributes.OBJECTID);\r\n this.mapView.popup.close();\r\n }\r\n } else if (event.action.id === 'delete-this') {\r\n if (this.user && this.user.role !== 'admin' && this.user.name !== attributes.entered_by) {\r\n this.$store.dispatch('notify', 'Permission denied');\r\n } else if (attributes.approved === 1) {\r\n this.$store.dispatch('notify', 'Unable to delete approved place names');\r\n } else {\r\n this.$q.dialog({\r\n title: 'Confirm',\r\n message: 'Are you sure you want to delete?',\r\n cancel: true,\r\n persistent: true,\r\n }).onOk(() => {\r\n this.mapView.popup.close();\r\n this.$store.dispatch('deletePlacename', attributes.OBJECTID);\r\n }).onCancel(() => {\r\n // console.log('>>>> Cancel')\r\n }).onDismiss(() => {\r\n // console.log('I am triggered on both OK and Cancel')\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public updateAttribution() {\r\n // This needs to happen afer the map has loaded\r\n const poweredBy = document.querySelector('.esri-attribution__powered-by') as Element;\r\n poweredBy.innerHTML += ' | Built by
MapDev';\r\n }\r\n\r\n public updateCompassTooltip() {\r\n // This needs to happen afer the map has loaded\r\n const compassElement = document.querySelector('.esri-compass') as Element;\r\n compassElement.setAttribute('title', 'Right click+drag to change orientation');\r\n }\r\n\r\n public mounted() {\r\n this.createMap();\r\n }\r\n\r\n public beforeDestroy() {\r\n console.log('map: beforeDestroy');\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriMap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriMap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EsriMap.vue?vue&type=template&id=2b82aee2&scoped=true&\"\nimport script from \"./EsriMap.vue?vue&type=script&lang=ts&\"\nexport * from \"./EsriMap.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EsriMap.vue?vue&type=style&index=0&id=2b82aee2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b82aee2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n// import LeafletMap from '@/components/LeafletMap.vue';\r\nimport EsriMap from '@/components/EsriMap.vue';\r\n\r\n@Component({\r\n components: {\r\n EsriMap,\r\n },\r\n})\r\nexport default class Map extends Vue {}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Map.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Map.vue?vue&type=template&id=94d195d8&\"\nimport script from \"./Map.vue?vue&type=script&lang=ts&\"\nexport * from \"./Map.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.addDataShow),expression:\"addDataShow\"}],staticClass:\"q-pa-md\"},[_c('div',{staticClass:\"q-gutter-md\",staticStyle:{\"max-width\":\"300px\"}},[_c('q-toolbar',[_c('q-toolbar-title',{staticClass:\"text-blue-brand text-bold\"},[_vm._v(\"Placename Editor\")]),_c('q-btn',{attrs:{\"flat\":\"\",\"round\":\"\",\"dense\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.closeEditor}})],1),(_vm.unapprovedCount < 50)?_c('q-form',{ref:\"myForm\",attrs:{\"autofocus\":\"\"},on:{\"submit\":_vm.onSubmit}},[_c('q-btn',{staticClass:\"q-mb-md q-mr-sm\",attrs:{\"size\":\"md\",\"color\":\"primary\",\"icon\":\"room\",\"label\":_vm.x && _vm.y && _vm.x !== 0 && _vm.y !== 0 ? 'Move Point' : 'Add Point',\"no-caps\":\"\"},on:{\"click\":_vm.addPoint}}),(!(_vm.x && _vm.y && _vm.x !== 0 && _vm.y !== 0))?_c('span',{staticClass:\"text-negative\"},[_vm._v(\"*Required\")]):_vm._e(),(_vm.x && _vm.y && _vm.x !== 0 && _vm.y !== 0)?_c('q-input',{staticClass:\"q-pb-md\",attrs:{\"dense\":\"\",\"filled\":\"\",\"loading\":_vm.isCountyLoading,\"label\":\"County\"},model:{value:(_vm.county),callback:function ($$v) {_vm.county=$$v},expression:\"county\"}}):_vm._e(),_c('q-input',{staticClass:\"q-pb-md\",attrs:{\"dense\":\"\",\"filled\":\"\",\"disabled\":_vm.user.name != 'admin',\"label\":\"Entered By\"},model:{value:(_vm.enteredBy),callback:function ($$v) {_vm.enteredBy=$$v},expression:\"enteredBy\"}}),_c('q-input',{staticClass:\"q-pt-sm\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Mi'kmaw Name *\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Required'; }]},model:{value:(_vm.smithName),callback:function ($$v) {_vm.smithName=$$v},expression:\"smithName\"}}),_c('q-input',{staticClass:\"q-pb-md\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Alternate Mi'kmaw Name\"},model:{value:(_vm.smithName2),callback:function ($$v) {_vm.smithName2=$$v},expression:\"smithName2\"}}),_c('q-input',{attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"English Name *\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Required'; }]},model:{value:(_vm.englishName),callback:function ($$v) {_vm.englishName=$$v},expression:\"englishName\"}}),_c('q-input',{staticClass:\"q-pb-md\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Translation\"},model:{value:(_vm.translation),callback:function ($$v) {_vm.translation=$$v},expression:\"translation\"}}),_c('q-card',{staticClass:\"q-pa-sm\"},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\"Names / Translation Source\")]),_c('q-card-section',[_c('q-input',{attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Name\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('q-input',{staticClass:\"q-mt-sm\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Meaning\"},model:{value:(_vm.meaning),callback:function ($$v) {_vm.meaning=$$v},expression:\"meaning\"}}),_c('q-select',{staticClass:\"q-mt-sm\",attrs:{\"dense\":\"\",\"filled\":\"\",\"options\":Object.values(_vm.sources),\"label\":\"Source\"},model:{value:(_vm.source),callback:function ($$v) {_vm.source=$$v},expression:\"source\"}}),_c('q-input',{staticClass:\"q-mt-sm\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Source Detail\"},model:{value:(_vm.sourceDetail),callback:function ($$v) {_vm.sourceDetail=$$v},expression:\"sourceDetail\"}}),_c('q-btn',{staticClass:\"q-mt-sm\",attrs:{\"size\":\"md\",\"color\":\"primary\",\"icon\":\"add\",\"label\":\"Add\",\"no-caps\":\"\",\"disable\":_vm.name.length === 0 || _vm.addedSources.length >= 5},on:{\"click\":_vm.onAddSource}})],1),_vm._l((_vm.addedSources),function(item){return _c('q-card-section',{key:item.sourceId},[_c('q-separator'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('p',{staticClass:\"text-bold\"},[_vm._v(_vm._s(item.name)+\": \"+_vm._s(item.meaning)+\" \")]),_c('i',[_vm._v(_vm._s(item.source)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.sourceDetail))])]),_c('div',{staticClass:\"col-2 self-center\"},[_c('q-btn',{staticClass:\"float-right\",attrs:{\"round\":\"\",\"size\":\"sm\",\"color\":\"primary\",\"icon\":\"delete\"},on:{\"click\":function($event){return _vm.onDeleteSource(item.sourceId)}}})],1)])],1)})],2),_c('q-input',{staticClass:\"q-mt-sm\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Comment\",\"type\":\"textarea\"},model:{value:(_vm.comment),callback:function ($$v) {_vm.comment=$$v},expression:\"comment\"}}),_c('q-file',{staticClass:\"q-mt-sm\",attrs:{\"filled\":\"\",\"dense\":\"\",\"bottom-slots\":\"\",\"clearable\":\"\",\"label\":\"MP3 Audio File\",\"accept\":\".mp3\"},on:{\"input\":_vm.validateAudioFile,\"clear\":_vm.clearAudioFile},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"attach_file\"}})]},proxy:true},{key:\"hint\",fn:function(){return [_vm._v(\"\\n Max 1MB\\n \")]},proxy:true}],null,false,1849633531),model:{value:(_vm.audioFile),callback:function ($$v) {_vm.audioFile=$$v},expression:\"audioFile\"}}),_vm._l((_vm.videos),function(v,vIdx){return _c('div',{key:vIdx},[_c('q-input',{staticClass:\"q-pb-md\",attrs:{\"dense\":\"\",\"filled\":\"\",\"label\":\"Video Link\"},model:{value:(_vm.videos[vIdx]),callback:function ($$v) {_vm.$set(_vm.videos, vIdx, $$v)},expression:\"videos[vIdx]\"}})],1)}),_c('div',[_c('q-btn',{staticClass:\"q-mt-sm\",attrs:{\"size\":\"md\",\"color\":\"primary\",\"icon\":\"add\",\"label\":\"Add Video\",\"no-caps\":\"\",\"disable\":_vm.videos && _vm.videos.length ? _vm.videos[_vm.videos.length-1].length == 0 : false},on:{\"click\":_vm.onAddVideo}})],1),_c('q-btn',{staticClass:\"q-mt-sm\",attrs:{\"size\":\"md\",\"label\":\"Save\",\"no-caps\":\"\",\"loading\":_vm.isSaving,\"disable\":_vm.x && _vm.y && _vm.x !== 0 && _vm.y !== 0 ? false : true,\"type\":\"submit\",\"color\":\"primary\"}})],2):_c('div',[_c('p',[_vm._v(\"Unable to add more points at this time.\")]),_c('p',[_vm._v(\"Please come back later or contact your system administrator.\")])])],1),_c('q-dialog',{attrs:{\"seamless\":\"\",\"position\":\"bottom\"},model:{value:(_vm.showInstruction),callback:function ($$v) {_vm.showInstruction=$$v},expression:\"showInstruction\"}},[_c('q-card',{staticStyle:{\"width\":\"330px\"}},[_c('q-card-section',{staticClass:\"row items-center no-wrap\"},[_c('div',[_vm._v(\"\\n Click on the map to add a location\\n \")]),_c('q-space'),_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"flat\":\"\",\"round\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.cancelAddPoint}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport { Placename } from '../models/Placename';\r\nimport PlacenamesService from '../services/PlacenamesService';\r\nimport Graphic from '@arcgis/core/Graphic';\r\nimport Point from '@arcgis/core/geometry/Point';\r\nimport FeatureLayer from '@arcgis/core/layers/FeatureLayer';\r\n\r\n@Component\r\nexport default class AddData extends Vue {\r\n\r\n get editFeature(): Placename | null {\r\n return this.$store.state.editFeature;\r\n }\r\n\r\n get addDataShow(): boolean {\r\n return this.$store.state.leftDrawerContent.edit;\r\n }\r\n\r\n get mapView(): __esri.MapView {\r\n return this.$store.state.mapView;\r\n }\r\n\r\n get sources() {\r\n return this.$store.state.sources;\r\n }\r\n\r\n get communitiesLayerUrl() {\r\n return this.$store.state.communitiesLayer.url;\r\n }\r\n\r\n get user() {\r\n return this.$store.state.user;\r\n }\r\n\r\n get unapprovedCount() {\r\n return this.$store.state.unapproved.count;\r\n }\r\n\r\n public maxFileSize: number = 1024000;\r\n\r\n public showInstruction = false;\r\n public isSaving = false;\r\n public isCountyLoading = false;\r\n\r\n public objectId?: number | null = null;\r\n public smithName: string = '';\r\n public smithName2?: string = '';\r\n public englishName: string = '';\r\n\r\n public name: string = '';\r\n public sourceId: number = 0;\r\n public meaning = '';\r\n public source = '';\r\n public sourceDetail = '';\r\n\r\n public translation?: string = '';\r\n public comment?: string = '';\r\n public addedSources: any = [];\r\n\r\n public markerGraphic: __esri.Graphic | null = null;\r\n public eventHandler: any = null;\r\n public x: number = 0;\r\n public y: number = 0;\r\n public county?: string = 'Undefined';\r\n public enteredBy?: string = '';\r\n public approved?: number = 0;\r\n\r\n public audioFile: File | null = null;\r\n public video?: string = '';\r\n public videos?: string[] = [];\r\n\r\n public newPointSymbol = {\r\n type: 'simple-marker', // autocasts as new SimpleMarkerSymbol()\r\n style: 'x',\r\n color: 'blue',\r\n size: 10,\r\n outline: { // autocasts as new SimpleLineSymbol()\r\n color: 'blue',\r\n width: 4,\r\n },\r\n };\r\n\r\n public sourceToText(source: string) {\r\n console.log('source2Text');\r\n console.log(this.sources[source]);\r\n return this.sources[source];\r\n }\r\n\r\n @Watch('addDataShow', { immediate: true, deep: true })\r\n public addDataShowChanged(value: boolean, oldValue: boolean) {\r\n console.log('addDataShow changed');\r\n if (value === true) {\r\n this.isSaving = false;\r\n this.isCountyLoading = false;\r\n if (this.editFeature) {\r\n this.objectId = this.editFeature.objectId;\r\n\r\n // inherit enteredby / approved these can't be changed\r\n this.enteredBy = this.editFeature.enteredBy;\r\n this.approved = this.editFeature.approved;\r\n\r\n this.x = this.editFeature.x;\r\n this.y = this.editFeature.y;\r\n this.showMarker();\r\n\r\n this.county = this.editFeature.county;\r\n this.smithName = this.editFeature.smithName;\r\n this.smithName2 = this.editFeature.smithName2;\r\n this.englishName = this.editFeature.englishName;\r\n this.translation = this.editFeature.translation;\r\n this.video = this.editFeature.video;\r\n this.videos = this.editFeature.video ? this.editFeature.video.split('|') : [];\r\n this.comment = this.editFeature.comment;\r\n if (this.editFeature.audioLink) {\r\n // don't care about data when editing, just the name\r\n this.audioFile = new File([], this.editFeature.audioLink);\r\n }\r\n if (this.editFeature.name1) {\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.editFeature.name1,\r\n meaning: this.editFeature.meaning1,\r\n source: this.editFeature.source1 ? this.sources[this.editFeature.source1] : '',\r\n sourceDetail: this.editFeature.sourceDetail1,\r\n });\r\n this.sourceId++;\r\n }\r\n if (this.editFeature.name2) {\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.editFeature.name2,\r\n meaning: this.editFeature.meaning2,\r\n source: this.editFeature.source2 ? this.sources[this.editFeature.source2] : '',\r\n sourceDetail: this.editFeature.sourceDetail2,\r\n });\r\n this.sourceId++;\r\n }\r\n if (this.editFeature.name3) {\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.editFeature.name3,\r\n meaning: this.editFeature.meaning3,\r\n source: this.editFeature.source3 ? this.sources[this.editFeature.source3] : '',\r\n sourceDetail: this.editFeature.sourceDetail3,\r\n });\r\n this.sourceId++;\r\n }\r\n if (this.editFeature.name4) {\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.editFeature.name4,\r\n meaning: this.editFeature.meaning4,\r\n source: this.editFeature.source4 ? this.sources[this.editFeature.source4] : '',\r\n sourceDetail: this.editFeature.sourceDetail4,\r\n });\r\n this.sourceId++;\r\n }\r\n if (this.editFeature.name5) {\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.editFeature.name5,\r\n meaning: this.editFeature.meaning5,\r\n source: this.editFeature.source5 ? this.sources[this.editFeature.source5] : '',\r\n sourceDetail: this.editFeature.sourceDetail5,\r\n });\r\n this.sourceId++;\r\n }\r\n } else {\r\n // new feature\r\n this.enteredBy = this.user.name;\r\n this.approved = 0;\r\n }\r\n } else {\r\n this.$store.dispatch('resetEditFeature');\r\n this.resetData();\r\n }\r\n }\r\n\r\n public resetData() {\r\n if (this.markerGraphic) {\r\n this.mapView.graphics.remove(this.markerGraphic);\r\n }\r\n this.cancelAddPoint();\r\n this.objectId = null;\r\n this.englishName = '';\r\n this.smithName = '';\r\n this.smithName2 = '';\r\n this.name = '';\r\n this.sourceId = 0;\r\n this.meaning = '';\r\n this.source = '';\r\n this.sourceDetail = '';\r\n this.translation = '';\r\n this.comment = '';\r\n this.addedSources = [];\r\n this.x = 0;\r\n this.y = 0;\r\n this.county = 'Undefined';\r\n this.enteredBy = '';\r\n this.approved = 0;\r\n this.audioFile = null;\r\n this.video = '';\r\n this.videos = [];\r\n }\r\n\r\n public mounted() {\r\n console.log('AddData: mounted()');\r\n }\r\n\r\n public showMarker() {\r\n console.log('AddData: showMarker()');\r\n this.markerGraphic = new Graphic({\r\n geometry: new Point({\r\n x: this.x,\r\n y: this.y,\r\n spatialReference: {\r\n wkid: 3857,\r\n },\r\n }),\r\n symbol: this.newPointSymbol,\r\n });\r\n this.mapView.graphics.add(this.markerGraphic);\r\n }\r\n\r\n public countyFromCode(code: string) {\r\n switch (code) {\r\n case 'AP':\r\n return 'Annapolis County';\r\n case 'AT':\r\n return 'Antigonish County';\r\n case 'CB':\r\n return 'Cape Breton County';\r\n case 'CO':\r\n return 'Colchester County';\r\n case 'CU':\r\n return 'Cumberland County';\r\n case 'DI':\r\n return 'Digby County';\r\n case 'GU':\r\n return 'Guysborough County';\r\n case 'HN':\r\n return 'Hants County';\r\n case 'HX':\r\n return 'Halifax County';\r\n case 'IN':\r\n return 'Inverness County';\r\n case 'KI':\r\n return 'Kings County';\r\n case 'LU':\r\n return 'Lunenburg County';\r\n case 'PI':\r\n return 'Pictou County';\r\n case 'QU':\r\n return 'Queens County';\r\n case 'RI':\r\n return 'Richmond County';\r\n case 'SH':\r\n return 'Shelburne County';\r\n case 'VI':\r\n return 'Victoria County';\r\n case 'YA':\r\n return 'Yarmouth County';\r\n default:\r\n return 'Undefined';\r\n }\r\n }\r\n\r\n public addPoint() {\r\n console.log('AddData: addPoint()');\r\n this.showInstruction = true;\r\n\r\n if (this.markerGraphic) {\r\n this.mapView.graphics.remove(this.markerGraphic);\r\n }\r\n\r\n const communitiesLayer: __esri.FeatureLayer = new FeatureLayer({\r\n url: this.communitiesLayerUrl,\r\n });\r\n const query: __esri.Query = communitiesLayer.createQuery();\r\n\r\n this.eventHandler = this.mapView.on('click', (event: any) => {\r\n this.isCountyLoading = true;\r\n this.markerGraphic = new Graphic({\r\n geometry: event.mapPoint,\r\n symbol: this.newPointSymbol,\r\n });\r\n this.mapView.graphics.add(this.markerGraphic);\r\n query.geometry = event.mapPoint;\r\n query.datumTransformation = 1946; // \"NAD_1983_CSRS_To_WGS_1984_2\"\r\n communitiesLayer.queryFeatures(query).then( (results: __esri.FeatureSet) => {\r\n if (results.features.length) {\r\n const countyCode = results.features[0].attributes.CO_CODE;\r\n this.county = this.countyFromCode(countyCode);\r\n } else {\r\n this.county = 'Undefined';\r\n }\r\n this.isCountyLoading = false;\r\n });\r\n this.x = event.mapPoint.x;\r\n this.y = event.mapPoint.y;\r\n this.eventHandler.remove();\r\n this.eventHandler = null;\r\n this.showInstruction = false;\r\n });\r\n }\r\n\r\n public cancelAddPoint() {\r\n if (this.eventHandler) {\r\n this.eventHandler.remove();\r\n }\r\n this.eventHandler = null;\r\n\r\n this.showInstruction = false;\r\n }\r\n\r\n public onAddSource() {\r\n console.log('AddData: onAddSource()');\r\n this.addedSources.push({\r\n sourceId: this.sourceId,\r\n name: this.name,\r\n meaning: this.meaning,\r\n source: this.source,\r\n sourceDetail: this.sourceDetail,\r\n });\r\n this.sourceId++;\r\n this.name = '';\r\n this.meaning = '';\r\n this.source = '';\r\n this.sourceDetail = '';\r\n }\r\n\r\n public onAddVideo() {\r\n console.log('AddData: onAddVideo()');\r\n if (this.videos) {\r\n this.videos.push('');\r\n }\r\n }\r\n\r\n public onDeleteSource(id: number) {\r\n console.log('AddData: onDeleteSource()');\r\n this.addedSources = this.addedSources.filter((obj: any) => obj.sourceId !== id);\r\n }\r\n\r\n public validateAudioFile() {\r\n console.log('AddData: validateAudioFile()');\r\n this.$store.dispatch('getAudioFileNames');\r\n if (this.audioFile) {\r\n console.log(this.audioFile);\r\n if (this.audioFile.size > this.maxFileSize) {\r\n this.$store.dispatch('notify', 'File did not pass validation constraints');\r\n this.audioFile = null;\r\n }\r\n }\r\n }\r\n\r\n public clearAudioFile(oldValue: File) {\r\n console.log('AddData: clearAudioFile()');\r\n console.log(oldValue);\r\n // if (oldValue && oldValue.name) {\r\n // this.$store.dispatch('deleteAudioFile', oldValue.name);\r\n // }\r\n }\r\n\r\n public async onSubmit() {\r\n console.log('AddData: onSubmit()');\r\n this.isSaving = true;\r\n const placename: Placename = new Placename();\r\n // careful, the presense of objectId determines if it is new or update\r\n if (this.objectId) {\r\n placename.objectId = this.objectId;\r\n }\r\n placename.x = this.x;\r\n placename.y = this.y;\r\n placename.county = this.county;\r\n placename.smithName = this.smithName;\r\n placename.smithName2 = this.smithName2;\r\n placename.englishName = this.englishName;\r\n placename.translation = this.translation;\r\n placename.comment = this.comment;\r\n if (this.addedSources.length >= 1) {\r\n placename.name1 = this.addedSources[0].name;\r\n placename.meaning1 = this.addedSources[0].meaning;\r\n placename.source1 = Object.keys(this.sources).find((key) => this.sources[key] === this.addedSources[0].source);\r\n placename.sourceDetail1 = this.addedSources[0].sourceDetail;\r\n }\r\n if (this.addedSources.length >= 2) {\r\n placename.name2 = this.addedSources[1].name;\r\n placename.meaning2 = this.addedSources[1].meaning;\r\n placename.source2 = Object.keys(this.sources).find((key) => this.sources[key] === this.addedSources[1].source);\r\n placename.sourceDetail2 = this.addedSources[1].sourceDetail;\r\n }\r\n if (this.addedSources.length >= 3) {\r\n placename.name3 = this.addedSources[2].name;\r\n placename.meaning3 = this.addedSources[2].meaning;\r\n placename.source3 = Object.keys(this.sources).find((key) => this.sources[key] === this.addedSources[2].source);\r\n placename.sourceDetail3 = this.addedSources[2].sourceDetail;\r\n }\r\n if (this.addedSources.length >= 4) {\r\n placename.name4 = this.addedSources[3].name;\r\n placename.meaning4 = this.addedSources[3].meaning;\r\n placename.source4 = Object.keys(this.sources).find((key) => this.sources[key] === this.addedSources[3].source);\r\n placename.sourceDetail4 = this.addedSources[3].sourceDetail;\r\n }\r\n if (this.addedSources.length >= 5) {\r\n placename.name5 = this.addedSources[4].name;\r\n placename.meaning5 = this.addedSources[4].meaning;\r\n placename.source5 = Object.keys(this.sources).find((key) => this.sources[key] === this.addedSources[4].source);\r\n placename.sourceDetail5 = this.addedSources[4].sourceDetail;\r\n }\r\n\r\n placename.video = this.videos ? this.videos.join('|') : '';\r\n placename.video = placename.video.replace('||', '|');\r\n if (placename.video.endsWith('|')) {\r\n placename.video = placename.video.slice(0, -1);\r\n }\r\n if (placename.video.startsWith('|')) {\r\n placename.video = placename.video.slice(1, placename.video.length);\r\n }\r\n placename.video = placename.video.substring(0, 255);\r\n placename.approved = this.approved;\r\n placename.enteredBy = this.enteredBy;\r\n\r\n // this.$store.dispatch('uploadAudioFile', this.audioFile);\r\n\r\n if (this.audioFile && this.audioFile.name && this.audioFile.size > 0) {\r\n // upload file\r\n placename.audioLink = await this.uploadFile();\r\n } else if (this.audioFile && this.audioFile.name) {\r\n // set name\r\n placename.audioLink = this.audioFile.name;\r\n } else {\r\n placename.audioLink = '';\r\n }\r\n\r\n // (this.$refs.myForm as VForm).resetValidation();\r\n console.log(placename);\r\n\r\n this.$store.dispatch('addPlacename', placename);\r\n }\r\n\r\n public async uploadFile(): Promise {\r\n if (this.audioFile) {\r\n const formData = new FormData();\r\n formData.set('file', this.audioFile);\r\n return await PlacenamesService.uploadAudio(formData)\r\n .then((response: any) => {\r\n console.log(response.data);\r\n // returns a sanitized filename\r\n return response.data;\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n this.$store.dispatch('notify', error);\r\n return '';\r\n });\r\n }\r\n return '';\r\n }\r\n\r\n public closeEditor() {\r\n console.log('AddData: closeEditor()');\r\n this.$q.dialog({\r\n title: 'Confirm',\r\n message: 'Are you sure? Edits will be lost',\r\n cancel: true,\r\n persistent: false,\r\n }).onOk(() => {\r\n this.$store.dispatch('drawerToggleLeft', null);\r\n this.resetData();\r\n }).onCancel(() => {\r\n // console.log('>>>> Cancel')\r\n });\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddData.vue?vue&type=template&id=648eecbc&scoped=true&\"\nimport script from \"./AddData.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddData.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"648eecbc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.aboutShow),expression:\"aboutShow\"}]},[_vm._v(\"\\n Abouts\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { mapGetters } from 'vuex';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class About extends Vue {\r\n get aboutShow(): boolean {\r\n return this.$store.state.rightDrawerContent.about;\r\n }\r\n\r\n public mounted() {\r\n console.log('About: mounted()');\r\n }\r\n\r\n public beforeDestroy() {\r\n // something\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=0c8ef9d1&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=ts&\"\nexport * from \"./About.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0c8ef9d1\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { QVueGlobals } from 'quasar';\r\nimport { Component, Prop, Emit, Vue } from 'vue-property-decorator';\r\nimport LayerSelector from '@/components/LayerSelector.vue';\r\nimport EsriPopup from '@/components/EsriPopup.vue';\r\nimport EsriSearch from '@/components/EsriSearch.vue';\r\nimport EsriPrint from '@/components/EsriPrint.vue';\r\nimport EsriSketch from '@/components/EsriSketch.vue';\r\nimport Map from '@/views/Map.vue';\r\nimport AddData from '@/components/AddData.vue';\r\nimport About from '@/components/About.vue';\r\n\r\n@Component({\r\n components: {\r\n LayerSelector,\r\n EsriPopup,\r\n EsriSearch,\r\n EsriPrint,\r\n EsriSketch,\r\n Map,\r\n AddData,\r\n About,\r\n },\r\n})\r\n\r\nexport default class LayoutPublic extends Vue {\r\n\r\n public widthThresholdValue: number = 475;\r\n\r\n get leftDrawerOpen() {\r\n return this.$store.state.leftDrawerOpen;\r\n }\r\n\r\n get rightDrawerOpen() {\r\n return this.$store.state.rightDrawerOpen;\r\n }\r\n\r\n get editLayer() {\r\n return this.$store.state.edit.layer;\r\n }\r\n\r\n get windowWidth() {\r\n return this.$store.state.windowWidth;\r\n }\r\n\r\n public mounted() {\r\n console.log('LayoutDefault: mounted()');\r\n this.$store.dispatch('updateWindowHeight', window.innerHeight);\r\n this.$store.dispatch('updateWindowWidth', window.innerWidth);\r\n\r\n window.addEventListener('resize', () => {\r\n this.$store.dispatch('updateWindowHeight', window.innerHeight);\r\n this.$store.dispatch('updateWindowWidth', window.innerWidth);\r\n } );\r\n return this.$store.state.isMobile = !this.$q.platform.is.desktop;\r\n }\r\n\r\n public onAbout() {\r\n this.$store.dispatch('aboutAction');\r\n }\r\n\r\n public drawerToggleLeft(content: string) {\r\n this.$store.dispatch('drawerToggleLeft', content);\r\n }\r\n\r\n public drawerToggleRight(content: string) {\r\n this.$store.dispatch('drawerToggleRight', content);\r\n }\r\n\r\n public sketchToggle() {\r\n this.$store.dispatch('sketchToggle');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Public.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Public.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Public.vue?vue&type=template&id=84a41b28&scoped=true&\"\nimport script from \"./Public.vue?vue&type=script&lang=ts&\"\nexport * from \"./Public.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Public.vue?vue&type=style&index=0&id=84a41b28&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84a41b28\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-layout',{attrs:{\"view\":\"hHh lpR fFf\"}},[_c('q-header',{staticClass:\"basic bg-brand\",attrs:{\"elevated\":\"\"}},[_c('q-toolbar',[_c('img',{staticClass:\"q-pa-sm\",attrs:{\"src\":\"Tan-Weji-sqaliatiek-Reverse.png\",\"width\":\"230px\"}}),_c('q-toolbar-title'),(_vm.userRole == 'admin')?_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Approvals\",\"icon\":\"done\"},on:{\"click\":function($event){return _vm.drawerToggleLeft('approvals')}}},[(_vm.unapprovedCount)?_c('q-badge',{attrs:{\"color\":\"primary\",\"floating\":\"\"}},[_vm._v(_vm._s(_vm.unapprovedCount))]):_vm._e(),_c('q-tooltip',[_vm._v(\"Approvals\")])],1):_vm._e(),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Edit\",\"icon\":\"add_location\"},on:{\"click\":function($event){return _vm.drawerToggleLeft('edit')}}},[_c('q-tooltip',[_vm._v(\"New Placename\")])],1),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Print\",\"icon\":\"print\"},on:{\"click\":function($event){return _vm.drawerToggleRight('print')}}},[_c('q-tooltip',[_vm._v(\"Print\")])],1),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Sketch\",\"icon\":\"gesture\"},on:{\"click\":_vm.sketchToggle}},[_c('q-tooltip',[_vm._v(\"Sketch\")])],1),_c('q-btn',{attrs:{\"flat\":\"\",\"dense\":\"\",\"round\":\"\",\"aria-label\":\"Menu\",\"icon\":\"layers\"},on:{\"click\":function($event){return _vm.drawerToggleRight('layer')}}},[_c('q-tooltip',[_vm._v(\"Layers\")])],1),_c('q-btn',{attrs:{\"round\":\"\",\"flat\":\"\",\"icon\":\"menu\"}},[_c('q-menu',[_c('q-list',{staticStyle:{\"min-width\":\"100px\"}},[_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":_vm.onOpenPDF}},[_c('q-item-section',[_vm._v(\"How To Guide\")])],1),_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":_vm.onLogout}},[_c('q-item-section',[_vm._v(\"Logout\")])],1)],1)],1)],1)],1)],1),_c('q-drawer',{attrs:{\"side\":\"left\",\"value\":_vm.leftDrawerOpen,\"overlay\":\"\",\"bordered\":\"\"},on:{\"hide\":function($event){return _vm.drawerToggleLeft('nothing')}}},[(_vm.userRole=='admin')?_c('Approvals'):_vm._e(),_c('AddData'),_c('EsriPopup')],1),_c('q-drawer',{attrs:{\"side\":\"right\",\"value\":_vm.rightDrawerOpen,\"overlay\":\"\",\"bordered\":\"\",\"content-class\":\"bg-grey-2\"},on:{\"hide\":function($event){return _vm.drawerToggleRight('nothing')}}},[_c('EsriSearch'),_c('EsriEdit'),_c('EsriPrint'),_c('EsriSketch'),_c('LayerSelector'),_c('About')],1),_c('q-page-container',[_c('Map')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.approvalsShow),expression:\"approvalsShow\"}],staticClass:\"q-pa-md\"},[_c('div',{staticClass:\"q-gutter-md\",staticStyle:{\"max-width\":\"300px\"}},[_c('q-toolbar',[_c('q-toolbar-title',{staticClass:\"text-blue-brand text-bold\"},[_vm._v(\"Awaiting Approvals\")]),_c('q-btn',{attrs:{\"flat\":\"\",\"round\":\"\",\"dense\":\"\",\"icon\":\"close\"},on:{\"click\":_vm.onClose}})],1),(_vm.unapprovedData.length > 0)?_c('q-list',{staticClass:\"rounded-borders\",attrs:{\"bordered\":\"\"}},[_vm._l((_vm.unapprovedData),function(item,index){return _c('q-expansion-item',{key:item.objectId,attrs:{\"expand-separator\":\"\",\"label\":item.smithName,\"caption\":item.englishName,\"group\":\"same-group-so-only-one-is-open-at-a-time\"},on:{\"after-show\":function($event){return _vm.highlightMap(item)},\"hide\":function($event){return _vm.highlightClear()}}},[_c('q-card',[_c('q-card-section',[_vm._v(\"\\n \"+_vm._s(item.englishName)+\", \"+_vm._s(item.county)+\" County\"),_c('br'),_vm._v(\"\\n Translation\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.translation)),_c('br'),_c('br'),(item.name1)?_c('div',[_vm._v(\"\\n Source(s)\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.name1)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.meaning1)),_c('br'),_vm._v(\"\\n \"+_vm._s(_vm.sources[item.source1])),_c('br'),_vm._v(\"\\n \"+_vm._s(item.source_detail1)+\" \"),_c('br'),_c('br')]):_vm._e(),(item.name2)?_c('div',[_vm._v(\"\\n Source(s)\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.name2)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.meaning2)),_c('br'),_vm._v(\"\\n \"+_vm._s(_vm.sources[item.source2])),_c('br'),_vm._v(\"\\n \"+_vm._s(item.source_detail2)+\" \"),_c('br'),_c('br')]):_vm._e(),(item.name3)?_c('div',[_vm._v(\"\\n Source(s)\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.name3)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.meaning3)),_c('br'),_vm._v(\"\\n \"+_vm._s(_vm.sources[item.source3])),_c('br'),_vm._v(\"\\n \"+_vm._s(item.source_detail3)+\" \"),_c('br'),_c('br')]):_vm._e(),(item.name4)?_c('div',[_vm._v(\"\\n Source(s)\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.name4)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.meaning4)),_c('br'),_vm._v(\"\\n \"+_vm._s(_vm.sources[item.source4])),_c('br'),_vm._v(\"\\n \"+_vm._s(item.source_detail4)+\" \"),_c('br'),_c('br')]):_vm._e(),(item.name5)?_c('div',[_vm._v(\"\\n Source(s)\"),_c('br'),_vm._v(\"\\n \"+_vm._s(item.name5)),_c('br'),_vm._v(\"\\n \"+_vm._s(item.meaning5)),_c('br'),_vm._v(\"\\n \"+_vm._s(_vm.sources[item.source5])),_c('br'),_vm._v(\"\\n \"+_vm._s(item.source_detail5)+\" \"),_c('br'),_c('br')]):_vm._e(),(item.audioLink && item.audioLink.length)?_c('div',[_vm._v(\"\\n Audio\"),_c('br'),_c('audio',{attrs:{\"id\":'audioElement' + item.objectId}},[_c('source',{attrs:{\"src\":_vm.audioRootUrl + item.audioLink,\"type\":\"audio/mpeg\"}}),_vm._v(\"No support for audio\\n \")]),_c('div',{},[_c('button',{staticStyle:{\"border-radius\":\"10px\"},on:{\"click\":function($event){return _vm.playSound(item.objectId)}}},[_c('i',{staticClass:\"material-icons q-icon\",staticStyle:{\"font-size\":\"36px\"},attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"volume_up\")])])])]):_vm._e(),(item.video && item.video.length)?_c('div',_vm._l((item.video.split('|')),function(vid,index){return _c('div',{key:index},[_vm._v(\"\\n Video\"),_c('br'),_c('div',{},[_c('a',{attrs:{\"href\":vid,\"target\":\"_blank\"}},[_c('button',{staticStyle:{\"border-radius\":\"10px\"}},[_c('i',{staticClass:\"material-icons q-icon\",staticStyle:{\"font-size\":\"36px\"},attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"ondemand_video\")])])])])])}),0):_vm._e(),_c('br'),_c('q-btn',{staticClass:\"btn-fixed-width\",attrs:{\"icon\":\"zoom_in\",\"dense\":\"\",\"no-caps\":\"\",\"label\":\"Zoom To\",\"color\":\"primary\",\"align\":\"left\"},on:{\"click\":function($event){return _vm.zoomToPlacename(item.objectId)}}}),_c('br'),_c('q-btn',{staticClass:\"btn-fixed-width\",attrs:{\"icon\":item.approved === 0 ? 'check': 'clear',\"dense\":\"\",\"no-caps\":\"\",\"label\":item.approved === 0 ? 'Approve': 'Unapprove',\"color\":\"primary\",\"align\":\"left\",\"loading\":_vm.isLoading},on:{\"click\":function($event){return _vm.toggleApproval(item)}}}),_c('br'),(item.approved === 1)?_c('span',[_c('q-btn',{staticClass:\"btn-fixed-width\",attrs:{\"icon\":\"remove_circle\",\"dense\":\"\",\"no-caps\":\"\",\"label\":\"Remove\",\"color\":\"primary\",\"align\":\"left\"},on:{\"click\":function($event){return _vm.removeFromList(item.objectId)}}}),_c('br')],1):_vm._e(),_c('q-btn',{staticClass:\"btn-fixed-width\",attrs:{\"icon\":\"create\",\"dense\":\"\",\"no-caps\":\"\",\"label\":\"Edit\",\"color\":\"primary\",\"align\":\"left\"},on:{\"click\":function($event){return _vm.editPlacename(item.objectId)}}}),_c('br'),_c('q-btn',{staticClass:\"btn-fixed-width\",attrs:{\"icon\":\"delete\",\"dense\":\"\",\"no-caps\":\"\",\"label\":\"Delete\",\"color\":\"primary\",\"align\":\"left\"},on:{\"click\":function($event){return _vm.deleteConfirm(item)}}}),_c('br')],1)],1)],1)}),_c('q-separator')],2):_c('div',{staticClass:\"text-body2\"},[_vm._v(\"Nothing needs approval!\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue} from 'vue-property-decorator';\r\nimport { Placename } from '../models/Placename';\r\nimport PlacenamesService from '../services/PlacenamesService';\r\n\r\n@Component\r\nexport default class Approvals extends Vue {\r\n\r\n get sources() {\r\n return this.$store.state.sources;\r\n }\r\n\r\n get approvalsShow(): boolean {\r\n return this.$store.state.leftDrawerContent.approvals;\r\n }\r\n\r\n get mapView(): __esri.MapView {\r\n return this.$store.state.mapView;\r\n }\r\n\r\n get unapprovedData() {\r\n return this.$store.state.unapproved.data;\r\n }\r\n\r\n get unapprovedLayer() {\r\n return this.$store.state.unapproved.layer;\r\n }\r\n\r\n get unapprovedLayerView() {\r\n return this.$store.state.unapproved.layerView;\r\n }\r\n\r\n get audioRootUrl() {\r\n return this.$store.getters.audioRootUrl;\r\n }\r\n\r\n public highlight: any;\r\n public isLoading: boolean = false;\r\n\r\n public onClose() {\r\n this.$store.dispatch('drawerToggleLeft', 'nothing');\r\n }\r\n\r\n public mounted() {\r\n console.log('Approvals: mounted()');\r\n console.log(this.unapprovedData);\r\n }\r\n\r\n public highlightMap(item: any) {\r\n console.log('Approvals: highlightMap()');\r\n if (this.highlight) {\r\n this.highlight.remove();\r\n }\r\n this.highlight = this.unapprovedLayerView.highlight(item.objectId);\r\n this.unapprovedLayer.queryFeatures({\r\n where: `OBJECTID = ${item.objectId}`,\r\n returnGeometry: true,\r\n }).then((results: __esri.FeatureSet) => {\r\n this.mapView.goTo(results.features);\r\n });\r\n }\r\n\r\n public highlightClear() {\r\n console.log('Approvals: highlightClear()');\r\n if (this.highlight) {\r\n this.highlight.remove();\r\n }\r\n }\r\n\r\n public zoomToPlacename(id: number) {\r\n console.log('Approvals: zoomToPlacename()');\r\n this.mapView.zoom = 15;\r\n this.unapprovedLayer.queryFeatures({\r\n where: `OBJECTID = ${id}`,\r\n returnGeometry: true,\r\n }).then((results: __esri.FeatureSet) => {\r\n this.mapView.goTo(results.features);\r\n });\r\n }\r\n\r\n public toggleApproval(item: any) {\r\n console.log('Approvals: toggleApproval()');\r\n this.isLoading = true;\r\n if (item.approved === 0) {\r\n PlacenamesService.approve(item.objectId)\r\n .then((response: any) => {\r\n console.log(response.data);\r\n this.$store.dispatch('refreshLayers');\r\n item.approved = 1;\r\n this.isLoading = false;\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.$store.dispatch('notify', error.response);\r\n }\r\n });\r\n\r\n } else {\r\n PlacenamesService.reject(item.objectId)\r\n .then((response: any) => {\r\n console.log(response.data);\r\n this.$store.dispatch('refreshLayers');\r\n item.approved = 0;\r\n this.isLoading = false;\r\n })\r\n .catch((error: any) => {\r\n console.error(error);\r\n if (error.response) {\r\n this.$store.dispatch('notify', error.response);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public removeFromList(id: number) {\r\n console.log('Approvals: removeFromList()');\r\n this.$store.state.unapproved.data = this.unapprovedData.filter((item: any) => item.objectId !== id);\r\n this.$store.dispatch('updateUnapprovedCount');\r\n }\r\n\r\n public editPlacename(id: number) {\r\n console.log('Approvals: editPlacename()');\r\n this.$store.dispatch('editPlacename', id);\r\n }\r\n\r\n public deleteConfirm(item: Placename) {\r\n console.log('Approvals: deleteConfirm()');\r\n this.$q.dialog({\r\n title: 'Confirm',\r\n message: 'Are you sure you want to delete?',\r\n cancel: true,\r\n persistent: true,\r\n }).onOk(() => {\r\n if (item) {\r\n this.$store.dispatch('deletePlacename', item.objectId);\r\n if (item.audioLink && item.audioLink.length) {\r\n this.$store.dispatch('deleteAudioFile', item.audioLink);\r\n }\r\n }\r\n }).onCancel(() => {\r\n // console.log('>>>> Cancel')\r\n }).onDismiss(() => {\r\n // console.log('I am triggered on both OK and Cancel')\r\n });\r\n }\r\n\r\n public playSound(id: number) {\r\n console.log('Approvals: playSound()');\r\n const audioElement = document.getElementById('audioElement' + id) as HTMLMediaElement;\r\n if (audioElement) {\r\n audioElement.play();\r\n }\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Approvals.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Approvals.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Approvals.vue?vue&type=template&id=70ffcaff&scoped=true&\"\nimport script from \"./Approvals.vue?vue&type=script&lang=ts&\"\nexport * from \"./Approvals.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Approvals.vue?vue&type=style&index=0&id=70ffcaff&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70ffcaff\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { QVueGlobals } from 'quasar';\r\nimport { Component, Prop, Emit, Vue } from 'vue-property-decorator';\r\nimport LayerSelector from '@/components/LayerSelector.vue';\r\nimport EsriPopup from '@/components/EsriPopup.vue';\r\nimport EsriSearch from '@/components/EsriSearch.vue';\r\nimport EsriPrint from '@/components/EsriPrint.vue';\r\nimport EsriSketch from '@/components/EsriSketch.vue';\r\nimport Map from '@/views/Map.vue';\r\nimport Approvals from '@/components/Approvals.vue';\r\nimport AddData from '@/components/AddData.vue';\r\nimport About from '@/components/About.vue';\r\nimport LoginService from '../services/LoginService';\r\nimport Login from '../views/Login.vue';\r\n\r\n@Component({\r\n components: {\r\n LayerSelector,\r\n EsriPopup,\r\n EsriSearch,\r\n EsriPrint,\r\n EsriSketch,\r\n Map,\r\n Approvals,\r\n AddData,\r\n About,\r\n },\r\n})\r\nexport default class LayoutEditor extends Vue {\r\n\r\n get leftDrawerOpen() {\r\n return this.$store.state.leftDrawerOpen;\r\n }\r\n\r\n get rightDrawerOpen() {\r\n return this.$store.state.rightDrawerOpen;\r\n }\r\n\r\n get editLayer() {\r\n return this.$store.state.edit.layer;\r\n }\r\n\r\n get userRole() {\r\n return this.$store.state.user.role;\r\n }\r\n\r\n get unapprovedCount() {\r\n return this.$store.state.unapproved.count;\r\n }\r\n\r\n public unsubscribe = this.$store.subscribeAction((action, state) => {\r\n if (action.type === 'notify') {\r\n this.notify(action.payload);\r\n }\r\n });\r\n\r\n public notify(message: any) {\r\n this.$q.notify(message);\r\n }\r\n\r\n public mounted() {\r\n console.log('LayoutDefault: mounted()');\r\n return this.$store.state.isMobile = !this.$q.platform.is.desktop;\r\n }\r\n\r\n public created() {\r\n console.log('LayoutDefault: created()');\r\n }\r\n\r\n public onAbout() {\r\n this.$store.dispatch('aboutAction');\r\n }\r\n\r\n public drawerToggleLeft(content: string) {\r\n this.$store.dispatch('drawerToggleLeft', content);\r\n }\r\n\r\n public drawerToggleRight(content: string) {\r\n this.$store.dispatch('drawerToggleRight', content);\r\n }\r\n\r\n public sketchToggle() {\r\n this.$store.dispatch('sketchToggle');\r\n }\r\n\r\n public onRefreshToken() {\r\n this.$store.dispatch('refreshToken');\r\n }\r\n\r\n public onOpenPDF() {\r\n window.open('/PlaceNamesDigitalAtlasPDF.pdf');\r\n }\r\n\r\n public onLogout() {\r\n this.$store.dispatch('login', null);\r\n this.$router.push({name: 'login'});\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=740a3626&scoped=true&\"\nimport script from \"./Editor.vue?vue&type=script&lang=ts&\"\nexport * from \"./Editor.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=740a3626&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"740a3626\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"full-width row justify-center items-center bg-brand\",staticStyle:{\"height\":\"100vh\"}},[_c('q-card',{staticStyle:{\"width\":\"250px\"}},[_c('q-card-section',[_c('q-form',{attrs:{\"autofocus\":\"\"},on:{\"submit\":_vm.onSubmit,\"reset\":_vm.onReset}},[_c('div',{staticClass:\"row justify-center text-h5\"},[_vm._v(\"\\n Admin Portal\\n \")]),_c('br'),_c('q-input',{staticClass:\"q-mb-md\",attrs:{\"filled\":\"\",\"label\":\"Email\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your email address'; }]},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('q-input',{attrs:{\"filled\":\"\",\"type\":\"password\",\"label\":\"Password\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your email password'; }]},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),(_vm.errorMessage.length > 0)?_c('div',{staticClass:\"text-negative\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),_c('div',{staticClass:\"q-pt-md column items-center\"},[_c('div',{staticClass:\"col\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"no-caps\":\"\",\"color\":\"primary\",\"label\":\"Submit\",\"type\":\"submit\"}})],1)]),_c('div',{staticClass:\"q-pt-md column items-center\"},[_c('div',{staticClass:\"col\"},[_c('q-btn',{attrs:{\"size\":\"sm\",\"flat\":\"\",\"no-caps\":\"\",\"color\":\"white\",\"text-color\":\"black\",\"label\":\"Reset Password\"},on:{\"click\":function($event){return _vm.$router.push({name: 'reset'})}}})],1)])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { WebAuth } from 'auth0-js';\r\nimport axios from 'axios';\r\n\r\nconst clientId = '1H3flERuPM0OVHBrJHbPqNIUuuxtg7IK';\r\nconst userDb = 'placenames-db';\r\nconst auth0Domain = 'placenames.us.auth0.com';\r\n\r\nconst auth0: WebAuth = new WebAuth({\r\n domain: auth0Domain,\r\n clientID: clientId,\r\n audience: 'https://placenames-webapi.azurewebsites.net/', // NOTE: that trailing slash is very important\r\n responseType: 'token',\r\n // redirectUri: 'http://localhost:8080/admin',\r\n // redirectUri: 'https://placenamesdev.azureedge.net/admin/',\r\n redirectUri: 'https://placenames.mapdev.ca/admin/',\r\n // ask for all roles and user profile, jwt will only be signed with roles that have been assigned\r\n scope: 'openid profile email admin:placenames contrib:placenames',\r\n});\r\n\r\n\r\nexport default {\r\n getUserInfo(token: string) {\r\n console.log('getuserinfo');\r\n return new Promise((resolve, reject) => {\r\n auth0.client.userInfo(token, (err, user) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve(user);\r\n }\r\n });\r\n });\r\n },\r\n parseHash(hash: string) {\r\n console.log('parsehash');\r\n return new Promise((resolve, reject) => {\r\n auth0.parseHash({\r\n hash,\r\n }, (err, result) => {\r\n console.log('callback');\r\n if (err) {\r\n reject(err);\r\n }\r\n if (result) {\r\n resolve(result);\r\n }\r\n });\r\n });\r\n },\r\n login(username: string, password: string) {\r\n // this needs AuthHandler to handle the redirect\r\n return new Promise((resolve, reject) => {\r\n auth0.login({\r\n realm: userDb,\r\n username,\r\n password,\r\n }, (err, result) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve(result);\r\n }\r\n });\r\n });\r\n },\r\n refreshToken() {\r\n return new Promise((resolve, reject) => {\r\n auth0.checkSession({}, (err, result) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve(result);\r\n }\r\n });\r\n });\r\n },\r\n resetPassword(email: string) {\r\n const apiClient = axios.create({\r\n baseURL: `https://${auth0Domain}`,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n return apiClient.post('/dbconnections/change_password', {\r\n client_id: clientId,\r\n email,\r\n connection: userDb,\r\n });\r\n },\r\n signup(username: string, email: string, password: string) {\r\n const apiClient = axios.create({\r\n baseURL: `https://${auth0Domain}`,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n return apiClient.post('/dbconnections/signup', {\r\n client_id: clientId,\r\n username,\r\n email,\r\n password,\r\n connection: userDb,\r\n });\r\n },\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { colors } from 'quasar';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport LoginService from '../services/LoginService';\r\n\r\n@Component\r\nexport default class Login extends Vue {\r\n\r\n public errorMessage: string = '';\r\n public username: string = '';\r\n public password: string = '';\r\n public redirect: string = '';\r\n\r\n public async mounted() {\r\n console.log('Login: mounted()');\r\n if ('redirect' in this.$route.params) {\r\n this.redirect = this.$route.params.redirect;\r\n }\r\n }\r\n\r\n public onReset() {\r\n this.username = '';\r\n this.password = '';\r\n this.errorMessage = '';\r\n }\r\n\r\n public onSubmit() {\r\n console.log('Login: onSubmit()');\r\n LoginService.login(this.username, this.password).then(() => {\r\n // won't get here, resolve will be redirected to AuthHandler\r\n }).catch((error) => {\r\n console.error(error);\r\n this.errorMessage = error.description;\r\n });\r\n\r\n // Faked login...\r\n // if ( (this.username === 'admin' && this.password === 'admin')\r\n // || (this.username === 'chris' && this.password === 'chris')\r\n // || (this.username === 'liam' && this.password === 'liam')\r\n // || (this.username === 'keith' && this.password === 'keith') ) {\r\n // this.$store.dispatch('login', {username: this.username, token: 'some-token-value'});\r\n // if (this.redirect.length > 0) {\r\n // this.$router.push({name: this.redirect});\r\n // } else {\r\n // this.$router.push({name: 'home'});\r\n // }\r\n // } else {\r\n // this.onReset();\r\n // }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=270737a5&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=270737a5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"270737a5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"full-width row justify-center items-center bg-brand\",staticStyle:{\"height\":\"100vh\"}},[_c('q-card',{staticStyle:{\"width\":\"250px\"}},[_c('q-card-section',[_c('q-form',{attrs:{\"autofocus\":\"\"},on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"row justify-center text-h5\"},[_vm._v(\"\\n Reset Password\\n \")]),_c('br'),_c('q-input',{staticClass:\"q-mb-md\",attrs:{\"filled\":\"\",\"label\":\"Email\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your email address'; }, _vm.isValidEmail ]},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),(_vm.errorMessage.length > 0)?_c('div',{staticClass:\"text-negative\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),_c('div',{staticClass:\"row q-pt-md\"},[_c('div',{staticClass:\"col q-mr-md\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"no-caps\":\"\",\"color\":\"primary\",\"label\":\"Back\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}})],1),_c('div',{staticClass:\"col q-ml-md\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"no-caps\":\"\",\"color\":\"primary\",\"label\":\"Submit\",\"type\":\"submit\",\"loading\":_vm.isLoading,\"disable\":_vm.isDisabled}})],1)])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { colors } from 'quasar';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport LoginService from '../services/LoginService';\r\n\r\n@Component\r\nexport default class Login extends Vue {\r\n\r\n public errorMessage: string = '';\r\n public username: string = '';\r\n public isLoading: boolean = false;\r\n public isDisabled: boolean = false;\r\n\r\n public async mounted() {\r\n console.log('ResetPassword: mounted()');\r\n }\r\n\r\n public isValidEmail() {\r\n const emailPattern = /^(?=[a-zA-Z0-9@._%+-]{6,254}$)[a-zA-Z0-9._%+-]{1,64}@(?:[a-zA-Z0-9-]{1,63}\\.){1,8}[a-zA-Z]{2,63}$/;\r\n return emailPattern.test(this.username) || 'Invalid email';\r\n }\r\n\r\n public onSubmit() {\r\n console.log('Login: onSubmit()');\r\n this.isLoading = true;\r\n LoginService.resetPassword(this.username).then((response) => {\r\n console.log(response);\r\n this.isLoading = false;\r\n this.isDisabled = true;\r\n this.errorMessage = 'Please check your email for instructions';\r\n }).catch((error) => {\r\n console.error(error);\r\n this.errorMessage = error.description;\r\n });\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=0ad36769&scoped=true&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=0ad36769&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ad36769\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"full-width row justify-center items-center bg-brand\",staticStyle:{\"height\":\"100vh\"}},[_c('q-card',{staticStyle:{\"width\":\"250px\"}},[_c('q-card-section',[_c('q-form',{attrs:{\"autofocus\":\"\"},on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"row justify-center text-h5\"},[_vm._v(\"\\n Signup\\n \")]),_c('br'),_c('q-input',{staticClass:\"q-mb-md\",attrs:{\"filled\":\"\",\"label\":\"Username\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your username'; }]},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('q-input',{staticClass:\"q-mb-md\",attrs:{\"filled\":\"\",\"label\":\"Email\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your email address'; }, _vm.isValidEmail]},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}}),_c('q-input',{staticClass:\"q-mb-md\",attrs:{\"filled\":\"\",\"label\":\"Password\",\"type\":\"password\",\"lazy-rules\":\"\",\"rules\":[ function (val) { return val && val.length > 0 || 'Enter your password'; }]},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),(_vm.errorMessage.length > 0)?_c('div',{staticClass:\"text-negative\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),_c('div',{staticClass:\"row q-pt-md\"},[_c('div',{staticClass:\"col q-mr-md\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"no-caps\":\"\",\"color\":\"primary\",\"label\":\"Back\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}})],1),_c('div',{staticClass:\"col q-ml-md\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"no-caps\":\"\",\"color\":\"primary\",\"label\":\"Submit\",\"type\":\"submit\",\"loading\":_vm.isLoading,\"disable\":_vm.isDisabled}})],1)])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { colors } from 'quasar';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport LoginService from '../services/LoginService';\r\n\r\n@Component\r\nexport default class Login extends Vue {\r\n\r\n public errorMessage: string = '';\r\n public username: string = '';\r\n public email: string = '';\r\n public password: string = '';\r\n public roleAdmin: boolean = false;\r\n public roleContrib: boolean = false;\r\n public isLoading: boolean = false;\r\n public isDisabled: boolean = false;\r\n\r\n public async mounted() {\r\n console.log('Signup: mounted()');\r\n }\r\n\r\n public isValidEmail() {\r\n const emailPattern = /^(?=[a-zA-Z0-9@._%+-]{6,254}$)[a-zA-Z0-9._%+-]{1,64}@(?:[a-zA-Z0-9-]{1,63}\\.){1,8}[a-zA-Z]{2,63}$/;\r\n return emailPattern.test(this.email) || 'Invalid email';\r\n }\r\n\r\n public onSubmit() {\r\n console.log('Signup: onSubmit()');\r\n this.isLoading = true;\r\n LoginService.signup(this.username, this.email, this.password).then((response) => {\r\n console.log(response);\r\n this.isLoading = false;\r\n this.isDisabled = true;\r\n this.errorMessage = 'Please check your email for instructions';\r\n }).catch((error) => {\r\n console.error(error);\r\n if (error.response && error.response.data.error) {\r\n this.errorMessage = error.response.data.error;\r\n } else if (error.response && error.response.data.message) {\r\n this.errorMessage = error.response.data.message;\r\n }\r\n this.isLoading = false;\r\n this.isDisabled = false;\r\n });\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Signup.vue?vue&type=template&id=5048432a&scoped=true&\"\nimport script from \"./Signup.vue?vue&type=script&lang=ts&\"\nexport * from \"./Signup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Signup.vue?vue&type=style&index=0&id=5048432a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5048432a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LoginService from '@/services/LoginService';\r\nimport store from '../store';\r\nimport router from '../router';\r\n\r\nexport interface IUser {\r\n name: string;\r\n role: string;\r\n token: string;\r\n tokenExpiry: number;\r\n}\r\n\r\nexport class User implements IUser {\r\n constructor(\r\n public name: string,\r\n public role: string,\r\n public token: string,\r\n public tokenExpiry: number,\r\n ) {}\r\n\r\n public isAuthenticated() {\r\n if (this.tokenExpiry < Date.now()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public refreshToken() {\r\n console.log('User: refreshToken()');\r\n if (this.isAuthenticated()) {\r\n LoginService.refreshToken().then((result: any) => {\r\n if (result && result.hasOwnProperty('accessToken') && result.hasOwnProperty('expiresIn')) {\r\n this.token = result.accessToken;\r\n this.tokenExpiry = Date.now() + (result.expiresIn * 1000);\r\n store.dispatch('login', this);\r\n }\r\n }).catch((err) => {\r\n store.dispatch('login', null);\r\n router.push({name: 'login'});\r\n });\r\n } else {\r\n store.dispatch('login', null);\r\n router.push({name: 'login'});\r\n }\r\n }\r\n}\r\n","\n\n\n\n\r\nimport { mapGetters } from 'vuex';\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport LoginService from '../services/LoginService';\r\nimport { User } from '../models/User';\r\n\r\n@Component\r\nexport default class AuthHandler extends Vue {\r\n\r\n public errorMessage = '';\r\n\r\n get user() {\r\n return this.$store.state.user;\r\n }\r\n\r\n @Watch('user', { immediate: false, deep: true })\r\n public userChanged(value: User, oldValue: User) {\r\n console.log('userChanged');\r\n if (this.$store.state.user) {\r\n this.$router.push({ name: 'home' });\r\n } else {\r\n this.errorMessage = 'Something bad happened';\r\n }\r\n }\r\n\r\n public getParameterFromHash(name: string) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\r\n const results = regex.exec(this.$route.hash.replace('#', '?'));\r\n if (!results) {\r\n return '';\r\n }\r\n if (!results[2]) {\r\n return '';\r\n }\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n\r\n public mounted() {\r\n console.log('AuthHandler: mounted()');\r\n\r\n const token = this.getParameterFromHash('access_token');\r\n const scope = this.getParameterFromHash('scope');\r\n const expiresIn = Date.now() + (parseInt(this.getParameterFromHash('expires_in'), 10) * 1000); // s to ms!\r\n\r\n let role = '';\r\n if (scope && scope.indexOf('admin:placenames') !== -1) {\r\n // set user role admin\r\n role = 'admin';\r\n } else if (scope && scope.indexOf('contrib:placenames') !== -1) {\r\n // set user role contributor\r\n role = 'contributor';\r\n } else {\r\n this.errorMessage = 'No role configured for user';\r\n return;\r\n }\r\n\r\n if (token) {\r\n LoginService.getUserInfo(token).then( (userInfo: any) => {\r\n console.log(userInfo);\r\n const newLogin = new User(userInfo.name, role, token, expiresIn);\r\n this.$store.dispatch('login', newLogin);\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthHandler.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthHandler.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthHandler.vue?vue&type=template&id=9e73362c&scoped=true&\"\nimport script from \"./AuthHandler.vue?vue&type=script&lang=ts&\"\nexport * from \"./AuthHandler.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9e73362c\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport store from './store';\r\nimport PublicLayout from './layouts/Public.vue';\r\nimport EditorLayout from './layouts/Editor.vue';\r\nimport Login from './views/Login.vue';\r\nimport ResetPassword from './views/ResetPassword.vue';\r\nimport Signup from './views/Signup.vue';\r\nimport Map from './views/Map.vue';\r\nimport AuthHandler from './views/AuthHandler.vue';\r\nimport { User } from './models/User';\r\n\r\nVue.use(Router);\r\n\r\nexport default new Router({\r\n mode: 'history',\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'public',\r\n component: PublicLayout,\r\n },\r\n {\r\n path: '/admin',\r\n component: EditorLayout,\r\n name: 'home',\r\n beforeEnter: async (to, from, next) => {\r\n if (to.hash) {\r\n // check if this is the authentication callback\r\n // this avoids the need for extra server config to support history mode\r\n next({ name: 'authenticated', hash: to.hash });\r\n } else if (store.state.user && store.state.user.hasOwnProperty('token')) {\r\n if (!(store.state.user instanceof User)) {\r\n // we already have session info in local storage\r\n // deserialize and attempt to refresh the token\r\n const user = new User(\r\n store.state.user.name,\r\n store.state.user.role,\r\n store.state.user.token,\r\n store.state.user.tokenExpiry,\r\n );\r\n user.refreshToken(); // it may kick back to login if token has expired\r\n }\r\n next();\r\n } else {\r\n next({ name: 'loginRedirect', params: { redirect: 'home' } });\r\n }\r\n },\r\n },\r\n {\r\n path: '/admin/authenticated',\r\n name: 'authenticated',\r\n component: AuthHandler,\r\n },\r\n {\r\n path: '/admin/login',\r\n name: 'login',\r\n component: Login,\r\n },\r\n {\r\n path: '/admin/reset',\r\n name: 'reset',\r\n component: ResetPassword,\r\n },\r\n {\r\n path: '/admin/signup',\r\n name: 'signup',\r\n component: Signup,\r\n },\r\n {\r\n path: '/admin/login/:redirect',\r\n name: 'loginRedirect',\r\n component: Login,\r\n },\r\n ],\r\n});\r\n","import Vue from 'vue'\r\n\r\nimport './styles/quasar.styl'\r\nimport 'quasar/dist/quasar.ie.polyfills'\r\nimport '@quasar/extras/material-icons/material-icons.css'\r\nimport iconSet from 'quasar/icon-set/fontawesome-v5.js'\r\nimport '@quasar/extras/fontawesome-v5/fontawesome-v5.css'\r\n\r\nimport {\r\n Quasar, \r\n QLayout,\r\n QHeader,\r\n QDrawer,\r\n QPageContainer,\r\n QPage,\r\n QToolbar,\r\n QToolbarTitle,\r\n QBtn,\r\n QIcon,\r\n QList,\r\n QItem,\r\n QItemSection,\r\n QItemLabel,\r\n QDialog,\r\n QCard,\r\n QCardSection,\r\n QCardActions,\r\n QMenu,\r\n QSeparator,\r\n QForm,\r\n QInput,\r\n QAvatar,\r\n QToggle,\r\n QSelect,\r\n ClosePopup,\r\n Ripple,\r\n QFile,\r\n QUploader,\r\n QBadge,\r\n QExpansionItem,\r\n QSpace,\r\n QTooltip,\r\n Dialog,\r\n Notify,\r\n} from 'quasar'\r\n\r\nVue.use(Quasar, {\r\n config: {},\r\n components: {\r\n QLayout,\r\n QHeader,\r\n QDrawer,\r\n QPageContainer,\r\n QPage,\r\n QToolbar,\r\n QToolbarTitle,\r\n QBtn,\r\n QIcon,\r\n QList,\r\n QItem,\r\n QItemSection,\r\n QItemLabel,\r\n QDialog,\r\n QCard,\r\n QCardSection,\r\n QCardActions,\r\n QMenu,\r\n QSeparator,\r\n QForm,\r\n QInput,\r\n QAvatar,\r\n QToggle,\r\n QSelect,\r\n QFile,\r\n QUploader,\r\n QBadge,\r\n QExpansionItem,\r\n QSpace,\r\n QTooltip,\r\n },\r\n directives: {\r\n ClosePopup,\r\n Ripple,\r\n },\r\n plugins: {\r\n Notify,\r\n Dialog,\r\n },\r\n config: {\r\n notify: { /* Notify defaults */ }\r\n },\r\n iconSet: iconSet\r\n})","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport store from './store';\r\nimport router from './router';\r\nimport './quasar';\r\n\r\nVue.config.productionTip = false;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: (h) => h(App),\r\n}).$mount('#app');\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerSelector.vue?vue&type=style&index=0&id=eec7fb90&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerSelector.vue?vue&type=style&index=0&id=eec7fb90&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Approvals.vue?vue&type=style&index=0&id=70ffcaff&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Approvals.vue?vue&type=style&index=0&id=70ffcaff&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPopup.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsriPopup.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}