{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/pages/MapPage/Layout/LeftSidebarItemToggle.vue?cb21","webpack:///./src/assets/vann-nett.png","webpack:///./src/assets/medium sync ^\\.\\/.*\\.jpg$","webpack:///./src/assets/medium/urbanutvikling_smvf.jpg","webpack:///./src/services/metadata.service.js","webpack:///./src/services/save.service.js","webpack:///./src/mixins/mappingMixin.js","webpack:///./src/mixins/extractLogic.js","webpack:///./src/mixins/extractMixin.js","webpack:///./src/assets/medium/tilstand_hymo_kvalitetselement.jpg","webpack:///./src/assets/medium/snoskredaktsomhet.jpg","webpack:///./src/assets/medium/jordflomskredaktsomhet.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerListToolbar.vue?5c34","webpack:///./src/assets/medium/svvkvikkleire.jpg","webpack:///./src/assets/medium/flomvern_smvf.jpg","webpack:///./src/assets/medium/transport_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/skredfaresone.jpg","webpack:///./src/assets/medium/fjellskred.jpg","webpack:///./src/assets/medium/fiskeri_akvakultur_paavirkning_vannuttak_hymo.jpg","webpack:///./src/assets/medium/vannkraft_paavirkning_vannuttak_overfoering_dammer.jpg","webpack:///./src/assets/medium/vannforekomster.jpg","webpack:///./src/assets/medium/skrehendelser-tid.jpg","webpack:///./src/assets/medium/klimaendringer_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/hydrologiskpalegg.jpg","webpack:///./src/assets/medium/breatlas.jpg","webpack:///./src/assets/medium/turismerekreasjon_smvf.jpg","webpack:///./src/App.vue?a6a8","webpack:///./src/assets/medium/vindkraftverk.jpg","webpack:///./src/store/constants.js","webpack:///./src/store/state.js","webpack:///./src/store/getters.js","webpack:///./src/services/intranet.service.js","webpack:///./src/store/actions.js","webpack:///./src/store/mutations.js","webpack:///./src/store/index.js","webpack:///./src/mixins/basemapLogic.js","webpack:///./src/mixins/basemapMixin.js","webpack:///./src/pages/CataloguePage/TheCataloguePage.vue?e98c","webpack:///./src/assets/medium/ams.jpg","webpack:///./src/assets/medium/industri_smvf.jpg","webpack:///./src/assets/medium/autokast_svalbard.jpg","webpack:///./src/assets/medium/flomakt.jpg","webpack:///./src/assets/medium/autokast.jpg","webpack:///./src/mixins/layerLogic.js","webpack:///./src/assets/medium/flomsone.jpg","webpack:///./src/pages/MapPage/Layout/LeftSidebarItem.vue?73ee","webpack:///./src/plugins/vuetify.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?fcac","webpack:///./src/App.vue?bff9","webpack:///./src/pages/MapPage/TheMapPage.vue","webpack:///./src/pages/MapPage/Layout/TheLeftSidebar.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerList.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListToolbar.vue","webpack:///./src/pages/MapPage/Tools/Saving/SaveProjectDialog.vue","webpack:///src/pages/MapPage/Tools/Saving/SaveProjectDialog.vue","webpack:///./src/pages/MapPage/Tools/Saving/SaveProjectDialog.vue?8884","webpack:///./src/pages/MapPage/Tools/Saving/SaveProjectDialog.vue?2d95","webpack:///src/pages/MapPage/Tools/Layers/LayerListToolbar.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListToolbar.vue?e068","webpack:///./src/pages/MapPage/Tools/Layers/LayerListToolbar.vue?97ea","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItem.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemToc.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocSublayer.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerMetadata.vue","webpack:///src/pages/MapPage/Tools/Layers/LayerMetadata.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerMetadata.vue?4f48","webpack:///./src/pages/MapPage/Tools/Layers/LayerMetadata.vue?dd52","webpack:///./src/pages/MapPage/Tools/Layers/LayerItemFilter.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryDialog.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderGroup.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderRule.vue","webpack:///./src/pages/MapPage/Tools/Layers/utilities.js","webpack:///src/pages/MapPage/Tools/Layers/LayerQueryBuilderRule.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderRule.vue?2bbb","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderRule.vue?566f","webpack:///src/pages/MapPage/Tools/Layers/LayerQueryBuilderGroup.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderGroup.vue?fc59","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilderGroup.vue?c93b","webpack:///src/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue?d9a6","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue?a412","webpack:///src/pages/MapPage/Tools/Layers/LayerQueryDialog.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryDialog.vue?edda","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryDialog.vue?93d0","webpack:///src/pages/MapPage/Tools/Layers/LayerItemFilter.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerItemFilter.vue?d9d0","webpack:///./src/pages/MapPage/Tools/Layers/LayerItemFilter.vue?98f4","webpack:///src/pages/MapPage/Tools/Layers/LayerListItemTocSublayer.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocSublayer.vue?551b","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocSublayer.vue?f139","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemMenu.vue","webpack:///src/pages/MapPage/Tools/Layers/LayerListItemMenu.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemMenu.vue?b584","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemMenu.vue?82a1","webpack:///src/pages/MapPage/Tools/Layers/LayerListItemToc.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemToc.vue?9c7a","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemToc.vue?0254","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayer.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayerGraphic.vue","webpack:///src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayerGraphic.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayerGraphic.vue?379a","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayerGraphic.vue?cfb5","webpack:///src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayer.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayer.vue?5ea3","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayer.vue?9ae5","webpack:///./src/pages/MapPage/Tools/Drawing/GeometryCalculatorDialog.vue","webpack:///src/pages/MapPage/Tools/Drawing/GeometryCalculatorDialog.vue","webpack:///./src/pages/MapPage/Tools/Drawing/GeometryCalculatorDialog.vue?2263","webpack:///./src/pages/MapPage/Tools/Drawing/GeometryCalculatorDialog.vue?3ef2","webpack:///src/pages/MapPage/Tools/Layers/LayerListItem.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItem.vue?dd85","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItem.vue?7eb2","webpack:///src/pages/MapPage/Tools/Layers/LayerList.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerList.vue?fe81","webpack:///./src/pages/MapPage/Tools/Layers/LayerList.vue?474f","webpack:///./src/pages/MapPage/Tools/Sharing/ShareProjectDialog.vue","webpack:///src/pages/MapPage/Tools/Sharing/ShareProjectDialog.vue","webpack:///./src/pages/MapPage/Tools/Sharing/ShareProjectDialog.vue?0dea","webpack:///./src/pages/MapPage/Tools/Sharing/ShareProjectDialog.vue?b1fa","webpack:///./src/pages/MapPage/Layout/LeftSidebarItemToggle.vue","webpack:///src/pages/MapPage/Layout/LeftSidebarItemToggle.vue","webpack:///./src/pages/MapPage/Layout/LeftSidebarItemToggle.vue?c049","webpack:///./src/pages/MapPage/Layout/LeftSidebarItemToggle.vue?a041","webpack:///./src/pages/MapPage/Layout/LeftSidebarItem.vue","webpack:///src/pages/MapPage/Layout/LeftSidebarItem.vue","webpack:///./src/pages/MapPage/Layout/LeftSidebarItem.vue?086a","webpack:///./src/pages/MapPage/Layout/LeftSidebarItem.vue?3bae","webpack:///src/pages/MapPage/Layout/TheLeftSidebar.vue","webpack:///./src/pages/MapPage/Layout/TheLeftSidebar.vue?6640","webpack:///./src/pages/MapPage/Layout/TheLeftSidebar.vue?2690","webpack:///./src/pages/MapPage/Layout/TheAppDrawer.vue","webpack:///./src/pages/MapPage/Tools/Saving/OpenProjectDialog.vue","webpack:///src/pages/MapPage/Tools/Saving/OpenProjectDialog.vue","webpack:///./src/pages/MapPage/Tools/Saving/OpenProjectDialog.vue?2a6b","webpack:///./src/pages/MapPage/Tools/Saving/OpenProjectDialog.vue?4069","webpack:///./src/components/SettingsDialog.vue","webpack:///src/components/SettingsDialog.vue","webpack:///./src/components/SettingsDialog.vue?b415","webpack:///./src/components/SettingsDialog.vue?39ed","webpack:///src/pages/MapPage/Layout/TheAppDrawer.vue","webpack:///./src/pages/MapPage/Layout/TheAppDrawer.vue?7bf9","webpack:///./src/pages/MapPage/Layout/TheAppDrawer.vue?101c","webpack:///./src/pages/MapPage/Tools/Layers/LayerInfoCard.vue","webpack:///src/pages/MapPage/Tools/Layers/LayerInfoCard.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerInfoCard.vue?e14c","webpack:///./src/pages/MapPage/Tools/Layers/LayerInfoCard.vue?a68d","webpack:///./src/pages/MapPage/Tools/Bookmarks/MapPredefinedBookmarks.vue","webpack:///src/pages/MapPage/Tools/Bookmarks/MapPredefinedBookmarks.vue","webpack:///./src/pages/MapPage/Tools/Bookmarks/MapPredefinedBookmarks.vue?d9a9","webpack:///./src/pages/MapPage/Tools/Bookmarks/MapPredefinedBookmarks.vue?efc4","webpack:///src/pages/MapPage/TheMapPage.vue","webpack:///./src/pages/MapPage/TheMapPage.vue?d79d","webpack:///./src/pages/MapPage/TheMapPage.vue?c122","webpack:///./src/pages/CataloguePage/TheCataloguePage.vue","webpack:///src/pages/CataloguePage/TheCataloguePage.vue","webpack:///./src/pages/CataloguePage/TheCataloguePage.vue?98f2","webpack:///./src/pages/CataloguePage/TheCataloguePage.vue?94db","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/assets/medium/fotostrommen.jpg","webpack:///./src/assets/medium/industri_paavirkning_vannuttak_hymo.jpg","webpack:///./src/assets/medium/aktsomhet.jpg","webpack:///./src/assets/medium/nasjonalramme.jpg","webpack:///./src/assets/medium/nedborfelt.jpg","webpack:///./src/assets/medium/verneplanforvassdrag.jpg","webpack:///./src/assets/medium/skredfaresoner.jpg","webpack:///./src/assets/medium/langtransportert_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/kast.jpg","webpack:///./src/assets/medium/flomsoneutkast.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue?3a02","webpack:///./src/assets/medium/transport_paavirkning_biologiske.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItem.vue?00b5","webpack:///./src/assets/medium/kvalitetselement_hydromorfologiske.jpg","webpack:///./src/assets/medium/transport_paavirkning_utslipp.jpg","webpack:///./src/assets/medium/vindressurser.jpg","webpack:///./src/assets/medium/jordbruk_paavirkning_hymo.jpg","webpack:///./src/services/table.service.js","webpack:///./src/assets/medium/nettkonsesjoner.jpg","webpack:///./src/assets/medium/industri_paavirkning_utslipp.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerInfoCard.vue?ece5","webpack:///./src/assets/medium/ukjent_annet_paavirkning_diverse.jpg","webpack:///./src/assets/medium/jordskredaktsomhet.jpg","webpack:///./src/assets/medium/tilstand_biologiske_kvalitetselement.jpg","webpack:///./src/assets/medium/nettanlegg.jpg","webpack:///./src/assets/medium/jordbruk_paavirkning_jordbearbeiding_og_husdyr.jpg","webpack:///./src/assets/medium/snosteinskredaktsomhet.jpg","webpack:///./src/assets/medium/kulturminner.jpg","webpack:///./src/assets/mouse_left_button.svg","webpack:///./src/assets/medium/kvikkleire.jpg","webpack:///./src/assets/medium/ukjent_driver_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/skredhendelser.jpg","webpack:///./src/assets/medium/fjellskredovervaakning.jpg","webpack:///./src/assets/medium/faresoner.jpg","webpack:///./src/assets/medium/elvenett.jpg","webpack:///./src/components/ConfirmDialog.vue","webpack:///src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?998f","webpack:///./src/components/ConfirmDialog.vue?9545","webpack:///./src/assets/medium/tverrprofil.jpg","webpack:///./src/assets/medium/urban_utvikling_paavirkning_vannuttak_hymo.jpg","webpack:///./src/assets/medium/jordbruk_smvf.jpg","webpack:///./src/components/LayerFavouriteToggler.vue","webpack:///src/components/LayerFavouriteToggler.vue","webpack:///./src/components/LayerFavouriteToggler.vue?3016","webpack:///./src/components/LayerFavouriteToggler.vue?5089","webpack:///./src/assets/medium/flomdatabase.jpg","webpack:///./src/assets/medium/skogbruk_smvf.jpg","webpack:///./src/assets/medium/vannkraft_smvf.jpg","webpack:///./src/assets/medium/nettanleggplus.jpg","webpack:///./src/assets/medium/turisme_rekreasjon_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/forvaltningsomrader.jpg","webpack:///./src/assets/medium/hydrologiskedata.jpg","webpack:///./src/assets/medium/kvalitetselement_biologiske.jpg","webpack:///./src/assets/medium/kvikkleirerapport.jpg","webpack:///./src/assets/medium/urbanutvikling_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/vannkraft.jpg","webpack:///./src/assets/medium/vannkraft_med_paavirkningsgrad.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemTocSublayer.vue?68c3","webpack:///./src/assets/medium/bratthet.jpg","webpack:///./src/pages/MapPage/Tools/Drawing/MapDrawingChangeLayerNameDialog.vue","webpack:///src/pages/MapPage/Tools/Drawing/MapDrawingChangeLayerNameDialog.vue","webpack:///./src/pages/MapPage/Tools/Drawing/MapDrawingChangeLayerNameDialog.vue?ca12","webpack:///./src/pages/MapPage/Tools/Drawing/MapDrawingChangeLayerNameDialog.vue?a5e1","webpack:///./src/pages/MapPage/Tools/Saving/OpenProjectDialog.vue?b15a","webpack:///./src/assets/medium/svekketis.jpg","webpack:///./src/assets/medium/flomhendelser.jpg","webpack:///./src/assets/medium/innsjodatabase.jpg","webpack:///./src/assets/medium/jordbruk_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/flomvern_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/nn2000.jpg","webpack:///./src/assets/medium/snoskredforsvaret.jpg","webpack:///./src/assets/medium/skogbruk_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/urban_utvikling_paavirkning_punktutslipp.jpg","webpack:///./src/assets/medium/industri_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/fiskeri_akvakultur_paavirkning_biologiske.jpg","webpack:///./src/pages/MapPage/Layout/TheLeftSidebar.vue?d607","webpack:///./src/assets/medium/smakraft.jpg","webpack:///./src/assets/medium/flomskredaktsomhet.jpg","webpack:///./src/assets/medium/industri_paavirkning_gruver_sanduttak.jpg","webpack:///./src/assets/medium/ukjent_annet_paavirkning_lagt_inn_sentralt_grunnet_datainkonsistens.jpg","webpack:///./src/assets/medium/havvind.jpg","webpack:///./src/assets/medium/urban_utvikling_paavirkning_diffuse_utslipp.jpg","webpack:///./src/pages/MapPage/Layout/TheAppDrawer.vue?9476","webpack:///./src/assets/mouse_right_button.svg","webpack:///./src/assets/medium/fiskeriakvakultur_smvf.jpg","webpack:///./src/assets/medium/sikringstiltak.jpg","webpack:///./src/assets/medium/flomaktsomhet.jpg","webpack:///./src/pages/MapPage/Tools/Layers/LayerListItemToc.vue?c473","webpack:///./src/mixins/profilesMixin.js","webpack:///./src/assets/medium/fiskeri_akvakultur_paavirkning_eutrofiering.jpg","webpack:///./src/assets/medium/ukjent_annet_paavirkning_introduserte_arter_sykdommer.jpg","webpack:///./src/pages/MapPage/TheMapPage.vue?548f","webpack:///./src/assets/medium/kvalitetselement_fysisk_kjemiske.jpg","webpack:///./src/assets/medium/vindkraftverk (1).jpg","webpack:///./src/assets/medium/vannkraft_paavirkning_vannfoeringsregulering.jpg","webpack:///./src/assets sync nonrecursive \\.(svg|png)$","webpack:///./src/assets/medium/transport_smvf.jpg","webpack:///./src/assets/medium/steinsprangaktsomhet.jpg","webpack:///./src/assets/medium/transport_paavirkning_vannuttak_hymo.jpg","webpack:///./src/assets/medium/fiskeri_akvakultur_med_paavirkningsgrad.jpg","webpack:///./src/assets/medium/tilstand_fysisk_kjemiske_kvalitetselement.jpg","webpack:///./src/assets/nvelogo.svg","webpack:///./src/assets/medium/placeholder.jpg"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","keys","MetadataService","_classCallCheck","_createClass","restAddress","restIndex","substring","indexOf","axios","process","params","where","outFields","f","features","attributes","featureClass","catch","featureClassMetadata","featureClassAttributeMetadata","newLayerMetadata","urls","felter","beskrivelse","thumbnailUrl","thumbnail","url","url1","text","url1_text","url2","url2_text","url3","url3_text","forEach","feature","link","atlas","layer","_this","this","getFeatureClassNameFromMetadataRecord","restAdress","featureClassName","getFeatureClassMetadata","getAttributeMetadataForFeatureClass","metadataObject","createMetadataObject","SaveService","mapAsFeature","featureToOverwrite","loadModules","_ref","applyEditsParameters","_ref2","_slicedToArray","FeatureLayer","saveService","addFeatures","OBJECTID","updateFeatures","applyEdits","mappingMixin","mixins","BasemapMixin","computed","_objectSpread2","mapState","mapGetters","methods","mapActions","setPopupEnabled","isEnabled","theMap","layers","popupEnabled","mergeSavedMapProfileWithOfficialProfile","profileFromSavedMap","profileData","JSON","parse","stringify","profiles","visible","opacity","open","date","graphics","appTitle","Temaforklaring","ShowAtStartUpLayers","showAtStartupLayers","getDefaultHighlightSymbol","view","geometryType","h","highlightOptions","portal","styleName","style","width","color","g","b","outline","a","fillOpacity","getDefaultSymbolBasedOnGeometryType","geometry","pasteGeometryIntoGraphicsLayer","payload","Graphic","graphicsLayer","Vue","$theMapObject","findLayerById","layerID","symbol","add","enablePopupGeometryHighlight","_this2","popup","watch","gra","graCopy","clone","removeAllGraphicsExceptLocationGraphic","vis","setMapExtent","extent","saveExtent","$theMapViewObject","$theSceneViewObject","setMapOrientation","orientation","setCurrentOrientation","rotation","updateMapFromSavedSettings","savedMapDefinition","is3d","switchMapTo3d","camera","switchMapTo2d","removeAllMapProfiles","setBasemap","basemaps","find","aBasemap","basemap","addSavedMapToLastVisitedMaps","savedMap","addLastVisitedMap","GlobalID","hash","title","tittel","addProfilesFromSavedMap","_this3","addProfilePromise","profile","addSingleProfileFromSavedMap","uniqueAddedProfiles","addedProfiles","filter","v","findIndex","hasFoto","addedProfile","setPhotoStreamIsActivated","reduce","previousPromise","nextID","results","setLayersAreLoading","concat","layerDefinitionExpressions","item","updateLayerDefinitionExpression","openSavedMap","savedMapAndSettings","getSavedMapDefinition","setCurrentlyOpenedProject","allowSave","enableSave","disableSave","_this4","setBuildingsLayerAdded","addMapProfile","saveMap","projectMetadata","_this5","saveableFeature","getMapAsSaveableFeature","currentlyOpenedProject","addFeatureResults","globalId","objectId","midlertidig","toLowerCase","hashCode","mapObjectJSON","getCurrentMapAsJSON","center","eier","userAccount","accountIdentifier","Offentlig","redigering","addedMapProfiles","getCurrentlyAddedMapProfiles","mapObject","currentOrientation","selectedBasemap","viewpoint","_this6","mapProfiles","mapProfile","profileDefinition","getLayerGraphicsAsJSON","getMapProfilesVisibleSublayerIndexes","getProjectByID","projectID","_ref3","_ref4","QueryTask","Query","queryTask","requestOptions","cacheBust","query","returnGeometry","execute","zoomToQuery","getFirstValidExtentFromURLQuery","field","buffer","parseInt","xmin","ymin","xmax","ymax","getAddedProfile","addedProfileID","addedProfilesWithDisabledVisibility","addedProfileMetadata","getMapProfile","includes","showInfoMenu","canBeDownloaded","addAddedProfilesIfPresent","_this7","AddedProfiles","DisableVisibilityOfAddedProfiles","reverse","addLayerToMap","addMapProfileToState","setCustomLogoAndColorIfDefined","setLogoImagePath","logo","dialogAlreadyShownSessionStorageName","sessionStorage","getItem","startupDialog","active","setStartupDialog","setItem","$vuetify","theme","primary","zoomToPoint","zoomToOptions","_ref5","_ref6","Point","point","x","y","spatialReference","wkid","goTo","zoom","pointGraphic","addMany","addMapProfilesAndAddedProfiles","_this8","importProfileFile","file","setMainThemeID","hovedTemaTitle","useCountiesAndMunicipalities","serviceUrl","customAddedProfiles","duplicateGraphicsLayerAndAddToMap","_duplicateGraphicsLayerAndAddToMap","_asyncToGenerator","regeneratorRuntime","mark","_callee","graphicsLayerProfile","existingGraphicsLayer","duplicateGraphicsLayerID","duplicatedGraphicsLayer","duplicateGraphicsLayerProfile","wrap","_context","prev","next","getLayerByID","getUniqueLayerID","createGraphicsLayer","sent","items","graphic","getDuplicateLayerProfile","stop","_x","arguments","loadMetadata","_this9","addLayerMetadata","setSnack","addProxyRule","_ref7","_ref8","urlUtils","proxyUrl","OnlyAccessibleViaIntranet","urlPrefix","options","_this10","addToMap","isGraphicsProfile","createAndAddGraphicsLayer","profileFile","mergeProfileOptions","cloneObject","addProxyRuleIfProfileIsInternal","createMapLayer","isConnectedToIntranet","setProfileActualVisibleSublayers","VisibleLayers","placePhotoLayerOnTopIfActive","setSelectedTheme","useProxy","_createAndAddGraphicsLayer","_callee3","_this11","_context3","abrupt","_ref9","_callee2","_context2","getHydratedGraphics","t0","t1","getGraphicslayerMapProfile","_x3","_x4","_x2","updateMapProfileDate","updateInfo","exisitingLayer","mosaicRule","newDate","refresh","index","setMapProfileDate","topLayer","parentLayerID","sublayer","allSublayers","sublayerIndex","definitionExpression","sqlString","setLayerDefinitionExpression","removeMapProfile","remove","removeMapProfileFromState","selectedTheme","setShowInfoMenu","removeBuildings","_this12","mapProfilesToRemove","$cookies","set","setExtent","setCurrentMapScale","scale","setMapLayerVisibility","setProfileVisibility","setMapLayerOpacity","mapProfileIndex","getAddedMapProfileIndex","setMapProfileOpacity","loadLayerInfo","_this13","_ref10","_ref11","proxyRule","getProxyRule","getUrl","response","info","addLayerInfo","zoomTo","extractShapeFileFromGraphicJSON","graphicsAsJsonString","esriRequest","format","featureSets","responseType","getGraphicsAsJsonString","realJson","graphicIndex","graphicJson","getGraphicAsJson","graphicjson","makeGraphicValid","font","size","toJSON","capitalizeString","featureSet","stringToBeCapitalized","charAt","toUpperCase","_callee4","_context4","validGeometry","tempGraphic","createValidGeometry","geometryJson","Polygon","Polyline","rings","paths","extractMixin","downloadGraphicsAsOtherFormat","objectIDsToBeExported","TableService","queryArcGISServerLayer","join","method","exportFileViaFileReader","fr","FileReader","evt","escapedString","replace","json","fileURL","URL","createObjectURL","Blob","fileLink","body","click","readAsText","downloadGraphicsAsShapeFile","_downloadGraphicsAsShapeFile","urlToExtractedShapefile","location","getValidGeometry","downloadGraphicsAsCSVFile","headers","csvHeaders","headerIndex","header","itemIndex","domain","codedValue","getCodedValue","saveCSVFile","codedValues","fileTitle","parser","Parser","fields","delimiter","csvtest","exportedFilenmae","blob","navigator","msSaveBlob","download","visibility","convertToCSV","objArray","array","_typeof","str","line","DRAW_SYMBOLS_POLYGONS","DRAW_SYMBOLS_LINES","DRAW_SYMBOLS_POINTS","haloColor","haloSize","xoffset","yoffset","appHelpEmailSubject","appPublicUrl","userIsLoggedIn","userLoginFailed","logoImagePath","pointStyles","constants","lineStyles","polygonStyles","favourites","showAppDrawer","showSideMenu","showMiniDrawer","showHovedforklaring","mainThemeID","currentMapScale","activeExclusiveToolName","showImageGallery","explorerVisible","sidebarHasOpened","coordinatesVisible","measureActive","sceneViewLoaded","drawingActive","selectedPrintWidth","selectedPrintHeight","selectedPageFormat","height","selectedPrintScale","level","resolution","bottomTabsHeight","showTabs","mapHeight","visibleTools","tools","icon","exclusive","isMapTool","showInTopToolbar","useSidebarOnMobile","search","drawing","print","measure","bookmarks","share","coordinates","hideInMenus","help","guideIsRunning","settingsDialogActive","hideWelcomeDialog","hide3dNavigationHelpDialog","mapLoaded","tabsAreOpen","graphicsLayers","bottomSheets","elevationProfiles","imageGalleryItems","defaultExtent","theMapView","showPopupsOnClick","selectedExtent","showCatalogue","showPredefinedBookmarks","layerMetadata","selectedMapProfile","lastVisitedMaps","layerInfos","externalLinks","profileCategories","internal","subDomains","rasterFunction","showLayerInfoCard","snack","snackLoading","snackTimeout","copiedGeometry","buildingsLayerAdded","popupVisible","saveIsEnabled","geometryOperations","function","description","parameters","multiple","settingsMetadata","settings","userSettings","definition","secondary","accent","sceneViewQualityProfile","useZvaluesWhenDrawingIn3D","drawingInputMode","drawingCreationMode","defaultUserSettings","useDarkMode","identifyResultMaxAllowableOffsetInMeters","photoStreamIsActivated","mapBookmarks","layersAreLoading","getLayerDefinitionExpressionQuery","state","layerId","getDrawPointSymbols","themeId","getAddedMapProfile","getLayerMetadataByAddressAndIndex","metadata","getLayerInfoByUrl","layerInfo","getSublayerVisibility","actualVisibleLayers","getMapLayer","getters","IntranetService","img","Image","naturalHeight","naturalWidth","log","initStore","dispatch","setFavouritesFromLocalStorage","commit","localStorage","setMapBookmarksFromLocalStorage","setSettingsFromLocalStorage","resetUserSettings","setGuideIsRunning","setHideWelcomeDialogFromLocalStorage","setHide3dNavigationHelpDialogFromLocalStorage","setLastVisitedMapsFromLocalStorage","setMapHeight","newMapHeight","setShowCatalogue","_ref12","setShowPredefinedBookmarks","_ref13","setMapLoaded","_ref14","setIs3d","_ref15","setZoom","_ref16","setHideWelcomeDialog","_ref17","setHide3dNavigationHelpDialog","_ref18","setShowTabs","_ref19","hideExplorer","_ref20","addBottomSheet","_ref21","bottomSheet","setShowImageGallery","_ref22","activateTool","_ref23","toolName","_ref24","setSelectedMapProfile","_ref25","setSelectedExtent","_ref26","setShowPopupsOnClick","_ref27","updateMapProfiles","_ref28","addGraphicsLayer","_ref29","graphicsLayerId","toggleProfileOpen","_ref30","setImageGalleryItems","_ref31","clearImageGalleryItems","_ref32","_ref33","mapProfileDateInfo","setTheMap","_ref34","setShowSideMenu","_ref35","setShowAppDrawer","_ref36","setActiveExclusiveToolName","_ref37","setShowMiniDrawer","_ref38","_ref39","_ref40","root","setUserAccount","_ref41","setUserIsLoggedIn","_ref42","setUserLoginFailed","_ref43","_ref44","_ref45","setSelectedBasemap","_ref46","_ref47","setSceneViewLoaded","_ref48","_ref49","setCopiedGeometry","_ref50","_ref51","newLogoImagePath","_ref52","profileActualVisibleSublayers","_ref53","setPopupVisible","_ref54","setUserSetting","_ref55","setSettingsDialogActive","_ref56","_ref57","_ref58","_ref59","_ref60","removeLastVisitedMap","_ref61","setShowLayerInfoCard","_ref62","removeCurrentlyOpenedProject","_ref63","_ref64","currentMapOrientation","_ref65","_ref66","project","setPrintWidth","_ref67","newPrintWidth","setSelectedPrintScale","_ref68","newPrintScale","setSelectedPageFormat","_ref69","setBottomTabsHeight","_ref70","setPrintHeight","_ref71","newPrintHeight","addFavourite","_ref72","favourite","removeFavourite","_ref73","removeFeatureTable","_ref74","featureTableIndex","clearCurrentlyOpenedProject","_ref75","_ref76","setLoadingSnack","_ref77","setExplorerVisible","_ref78","_ref79","_ref80","_ref81","_ref82","addMapBookmark","_ref83","mapBookmark","editBookmarkTitle","_ref84","bookmarkEditInfo","removeMapBookmark","_ref85","mapBookmarkIndex","deactivateTool","_ref86","setIsConnectedToIntranet","_ref87","checkIfConnectedToIntranet","getAndSetProfiles","_ref88","import","Date","getTime","updateMapProfileName","_ref89","newTitle","newName","updateMapProfileDescription","_ref90","updateMapProfile","_ref91","newProfile","_ref92","mapExists","lastVisitedMap","addElevationProfile","setCoordinatesVisible","setDrawingActive","setMeasureActive","addVisibleTool","removeVisibleTool","setMapView","addMetadata","setFavourites","addProfile","REMOVE_MAP_PROFILE_FROM_STATE","setTheMapView","loadedBasemap","setProfiles","newPageFormat","newMapScale","setSaveIsEnabled","visitedMap","userSetting","setUserSettings","setLastVisitedMaps","setMapBookmarks","setShowHovedforklaring","use","Vuex","Store","actions","mutations","strict","getArcGISBasemap","Basemap","mapLayerPromise","getBasemapLayer","mapLayer","arcgisBasemap","baseLayers","getWmsLayer","getVectorTileLayer","getImageryLayer","getTileLayer","layerOptions","TileLayer","WmsLayer","VectorTileLayer","ImageryLayer","basemapMixin","GraphicsLayer","fileName","importBookmarksFile","graphicsToRemove","removeMany","cameraOptions","$eventHub","$emit","optionsToBeMerged","mergeOptions","ShowAtStartupLayers","imageAttribution","store","graphicsLayerID","jsonArray","toString","getArcGISLayerInfo","_getArcGISLayerInfo","executeEsriRequest","getFieldTypeFromLayerInfo","fieldName","fieldsInfo","getFieldValueStringFromLayerInfo","fieldValue","fieldType","formattedFieldValueString","queryArcGISLayer","queryOptions","urlQuery","split","_loop","getExtentFromArcGISLayerBasedOnURLQuery","fieldValueString","getExtentFromFeature","Extent","photolayer","reorderMapLayer","reorder","firstObject","secondObject","k","defaultValue","mergeOption","value1","value2","theObject","assign","createImageryLayer","createWMSLayer","createSceneLayer","createFeatureLayer","createMapImageLayer","createShapeLayer","MosaicRule","ascending","WMSLayer","sublayers","SceneLayer","GroupLayer","groupLayer","currentFeatureLayerOptions","intranetFeatureLayerOptions","featureLayerOptions","featureLayerOptionsCopy","renderer","renderer3d","_createMapImageLayer","MapImageLayer","legendResponse","getMapImageSublayers","getCreateMapImageLayerProperties","getArcGISLayerLegendInfo","addLegendDataToSublayers","_x11","featureLayer","_getHydratedGraphics","graphicsAsJson","hydratedGraphics","graphicJSON","hydrateGraphicFromJSON","_hydrateGraphicFromJSON","_callee5","hydratedGraphic","_context5","getGraphicFromJSON","popupTemplate","createGraphicPopupTemplate","popupTemplateContentString","attributeKey","content","_x5","_getGraphicFromJSON","_callee6","_yield$loadModules","_yield$loadModules2","_context6","fromJSON","_x6","_x7","_executeEsriRequest","_callee7","_yield$loadModules3","_yield$loadModules4","_context7","_x8","_getArcGISLayerLegendInfo","_callee8","_context8","imageFormat","getSublayerRendererFromJSON","_x9","_getSublayerRendererFromJSON","_callee10","rendererAsJSON","_context10","_callee9","jsonUtils","_context9","_x12","_x10","_getMapImageSublayers","_callee11","infoResponse","visibleSublayersOnly","_context11","filterVisibleSublayers","setVisibilityOfSublayers","setParentLayerVisibleIfSublayersAreVisibleAtStartup","visibleLayersOpacity","createLayerHierarchyFromFlatLayerJSON","reverseSublayers","deleteSublayersKeyFromSublayerIfEmpty","layerSourceJSON","visibleLayerIndexes","showAtStartup","_loop2","layerJSON","subLayerIds","some","visibleLayerIndex","opacityInfo","legendData","_loop3","legendInfo","layerLegendInfo","legendSource","legendImages","legend","layerName","Vuetify","icons","iconfont","directives","Scroll","_c","_self","staticStyle","attrs","staticRenderFns","component","staticClass","class","_vm","hideGutter","on","rawName","bottomTabsSplitPaneMinSize","scopedSlots","fn","top","themeProfile","expression","confirmGoToPreviousVersionDialogOpen","showTestWarningDialog","model","callback","_v","getImgUrl","breakpoint","leftSidebarWidth","_e","onLayerDragged","$event","removeLayer","placeOnBottom","openExplorer","render","tooltip","deactivateSaveProjectDialog","_s","saveProjectSettings","saveProject","stopPropagation","hover","_u","getProfileDownloadUrl","datePickerMenu","profileDate","toggleTheme","increaseOpacity","decreaseOpacity","geometryCalculatorDialogActive","marginLeft","domProps","showMetadata","showTable","showFilterDialog","filterActive","_g","toggleSublayerVisibility","subLegend","subsublayer","dialog","$$v","manualSqlString","styled","ruleTypes","mergedRules","maxDepth","depth","mergedLabels","matchType","_l","children","child","rules","ruleById","labels","updateQuery","selectedRule","rule","operators","selectedOperator","isCustomComponent","choices","choice","radios","deepClone","obj","Array","isArray","cloned","menu","pasteGeometry","editDrawingLayer","removeTheme","allLayersLoaded","geometryOperationsLocal","selectedGeometryOperation","parameter","selectedGraphicsLayer","emitDialogClosedEvent","mapName","ref","projectLink","copyLinkTextToClipBoard","projectEditLink","toggleContent","mdAndUp","_t","openCreateNewEmptyDialog","showSettingsDialog","deactivateOpenProjectDialog","saveProjectDialogActive","createNewEmptyProject","technologyDialogOpen","activeTab","projectCategories","projectCategory","projects","privateProjects","loadingSavedProjects","confirmDialog","saveExisitingProjectDialogText","confirmRemoveFromListDialogText","settingCategory","setting","change","background","userShow","selectedProfileCategory","proxy","VueRouter","base","routes","VUE_APP_USE_SINGLE_PROFILE","path","redirect","TheMapCatalogue","TheMapPage","props","moment","require","VueTour","VueCookies","VueSplit","RouterPrefetch","VueAxios","Clipboard","config","productionTip","router","App","$mount","confirm","showDialog","profilesMixin","categories","categoriesSorted","getCategoriesSorted","loaded","getCategories","ordered","sort","useInDialog","savedAndSharedMaps","showMapDuringSearch","categoryName","searchValue","toLocaleLowerCase","favouriteCategory","category","mounted"],"mappings":"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ACA,cAEA,OAEA,IAGA,UACA,6BACA,2CAEA,yBACA,6CACA,GAEA,sDAGA,mBACA,qBAEA,0BACA,mCACA,YAEA,4BACA,oCAEA,sCACA,aACA,yCACA,gCAGA,gCCjN2Y,MCOvY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCgFf,IACA,iCACA,YACA,0BAEA,OACA,YACA,OACA,QACA,QACA,QACA,WACA,QACA,SACA,UAEA,SACA,qBACA,WAOA,OANA,gCACA,YAEA,OADA,KACA,KAGA,GAEA,mBACA,qBACA,GACA,gCACA,OACA,0BACA,gDACA,gBACA,gDACA,wBACA,8BACA,aAIA,oDACA,kBAEA,mBACA,8BAEA,oBACA,qBACA,2BACA,iBACA,iCACA,OACA,6CACA,eAGA,+BAGA,kBACA,mDAEA,wBACA,qBACA,uBACA,+BAGA,gBACA,OACA,6BAGA,mBACA,mBAEA,UACA,uBACA,OACA,mCAGA,OADA,8CACA,KCtL4Y,MCOxY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCIf,IACA,4BACA,4DACA,kBACA,qBACA,oBACA,sBACA,8BAEA,IACA,2BACA,YACA,2BAEA,OACA,YACA,QACA,YACA,mBACA,YAGA,QACA,aACA,YAEA,UACA,YACA,UACA,sBACA,cAGA,cAEA,gBACA,OACA,QACA,OACA,6CACA,aAEA,WACA,MACA,WACA,SACA,cACA,aACA,kBACA,WACA,gBACA,eACA,cACA,SACA,cACA,UACA,gBAEA,iBACA,iBAEA,SACA,WACA,oBACA,yBACA,gBACA,0BACA,gBACA,2BAEA,mBACA,mBAEA,QACA,aACA,iBACA,mBAEA,OACA,aACA,WACA,kBACA,kBAEA,UACA,aACA,WACA,qBACA,qBAEA,QACA,WACA,SACA,cACA,aACA,kBACA,WACA,gBACA,eACA,cACA,SACA,cACA,UACA,gBAEA,WACA,mBACA,mBAEA,eACA,yDACA,WACA,0BACA,mBAEA,SACA,0DACA,WACA,mBACA,mBAEA,gBACA,gBACA,WACA,mBACA,4BAKA,UACA,wBACA,yCAEA,uBACA,SACA,OAWA,OATA,6BACA,yCACA,gDAEA,aAIA,yBACA,IAGA,SACA,wBACA,4BACA,wBACA,YACA,EAEA,IACA,EAGA,IAGA,8BACA,YACA,SACA,YACA,6CACA,yBAGA,CACA,UAGA,YACA,SACA,YACA,8CACA,iBAGA,CACA,UAGA,qDACA,sEClNuY,MCQnY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCYf,IACA,mBACA,sCAEA,GACA,oEACA,gBAEA,wBAEA,YACA,sBACA,cAIA,gBACA,OACA,mBACA,SACA,kBACA,qBACA,UACA,eACA,WACA,gBAEA,0BACA,UACA,gBACA,WACA,gBAEA,UACA,UACA,gBACA,YACA,gBAEA,eACA,UACA,iBACA,YACA,gBAEA,YACA,UACA,gBACA,aACA,gBAEA,iBACA,UACA,qBACA,aACA,gBAEA,gBACA,UACA,kBACA,cACA,gBAEA,qBACA,UACA,sBACA,cACA,gBAEA,YACA,UACA,mBACA,cACA,gBAEA,mBACA,UACA,uBACA,cACA,gBAEA,eACA,UACA,mBACA,aACA,gBAEA,oBACA,UACA,sBACA,cACA,gBAEA,UACA,UACA,eACA,aACA,gBAEA,eACA,UACA,gBACA,aACA,gBAEA,WACA,UACA,mBACA,WACA,gBAEA,gBACA,UACA,uBACA,WACA,gBAEA,iBACA,UACA,aACA,WACA,gBAEA,2BACA,UACA,gBACA,WACA,gBAEA,iBACA,UACA,eACA,WACA,gBAEA,2BACA,UACA,gBACA,WACA,iBAGA,aAGA,OACA,YACA,cAEA,OACA,2BACA,4BACA,yBACA,oBAGA,gBACA,yBAGA,UACA,0BACA,KAiBA,OAhBA,mDACA,yCACA,MACA,OACA,GACA,gCACA,OACA,QAEA,EACA,EACA,EACA,uCAIA,IAGA,SACA,kCAGA,IAFA,OACA,aACA,oBACA,WACA,kBACA,iDAIA,yBACA,SAEA,4BACA,wBACA,mCACA,cACA,+BACA,iDAEA,4BAOA,CACA,2BACA,OACA,OAEA,6BAEA,OACA,OACA,OACA,OACA,qCACA,kBACA,UAnBA,wBACA,mCACA,cACA,8BACA,6CAoBA,UAEA,gCACA,KAyBA,OAvBA,oCACA,2BAEA,QACA,sCACA,MACA,SACA,GACA,UACA,OACA,QACA,EACA,EACA,EACA,uCAEA,SACA,4CACA,EACA,wBACA,IACA,sCAEA,GAEA,yCACA,sDAEA,OACA,SACA,YACA,4CACA,WAGA,8BACA,OACA,gCACA,sCACA,yCAEA,IAGA,cACA,iBAMA,YACA,uBC5TsY,MCOlY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QC8Bf,IACA,yBACA,gBACA,OACA,aACA,WACA,qBAGA,gBACA,UACA,qBACA,iEAEA,4BACA,KASA,OARA,gBACA,2CACA,6BACA,UACA,aAIA,IAGA,SACA,SACA,8BACA,GACA,oBACA,iBACA,mBAEA,YAEA,SACA,KACA,iBAEA,EADA,+CACA,gBAEA,SAEA,wCAEA,4BAGA,aACA,SACA,uCAEA,oCACA,+CAEA,sCACA,kCACA,4BACA,kBACA,iBACA,2BAEA,oDACA,WACA,wBACA,wCACA,sCAEA,qBAEA,4BACA,qBACA,oBAEA,kCACA,SAQA,OAPA,mCACA,QACA,aACA,kBAIA,GAEA,yBACA,MAEA,UACA,2BACA,YACA,MACA,gCACA,YACA,MACA,0BACA,YACA,MACA,0BACA,SACA,MACA,wBACA,SACA,MACA,uBACA,YACA,MACA,4BACA,SACA,MAGA,WAGA,OACA,aACA,cAEA,YACA,qBAEA,mBACA,gBACA,oBACA,uBC/KqY,MCOjY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCqVf,IACA,gCACA,gBACA,OACA,WACA,UACA,QACA,gBACA,OACA,wCACA,oCACA,uCAEA,kBAGA,yDACA,2CACA,yCACA,8BACA,6DAEA,2CAEA,0CAGA,yDAIA,8CACA,8BACA,8CACA,gCAKA,OACA,UACA,gBACA,wBACA,WACA,WACA,eAGA,YACA,iBACA,oBAEA,yCACA,gBACA,iBACA,cACA,kBACA,0BACA,IACA,wBACA,gBAEA,4BACA,qBAEA,6BACA,sBACA,gBAEA,oBACA,wBAEA,oBACA,qBACA,oBACA,0BACA,4BACA,oBACA,uCAEA,uBAGA,qBACA,oCACA,yBAEA,qBACA,oBACA,0BACA,4BACA,oBACA,uCAEA,sBAEA,4BACA,sBAEA,qCACA,qBACA,YACA,sBACA,2BACA,wBACA,eAIA,mCACA,mCACA,uBAEA,2CACA,eAGA,wDACA,sCAIA,OACA,oBACA,qBAEA,oBACA,cAGA,mBACA,sBC1e8Y,MCQ1Y,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,6DCnBgN,W,MAAW,K,IAAY,S,SAAyB,iB,MAAGzE,C,WAAkBR,G,KAAa,I,YAA0B,O,mBAAkB,YAAC,IAAGM,EAAIc,EAAG,GAA2B,sBAAI,OAAO,QAAM,MAAW,GAACD,OAAS,GAAoBmE,aAAQ,eAAEvE,GAAU,GAAC,QAAM,aAAO,YAAS,QAAQ,MAAW,CAAM,gBAAmCnB,GAAW,GAAC,gC,MAAmC,CAASmB,QAAU,KAAU,qBAACd,EAAM,QAAY,oBAAyLA,GAAK,OAAC,C,MAAC,CAAqB,oBAAwEL,UAAW,CAAC,U,WAAM,EAAOa,YAAiB1gC,QAAO,SAAOghC,SAAoB,qBAAoB,MAAK,CAAyFd,OAAM,K,CAA0B,SAAkB5zB,GAAK7F,OAAO,yG,MAAC,CAAe,sBAAK,KAAS85B,MAAIoC,qCAAW,aAAI,KAAK,OAAqC9C,QAAU,SAAG5gC,OAAK,EAAOyhC,WAAQ,U,YAAiC,QAAS,CAAC,0DAACT,OAAa,MAAQ,iBAAQ,6BAAIF,MAAG,QAAuEG,IAAO,OAAQ,kBAAgD,iBAAoB,U,WAAC,EAAuB,KAAM,OAAM,QAAO,SAAsC,OAAM,EAAM,WAAQ,UAAIO,YAAG,CAAC,OAAS,U,CAAgE,sBAAC,YAAC,sBAACG,OAAqBtgC,MAAI,OAAcugC,yC,kBAAoC,GAAkF,uBAAG,KAAC,KAACM,KAAM,sCAACnhC,IAAOugC,MAAaa,MAAQ,I,GAAiC,CAACJ,OAAU,SAAC,GAAS,2CAAgE,YAAK,KAAc,EAACd,IAAM,cAAC,YAAe,GAA6D,4F,MAA8B,CAAqC,gBAAC,qBAAM,EAAC,WAA8G,WAAQ,cAAuE,+BAAC,oBAAG,CAACH,EAAG,QAAqHU,MAAG,CAAC,SAAQ,qBAAgB,qC,GAAqC,CAAC,kBAAM,OAAC,WAAmB,EAAMY,EAAG,SAA2I,gFAACZ,GAAG,CAAC,MAAQF,SAAIiF,GAAa,sD,CAA+H,SAAYC,+EAAgB,IAAI1F,MAAG,SAAoB,GAAmG,oCAA6C,CAACA,EAAG,UAAoB,GAACQ,6BAA+B,GAAEA,EAAIkB,KAAqB1B,iBAAhBA,EAAG,UAA8B,UAACU,MAAG,CAAC,SAAYiF,MAAD,EAACA,gBAAa,GAAI,CAAwGxF,MAAM,kBAA4B,wFAACO,GAAG,CAAC,MAAQ,qB,CAAsC,uFAAC,IAAIV,MAAG,kC,CAA6G9gC,SAAW,2D,GAACyhC,CAAiB1gC,MAAO,EAAM,cAAoB,CAAC,sEAACkgC,MAAM,CAAC,KAAO,EAAC,iBAAQ,GAAI,CAAyBA,MAAM,YAAC,OAAQ,gBAAqBO,CAAE,EAAC,gE,WAAS,E,KAAqB8E,OAAY,iBAAC,SAAIhF,WAAO,U,MAAwE,CAAyC,e,CAA+E,UAAYj0B,UAAI,MAAC,CAAG,MAAC,UAAC,SAAqD,GAAG,CAC58H,kBACG6zB,QAAe,K,qTC4InB,IACA,yBACA,mFACA,wBACA,yDACA,oDACA,gCACA,aACA,eACA,sCAEA,gBACA,4BAGA,4BACA,4DACA,2BAGA,iCACA,mCAGA,OACA,iBACA,KACA,wBAEA,2BAIA,yCACA,gBACA,wBACA,eACA,oBACA,mBACA,qBACA,IACA,4BACA,6CAEA,oDAEA,uBACA,+CACA,4BACA,2BAEA,4BACA,2BAGA,yBACA,qCACA,6BACA,wBAGA,uBACA,4BACA,kBACA,8BAGA,iCACA,+CACA,8BACA,uCAEA,mBACA,UACA,mBACA,qDACA,iBAEA,oCACA,+CACA,8BACA,uCAEA,mBAEA,aAEA,mBACA,6BACA,iBAEA,uBACA,oCACA,iBAEA,sBACA,0CACA,KACA,iCAEA,4BACA,sCACA,6BACA,iBAEA,oBACA,cAEA,yBACA,+CAEA,2CACA,qCAEA,yCACA,uCAGA,mBACA,8CACA,yBACA,yBAGA,OACA,YACA,cAEA,gBACA,OACA,+BACA,QACA,eClRuY,MCOnY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QC4Cf,IACA,wBACA,gBACA,OACA,mBACA,UACA,aACA,aACA,0BAGA,gBACA,YACA,4BACA,eACA,sBAEA,OACA,aACA,eACA,wBAEA,yCACA,2CACA,6BACA,4BACA,qBACA,cAGA,uBACA,4BACA,qBACA,iCAGA,2BACA,wCAEA,qCACA,sBAEA,oBACA,oEAEA,qBACA,wBAEA,eACA,mEACA,+DAEA,mDACA,iCACA,gDACA,YACA,gBAEA,kBAGA,2BAGA,OACA,iBACA,mBAGA,mBACA,mBCpIsY,MCQlY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnB6C,GAAYwF,W,IAAoEzF,EAAM,K,EAAC,QAAS,G,OAAE,6DAAE,MAAK,CAAOL,OAAW,K,CAAca,QAAQ,C,WAAmB,CAAC75B,CAAsBm6B,YAAmC,iBAACX,MAAY,GAAZA,EAAY,gBAASN,WAAU,yBAA4B,YAAS,QAAwCM,UAAY,CAAQ,YAAW,gBAAwC,MAAS,wBAAO,U,YAAW,U,GAAGphC,EAAK,KAAM,wB,OAACyhC,QAAQ,C,WAAmB,CAAC75B,CAAqBm6B,YAAkC,iBAAC1gC,MAAI6X,EAAK,kBAAC1Q,WAAO,wBAAkC,MAAG,MAAK,CAAanH,YAAG,EAAA8L,QAAiB,OAAqD9L,GAAI6X,OAAQ,CAAU+nB,IAAK,WAAC,YAAC,8CAAiB,C,IAAC,EAASt8B,UAAK,OAAI,QAAG,EAAK,GAAK,EAAC28B,UAExyBJ,OAEJ,IAAS4B,GAAQ5B,Q,mBCJ6HD,GAAM,W,IAAC,EAAM,KAAK,aAAC,OAAO,EAACprB,MAAQ5M,UAAa,CAAmT+3B,OAAa,YAAmD,YAAC+C,OAAU,YAE/iB,CAA2B,SAA3B,EAAG,QAAI,cAAyB,EAAO,OAAC,8NAAC9C,YAAM,CAAC,YAAS,kBAAC,cAAU,QAAU,SAAC,CAAG,YAAC,0EAA0B,wBAAE,MAAK,CAAUD,QAAa,SAAmB,S,GAAQ,CAAc,wBAChM,WACGE,aAEJ,YAAiBA,Q,2FC+BjB,IACA,4CACA,gBACA,UAEA,0CACA,+CACA,8BACA,+DAGA,OACA,UACA,gBAEA,yCACA,2CACA,yBACA,6BACA,kDCxD0Z,MCOtZ,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QCWf,IACA,qCACA,gBACA,OACA,mBACA,UACA,aACA,cAGA,YACA,yCAEA,OACA,aACA,gBAEA,SACA,wBACA,iBACA,wBACA,mBAGA,qBACA,4CAGA,4CACA,wBAEA,eAEA,+DACA,mDAEA,iCACA,gDACA,YACA,iBAEA,kBAEA,gCAEA,yBACA,cAIA,OACA,iBACA,mBAGA,qBACA,mBACA,iBACA,8DAEA,yBACA,+CC1FmZ,MCO/Y,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,WClBqL,W,IAACa,OAAmB,aAAC,OAAM,QAAS,CAACjB,EAAG,QAAgBM,OAAuBH,WAAM,GAAC,aAAoB,MAAMmB,CAAyEhB,QAAY,OAAYE,SAAO,YAAkUL,EAAM,UAAU,WAAQ,W,CAAsC,SAAQK,GAAIqF,Q,YAAmC,WAAO,MAAC,CAACzE,gBAAM,K,CAAuCC,iDAAwB,iB,YAAKyE,W,CAA6B,EAAC,iU,MAAC7E,CAAsC,OAAKT,MAAIsF,iBAA0G,iBAAU,EAAYvlC,MAAIwlC,0BAAe5F,YAAM,Q,MAAY,CAAE,MAAG4F,EAAS,0BAAoC5F,SAAM,YAAC,4BAAS,GAAI,WAAO6F,+B,EAA6C,0BAAQ,iE,OAAC,SAAQD,C,IAAsB,EAAWA,K,MAAmB,CAAmB,Y,CAA4E,YAAZ,OAAY,UAAiB,MAAC,CAAC3E,OAAM,K,CAAyBC,wBAAmBsC,EAAG,QAAE,C,MAAI,CAA8B,IAAC,GAAC1C,QAAW,YAAiB,oBAAG,aAAa,MAAsDd,iBAAM,EAAC,MAAQ,EAAC,+BAAE,+BAAuBA,MAAM,CAAC,MAAM,EAAS,MAAC,SAAQ,YAAC,OAAQ4F,EAAU7mC,QAAI,IAA8B,gCAAQe,EAAK,MAAE8lC,GAAU9lC,OAAM,2B,MAACohC,C,OAAiC,K,CAA2BJ,SAAW,CAAiB,OAAI,KAAIT,SAAqDL,IAAM,GAAC,MAAQ,EAAC,KAAE,oBAAmBA,MAAM,CAAC,MAAM,EAAE,MAAC,SAAQ4F,SAAc,GAAC,OAAQA,EAAUjxB,YAAOssB,WAAM,sBAAyBC,KAAS,KAAe,UAAf,EAATA,KAAwB,U,MAAI,CAA8B,OAAC,KAA6B,YAAG,MAAI,CAAkB,IAAKK,GAAyEvB,MAAM,OAAC,MAAO,SAAM,MAAC,CAAC,MAAQK,EAAIyF,MAAqB,qBAAQ3E,EAAG,mBAAqD,WAAS,sBAAmB,iBAAG,GAAC,mD,MAAC,CAAkC,SAC76E,IACGlB,QAAe,wB,oLCsFnB,IACA,gCACA,2BACA,sDAEA,gBACA,uBACA,UACA,yBACA,+BACA,+BAEA,OACA,eACA,8BAEA,OACA,6BACA,gEACA,kCAGA,gDACA,0CACA,iCAIA,yCACA,qDACA,iCACA,4BAEA,6CACA,0BACA,+BACA,4BACA,iBACA,kBAMA,IANA,gDACA,EACA,wCAEA,kBAOA,IACA,EADA,4CAEA,oBACA,YACA,KACA,6BACA,uBAGA,mBAGA,EADA,kBACA,oBAEA,QAGA,WArBA,IACA,gDACA,QAsBA,mBAEA,kDACA,SACA,OAEA,uBACA,sBACA,iBACA,KACA,gBACA,SACA,2DACA,oBAGA,qBACA,OAGA,yBACA,MACA,OACA,WACA,YACA,KACA,KACA,+CACA,IACA,GAEA,sDAKA,gCAIA,mBACA,wCACA,2CCvM8Y,MCO1Y,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QCqSf,IACA,qBACA,YACA,oBACA,qBACA,iCACA,6BAEA,gBACA,0CACA,wDACA,aACA,gBACA,2BACA,gBACA,aAGA,eACA,wBAGA,iCACA,mCAGA,yCACA,gBACA,oBACA,wBACA,eACA,mBACA,qBACA,IACA,kCACA,kDAEA,wBACA,kCACA,6BACA,yBACA,iBACA,sDAEA,mBACA,kCACA,6BACA,yBAEA,iBACA,sDAEA,uBACA,4BACA,0BAEA,4BACA,sCACA,8BAEA,+BACA,mBACA,WACA,uBACA,YACA,wBAGA,sBACA,gBACA,mCAGA,qBACA,gBACA,mCAGA,uBACA,kBACA,kBAEA,iBAEA,4BACA,kBACA,8BAGA,2BACA,6DACA,kBACA,iDAEA,yBACA,gBACA,wBAGA,2BACA,6DACA,iBACA,iDAEA,yBACA,gBACA,wBAGA,sBACA,0CACA,KACA,iCAEA,iCACA,+CACA,8BACA,uCAEA,mBACA,UACA,mBACA,sDAEA,oCACA,+CACA,8BACA,uCAEA,mBAEA,aAEA,mBACA,8BAEA,8CACA,wCAEA,4CACA,0CAGA,OACA,YACA,gBACA,oBAEA,gBACA,OACA,QACA,kBACA,iBACA,UACA,oCAGA,mBACA,8CACA,yBACA,0BCvdmY,MCQ/X,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QC0Df,IACA,iBACA,gBACA,OACA,QACA,sBACA,2BACA,2BACA,yBACA,gCACA,uBACA,wBAGA,gBACA,YACA,eACA,iBACA,qBAEA,0CACA,mEACA,aACA,eACA,wDAEA,gBACA,gDAIA,yCACA,gBACA,oBACA,mBACA,kBACA,wBACA,IACA,qBACA,yCAEA,IADA,yBACA,yBACA,oBACA,yCACA,uCAKA,4BACA,uBACA,0BACA,4BACA,2CAEA,wBACA,6BAEA,sBACA,0BAEA,wBACA,6BAEA,2BACA,uBACA,QACA,UACA,gCACA,4BACA,mCACA,+CACA,GACA,mCAGA,sBACA,0CAEA,gCACA,aAEA,uBACA,mDACA,gEACA,mBACA,UACA,mBACA,8CAEA,0BACA,mDACA,gEACA,mBACA,aACA,mBACA,sBAEA,yBACA,0CAEA,mBAGA,mBACA,+CAEA,yBACA,mCCzL+X,MCO3X,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,WClB0N,W,IAACa,OAAmB,aAAC,OAAM,SAAUjB,CAAmBM,OAAiCH,WAAM,GAAC,YAAkB,4CAAiBG,OAAqBE,MAAO,SAI/VF,SAAW,SAAO,GAACH,EAAM,UAAS,sBAAuBA,GAAK,OAAC,W,YAAS,qB,MAAkC,CAAI,gBAAgB,K,CAAiB,UAAiB,YAAC,QAACiB,GAAK,GAAC,qHAA4sB,OAA5sB,oB,YAAY8E,O,MAAS7E,C,IAA6B6E,K,CAAajF,SAAW,CAAS,OAAI,MAAO,6BAAoHd,IAAM,GA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kCAEA,OACA,YACA,YACA,eACA,YACA,cAEA,yCACA,yCACA,0BACA,0CAEA,yBACA,wCC1D4X,MCQxX,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX0B,GAAS,WAAkB,IAAIxB,EAAIz8B,KAAKi8B,EAAGQ,EAAIP,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACO,MAAM,CAAE,iBAAkBC,EAAIvuB,SAASuvB,WAAWgF,UAAW,CAAChG,EAAIiG,GAAG,YAAY,IAE1JrG,GAAkB,GCKtB,MCPsX,MCQlX,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCkFf,IACA,sBACA,uBACA,eAEA,YACA,6EACA,aACA,sBACA,4EACA,mBACA,yBACA,gFACA,kFAEA,OACA,0BACA,kCACA,kDACA,mCAIA,0CACA,gBACA,QACA,mBACA,gBACA,YACA,mBACA,IACA,cACA,gBACA,yBAEA,eACA,wCAGA,4BACA,wCACA,MACA,iCACA,MACA,iCACA,OACA,iCACA,QAKA,gBACA,gBACA,2BAEA,eACA,0CAGA,yBACA,gBACA,oCAEA,eACA,qDAIA,yCACA,gBACA,mBACA,oBACA,6BACA,iBACA,eACA,qBACA,IACA,2BACA,4CAEA,sBACA,gBACA,kBAEA,0BACA,oBACA,0BACA,mCAEA,yDACA,oCAIA,sCACA,qBACA,uBAEA,sBAGA,uCACA,6BACA,iCACA,uBACA,uBACA,kCAEA,kDACA,+BACA,uBAGA,+BACA,qBACA,yBAGA,2BACA,sBAEA,2BACA,sBAEA,0BACA,4CAGA,8BACA,mDACA,8CACA,uBAGA,yBACA,qCC7OqX,MCQjX,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,QCnBsO,GAAC,W,IAACgB,EAAM,K,EAACnhC,EAAOugC,MAAIpf,G,OAAeigB,U,MAA4B,CAAkB,cAAC,+BAA2B,aAAIrB,UAAG,Q,MAA0B,CAAuB,yBAACG,SAAM,GAAC,WAAK,GAA0D,OAAIH,MAAG,EAAM,cAACE,SAAW,SAAC,GAAC,gBAAS,GAAQC,WAAM,kB,CA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AAahd,Q,MAA0B,CAAc,OAAQqd,SAA6BK,WAAe,C,YAAU,O,MAAa,C,gBAAe,G,OAAM,EAAAl8B,O,gBAAkB0/B,G,WAA6H,G,MAAC,EAAO,yB,YAA+C,O,IAAC,U,GAAE,SAAS,GAAkD,aAAG,SAAC9jC,MAAI,GAAO,wGAAI,IAAWgM,MAAI1H,SAAA,GAAI,OAAW,EAAI,mB,CAAuC,KAAO,qD,KAAgD,Q,GAAE,SAAY,GAAkB,aAAG,cAAQ,YAAG,sBAC/+C,IACGu7B,MAAe,SAAK,GAEf4B,OAAQ5B,eAAe,M,sEC4FhC,IACA,8BACA,iBACA,0CACA,8BACA,6BACA,wCACA,MACA,iCACA,MACA,iCACA,OACA,iCACA,QAKA,yBACA,gBACA,oCAEA,eACA,qDAIA,gBACA,OACA,2BACA,YACA,YAGA,yCACA,+DACA,+BACA,qCAEA,oCACA,iCAGA,6GACA,SACA,MACA,MACA,aACA,gCAEA,OACA,4BACA,SACA,UAOA,0BACA,SACA,UAKA,oCAIA,8BACA,oCACA,0CAGA,sBC5K4Y,MCOxY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCuJf,IACA,kBACA,YACA,gBACA,sBACA,0EACA,wHACA,kBACA,kCACA,iDACA,kFACA,gFACA,iFACA,+EACA,iBACA,2EACA,iFACA,oFACA,2BAEA,gBACA,OACA,iCACA,yCAEA,GACA,2BACA,sCAEA,kDACA,GACA,2BACA,2CAEA,yCACA,CACA,OACA,0CACA,iBAsBA,GAnBA,4CACA,eACA,8BACA,8BACA,8BACA,gCACA,6DAIA,4CACA,eACA,gCACA,gCACA,sCACA,wCAIA,0BACA,sBACA,UACA,UACA,wBAEA,uCAIA,mBACA,sDACA,gBACA,MACA,gEAMA,oCACA,wEACA,gBACA,mBACA,eACA,mBACA,gBACA,gBACA,QACA,SACA,yBACA,gBACA,0BACA,cACA,IACA,wBACA,sEAEA,mCACA,WAEA,mEACA,0CACA,gDACA,6CAEA,wLAEA,yBACA,2CACA,oBACA,mKAGA,IAGA,UACA,gBACA,qBAEA,eACA,oCAGA,2BACA,8CAEA,WACA,gBACA,sBAEA,eACA,uCAIA,gBACA,OACA,wBACA,8BACA,wCACA,yBACA,2BAGA,8BACA,4BACA,EACA,mCACA,qCACA,IACA,EACA,EAFA,IAGA,4BACA,0BACA,qBACA,aACA,KAEA,UAGA,eACA,SACA,0BACA,yBACA,4BACA,qCACA,WACA,mBAGA,sDACA,gBACA,MACA,8DAKA,iBAGA,SACA,6BAGA,wDACA,gBACA,YACA,mBACA,kBACA,aACA,cACA,6BACA,mBACA,8BACA,uCACA,gDACA,mBACA,wBAEA,sCACA,+BACA,2BAEA,yCACA,qCAEA,yCACA,qBACA,oDAEA,6BACA,6BAEA,yCACA,qBACA,4BACA,mCAEA,+BACA,gDAEA,sBACA,wBACA,kCAGA,yBACA,4BACA,kBAEA,mBACA,4CACA,uDCrZkW,MCQ9V,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,OAIa,M,QCnBkO,GAAC,W,IAACD,EAAM,K,EAAC,EAAM,MAAG,G,OAAC,QAAQ,yCAAqB,OAAIH,MAAQ,GAAEE,OAAa,UAAY,GAAS,e,CAAQ,SAAM,C,YAAoB,CAAO,OAAS,QAAgC,MAAI,CAA4BI,QAAwBN,MAAG,wBAAsD,CAACQ,EAAG,MAAI,CAAuHL,YAAM,CAAC,aAAQ,SAAoB,MAAC,CAACU,eAAqBtgC,OAAI,OAAYugC,IAAG,YAAU,oBAA8E,EAAC,kB,YAAO,WAAK,CAAC,EAAC,OAAW,CAAY,YAAc7b,qBAAkC,MACj4B1Y,iBAAmB,EAAC,KAAU,UACxB2Y,mBACLsb,IAAI/pB,iBACNupB,EAAG,UAAa,QAAC,C,MAAKzzB,CAAWm0B,MAAG,O,KAAC,Q,YAAiE,OAAC,gBAAE,GAAI,WAAuBP,MAAM,gDAAY,WAAIH,MAAG,EAAS,a,CAACO,KAAM,iC,MACzK,iCAC8B,IAAxBuH,YAAgC78B,kCACxC,YAAE,GAAEu1B,CAAkFD,MAAM,YAC1F,0BACEC,EAAIsH,SAC8C,CAAC,EAAE9H,QAAgBA,CAAmBG,MAAM,CAAC,KAAQ,OAAoB,WAACU,OAAqBtgC,6BAAe,qC,CAAe,KAAO,EAAI,eAAkB,YAAwB,CAAC+gC,EAAG,OAAe,CAAC,MAAC,CAACyG,6BAAM,qCAA+BvH,CAAG,EAAKA,GAAG,EAACxb,gBAAe,IAASzY,GAAK,YAAC,GAAOyzB,EAAG,UAAa,QAAC,C,MAAKzzB,CAAW4zB,OAAM,E,KAAO,QAAU,YAAM,OAAuBG,gBAAmB,GAAI,WAA+D,MAAI,UAAgB,UAAmB,GAAC,qBAAc,WAAiB,QAAY,aAAM,kCAAE,OAAMgB,EAAG,QAAoEnB,IAAM,QAAC,MAAM,CAAgC,aAA+EA,GAAM,QAAC,YAAS,QAAC,UAAQ,kCAAqB,8BAAE,YAAW,CAACD,QAAY,OAAC,YAAY,SAAQC,GAAK,GAAC,mE,MAAM,CAAY,KAAQ,kCAA8C,oEAAG,MAAI,CAAmBG,QAA8BE,MAAOA,wB,CAAiF,S,YAA4B,CAAsB,oBAAwE,OAAI,IAAM,WAC/uC,cACGJ,gBAAoB,oB,wPC0GxB,IACA,wBACA,YACA,sHAEA,2BACA,gBACA,WACA,oBACA,gBACA,gBACA,2BAGA,SACA,sBACA,gBAEA,mBAGA,gBACA,OACA,UACA,+BACA,uBC/IwW,MCQpW,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCdf53B,OAAIusB,IAAIiT,QAEO,WAAIA,OAAU,CAC3BC,KAAM,IACN9nC,KAAM,UACN+nC,OAAQ,CAENlmC,u7FAAYmmC,2BACR,CACEC,KAAM,IACNC,SAAU,CACRnpC,KAAM,OACN+C,OAAQ,CAAEZ,GAAIW,u7FAAYmmC,8BAG9B,CAAEC,KAAM,IAAK/H,UAAWiI,GAAiBppC,KAAM,aACnD,CAAEkpC,KAAM,qBAAsB/H,UAAWkI,GAAYrpC,KAAM,QAC3D,CAAEkpC,KAAM,OAAQ/H,UAAWkI,GAAYrpC,KAAM,QAC7C,CACEkpC,KAAM,YACN/H,UAAWkI,GACXC,OAAO,EACPtpC,KAAM,QAER,CACEkpC,KAAM,kCACN/H,UAAWkI,GACXC,OAAO,EACPtpC,KAAM,e,sLCjCNupC,GAASC,EAAQ,QACvBA,EAAQ,QAiBRA,EAAQ,QAERlgC,OAAIusB,IAAI4T,MAKRngC,OAAIusB,IAAI6T,MACRpgC,OAAIusB,IAAI8T,MACRrgC,OAAIusB,IAAI2T,EAAQ,QAAe,CAC7BD,YAGFjgC,OAAIusB,IAAI+T,SACRtgC,OAAIusB,IAAIgU,KAAUhnC,MAClByG,OAAIusB,IAAIiU,MACRxgC,OAAIusB,IAAI4K,QAERn3B,OAAI/N,UAAUm8B,UAAY,IAAIpuB,OAC9BA,OAAIygC,OAAOC,eAAgB,EAE3B,IAAI1gC,OAAI,CACN2gC,UACAjS,cACA8K,OAAQ,SAAA16B,GAAC,OAAIA,EAAE8hC,MACdC,OAAO,S,qEC3CVptC,EAAOD,QAAU,IAA0B,iC,qBCA3CC,EAAOD,QAAU,m0E,uBCAjBC,EAAOD,QAAU,IAA0B,8B,uBCA3CC,EAAOD,QAAU,IAA0B,kC,mBCA3CC,EAAOD,QAAU,m0I,gDCAjBC,EAAOD,QAAU,IAA0B,yC,uBCA3CC,EAAOD,QAAU,IAA0B,mC,uBCA3CC,EAAOD,QAAU,IAA0B,0D,yECA3CC,EAAOD,QAAU,IAA0B,yB,uBCA3CC,EAAOD,QAAU,IAA0B,mC,oCCA3C,W,qBCAAC,EAAOD,QAAU,m0E,oCCAjB,W,8CCAAC,EAAOD,QAAU,IAA0B,uD,qBCA3CC,EAAOD,QAAU,m0E,qBCAjBC,EAAOD,QAAU,IAA0B,kC,qBCA3CC,EAAOD,QAAU,IAA0B,8C,+ICGtB8gB,EAAY,WAC/B,SAAAA,IAAcrb,eAAA,KAAAqb,GAAE,OAAApb,eAAAob,EAAA,OAAAvc,IAAA,yBAAAN,MAEhB,SAA8BgD,EAAK8S,GACjC,OAAOrR,yBAAY,CAAC,uBAAuBvG,MAAK,SAAAwG,GAAgB,IAAAE,EAAAC,eAAAH,EAAA,GAAdgR,EAAQ9Q,EAAA,GAClDwV,EAAY1E,EAAS2E,aAAarX,GAIxC,OAHIoX,IACFpX,EAAMoX,EAAUzE,SAAW3S,GAEtBlB,IAAMlC,IAAIoD,EAAK8S,UATK,I,uBCHjC9Z,EAAOD,QAAU,IAA0B,oC,uBCA3CC,EAAOD,QAAU,IAA0B,iD,oCCA3C,W,qBCAAC,EAAOD,QAAU,m0E,uBCAjBC,EAAOD,QAAU,IAA0B,uC,qBCA3CC,EAAOD,QAAU,IAA0B,yD,uBCA3CC,EAAOD,QAAU,IAA0B,+B,uBCA3CC,EAAOD,QAAU,IAA0B,mE,uBCA3CC,EAAOD,QAAU,IAA0B,2C,uBCA3CC,EAAOD,QAAU,IAA0B,iC,uBCA3CC,EAAOD,QAAU,IAA0B,sC,uBCA3CC,EAAOD,QAAU,IAA0B,+B,uBCA3CC,EAAOD,QAAU,IAA0B,uD,8CCA3CC,EAAOD,QAAU,IAA0B,mC,uBCA3CC,EAAOD,QAAU,IAA0B,2C,qBCA3CC,EAAOD,QAAU,IAA0B,8B,qBCA3CC,EAAOD,QAAU,IAA0B,6B,8HCA2FwkC,W,IAAYa,O,EAAyBb,EAAI1uB,MAAM,G,OAAK,U,MAACmvB,CAAmB,cAAIjB,MAAG,OAAoDG,MAAM,CAAC,eAAkB,qBAAIK,EAAM,OAAC,GAAqE,WAAW,WAAoB,CAACR,EAAG,UAAW,OAAK,CAA6CG,YAAM,W,MAAC,CAAU,qB,CAAK,KAAO,WAAKmJ,oCAAO,UAAI9I,UAAO,KAAY,EAACA,SAAgF,UAAa,SAAc,qB,MAAC,CAAU,S,GAAK,CAAkB,kBAC/pB,kFACGJ,OAEJ,aAAiBA,e,2GCoBjB,GACA,qBACA,uBACA,YAEA,OACA,eACA,aACA,YACA,mBACA,kBACA,kBACA,WACA,eAGA,SACA,sBACA,eAEA,mBACA,oCAEA,kBACA,qCChDsV,I,YCOlVC,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,gCClBfpkC,EAAOD,QAAU,IAA0B,gC,qBCA3CC,EAAOD,QAAU,m0E,qBCAjBC,EAAOD,QAAU,IAA0B,kC,0ECAwCmkC,G,oBAAM,W,IAAC,EAAM,KAAG,EAAC,W,OAACU,SAAgB2B,C,MAAS,CAAY1B,KAAG,I,YAAyBd,EAAG,K,IAASG,Y,YAAc,G,IAAG,O,MAAI,W,MAAK,CAAI,KAAO,I,GAA2C,CAAiD,KAAC,kBAAiBA,OAAX,EAAC,kBAAgB,2CAAmF,CAACK,EAAG,OAAO,CAA0E,OAAG,wEAGrf,+E,0ICmBD,GACA,6BACA,2BACA,gCAEA,OACA,gBAEA,yCACA,mEACA,4BACA,oBAEA,uCACA,mCAEA,oCCtC8V,I,YCO1VH,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,KACA,MAIa,OAAAC,E,8BClBfpkC,EAAOD,QAAU,IAA0B,iC,qBCA3CC,EAAOD,QAAU,IAA0B,kC,qBCA3CC,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,4D,qBCA3CC,EAAOD,QAAU,IAA0B,wC,qBCA3CC,EAAOD,QAAU,IAA0B,qC,qBCA3CC,EAAOD,QAAU,IAA0B,gD,qBCA3CC,EAAOD,QAAU,IAA0B,sC,qBCA3CC,EAAOD,QAAU,IAA0B,wD,qBCA3CC,EAAOD,QAAU,IAA0B,8B,qBCA3CC,EAAOD,QAAU,IAA0B,mD,kCCA3C,W,qBCAAC,EAAOD,QAAU,IAA0B,6B,wICAiHqlC,W,MAA6BkI,K,EAAe,W,OAACtI,SAAW,CAAY,OAAIjB,WAAaA,GAAmBM,YAAY,S,MAAkB,CAAkB,mBAAIE,SAAO,YAA+EL,EAAM,cAA4B,WAAY,eAAa,qBAACiB,YAAM,W,MAAM,CAAqBC,gBAAS,K,CAAqC,EAAC,iE,MAACJ,CAA0B,yBAAIjB,aAAG,GAAcG,IAAM,I,MAAmC,CAAkB,MAAM,gBAAG,qBAACiB,EAAM,iBAAiCC,WAAS,mBAA2C,EAAC,Q,MAACJ,CAAgC,gCAAI,UAAO,MAA6Cd,IAAM,I,MAAmB,CAAU,4BAAG,SAAC,YAAC,sBAAY8F,GAAyBzF,WAAO,0BAA+B,KAAO,OAAU,qB,MAAC,CAAiE,MAAO,UAAG,S,GAAK,CAA4B,gCACpjC,4BACGJ,OAEJ,MAAe,U,qJCoCf,GACA,gBACA,OACA,iBACA,uBACA,gBAGA,OACA,mBACA,OACA,oCACA,iDACA,sBAIA,OACA,aACA,mBACA,0BACA,gBAEA,yCACA,4EACA,iCACA,2BACA,oBAEA,4BACA,2BACA,iBACA,6BAEA,kCACA,iBACA,0CAEA,sBACA,4BACA,iCChFqZ,I,YCOjZC,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,KACA,MAIa,OAAAC,E,2CClBf,W,qBCAApkC,EAAOD,QAAU,IAA0B,8B,qBCA3CC,EAAOD,QAAU,IAA0B,kC,mBCA3CC,EAAOD,QAAU,mlK,qBCAjBC,EAAOD,QAAU,IAA0B,kD,qBCA3CC,EAAOD,QAAU,IAA0B,kD,qBCA3CC,EAAOD,QAAU,IAA0B,2B,qBCA3CC,EAAOD,QAAU,IAA0B,sC,qBCA3CC,EAAOD,QAAU,IAA0B,kD,mBCA3CC,EAAOD,QAAU,m0E,mBCAjBC,EAAOD,QAAU,u2K,qBCAjBC,EAAOD,QAAU,IAA0B,8D,kCCA3C,W,qBCAAC,EAAOD,QAAU,IAA0B,6B,qBCA3CC,EAAOD,QAAU,IAA0B,uC,mBCA3CC,EAAOD,QAAU,m0E,mBCAjBC,EAAOD,QAAU,m0E,qBCAjBC,EAAOD,QAAU,IAA0B,4B,mBCA3CC,EAAOD,QAAU,m0E,kCCAjB,W,4CCAAC,EAAOD,QAAU,IAA0B,uC,qBCA3CC,EAAOD,QAAU,IAA0B,2C,4CCA3CC,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,kC,kCCA3C,W,gHCGMwtC,EAAgB,CACpBzvC,KAAM,WACJ,MAAO,CACL0vC,WAAY,KACZC,iBAAkB,OAGtBlkC,SAAQC,eAAA,GACHC,eAAS,CACV,WACA,cACA,wBACA,gBAGJuD,MAAO,CACLxC,SAAQ,WACN1C,KAAK4lC,sBACL5lC,KAAK6lC,QAAS,IAGlBhkC,QAAS,CACP+jC,oBAAqB,WAAW,IAAA7lC,EAAA,KAC9BC,KAAK8lC,gBACL,IAAMC,EAAU,GAEd/lC,KAAK0lC,WAAW/uC,eAAe,eAC/BF,OAAO+G,KAAKwC,KAAK0lC,WAAW,eAAelvC,OAAS,IAEpDuvC,EAAQ,cAAgB/lC,KAAK0lC,WAAW,eAG1CjvC,OAAO+G,KAAKwC,KAAK0lC,YACdM,OACAtmC,SAAQ,SAAAlD,GACK,eAARA,IACFupC,EAAQvpC,GAAOuD,EAAK2lC,WAAWlpC,QAIZ,IAArBwD,KAAKimC,cACPF,EAAQ,aAAe/lC,KAAKkmC,oBAG9BlmC,KAAK2lC,iBAAmBI,GAE1BI,oBAAqB,SAASC,EAAcl/B,GAC1C,MAAqB,eAAjBk/B,GAGGl/B,EAAM4C,cAAcgD,SAAS9M,KAAKqmC,YAAYC,sBAEvDR,cAAe,WACb,IAAIJ,EAAa,GAEba,EAAoB,GAExB,IAAK,IAAI/pC,KAAOwD,KAAK0C,SAAU,CAC7B,IAAI6E,EAAUvH,KAAK0C,SAASlG,GACvBkpC,EAAWn+B,EAAQi/B,YACtBd,EAAWn+B,EAAQi/B,UAAY,IAGjCd,EAAWn+B,EAAQi/B,UAAUhqC,GAAO+K,EAEhCvH,KAAKod,WAAWtQ,SAAStQ,KAC3B+pC,EAAkB/pC,GAAO+K,GAIzB9Q,OAAO+G,KAAK+oC,GAAmB/vC,OAAS,IAC1CkvC,EAAW,cAAgBa,GAGxBvmC,KAAK0S,8BACDgzB,EAAW,gBAGpB1lC,KAAK0lC,WAAaA,IAGtBe,QAAS,WACPzmC,KAAK4lC,wBAIMH,U,qBCzFfvtC,EAAOD,QAAU,IAA0B,gE,mBCA3CC,EAAOD,QAAU,m0E,kCCAjB,W,qBCAAC,EAAOD,QAAU,IAA0B,qD,qBCA3CC,EAAOD,QAAU,IAA0B,sC,qBCA3CC,EAAOD,QAAU,IAA0B,iE,qBCA3C,IAAIkF,EAAM,CACT,0BAA2B,OAC3B,2BAA4B,OAC5B,gBAAiB,OACjB,kBAAmB,QAIpB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAO1F,EAAoB2F,GAE5B,SAASC,EAAsBF,GAC9B,IAAI1F,EAAoBgE,EAAEwB,EAAKE,GAAM,CACpC,IAAIjF,EAAI,IAAI0B,MAAM,uBAAyBuD,EAAM,KAEjD,MADAjF,EAAE2B,KAAO,mBACH3B,EAEP,OAAO+E,EAAIE,GAEZD,EAAeI,KAAO,WACrB,OAAO/G,OAAO+G,KAAKL,IAEpBC,EAAe5E,QAAU+E,EACzBrF,EAAOD,QAAUmF,EACjBA,EAAeE,GAAK,Q,qBCzBpBpF,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,yC,qBCA3CC,EAAOD,QAAU,IAA0B,yD,qBCA3CC,EAAOD,QAAU,IAA0B,4D,4CCA3CC,EAAOD,QAAU,IAA0B,8D,qBCA3CC,EAAOD,QAAU,IAA0B,4B,4CCA3CC,EAAOD,QAAU,IAA0B","file":"js/app.361b4a74.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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-0bbec826\":\"69b6191b\",\"chunk-0f1a74de\":\"de0ff7a2\",\"chunk-2d0deaf4\":\"eb537b77\",\"chunk-2d0e9d04\":\"14ff391a\",\"chunk-2d215c07\":\"77b781ed\",\"chunk-2d22c92d\":\"36aa4418\",\"chunk-3fe8d4e3\":\"d50520ab\",\"chunk-5a8e44a0\":\"596344af\",\"chunk-5b516bc4\":\"448ff6a6\",\"chunk-629baa93\":\"713a4309\",\"chunk-6394227f\":\"2b871fdf\",\"chunk-6c18546d\":\"34e471dd\",\"chunk-6d90f275\":\"5c1bfe7a\",\"chunk-bb9c3c38\":\"071c8765\",\"chunk-1831664e\":\"f809cc03\",\"chunk-79c7ba97\":\"b705db21\",\"chunk-158694a0\":\"c535c12d\",\"chunk-2d0ac934\":\"ce0b9492\",\"chunk-2d0b6d08\":\"f4ef02d3\",\"chunk-2d20f5c6\":\"480ebd0a\",\"chunk-2d22bf73\":\"ee03c54b\",\"chunk-2d22db57\":\"b943f248\",\"chunk-2d22e0c0\":\"90a5e645\",\"chunk-33c658c5\":\"16cd9b6f\",\"chunk-3cdf7801\":\"f98380a8\",\"chunk-496664ba\":\"e56d8f24\",\"chunk-61fbc63d\":\"0fc8866b\",\"chunk-8698761e\":\"fdd822a5\",\"chunk-cef8dfe4\":\"8950011a\",\"chunk-f0b3836c\":\"a1c761f9\",\"chunk-2d221c17\":\"96d3bed8\",\"chunk-2f64a7ea\":\"30f648dc\",\"chunk-58062f40\":\"076b59de\"}[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// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0bbec826\":1,\"chunk-0f1a74de\":1,\"chunk-3fe8d4e3\":1,\"chunk-5a8e44a0\":1,\"chunk-5b516bc4\":1,\"chunk-629baa93\":1,\"chunk-6394227f\":1,\"chunk-6c18546d\":1,\"chunk-6d90f275\":1,\"chunk-1831664e\":1,\"chunk-79c7ba97\":1,\"chunk-158694a0\":1,\"chunk-33c658c5\":1,\"chunk-3cdf7801\":1,\"chunk-496664ba\":1,\"chunk-61fbc63d\":1,\"chunk-8698761e\":1,\"chunk-cef8dfe4\":1,\"chunk-f0b3836c\":1,\"chunk-2f64a7ea\":1,\"chunk-58062f40\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0bbec826\":\"4b0f9126\",\"chunk-0f1a74de\":\"e981eccf\",\"chunk-2d0deaf4\":\"31d6cfe0\",\"chunk-2d0e9d04\":\"31d6cfe0\",\"chunk-2d215c07\":\"31d6cfe0\",\"chunk-2d22c92d\":\"31d6cfe0\",\"chunk-3fe8d4e3\":\"b30cc6de\",\"chunk-5a8e44a0\":\"d934a1fa\",\"chunk-5b516bc4\":\"b8681ff3\",\"chunk-629baa93\":\"00f65a04\",\"chunk-6394227f\":\"4f671ebb\",\"chunk-6c18546d\":\"e984ecfa\",\"chunk-6d90f275\":\"215348b1\",\"chunk-bb9c3c38\":\"31d6cfe0\",\"chunk-1831664e\":\"4658ef60\",\"chunk-79c7ba97\":\"231dbaf1\",\"chunk-158694a0\":\"7f827253\",\"chunk-2d0ac934\":\"31d6cfe0\",\"chunk-2d0b6d08\":\"31d6cfe0\",\"chunk-2d20f5c6\":\"31d6cfe0\",\"chunk-2d22bf73\":\"31d6cfe0\",\"chunk-2d22db57\":\"31d6cfe0\",\"chunk-2d22e0c0\":\"31d6cfe0\",\"chunk-33c658c5\":\"62dd31cb\",\"chunk-3cdf7801\":\"c1220763\",\"chunk-496664ba\":\"f22bc190\",\"chunk-61fbc63d\":\"f22bc190\",\"chunk-8698761e\":\"376f59cc\",\"chunk-cef8dfe4\":\"b71c65d0\",\"chunk-f0b3836c\":\"f22bc190\",\"chunk-2d221c17\":\"31d6cfe0\",\"chunk-2f64a7ea\":\"9b8e9254\",\"chunk-58062f40\":\"2c14a541\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItemToggle.vue?vue&type=style&index=0&id=49462648&prod&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA9CAYAAAD1VdrqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfiAw4KFjFw9i3xAAAEdUlEQVRoQ+1aS5ObRhBuYHgIIUvx7rrKrlTllkNO/mf5fznnnB+QW8pViZPyPiQBQjBA+utBq62NeWwONjJ8UhdoxPT01z0zohtZ6v3PNU0QdnOcHGbiXajr+mJkKHrXOJRZltV84g7n01HhBZwFAzY3ELdJORZZts1TBJcz+xF5wEQbx4rKqqaKpQ+txE+Rtm2LfE8ZcZVxADtiTICtZVlRXpSU5ZqlkM9PZ+pz9BIH2eXSo0LzhsARd9gREvGRQXOU66oklwOTZEc6HvUjh8+hkziiHfoebV4F9PE+pyN7tMuLXxOw13cderPxaZ8cKDnk3NZ8+Rn0zFmLHPagx1EfK+FHsH02i6ucZlZ2o4c4XMZKQBq6Rs4dkADJHtRtbG/EQRqvSwEsPUkXxrU9f0HMxKeGmfjUMBOfGmbiU8Ng4kgCCBkQH58KgLsk3B7jHllxBuc6NnksOELQLgM96/sy4XEgp7H4jhKC+3PotprrhqInO7NptfTp+ruIPu0K0rnJzvgtAzpIWRcBi08RJAwoXHgUeh65nL/D2iPnx/sko/t9Sne7mLZxynpMygg7K84HKpzgM3KDGvoNIRmHWTpK0SLwKAp8OUpdgJMRAEWHXGtJRQ9Zxg4v6fZ+T7v4aPS2oJO4w8RB5Id3r+n9Tz9yoyPGgOA6CulVtKAVn4P4gtNXZHHI5uAw3N+XVcV5cSFGbZn8jknHacYG5qRLTWUJwysxEC+QVU5T9GgKHx6nmg63KYWZYwQGn6KLGQBHof/tw5Z++fU3+v2PvyhJ81bi6NtLfBl69O7NhqN+RfGhoEJXFLLX16uQbjYRt6/oar2iwHcp5Rz4IU7oYZfyMaV9fKB9ypHImWhxjnJZm+rIkiN4xTpuXq9ZR8Q6F9zmybiaxxGHsZ67bUK32z1t98izj+ywUkhh6oM5HI2ZsF4GHO1b+vD3HcVJe8R7iZ+m+g1P9T8/HSjNtAwEL0s1hqOLNa0cR9YdSl26RN2rbGpfpgYGXRKmZ7C4E/Jnl/sr3gsgiDoAozFjoA9O0I3OmtuMBf9FGLj09nohjt/FWStxYADxgK43S/rwTyL1LJlW0sN0M6dPVPD3Z7PMOu0CumKaNoqk7QzubN5y3qULenzPoe+vQ3rg/aSP+PCfMxjQDIyj2eSaXZUd9ChNuxFzfRdwjdHxTI+I0T9EF74fMNwjXvQ73u6/y8OLiH9LmIlPDTPxqWEmPjXMxKeGmfjUMBOfGmbiU8NMfGroIV7zG8W9y6m9wFLU8Pos7iFuSeUUf5ZrqoLmMEpBNdfYKlXdHuq9VdaFr2gVBXSPJyll+x/mvjYQY2VbtIlcig94aKGlvN1mbydxdHKVeZqibEWeh6cajqlmjsQBsAK2aiZZFJoKrSnNcj43kf9fxEEOa8F1HXGAq5SUfI2ucRAHUD+veU3qspT/sxa6lGdqXbOzlfgJJ68ZEV+MEogTljUeQvYsb0EvcUCifyHoivJTDPodP0d8/DIU8w3M1DATnxpm4lPDRIkT/Qs45hn3E4GDEwAAAABJRU5ErkJggg==\"","var map = {\n\t\"./aktsomhet.jpg\": \"5d43\",\n\t\"./ams.jpg\": \"49e2\",\n\t\"./autokast.jpg\": \"5240\",\n\t\"./autokast_svalbard.jpg\": \"4dc7\",\n\t\"./bratthet.jpg\": \"ba8d\",\n\t\"./breatlas.jpg\": \"3d39\",\n\t\"./elvenett.jpg\": \"9524\",\n\t\"./faresoner.jpg\": \"9315\",\n\t\"./fiskeri_akvakultur_med_paavirkningsgrad.jpg\": \"f79c\",\n\t\"./fiskeri_akvakultur_paavirkning_biologiske.jpg\": \"ce01\",\n\t\"./fiskeri_akvakultur_paavirkning_eutrofiering.jpg\": \"eb79\",\n\t\"./fiskeri_akvakultur_paavirkning_vannuttak_hymo.jpg\": \"2013\",\n\t\"./fiskeriakvakultur_smvf.jpg\": \"e398\",\n\t\"./fjellskred.jpg\": \"1e9a\",\n\t\"./fjellskredovervaakning.jpg\": \"927c\",\n\t\"./flomakt.jpg\": \"508a\",\n\t\"./flomaktsomhet.jpg\": \"e9b4\",\n\t\"./flomdatabase.jpg\": \"a589\",\n\t\"./flomhendelser.jpg\": \"c21b\",\n\t\"./flomskredaktsomhet.jpg\": \"d774\",\n\t\"./flomsone.jpg\": \"5505\",\n\t\"./flomsoneutkast.jpg\": \"6dbe\",\n\t\"./flomvern_med_paavirkningsgrad.jpg\": \"c557\",\n\t\"./flomvern_smvf.jpg\": \"1cc4\",\n\t\"./forvaltningsomrader.jpg\": \"ace8\",\n\t\"./fotostrommen.jpg\": \"5a6b\",\n\t\"./havvind.jpg\": \"dea0\",\n\t\"./hydrologiskedata.jpg\": \"adc4\",\n\t\"./hydrologiskpalegg.jpg\": \"3cb8\",\n\t\"./industri_med_paavirkningsgrad.jpg\": \"ccbf\",\n\t\"./industri_paavirkning_gruver_sanduttak.jpg\": \"d7b1\",\n\t\"./industri_paavirkning_utslipp.jpg\": \"7ab0\",\n\t\"./industri_paavirkning_vannuttak_hymo.jpg\": \"5a75\",\n\t\"./industri_smvf.jpg\": \"4a00\",\n\t\"./innsjodatabase.jpg\": \"c27c\",\n\t\"./jordbruk_med_paavirkningsgrad.jpg\": \"c3c2\",\n\t\"./jordbruk_paavirkning_hymo.jpg\": \"7795\",\n\t\"./jordbruk_paavirkning_jordbearbeiding_og_husdyr.jpg\": \"87c1\",\n\t\"./jordbruk_smvf.jpg\": \"a2ea\",\n\t\"./jordflomskredaktsomhet.jpg\": \"176e\",\n\t\"./jordskredaktsomhet.jpg\": \"820b\",\n\t\"./kast.jpg\": \"6da5\",\n\t\"./klimaendringer_med_paavirkningsgrad.jpg\": \"3c2e\",\n\t\"./kulturminner.jpg\": \"87df\",\n\t\"./kvalitetselement_biologiske.jpg\": \"aefd\",\n\t\"./kvalitetselement_fysisk_kjemiske.jpg\": \"eeae\",\n\t\"./kvalitetselement_hydromorfologiske.jpg\": \"73f0\",\n\t\"./kvikkleire.jpg\": \"88cd\",\n\t\"./kvikkleirerapport.jpg\": \"b04d\",\n\t\"./langtransportert_med_paavirkningsgrad.jpg\": \"6bf5\",\n\t\"./nasjonalramme.jpg\": \"64b1\",\n\t\"./nedborfelt.jpg\": \"6759\",\n\t\"./nettanlegg.jpg\": \"85e3\",\n\t\"./nettanleggplus.jpg\": \"aa38\",\n\t\"./nettkonsesjoner.jpg\": \"779f\",\n\t\"./nn2000.jpg\": \"c5b1\",\n\t\"./placeholder.jpg\": \"fcfa\",\n\t\"./sikringstiltak.jpg\": \"e6d1\",\n\t\"./skogbruk_med_paavirkningsgrad.jpg\": \"c651\",\n\t\"./skogbruk_smvf.jpg\": \"a720\",\n\t\"./skredfaresone.jpg\": \"1d59\",\n\t\"./skredfaresoner.jpg\": \"6b9d\",\n\t\"./skredhendelser.jpg\": \"9159\",\n\t\"./skrehendelser-tid.jpg\": \"382f\",\n\t\"./smakraft.jpg\": \"d05d\",\n\t\"./snoskredaktsomhet.jpg\": \"13b1\",\n\t\"./snoskredforsvaret.jpg\": \"c5c1\",\n\t\"./snosteinskredaktsomhet.jpg\": \"87da\",\n\t\"./steinsprangaktsomhet.jpg\": \"f2d3\",\n\t\"./svekketis.jpg\": \"c059\",\n\t\"./svvkvikkleire.jpg\": \"187c\",\n\t\"./tilstand_biologiske_kvalitetselement.jpg\": \"8491\",\n\t\"./tilstand_fysisk_kjemiske_kvalitetselement.jpg\": \"f898\",\n\t\"./tilstand_hymo_kvalitetselement.jpg\": \"11aa\",\n\t\"./transport_med_paavirkningsgrad.jpg\": \"1d31\",\n\t\"./transport_paavirkning_biologiske.jpg\": \"71d1\",\n\t\"./transport_paavirkning_utslipp.jpg\": \"776f\",\n\t\"./transport_paavirkning_vannuttak_hymo.jpg\": \"f5df\",\n\t\"./transport_smvf.jpg\": \"f24f\",\n\t\"./turisme_rekreasjon_med_paavirkningsgrad.jpg\": \"ac5d\",\n\t\"./turismerekreasjon_smvf.jpg\": \"4202\",\n\t\"./tverrprofil.jpg\": \"9a7b\",\n\t\"./ukjent_annet_paavirkning_diverse.jpg\": \"801e\",\n\t\"./ukjent_annet_paavirkning_introduserte_arter_sykdommer.jpg\": \"ee18\",\n\t\"./ukjent_annet_paavirkning_lagt_inn_sentralt_grunnet_datainkonsistens.jpg\": \"d94d\",\n\t\"./ukjent_driver_med_paavirkningsgrad.jpg\": \"8a80\",\n\t\"./urban_utvikling_paavirkning_diffuse_utslipp.jpg\": \"df0a\",\n\t\"./urban_utvikling_paavirkning_punktutslipp.jpg\": \"c873\",\n\t\"./urban_utvikling_paavirkning_vannuttak_hymo.jpg\": \"9ed5\",\n\t\"./urbanutvikling_med_paavirkningsgrad.jpg\": \"b2c2\",\n\t\"./urbanutvikling_smvf.jpg\": \"08b0\",\n\t\"./vannforekomster.jpg\": \"3269\",\n\t\"./vannkraft.jpg\": \"b43d\",\n\t\"./vannkraft_med_paavirkningsgrad.jpg\": \"b5d3\",\n\t\"./vannkraft_paavirkning_vannfoeringsregulering.jpg\": \"f08c\",\n\t\"./vannkraft_paavirkning_vannuttak_overfoering_dammer.jpg\": \"2c17\",\n\t\"./vannkraft_smvf.jpg\": \"a7d8\",\n\t\"./verneplanforvassdrag.jpg\": \"6b10\",\n\t\"./vindkraftverk (1).jpg\": \"f062\",\n\t\"./vindkraftverk.jpg\": \"4317\",\n\t\"./vindressurser.jpg\": \"7771\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"075f\";","module.exports = __webpack_public_path__ + \"img/urbanutvikling_smvf.c4bf1a24.jpg\";","import axios from \"axios\";\r\n\r\nexport default class MetadataService {\r\n constructor() {}\r\n\r\n static getFeatureClassNameFromMetadataRecord(restAddress, restIndex) {\r\n return new Promise((resolve, reject) => {\r\n restAddress = restAddress.substring(restAddress.indexOf(\"/services\"));\r\n axios\r\n .get(\r\n process.env.VUE_APP_METADATA_MAP_SERVICE_URL +\r\n process.env.VUE_APP_METADATA_SERVICES_LAYER_ID +\r\n \"/query?\",\r\n {\r\n params: {\r\n where:\r\n \"restAdress LIKE '%\" +\r\n restAddress +\r\n \"%' AND restIndex=\" +\r\n restIndex +\r\n \"\",\r\n outFields: \"featureClass, restName\",\r\n f: \"json\"\r\n }\r\n }\r\n )\r\n .then(result => {\r\n if (result.data.features.length === 0) {\r\n resolve(false);\r\n }\r\n resolve(result.data.features[0].attributes.featureClass);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n static getFeatureClassMetadata(featureClass) {\r\n return axios.get(\r\n process.env.VUE_APP_METADATA_MAP_SERVICE_URL +\r\n process.env.VUE_APP_METADATA_KARTLAG_LAYER_ID +\r\n \"/query?\",\r\n {\r\n params: {\r\n where: \"featureClass = '\" + featureClass + \"'\",\r\n outFields: \"*\",\r\n f: \"json\"\r\n }\r\n }\r\n );\r\n }\r\n\r\n static getAttributeMetadataForFeatureClass(featureClass) {\r\n return axios.get(\r\n process.env.VUE_APP_METADATA_MAP_SERVICE_URL +\r\n process.env.VUE_APP_METADATA_DATASETT_LAYER_ID +\r\n \"/query?\",\r\n {\r\n params: {\r\n where: \"featureClass = '\" + featureClass + \"'\",\r\n outFields: \"*\",\r\n f: \"json\"\r\n }\r\n }\r\n );\r\n }\r\n\r\n static createMetadataObject(\r\n featureClassMetadata,\r\n featureClassAttributeMetadata\r\n ) {\r\n let newLayerMetadata = {\r\n urls: [],\r\n felter: []\r\n };\r\n\r\n let attributes = featureClassMetadata.data.features[0].attributes;\r\n\r\n newLayerMetadata.beskrivelse =\r\n featureClassMetadata.data.features[0].attributes.beskrivelse;\r\n\r\n newLayerMetadata.thumbnailUrl =\r\n process.env.VUE_APP_METADATA_THUMBNAILS_URL + attributes.thumbnail;\r\n\r\n newLayerMetadata.urls.push({\r\n url: attributes.url1,\r\n text: attributes.url1_text\r\n });\r\n newLayerMetadata.urls.push({\r\n url: attributes.url2,\r\n text: attributes.url2_text\r\n });\r\n newLayerMetadata.urls.push({\r\n url: attributes.url3,\r\n text: attributes.url3_text\r\n });\r\n\r\n featureClassAttributeMetadata.data.features.forEach(feature => {\r\n if (feature.attributes.link && feature.attributes.atlas) {\r\n newLayerMetadata.felter.push(feature.attributes);\r\n }\r\n });\r\n\r\n return newLayerMetadata;\r\n }\r\n\r\n static loadMetadata(layer) {\r\n return this.getFeatureClassNameFromMetadataRecord(\r\n layer.restAdress,\r\n layer.restIndex\r\n ).then(featureClassName => {\r\n if (featureClassName === false) {\r\n return false;\r\n }\r\n return this.getFeatureClassMetadata(featureClassName).then(\r\n featureClassMetadata => {\r\n let featureClass =\r\n featureClassMetadata.data.features[0].attributes.featureClass;\r\n\r\n return this.getAttributeMetadataForFeatureClass(featureClass).then(\r\n featureClassAttributeMetadata => {\r\n let metadataObject = this.createMetadataObject(\r\n featureClassMetadata,\r\n featureClassAttributeMetadata\r\n );\r\n\r\n metadataObject.restAdress = layer.restAdress;\r\n metadataObject.restIndex = layer.restIndex;\r\n\r\n return metadataObject;\r\n }\r\n );\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","import { loadModules } from \"esri-loader\";\r\n\r\nexport default class SaveService {\r\n constructor() {}\r\n\r\n static saveMap(mapAsFeature, featureToOverwrite) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/FeatureLayer\"]).then(([FeatureLayer]) => {\r\n let saveService = new FeatureLayer(\r\n process.env.VUE_APP_MAP_SAVE_SERVICE_URL\r\n );\r\n\r\n let applyEditsParameters;\r\n\r\n if (featureToOverwrite == null) {\r\n applyEditsParameters = { addFeatures: [mapAsFeature] };\r\n } else {\r\n mapAsFeature.attributes.OBJECTID =\r\n featureToOverwrite.attributes.OBJECTID;\r\n applyEditsParameters = { updateFeatures: [mapAsFeature] };\r\n }\r\n\r\n saveService\r\n .applyEdits(applyEditsParameters)\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","import { loadModules } from \"esri-loader\";\r\nimport { mapState, mapActions, mapGetters } from \"vuex\";\r\nimport Vue from \"vue\";\r\nimport MetadataService from \"../services/metadata.service\";\r\nimport SaveService from \"../services/save.service\";\r\nimport BasemapMixin from \"@/mixins/basemapMixin\";\r\nimport {\r\n createGraphicsLayer,\r\n importProfileFile,\r\n getLayerByID,\r\n removeAllGraphicsExceptLocationGraphic,\r\n switchMapTo3d,\r\n switchMapTo2d,\r\n getSavedMapDefinition,\r\n getLayerGraphicsAsJSON,\r\n getDuplicateLayerProfile,\r\n getUniqueLayerID,\r\n addLayerToMap,\r\n getFirstValidExtentFromURLQuery,\r\n placePhotoLayerOnTopIfActive,\r\n mergeProfileOptions,\r\n cloneObject,\r\n createMapLayer,\r\n getHydratedGraphics,\r\n getGraphicslayerMapProfile\r\n} from \"./layerLogic\";\r\n\r\nconst mappingMixin = {\r\n mixins: [BasemapMixin],\r\n computed: {\r\n ...mapState([\r\n \"theMap\",\r\n \"profiles\",\r\n \"extent\",\r\n \"currentOrientation\",\r\n \"selectedBasemap\",\r\n \"mapProfiles\",\r\n \"isConnectedToIntranet\",\r\n \"basemaps\",\r\n \"selectedTheme\",\r\n \"is3d\",\r\n \"currentlyOpenedProject\",\r\n \"userAccount\",\r\n \"layerDefinitionExpressions\"\r\n ]),\r\n ...mapGetters([\r\n \"getMapProfile\",\r\n \"getAddedMapProfileIndex\",\r\n \"getMapProfilesVisibleSublayerIndexes\"\r\n ])\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"setSelectedBasemap\",\r\n \"setLayersAreLoading\",\r\n \"enableSave\",\r\n \"disableSave\",\r\n \"setExtent\",\r\n \"setSnack\",\r\n \"setCurrentOrientation\",\r\n \"setCurrentlyOpenedProject\",\r\n \"setPhotoStreamIsActivated\",\r\n \"addLastVisitedMap\",\r\n \"setBuildingsLayerAdded\",\r\n \"setPhotoStreamIsActivated\",\r\n \"setLayerDefinitionExpression\",\r\n \"setLogoImagePath\",\r\n \"addMapProfileToState\",\r\n \"setSelectedTheme\",\r\n \"setProfileActualVisibleSublayers\",\r\n \"addLayerMetadata\",\r\n \"setMapProfileDate\",\r\n \"setShowInfoMenu\",\r\n \"removeMapProfileFromState\",\r\n \"setCurrentMapScale\",\r\n \"setProfileVisibility\",\r\n \"setMapProfileOpacity\",\r\n \"addLayerInfo\",\r\n \"setStartupDialog\",\r\n \"setMapHeight\",\r\n \"setBottomTabsHeight\",\r\n \"setMainThemeID\"\r\n ]),\r\n // Popup 111 1 uuu\r\n setPopupEnabled(isEnabled) {\r\n this.theMap.layers.forEach(layer => {\r\n if (layer.hasOwnProperty(\"popupEnabled\")) {\r\n layer.popupEnabled = isEnabled;\r\n }\r\n });\r\n },\r\n mergeSavedMapProfileWithOfficialProfile(profileFromSavedMap) {\r\n let profileData = profileFromSavedMap.hasOwnProperty(\"graphics\")\r\n ? {}\r\n : JSON.parse(JSON.stringify(this.profiles[profileFromSavedMap.id]));\r\n\r\n profileData.id = profileFromSavedMap.id;\r\n profileData.visible = profileFromSavedMap.visible;\r\n profileData.opacity = profileFromSavedMap.opacity;\r\n profileData.open = profileFromSavedMap.open;\r\n\r\n if (profileFromSavedMap.hasOwnProperty(\"date\")) {\r\n profileData.date = profileFromSavedMap.date;\r\n }\r\n if (profileFromSavedMap.hasOwnProperty(\"graphics\")) {\r\n profileData.graphics = profileFromSavedMap.graphics;\r\n profileData.appTitle = profileFromSavedMap.appTitle;\r\n profileData.Temaforklaring = profileFromSavedMap.Temaforklaring;\r\n } else {\r\n profileData.ShowAtStartUpLayers =\r\n profileFromSavedMap.showAtStartupLayers;\r\n }\r\n\r\n return profileData;\r\n },\r\n // Symbol 111 3 pluss mixin 1 uuu\r\n getDefaultHighlightSymbol(view, geometryType) {\r\n let h = view.highlightOptions;\r\n\r\n switch (geometryType) {\r\n case \"point\":\r\n return {\r\n type: \"web-style\",\r\n name: \"Pushpin 3\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n };\r\n\r\n case \"polyline\":\r\n return {\r\n type: \"simple-line\",\r\n style: \"solid\",\r\n width: 2,\r\n color: [h.color.r, h.color.g, h.color.b, 1]\r\n };\r\n\r\n case \"polygon\":\r\n return {\r\n type: \"simple-fill\",\r\n style: \"solid\",\r\n outline: {\r\n color: [h.color.r, h.color.g, h.color.b, h.color.a],\r\n width: 1\r\n },\r\n color: [h.color.r, h.color.g, h.color.b, h.fillOpacity]\r\n };\r\n\r\n default:\r\n return {\r\n type: \"simple-line\",\r\n style: \"solid\",\r\n width: 2,\r\n color: [h.color.r, h.color.g, h.color.b, 1]\r\n };\r\n }\r\n },\r\n // Symbol 111 1 pluss mixin 1 uuu\r\n getDefaultSymbolBasedOnGeometryType(geometry) {\r\n switch (geometry.type) {\r\n case \"point\":\r\n return {\r\n type: \"web-style\",\r\n name: \"Pushpin 3\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n };\r\n\r\n case \"polyline\":\r\n return {\r\n type: \"simple-line\",\r\n style: \"solid\",\r\n width: 2,\r\n color: [32, 150, 243, 1]\r\n };\r\n\r\n case \"polygon\":\r\n return {\r\n type: \"simple-fill\",\r\n style: \"solid\",\r\n outline: { color: [0, 0, 0, 0.95] },\r\n color: [32, 150, 243]\r\n };\r\n\r\n default:\r\n }\r\n },\r\n // Graphics 111 1 uuu\r\n pasteGeometryIntoGraphicsLayer(payload) {\r\n loadModules([\"esri/Graphic\"]).then(([Graphic]) => {\r\n let graphicsLayer = Vue.prototype.$theMapObject.findLayerById(\r\n payload.layerID\r\n );\r\n let symbol = this.getDefaultSymbolBasedOnGeometryType(payload.geometry);\r\n let attributes = {\r\n name: \"\"\r\n };\r\n graphicsLayer.graphics.add(\r\n new Graphic({\r\n geometry: payload.geometry,\r\n symbol: symbol,\r\n attributes: attributes\r\n })\r\n );\r\n });\r\n },\r\n // Popup 111 3 uuu\r\n enablePopupGeometryHighlight(view) {\r\n view.popup.watch(\"selectedFeature\", gra => {\r\n if (gra) {\r\n let graCopy = gra.clone();\r\n\r\n removeAllGraphicsExceptLocationGraphic(view);\r\n\r\n if (graCopy.geometry && graCopy.geometry.type !== \"point\") {\r\n graCopy.symbol = this.getDefaultHighlightSymbol(\r\n view,\r\n graCopy.geometry.type\r\n );\r\n view.graphics.add(graCopy);\r\n }\r\n }\r\n });\r\n\r\n view.popup.watch(\"visible\", vis => {\r\n if (!vis) {\r\n removeAllGraphicsExceptLocationGraphic(view);\r\n }\r\n });\r\n },\r\n // Saving\r\n setMapExtent(extent) {\r\n this.saveExtent(extent); // could be problematic\r\n Vue.prototype.$theMapViewObject.extent = extent;\r\n if (typeof Vue.prototype.$theSceneViewObject !== \"undefined\") {\r\n Vue.prototype.$theSceneViewObject.extent = extent;\r\n }\r\n },\r\n // Saving\r\n setMapOrientation(orientation) {\r\n this.setCurrentOrientation(orientation);\r\n Vue.prototype.$theMapViewObject.rotation = orientation;\r\n },\r\n // Saving\r\n updateMapFromSavedSettings(savedMapDefinition) {\r\n if (savedMapDefinition.hasOwnProperty(\"extent\")) {\r\n this.setMapExtent(savedMapDefinition.extent);\r\n }\r\n\r\n if (savedMapDefinition.hasOwnProperty(\"orientation\")) {\r\n this.setMapOrientation(savedMapDefinition.orientation);\r\n }\r\n\r\n if (\r\n savedMapDefinition.hasOwnProperty(\"is3d\") &&\r\n savedMapDefinition.is3d &&\r\n savedMapDefinition.hasOwnProperty(\"camera\")\r\n ) {\r\n switchMapTo3d(savedMapDefinition.camera);\r\n } else {\r\n switchMapTo2d();\r\n }\r\n\r\n this.removeAllMapProfiles(true);\r\n\r\n if (savedMapDefinition.hasOwnProperty(\"basemap\")) {\r\n this.setBasemap(\r\n this.basemaps.find(aBasemap => {\r\n return aBasemap.id === savedMapDefinition.basemap.id;\r\n })\r\n );\r\n }\r\n },\r\n // Saving - flytt ut\r\n addSavedMapToLastVisitedMaps(savedMap) {\r\n this.addLastVisitedMap({\r\n id: savedMap.attributes.GlobalID,\r\n hash: null,\r\n title: savedMap.attributes.tittel\r\n });\r\n },\r\n // Saving xx\r\n addProfilesFromSavedMap(savedMapDefinition) {\r\n const addProfilePromise = profile =>\r\n this.addSingleProfileFromSavedMap(profile).then(() => {});\r\n\r\n // Fjerner potensielle duplikater\r\n let uniqueAddedProfiles = savedMapDefinition.addedProfiles.filter(\r\n (v, i, a) => a.findIndex(t => t.id === v.id) === i\r\n );\r\n\r\n // Sjekker om fotolag er lagt til\r\n let hasFoto = uniqueAddedProfiles.findIndex(function(addedProfile) {\r\n return addedProfile.id === \"foto\";\r\n });\r\n\r\n // Aktivér foto hvis lagt til\r\n if (hasFoto > -1) {\r\n uniqueAddedProfiles.splice(hasFoto, 1);\r\n this.setPhotoStreamIsActivated(true);\r\n }\r\n // Sequentially resolve promises\r\n uniqueAddedProfiles\r\n .reduce(\r\n (previousPromise, nextID) =>\r\n previousPromise.then(results =>\r\n addProfilePromise(nextID).then(result => {\r\n this.setLayersAreLoading(false);\r\n return results.concat(result);\r\n })\r\n ),\r\n Promise.resolve([])\r\n )\r\n .then(() => {\r\n Object.keys(savedMapDefinition.layerDefinitionExpressions).forEach(\r\n item => {\r\n this.updateLayerDefinitionExpression(\r\n savedMapDefinition.layerDefinitionExpressions[item]\r\n );\r\n }\r\n );\r\n });\r\n },\r\n // Saving 111 2 uuu\r\n openSavedMap(savedMapAndSettings) {\r\n let savedMapDefinition = getSavedMapDefinition(savedMapAndSettings);\r\n\r\n this.updateMapFromSavedSettings(savedMapDefinition);\r\n\r\n this.setCurrentlyOpenedProject(savedMapAndSettings.map);\r\n\r\n this.setPhotoStreamIsActivated(false);\r\n\r\n this.addSavedMapToLastVisitedMaps(savedMapAndSettings.map);\r\n\r\n this.addProfilesFromSavedMap(savedMapDefinition);\r\n\r\n savedMapAndSettings.allowSave ? this.enableSave() : this.disableSave();\r\n\r\n // this.setLayersAreLoading(false);\r\n },\r\n // Saving xx\r\n addSingleProfileFromSavedMap(profileFromSavedMap) {\r\n return new Promise((resolve, reject) => {\r\n let profileData = this.mergeSavedMapProfileWithOfficialProfile(\r\n profileFromSavedMap\r\n );\r\n\r\n if (profileData.id === \"bygninger3d\") {\r\n this.setBuildingsLayerAdded(true);\r\n }\r\n\r\n // if (profileData.id === \"foto\") {\r\n // this.setPhotoStreamIsActivated(true);\r\n // }\r\n\r\n this.addMapProfile(profileData)\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n // Saving 111 5 uuu\r\n saveMap(projectMetadata) {\r\n return new Promise((resolve, reject) => {\r\n let saveableFeature = this.getMapAsSaveableFeature(projectMetadata);\r\n\r\n SaveService.saveMap(saveableFeature, this.currentlyOpenedProject)\r\n .then(result => {\r\n if (this.currentlyOpenedProject == null) {\r\n // Sett GlobalID og OBJECTID hvis nytt kart\r\n saveableFeature.attributes.GlobalID =\r\n result.addFeatureResults[0].globalId;\r\n saveableFeature.attributes.OBJECTID =\r\n result.addFeatureResults[0].objectId;\r\n\r\n if (!projectMetadata.attributes.midlertidig) {\r\n this.setCurrentlyOpenedProject(saveableFeature);\r\n }\r\n\r\n this.addLastVisitedMap({\r\n id: saveableFeature.attributes.GlobalID.toLowerCase(),\r\n hash: saveableFeature.attributes.GlobalID.toLowerCase().hashCode(),\r\n title: saveableFeature.attributes.tittel\r\n });\r\n this.enableSave();\r\n }\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Saving\r\n getMapAsSaveableFeature(projectMetadata) {\r\n let mapObjectJSON = this.getCurrentMapAsJSON();\r\n\r\n let geometry = Vue.prototype.$theMapViewObject.center;\r\n\r\n return {\r\n geometry: geometry,\r\n attributes: {\r\n JSON: mapObjectJSON,\r\n eier:\r\n this.userAccount !== null\r\n ? this.userAccount.accountIdentifier\r\n : null,\r\n tittel: projectMetadata.attributes.tittel,\r\n Offentlig: projectMetadata.attributes.Offentlig,\r\n redigering: projectMetadata.attributes.redigering,\r\n midlertidig: projectMetadata.attributes.midlertidig\r\n }\r\n };\r\n },\r\n // Saving xx\r\n getCurrentMapAsJSON() {\r\n let addedMapProfiles = this.getCurrentlyAddedMapProfiles();\r\n\r\n let mapObject = {\r\n extent: this.extent,\r\n is3d: this.is3d,\r\n orientation: this.currentOrientation,\r\n addedProfiles: addedMapProfiles,\r\n basemap: this.selectedBasemap,\r\n layerDefinitionExpressions: this.layerDefinitionExpressions\r\n };\r\n\r\n if (this.is3d) {\r\n mapObject.camera = Vue.prototype.$theSceneViewObject.camera.clone();\r\n } else {\r\n mapObject.viewpoint = Vue.prototype.$theMapViewObject.viewpoint.clone();\r\n }\r\n\r\n return JSON.stringify(mapObject);\r\n },\r\n // Saving xx\r\n getCurrentlyAddedMapProfiles() {\r\n let addedMapProfiles = [];\r\n this.mapProfiles.forEach(mapProfile => {\r\n let profileDefinition = {\r\n id: mapProfile.id,\r\n visible: mapProfile.visible,\r\n opacity: mapProfile.opacity,\r\n open: mapProfile.open\r\n };\r\n if (mapProfile.type === \"graphicsLayer\") {\r\n profileDefinition.graphics = getLayerGraphicsAsJSON(mapProfile.id);\r\n profileDefinition.appTitle = mapProfile.appTitle;\r\n profileDefinition.Temaforklaring = mapProfile.Temaforklaring;\r\n }\r\n if (mapProfile.type === \"imageryLayer\") {\r\n profileDefinition.date = mapProfile.date;\r\n }\r\n\r\n if (mapProfile.type === \"mapImageLayer\") {\r\n profileDefinition.showAtStartupLayers = this.getMapProfilesVisibleSublayerIndexes(\r\n mapProfile.id\r\n );\r\n }\r\n addedMapProfiles.push(profileDefinition);\r\n });\r\n return addedMapProfiles;\r\n },\r\n // Saving 111 2 uuu\r\n getProjectByID(projectID) {\r\n // f.eks. da01e76f-9c43-4f4f-8c19-e83d10287107\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/tasks/QueryTask\", \"esri/tasks/support/Query\"])\r\n .then(function([QueryTask, Query]) {\r\n let queryTask = new QueryTask({\r\n url: process.env.VUE_APP_MAP_SAVE_SERVICE_URL,\r\n requestOptions: {\r\n cacheBust: true\r\n }\r\n });\r\n let query = new Query();\r\n query.returnGeometry = false;\r\n query.outFields = [\"*\"];\r\n query.where = \"GlobalID = '\" + projectID + \"'\";\r\n\r\n queryTask.execute(query).then(function(results) {\r\n resolve(results.features[0]);\r\n });\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n // Profiles uuu\r\n zoomToQuery(url, query) {\r\n // f.eks. http://localhost:8080/tema/kvikkleire?layer=0&field=skredOmrID&value=123&buffer=1000\r\n getFirstValidExtentFromURLQuery({\r\n url: url,\r\n layer: query.layer,\r\n field: query.field,\r\n value: query.value\r\n }).then(extent => {\r\n let buffer = parseInt(query.buffer);\r\n if (buffer) {\r\n extent.xmin = extent.xmin - buffer;\r\n extent.ymin = extent.ymin - buffer;\r\n extent.xmax = extent.xmax + buffer;\r\n extent.ymax = extent.ymax + buffer;\r\n }\r\n Vue.prototype.$theMapViewObject.extent = extent;\r\n });\r\n },\r\n // Profiles\r\n getAddedProfile(addedProfileID, addedProfilesWithDisabledVisibility) {\r\n let addedProfileMetadata = this.getMapProfile(addedProfileID);\r\n let visible = true;\r\n let open = true;\r\n if (addedProfilesWithDisabledVisibility) {\r\n if (addedProfilesWithDisabledVisibility.includes(addedProfileID)) {\r\n visible = false;\r\n open = false;\r\n }\r\n }\r\n return {\r\n id: addedProfileID,\r\n showInfoMenu: false,\r\n visible: visible,\r\n type: addedProfileMetadata.type,\r\n open: open,\r\n canBeDownloaded: addedProfileMetadata.canBeDownloaded\r\n };\r\n },\r\n // Profiles\r\n addAddedProfilesIfPresent(profile) {\r\n return new Promise((resolve, reject) => {\r\n if (profile.AddedProfiles) {\r\n let promises = [];\r\n profile.AddedProfiles.forEach(addedProfileID => {\r\n let addedProfile = this.getAddedProfile(\r\n addedProfileID,\r\n profile.DisableVisibilityOfAddedProfiles\r\n );\r\n promises.push(this.addMapProfile(addedProfile, false));\r\n });\r\n Promise.all(promises.reverse())\r\n .then(results => {\r\n results.forEach(result => {\r\n addLayerToMap(result.layer);\r\n this.addMapProfileToState(result.profile);\r\n this.setLayersAreLoading(false);\r\n });\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n },\r\n // Profiles\r\n setCustomLogoAndColorIfDefined(profile) {\r\n if (profile.hasOwnProperty(\"logo\")) {\r\n this.setLogoImagePath(profile.logo);\r\n }\r\n if (profile.hasOwnProperty(\"startupDialog\")) {\r\n const dialogAlreadyShownSessionStorageName =\r\n profile.id + \"-startup-dialog-shown\";\r\n if (!sessionStorage.getItem(dialogAlreadyShownSessionStorageName)) {\r\n profile.startupDialog.active = true;\r\n this.setStartupDialog(profile.startupDialog);\r\n sessionStorage.setItem(dialogAlreadyShownSessionStorageName, true);\r\n }\r\n }\r\n if (profile.hasOwnProperty(\"color\")) {\r\n Vue.prototype.$vuetify.theme.primary = profile.color;\r\n }\r\n },\r\n zoomToPoint(zoomToOptions) {\r\n loadModules([\"esri/geometry/Point\", \"esri/Graphic\"]).then(function([\r\n Point,\r\n Graphic\r\n ]) {\r\n let point = new Point({\r\n x: zoomToOptions.x,\r\n y: zoomToOptions.y,\r\n spatialReference: {\r\n wkid: zoomToOptions.wkid\r\n }\r\n });\r\n\r\n Vue.prototype.$theMapViewObject.goTo({\r\n target: point,\r\n zoom: zoomToOptions.zoom\r\n });\r\n\r\n const pointGraphic = new Graphic({\r\n geometry: point\r\n });\r\n\r\n // Add the graphics to the view's graphics layer\r\n Vue.prototype.$theMapViewObject.graphics.addMany([pointGraphic]);\r\n });\r\n },\r\n // Profiles 111 1 uuu\r\n addMapProfilesAndAddedProfiles(payload) {\r\n // use async here? is it necessary?\r\n this.setLayersAreLoading(true);\r\n payload.id = payload.id.toLowerCase();\r\n let profile = this.getMapProfile(payload.id);\r\n\r\n importProfileFile(payload.id)\r\n .then(file => {\r\n this.setCustomLogoAndColorIfDefined(file.profile);\r\n this.setMainThemeID(file.profile.id);\r\n document.title = file.profile.hovedTemaTitle\r\n ? file.profile.hovedTemaTitle\r\n : file.profile.appTitle;\r\n\r\n if (payload.zoomToQuery) {\r\n this.zoomToQuery(\r\n payload.zoomToQuery.useCountiesAndMunicipalities\r\n ? process.env.VUE_APP_COUNTIES_AND_MUNICIPALITIES_SERVICE\r\n : file.profile.serviceUrl + \"/\",\r\n payload.zoomToQuery\r\n );\r\n }\r\n if (payload.zoomToPoint) {\r\n this.zoomToPoint(payload.zoomToPoint);\r\n }\r\n if (payload.customAddedProfiles) {\r\n file.profile.AddedProfiles = payload.customAddedProfiles;\r\n }\r\n\r\n this.addAddedProfilesIfPresent(file.profile).then(() => {\r\n this.addMapProfile({\r\n id: payload.id,\r\n showInfoMenu: true,\r\n type: profile.type,\r\n canBeDownloaded: profile.canBeDownloaded\r\n }).then(() => {\r\n this.setLayersAreLoading(false);\r\n });\r\n });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setLayersAreLoading(false);\r\n if (payload.zoomToPoint) {\r\n this.zoomToPoint(payload.zoomToPoint);\r\n }\r\n });\r\n },\r\n // Profiles 111 1 uuu\r\n async duplicateGraphicsLayerAndAddToMap(graphicsLayerProfile) {\r\n let existingGraphicsLayer = getLayerByID(graphicsLayerProfile.id);\r\n\r\n const duplicateGraphicsLayerID = getUniqueLayerID();\r\n\r\n let duplicatedGraphicsLayer = await createGraphicsLayer({\r\n id: duplicateGraphicsLayerID\r\n });\r\n\r\n existingGraphicsLayer.graphics.items.forEach(graphic => {\r\n duplicatedGraphicsLayer.graphics.add(graphic.clone());\r\n });\r\n\r\n addLayerToMap(duplicatedGraphicsLayer);\r\n\r\n let duplicateGraphicsLayerProfile = getDuplicateLayerProfile(\r\n duplicateGraphicsLayerID,\r\n graphicsLayerProfile.appTitle,\r\n graphicsLayerProfile.Temaforklaring\r\n );\r\n\r\n this.addMapProfileToState(duplicateGraphicsLayerProfile);\r\n },\r\n // Metadata 111 2 uuu\r\n loadMetadata(layer) {\r\n return new Promise((resolve, reject) => {\r\n MetadataService.loadMetadata(layer)\r\n .then(newLayerMetadata => {\r\n if (newLayerMetadata === false) {\r\n resolve(false);\r\n }\r\n this.addLayerMetadata(newLayerMetadata);\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n this.setSnack(\"Metadata kunne ikke lastes.\");\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Profiles uuu\r\n addProxyRule(profile) {\r\n loadModules([\"esri/core/urlUtils\"]).then(([urlUtils]) => {\r\n let proxyUrl = \"\";\r\n if (\r\n profile.hasOwnProperty(\"OnlyAccessibleViaIntranet\") &&\r\n profile.OnlyAccessibleViaIntranet\r\n ) {\r\n proxyUrl = process.env.VUE_APP_INTERNAL_PROXY_URL;\r\n } else {\r\n proxyUrl = process.env.VUE_APP_PROXY_URL;\r\n }\r\n urlUtils.addProxyRule({\r\n urlPrefix: profile.serviceUrl,\r\n proxyUrl: proxyUrl\r\n });\r\n });\r\n },\r\n // Profiles 111 8 pluss mixin 6 uuu\r\n addMapProfile(options, addToMap = true) {\r\n return new Promise((resolve, reject) => {\r\n if (this.isGraphicsProfile(options)) {\r\n this.createAndAddGraphicsLayer(options).then(graphicsLayer => {\r\n resolve(graphicsLayer);\r\n });\r\n } else {\r\n importProfileFile(options.id)\r\n .then(profileFile => {\r\n let profile = mergeProfileOptions(\r\n cloneObject(profileFile.profile),\r\n options\r\n );\r\n if (options.visible || typeof options.visible === \"undefined\") {\r\n this.setCustomLogoAndColorIfDefined(profile);\r\n }\r\n\r\n this.addProxyRuleIfProfileIsInternal(profile);\r\n\r\n createMapLayer(\r\n {\r\n is3d: this.is3d,\r\n isConnectedToIntranet: this.isConnectedToIntranet,\r\n type: options.type\r\n },\r\n profile\r\n ).then(layer => {\r\n if (options.type === \"mapImageLayer\") {\r\n this.setProfileActualVisibleSublayers({\r\n id: profile.id,\r\n VisibleLayers: profile.VisibleLayers\r\n });\r\n }\r\n if (addToMap) {\r\n addLayerToMap(layer);\r\n placePhotoLayerOnTopIfActive();\r\n\r\n this.addMapProfileToState(profile);\r\n\r\n if (options.showInfoMenu) {\r\n this.setSelectedTheme(profile.id);\r\n }\r\n resolve(layer);\r\n } else {\r\n resolve({ profile: profile, layer: layer });\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n this.setSnack(\"Temaet kunne ikke hentes fra serveren.\");\r\n console.error(error);\r\n reject(error);\r\n });\r\n }\r\n });\r\n },\r\n // Profiles\r\n isGraphicsProfile(profile) {\r\n return (\r\n !this.profiles.hasOwnProperty(profile.id) ||\r\n profile.hasOwnProperty(\"graphics\")\r\n );\r\n },\r\n // Profiles\r\n addProxyRuleIfProfileIsInternal(profile) {\r\n if (\r\n (profile.hasOwnProperty(\"OnlyAccessibleViaIntranet\") &&\r\n profile.OnlyAccessibleViaIntranet) ||\r\n (profile.hasOwnProperty(\"useProxy\") && profile.useProxy)\r\n ) {\r\n this.addProxyRule(profile);\r\n }\r\n },\r\n // Profiles\r\n async createAndAddGraphicsLayer(options) {\r\n return new Promise(async (resolve, reject) => {\r\n options.open = options.open ? options.open : true;\r\n options.opacity = options.opacity ? options.opacity : 1.0;\r\n options.visible = options.visible ? options.visible : true;\r\n\r\n let existingGraphicsLayer = getLayerByID(options.id);\r\n\r\n if (!existingGraphicsLayer) {\r\n if (options.hasOwnProperty(\"graphics\")) {\r\n try {\r\n options.graphics = await getHydratedGraphics(options.graphics);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n }\r\n\r\n try {\r\n existingGraphicsLayer = await createGraphicsLayer(options);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n\r\n addLayerToMap(existingGraphicsLayer);\r\n }\r\n\r\n this.addMapProfileToState(getGraphicslayerMapProfile(options));\r\n\r\n resolve(existingGraphicsLayer);\r\n });\r\n },\r\n // Profiles 111 1 uuu\r\n updateMapProfileDate(updateInfo) {\r\n let exisitingLayer = this.theMap.findLayerById(updateInfo.id);\r\n exisitingLayer.mosaicRule.where =\r\n \"opptakstidspunkt >= date '\" +\r\n updateInfo.newDate +\r\n \" 00:00:00' AND opptakstidspunkt <= date '\" +\r\n updateInfo.newDate +\r\n \" 23:59:59'\";\r\n exisitingLayer.refresh();\r\n let index = this.mapProfiles.findIndex(\r\n profile => profile.id === updateInfo.id\r\n );\r\n this.setMapProfileDate({\r\n index: index,\r\n newDate: updateInfo.newDate\r\n });\r\n },\r\n // Profiles 111 1 pluss mixin 1 uuu\r\n updateLayerDefinitionExpression(payload) {\r\n let topLayer = Vue.prototype.$theMapObject.findLayerById(\r\n payload.parentLayerID\r\n );\r\n let sublayer = topLayer.allSublayers.items.find(item => {\r\n return item.id == payload.sublayerIndex;\r\n });\r\n\r\n sublayer.definitionExpression = payload.sqlString;\r\n this.setLayerDefinitionExpression(payload);\r\n },\r\n // Profiles 111 4 pluss mixin 2 uuu\r\n removeMapProfile(id) {\r\n let exisitingLayer = this.theMap.findLayerById(id);\r\n this.theMap.remove(exisitingLayer);\r\n this.removeMapProfileFromState(id);\r\n\r\n if (this.selectedTheme === id) {\r\n this.setShowInfoMenu(false);\r\n }\r\n },\r\n // Profiles 111 3 pluss mixin 1 uuu\r\n removeAllMapProfiles(removeBuildings) {\r\n let mapProfilesToRemove = [];\r\n this.mapProfiles.forEach(profile => {\r\n if (\r\n (profile.id !== \"bygninger3d\" || removeBuildings) &&\r\n profile.id !== \"foto\"\r\n ) {\r\n mapProfilesToRemove.push(profile.id);\r\n }\r\n });\r\n mapProfilesToRemove.forEach(id => {\r\n this.removeMapProfile(id);\r\n });\r\n },\r\n // Basic 111 1 pluss mixin 1 uuu\r\n saveExtent(extent) {\r\n if (Vue.prototype.$theMapViewObject) {\r\n Vue.$cookies.set(\"extent\", JSON.stringify(extent));\r\n this.setExtent(extent);\r\n this.setCurrentMapScale(\r\n this.is3d && Vue.prototype.$theSceneViewObject\r\n ? Vue.prototype.$theSceneViewObject.scale\r\n : Vue.prototype.$theMapViewObject.scale\r\n );\r\n }\r\n },\r\n // Basic 111 3 uuu\r\n setMapLayerVisibility(payload) {\r\n let layer = this.theMap.findLayerById(payload.profile.id);\r\n\r\n if (layer) {\r\n layer.visible = payload.visible;\r\n }\r\n\r\n if (payload.visible) {\r\n this.setCustomLogoAndColorIfDefined(payload.profile);\r\n }\r\n\r\n this.setProfileVisibility(payload);\r\n },\r\n // Basic 111 2 uuu\r\n setMapLayerOpacity(payload) {\r\n let layer = Vue.prototype.$theMapObject.findLayerById(payload.id);\r\n layer.opacity = payload.opacity;\r\n let mapProfileIndex = this.getAddedMapProfileIndex(payload.id);\r\n this.setMapProfileOpacity({\r\n mapProfileIndex: mapProfileIndex,\r\n opacity: payload.opacity\r\n });\r\n },\r\n // Basic 111 uuu\r\n loadLayerInfo(layer) {\r\n return loadModules([\"esri/core/urlUtils\"]).then(([urlUtils]) => {\r\n const proxyRule = urlUtils.getProxyRule(layer.url);\r\n let getUrl = layer.url;\r\n if (proxyRule) {\r\n getUrl = proxyRule.proxyUrl + getUrl;\r\n }\r\n\r\n return Vue.axios.get(getUrl + \"?f=json\").then(response => {\r\n let info = response.data;\r\n info.url = layer.url;\r\n this.addLayerInfo(info);\r\n });\r\n });\r\n },\r\n // Basic 111 1 uuu\r\n zoomTo(extent) {\r\n Vue.prototype.$theMapViewObject.goTo(extent);\r\n }\r\n }\r\n};\r\n\r\nexport default mappingMixin;\r\n","import { loadModules } from \"esri-loader\";\r\n\r\nconst extractShapeFileFromGraphicJSON = graphicsAsJsonString => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/request\"]).then(([esriRequest]) => {\r\n let request = {\r\n format: \"shp\",\r\n featureSets: graphicsAsJsonString,\r\n f: \"json\"\r\n };\r\n\r\n esriRequest(process.env.VUE_APP_EXTRACT_SHAPE_SERVICE_URL, {\r\n query: request,\r\n useProxy: true,\r\n responseType: \"json\"\r\n })\r\n .then(response => {\r\n resolve(response.data.href);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n });\r\n};\r\n\r\nconst getGraphicsAsJsonString = async graphics => {\r\n let realJson = [];\r\n for (let graphicIndex = 0; graphicIndex < graphics.length; graphicIndex++) {\r\n let graphic = graphics[graphicIndex];\r\n let graphicJson = await getGraphicAsJson(graphic);\r\n realJson.push(graphicJson);\r\n }\r\n\r\n return JSON.stringify(realJson);\r\n};\r\n\r\nconst getGraphicAsJson = async graphic => {\r\n graphic = await makeGraphicValid(graphic);\r\n\r\n if (graphic.symbol && graphic.symbol.font) {\r\n graphic.attributes[\"size\"] = graphic.symbol.font.size;\r\n }\r\n\r\n let graphicJson = graphic.toJSON();\r\n delete graphicJson.symbol;\r\n let geometryType = graphic.geometry.type;\r\n\r\n geometryType = capitalizeString(geometryType);\r\n\r\n let graphicjson = {\r\n name: geometryType,\r\n featureSet: {\r\n spatialReference: {\r\n wkid: 25833\r\n },\r\n geometryType: \"esriGeometry\" + geometryType,\r\n features: [graphicJson]\r\n }\r\n };\r\n\r\n return graphicjson;\r\n};\r\n\r\nconst capitalizeString = stringToBeCapitalized => {\r\n return (\r\n stringToBeCapitalized.charAt(0).toUpperCase() +\r\n stringToBeCapitalized.slice(1)\r\n );\r\n};\r\n\r\nconst makeGraphicValid = async graphic => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/Graphic\"])\r\n .then(async ([Graphic]) => {\r\n if (!(graphic instanceof Graphic)) {\r\n let validGeometry = await createValidGeometry(graphic.geometry);\r\n\r\n let tempGraphic = new Graphic({\r\n geometry: validGeometry,\r\n attributes: graphic.attributes\r\n });\r\n resolve(tempGraphic);\r\n } else {\r\n resolve(graphic);\r\n }\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n};\r\n\r\nconst createValidGeometry = geometryJson => {\r\n return loadModules([\r\n \"esri/geometry/Polygon\",\r\n \"esri/geometry/Polyline\",\r\n \"esri/geometry/Point\"\r\n ]).then(([Polygon, Polyline, Point]) => {\r\n if (geometryJson.rings) {\r\n return new Polygon({\r\n rings: geometryJson.rings,\r\n spatialReference: { wkid: 25833 }\r\n });\r\n } else if (geometryJson.paths) {\r\n return new Polyline({\r\n paths: geometryJson.paths,\r\n spatialReference: { wkid: 25833 }\r\n });\r\n } else {\r\n return new Point({\r\n x: geometryJson.x,\r\n y: geometryJson.y,\r\n spatialReference: { wkid: 25833 }\r\n });\r\n }\r\n });\r\n};\r\n\r\nexport {\r\n extractShapeFileFromGraphicJSON,\r\n getGraphicsAsJsonString,\r\n createValidGeometry\r\n};\r\n","import { mapActions } from \"vuex\";\r\nimport TableService from \"@/services/table.service\";\r\nimport { Parser } from \"json2csv\";\r\nimport {\r\n getGraphicsAsJsonString,\r\n extractShapeFileFromGraphicJSON,\r\n createValidGeometry\r\n} from \"./extractLogic\";\r\n\r\nconst extractMixin = {\r\n data: function() {\r\n return {};\r\n },\r\n methods: {\r\n ...mapActions([\"setSnack\"]),\r\n downloadGraphicsAsOtherFormat(graphics, format) {\r\n let objectIDsToBeExported = [];\r\n\r\n for (let i = 0; i < graphics.length; i++) {\r\n objectIDsToBeExported.push(graphics[i].attributes.OBJECTID);\r\n }\r\n\r\n TableService.queryArcGISServerLayer(\r\n this.layer.url +\r\n \"/\" +\r\n this.layer.id +\r\n \"/query?where=OBJECTID IN (\" +\r\n objectIDsToBeExported.join(\",\") +\r\n \")\" +\r\n \"&outFields=*&f=\" +\r\n format,\r\n {\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }\r\n ).then(response => {\r\n this.exportFileViaFileReader(response.data, format);\r\n });\r\n },\r\n exportFileViaFileReader(data, format) {\r\n let fr = new FileReader();\r\n\r\n fr.onload = evt => {\r\n try {\r\n let escapedString = evt.target.result.replace(/\"/g, '\"');\r\n let json = JSON.parse(escapedString);\r\n if (json.hasOwnProperty(\"error\")) {\r\n this.setSnack(\r\n \"Det oppstod en feil under eksporten. Prøv et annet format eller kontakt oss pÃ¥ epost.\"\r\n );\r\n return;\r\n } else {\r\n throw \"File ok\";\r\n }\r\n } catch (error) {\r\n let fileURL = window.URL.createObjectURL(new Blob([data]));\r\n let fileLink = document.createElement(\"a\");\r\n\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", \"file.\" + format);\r\n document.body.appendChild(fileLink);\r\n\r\n fileLink.click();\r\n }\r\n };\r\n fr.readAsText(new Blob([data]));\r\n },\r\n async downloadGraphicsAsShapeFile(graphics) {\r\n let graphicsAsJsonString = await getGraphicsAsJsonString(graphics);\r\n\r\n extractShapeFileFromGraphicJSON(graphicsAsJsonString)\r\n .then(urlToExtractedShapefile => {\r\n document.location.href = urlToExtractedShapefile;\r\n })\r\n .catch(error => {\r\n this.setSnack(\"Eksport til Shape feilet.\");\r\n console.error(error);\r\n });\r\n },\r\n getValidGeometry(geometryJson) {\r\n return createValidGeometry(geometryJson);\r\n },\r\n downloadGraphicsAsCSVFile(headers, graphics) {\r\n let csvHeaders = {};\r\n let items = [];\r\n\r\n for (let headerIndex in this.headers) {\r\n let header = this.headers[headerIndex];\r\n\r\n csvHeaders[header.value] = header.text;\r\n }\r\n\r\n for (let itemIndex in graphics) {\r\n let attributes = {};\r\n let item = graphics[itemIndex];\r\n for (let headerIndex in headers) {\r\n let header = headers[headerIndex];\r\n if (header.domain) {\r\n let codedValue = this.getCodedValue(\r\n header.domain,\r\n item.attributes[header.value]\r\n );\r\n attributes[header.value] = codedValue;\r\n } else {\r\n attributes[header.value] = item.attributes[header.value];\r\n }\r\n }\r\n\r\n items.push(attributes);\r\n }\r\n\r\n this.saveCSVFile(csvHeaders, items, \"export\");\r\n },\r\n getCodedValue(domain, value) {\r\n let result = domain.codedValues.find(\r\n codedValue => codedValue.code === value\r\n );\r\n\r\n if (typeof result === \"undefined\") {\r\n return value;\r\n } else {\r\n return result.name;\r\n }\r\n },\r\n saveCSVFile(headers, items, fileTitle) {\r\n try {\r\n const parser = new Parser({\r\n fields: headers ? Object.keys(headers) : Object.keys(items[1]),\r\n delimiter: \";\"\r\n });\r\n const csvtest = \"\\uFEFF\" + parser.parse(items);\r\n\r\n const exportedFilenmae = fileTitle + \".csv\" || \"export.csv\";\r\n\r\n const blob = new Blob([csvtest], { type: \"text/csv;charset=utf-8;\" });\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, exportedFilenmae);\r\n } else {\r\n const link = document.createElement(\"a\");\r\n if (link.download !== undefined) {\r\n // feature detection\r\n // Browsers that support HTML5 download attribute\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute(\"href\", url);\r\n link.setAttribute(\"download\", exportedFilenmae);\r\n link.style.visibility = \"hidden\";\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n },\r\n convertToCSV(objArray) {\r\n const array =\r\n typeof objArray != \"object\" ? JSON.parse(objArray) : objArray;\r\n let str = \"\";\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n let line = \"\";\r\n for (let index in array[i]) {\r\n if (line != \"\") line += \";\";\r\n\r\n line += array[i][index];\r\n }\r\n\r\n str += line + \"\\r\\n\";\r\n }\r\n\r\n return str;\r\n }\r\n }\r\n};\r\n\r\nexport default extractMixin;\r\n","module.exports = __webpack_public_path__ + \"img/tilstand_hymo_kvalitetselement.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/snoskredaktsomhet.5d91062d.jpg\";","module.exports = __webpack_public_path__ + \"img/jordflomskredaktsomhet.abcf0b08.jpg\";","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!./LayerListToolbar.vue?vue&type=style&index=0&id=2e9ec162&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/svvkvikkleire.2d300bb9.jpg\";","module.exports = __webpack_public_path__ + \"img/flomvern_smvf.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/transport_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/skredfaresone.4bae6692.jpg\";","module.exports = __webpack_public_path__ + \"img/fjellskred.a91f4e1c.jpg\";","module.exports = __webpack_public_path__ + \"img/fiskeri_akvakultur_paavirkning_vannuttak_hymo.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/vannkraft_paavirkning_vannuttak_overfoering_dammer.9041733c.jpg\";","module.exports = __webpack_public_path__ + \"img/vannforekomster.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/skrehendelser-tid.6b1c5c6b.jpg\";","module.exports = __webpack_public_path__ + \"img/klimaendringer_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/hydrologiskpalegg.e3a86d2d.jpg\";","module.exports = __webpack_public_path__ + \"img/breatlas.38761e03.jpg\";","module.exports = __webpack_public_path__ + \"img/turismerekreasjon_smvf.c4bf1a24.jpg\";","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&id=79c5cd6c&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/vindkraftverk.0a2f0c9f.jpg\";","export default {\r\n DRAW_SYMBOLS_POLYGONS: [\r\n { type: \"simple-fill\", style: \"solid\", color: [92, 92, 92] },\r\n { type: \"simple-fill\", style: \"backward-diagonal\" },\r\n { type: \"simple-fill\", style: \"cross\" },\r\n { type: \"simple-fill\", style: \"vertical\" },\r\n { type: \"simple-fill\", style: \"forward-diagonal\" },\r\n { type: \"simple-fill\", style: \"horizontal\" }\r\n ],\r\n DRAW_SYMBOLS_LINES: [\r\n {\r\n type: \"simple-line\",\r\n style: \"solid\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n { type: \"simple-line\", style: \"dot\", width: 1, color: [92, 92, 92, 1] },\r\n {\r\n type: \"simple-line\",\r\n style: \"dash\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"dash-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"long-dash\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"long-dash-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"long-dash-dot-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"short-dash\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"short-dash-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"short-dash-dot-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"short-dot\",\r\n width: 1,\r\n color: [92, 92, 92, 1]\r\n },\r\n {\r\n type: \"simple-line\",\r\n style: \"short-dot\",\r\n width: 3,\r\n color: [92, 92, 92, 1]\r\n }\r\n ],\r\n DRAW_SYMBOLS_POINTS: [\r\n {\r\n type: \"web-style\",\r\n name: \"Pushpin 3\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Pushpin 1\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Airport\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Circle\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Train\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"School\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Restaurant\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Pushpin 5\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Pushpin 4\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Pushpin 2\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n\r\n {\r\n type: \"web-style\",\r\n name: \"Police\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Parking\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Diamond\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Diamond Wide\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Hexagon\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Border Crossing\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Bus\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Campground\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Octagon\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Rounded Square\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Square\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Star\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Centered Triangle\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"City Hall\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Coffee\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Ferry\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Fire\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Flag\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Hiking\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Hospital\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"House\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Industrial Complex\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Military Base\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Mountain\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"web-style\",\r\n name: \"Museum\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n\r\n {\r\n type: \"web-style\",\r\n name: \"Park\",\r\n portal: { url: \"https://www.arcgis.com\" },\r\n styleName: \"EsriIconsStyle\"\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"2px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 12\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 12\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 153, 51, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 12\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 255, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 12\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 255, 102, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 12\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"2px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 20\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 20\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 153, 51, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 20\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 255, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 20\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 255, 102, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 20\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"2px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 30\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 0, 0, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 30\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 153, 51, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 30\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [0, 0, 255, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 30\r\n }\r\n },\r\n {\r\n type: \"text\",\r\n color: [255, 255, 102, 1],\r\n haloColor: \"white\",\r\n haloSize: \"1px\",\r\n text: \"Aa\",\r\n xoffset: 0,\r\n yoffset: -3,\r\n font: {\r\n size: 30\r\n }\r\n }\r\n ]\r\n};\r\n","import constants from \"./constants\";\r\n\r\nexport default {\r\n appTitle: process.env.VUE_APP_TITLE,\r\n appHelpEmailSubject: process.env.VUE_APP_HELP_EMAIL_SUBJECT,\r\n appPublicUrl: process.env.VUE_APP_PUBLIC_URL,\r\n userAccount: null,\r\n userIsLoggedIn: false,\r\n userLoginFailed: false,\r\n logoImagePath: \"nvelogo.svg\",\r\n pointStyles: constants.DRAW_SYMBOLS_POINTS,\r\n lineStyles: constants.DRAW_SYMBOLS_LINES,\r\n polygonStyles: constants.DRAW_SYMBOLS_POLYGONS,\r\n favourites: [],\r\n showAppDrawer: false,\r\n showSideMenu: true,\r\n showMiniDrawer: true,\r\n showHovedforklaring: false,\r\n mainThemeID: null,\r\n currentMapScale: 0,\r\n activeExclusiveToolName: \"layers\",\r\n showInfoMenu: false,\r\n selectedTheme: {},\r\n showImageGallery: false,\r\n explorerVisible: false,\r\n sidebarHasOpened: false,\r\n coordinatesVisible: false,\r\n measureActive: false,\r\n sceneViewLoaded: false,\r\n drawingActive: false,\r\n selectedPrintWidth: 1050,\r\n selectedPrintHeight: 605,\r\n selectedPageFormat: {\r\n title: \"A4 Liggende\",\r\n id: \"a4-landscape\",\r\n width: 1050,\r\n height: 605,\r\n },\r\n selectedPrintScale: {\r\n level: 1,\r\n resolution: 78271.51696399994,\r\n scale: 2.95828763795777e8,\r\n },\r\n bottomTabsHeight: 0,\r\n is3d: false,\r\n showTabs: false,\r\n mapHeight: 100,\r\n visibleTools: [],\r\n tools: {\r\n layers: {\r\n icon: \"mdi-layers\",\r\n title: \"Kartlag\",\r\n active: true,\r\n exclusive: true,\r\n isMapTool: false,\r\n showInTopToolbar: true,\r\n useSidebarOnMobile: true,\r\n },\r\n search: {\r\n icon: \"mdi-magnify\",\r\n title: \"Søk\",\r\n active: false,\r\n exclusive: true,\r\n isMapTool: false,\r\n showInTopToolbar: true,\r\n useSidebarOnMobile: true,\r\n },\r\n drawing: {\r\n icon: \"mdi-pencil\",\r\n title: \"Tegn i kartet\",\r\n active: false,\r\n exclusive: false,\r\n isMapTool: true,\r\n showInTopToolbar: true,\r\n useSidebarOnMobile: false,\r\n },\r\n print: {\r\n icon: \"mdi-printer\",\r\n title: \"Skriv ut\",\r\n active: false,\r\n exclusive: true,\r\n isMapTool: false,\r\n showInTopToolbar: true,\r\n useSidebarOnMobile: false,\r\n },\r\n measure: {\r\n icon: \"mdi-ruler\",\r\n title: \"MÃ¥leverktøy\",\r\n active: false,\r\n exclusive: false,\r\n isMapTool: true,\r\n showInTopToolbar: true,\r\n useSidebarOnMobile: false,\r\n },\r\n bookmarks: {\r\n icon: \"mdi-bookmark-outline\",\r\n title: \"Bokmerker\",\r\n active: false,\r\n exclusive: true,\r\n isMapTool: false,\r\n showInTopToolbar: false,\r\n useSidebarOnMobile: true,\r\n },\r\n share: {\r\n icon: \"mdi-share-variant\",\r\n title: \"Del kartet\",\r\n active: false,\r\n exclusive: false,\r\n isMapTool: true,\r\n showInTopToolbar: false,\r\n useSidebarOnMobile: false,\r\n },\r\n coordinates: {\r\n text: \"x/y\",\r\n title: \"Vis koordinater\",\r\n active: false,\r\n hideInMenus: true,\r\n exclusive: false,\r\n isMapTool: true,\r\n showInTopToolbar: false,\r\n useSidebarOnMobile: false,\r\n },\r\n help: {\r\n icon: \"mdi-help-circle-outline\",\r\n title: \"Tips og triks\",\r\n active: false,\r\n exclusive: true,\r\n isMapTool: false,\r\n showInTopToolbar: false,\r\n useSidebarOnMobile: true,\r\n },\r\n },\r\n // useDarkMode: false,\r\n guideIsRunning: false,\r\n settingsDialogActive: false,\r\n hideWelcomeDialog: false,\r\n hide3dNavigationHelpDialog: false,\r\n mapLoaded: false,\r\n tabsAreOpen: false,\r\n graphicsLayers: [],\r\n bottomSheets: [],\r\n elevationProfiles: [],\r\n imageGalleryItems: [],\r\n defaultExtent: {\r\n spatialReference: {\r\n wkid: 25833,\r\n },\r\n xmin: -403198.0839137276,\r\n ymin: 6252470.949794861,\r\n xmax: 1311813.3461091325,\r\n ymax: 8047407.873002041,\r\n },\r\n extent: {\r\n spatialReference: {\r\n wkid: 25833,\r\n },\r\n xmin: -403198.0839137276,\r\n ymin: 6252470.949794861,\r\n xmax: 1311813.3461091325,\r\n ymax: 8047407.873002041,\r\n },\r\n theMap: null,\r\n theMapView: null,\r\n showPopupsOnClick: true,\r\n selectedExtent: null,\r\n showCatalogue: false,\r\n showPredefinedBookmarks: false,\r\n zoom: null,\r\n selectedBasemap: null,\r\n layerMetadata: [],\r\n layerDefinitionExpressions: {},\r\n selectedMapProfile: null,\r\n addedProfiles: [],\r\n mapProfiles: [],\r\n lastVisitedMaps: [],\r\n layerInfos: [],\r\n externalLinks: [\r\n {\r\n title: \"NVE forsiden\",\r\n url: \"https://www.nve.no\",\r\n },\r\n {\r\n title: \"NVE Atlas\",\r\n url: \"https://atlas.nve.no/\",\r\n },\r\n {\r\n title: \"SeNorge\",\r\n url: \"https://www.senorge.no/\",\r\n },\r\n {\r\n title: \"Geonorge\",\r\n url: \"https://www.geonorge.no/\",\r\n },\r\n {\r\n title: \"Norgeskart\",\r\n url: \"http://www.norgeskart.no/#\",\r\n },\r\n {\r\n title: \"Norge i bilder\",\r\n url: \"https://www.norgeibilder.no/\",\r\n },\r\n ],\r\n profileCategories: [\r\n { title: \"Alle\", icon: \"mdi-expand-all-outline\" },\r\n { title: \"Favoritter\", icon: \"mdi-star-outline\" },\r\n { title: \"Aktsomhet\", icon: \"mdi-sign-caution\" },\r\n { title: \"Energi\", icon: \"mdi-flash-outline\" },\r\n { title: \"Fare\", icon: \"mdi-hazard-lights\" },\r\n { title: \"Vann\", icon: \"mdi-waves\" },\r\n { title: \"Vern og sikring\", icon: \"mdi-shield-outline\" },\r\n { title: \"Ymse\", icon: \"mdi-dots-horizontal-circle-outline\" },\r\n { title: \"Interne kart\", icon: \"mdi-lock-outline\", internal: true },\r\n { title: \"Satellitt\", icon: \"mdi-satellite-variant\" },\r\n { title: \"Mine kart\", icon: \"mdi-account\" },\r\n ],\r\n\r\n basemaps: [\r\n {\r\n id: \"topo4graatone\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/Geocache_UTM33_EUREF89/GeocacheGraatone/MapServer\",\r\n },\r\n title: \"GrÃ¥tone\",\r\n thumbnailUrl: \"/img/graatone.jpg\",\r\n active: true,\r\n type: \"mapImageLayer\",\r\n },\r\n {\r\n id: \"ortofoto\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/Geocache_UTM33_EUREF89/GeocacheBilder/MapServer\",\r\n },\r\n subDomains: [],\r\n title: \"Bilder\",\r\n thumbnailUrl: \"/img/bilder.jpg\",\r\n active: false,\r\n type: \"mapImageLayer\",\r\n },\r\n {\r\n id: \"topo\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/Geocache_UTM33_EUREF89/GeocacheBasis/MapServer\",\r\n },\r\n subDomains: [],\r\n title: \"Basis\",\r\n thumbnailUrl: \"/img/basis.jpg\",\r\n active: false,\r\n type: \"mapImageLayer\",\r\n },\r\n {\r\n id: \"landskap\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/Geocache_UTM33_EUREF89/GeocacheLandskap/MapServer\",\r\n },\r\n subDomains: [],\r\n title: \"Landskap\",\r\n thumbnailUrl: \"/img/landskap.jpg\",\r\n active: false,\r\n type: \"mapImageLayer\",\r\n },\r\n {\r\n id: \"svalbard\",\r\n options: {\r\n url:\r\n \"https://geodata.npolar.no/arcgis/rest/services/Basisdata/NP_Basiskart_Svalbard_WMTS_25833/MapServer\",\r\n },\r\n subDomains: [],\r\n title: \"Svalbard\",\r\n thumbnailUrl: \"/img/svalbard.jpg\",\r\n active: false,\r\n type: \"mapImageLayer\",\r\n },\r\n {\r\n id: \"vektorgraatone\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/GeocacheVector/GeocacheGraatone/VectorTileServer\",\r\n },\r\n subDomains: [],\r\n title: \"GrÃ¥ vektor\",\r\n thumbnailUrl: \"/img/graatone.jpg\",\r\n active: false,\r\n type: \"vector\",\r\n },\r\n {\r\n id: \"vektorterreng\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/GeocacheVector/GeocacheBasisTerreng/VectorTileServer\",\r\n },\r\n subDomains: [],\r\n title: \"Terreng vektor\",\r\n thumbnailUrl: \"/img/landskap.jpg\",\r\n active: false,\r\n type: \"vector\",\r\n },\r\n {\r\n id: \"vektorbasis\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/GeocacheVector/GeocacheBasis/VectorTileServer\",\r\n },\r\n subDomains: [],\r\n title: \"Basis vektor\",\r\n thumbnailUrl: \"/img/basis.jpg\",\r\n active: false,\r\n type: \"vector\",\r\n },\r\n {\r\n id: \"forenkletvektorgraatone\",\r\n title: \"GrÃ¥ forenklet\",\r\n thumbnailUrl: \"/img/graatone.jpg\",\r\n active: false,\r\n type: \"vector\",\r\n options: {\r\n url: \"/basemaps/basemap_style_v1.json\",\r\n },\r\n },\r\n {\r\n id: \"skyggerelieffdtm\",\r\n useProxy: true,\r\n options: {\r\n url:\r\n \"https://hoydedata.no/arcgis/rest/services/NHM_DTM_25833/ImageServer\",\r\n rasterFunction: \"skyggerelieff\",\r\n // sublayers: [\r\n // {\r\n // name: \"las_dtm_skyggerelieff_somlos:skyggerelieff_40grader\",\r\n // legendUrl:\r\n // \"https://wms.geonorge.no/skwms1/wms.hoyde-dtm_somlos_skyggerelieff?request=GetLegendGraphic%26version=1.3.0%26format=image/png%26layer=las_dtm_skyggerelieff_somlos:skyggerelieff_40grader\"\r\n // }\r\n // ]\r\n },\r\n title: \"Skyggerelieff\",\r\n thumbnailUrl: \"/img/skygge.jpg\",\r\n active: false,\r\n type: \"imagerylayer\",\r\n },\r\n {\r\n id: \"graatonetransparent\",\r\n options: {\r\n url:\r\n \"https://services.geodataonline.no/arcgis/rest/services/Geocache_UTM33_EUREF89/GeocacheGraatone/MapServer\",\r\n opacity: 0.75,\r\n },\r\n title: \"Transparent\",\r\n thumbnailUrl: \"/img/graatone.jpg\",\r\n active: true,\r\n type: \"mapImageLayer\",\r\n },\r\n ],\r\n profiles: null,\r\n currentlyOpenedProject: null,\r\n showLayerInfoCard: true,\r\n snack: \"\",\r\n snackLoading: false,\r\n snackTimeout: 6000,\r\n copiedGeometry: null,\r\n buildingsLayerAdded: false,\r\n popupVisible: false,\r\n currentOrientation: 0,\r\n saveIsEnabled: true,\r\n geometryOperations: [\r\n {\r\n name: \"Buffer\",\r\n function: \"buffer\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometri\",\r\n type: \"geometry\",\r\n multiple: true,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n {\r\n id: \"distance\",\r\n name: \"Avstand\",\r\n value: 0,\r\n description: \"Avstand\",\r\n type: \"number\",\r\n },\r\n {\r\n id: \"unit\",\r\n name: \"Enhet\",\r\n description: \"Velg enhet for avstand\",\r\n type: \"select\",\r\n value: null,\r\n items: [\r\n {\r\n text: \"Meter\",\r\n value: \"meters\",\r\n },\r\n {\r\n text: \"Kilometer\",\r\n value: \"kilometers\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Speilvend horisontalt\",\r\n function: \"flipHorizontal\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometri\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Speilvend vertikalt\",\r\n function: \"flipVertical\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometri\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Simplifiser\",\r\n function: \"simplify\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometri\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Union\",\r\n function: \"union\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometriene som skal slÃ¥s sammen\",\r\n type: \"geometry\",\r\n multiple: true,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Differanse\",\r\n function: \"difference\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg hovedgeometri\",\r\n type: \"geometry\",\r\n multiple: true,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n {\r\n id: \"subtractor\",\r\n name: \"Geometri som trekkes fra\",\r\n description: \"Velg geometri som skal trekkes fra\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Kutt\",\r\n function: \"cut\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Geometrien som skal kuttes\",\r\n description: \"Velg geometrien som skal kuttes\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n {\r\n id: \"subtractor\",\r\n name: \"Polylinjen som skal brukes som kutter\",\r\n description: \"Velg polylinjen som skal brukes som kutter\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"polyline\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Symmetrisk differanse\",\r\n function: \"symmetricDifference\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"leftGeometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg venstre geometri\",\r\n type: \"geometry\",\r\n multiple: true,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n {\r\n id: \"rightGeometry\",\r\n name: \"Høyre geometri\",\r\n description: \"Velg høyre geometri\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"Snitte\",\r\n function: \"intersect\",\r\n description: \"Bla bla\",\r\n parameters: [\r\n {\r\n id: \"geometry\",\r\n name: \"Input geometri\",\r\n description: \"Velg geometri\",\r\n type: \"geometry\",\r\n multiple: true,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n {\r\n id: \"intersector\",\r\n name: \"Snitte\",\r\n description: \"Velg snittegeometri\",\r\n type: \"geometry\",\r\n multiple: false,\r\n value: null,\r\n geometryType: \"all\",\r\n },\r\n ],\r\n },\r\n ],\r\n settingsMetadata: [\r\n {\r\n name: \"theme\",\r\n title: \"Utseende\",\r\n settings: [\r\n {\r\n id: \"useDarkMode\",\r\n name: \"Fargemodus\",\r\n type: \"select\",\r\n options: [\r\n {\r\n name: \"Lys\",\r\n value: false,\r\n },\r\n {\r\n name: \"Mørk\",\r\n value: true,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"mapSettings\",\r\n title: \"Kart\",\r\n settings: [\r\n {\r\n id: \"sceneViewQualityProfile\",\r\n type: \"select\",\r\n options: [\r\n {\r\n name: \"Lav kvalitet\",\r\n value: \"low\",\r\n },\r\n {\r\n name: \"Medium kvalitet\",\r\n value: \"medium\",\r\n },\r\n {\r\n name: \"Høy kvalitet\",\r\n value: \"high\",\r\n },\r\n ],\r\n name:\r\n \"3D visning: Kvalitetsprofil (denne innstillingen pÃ¥virker ytelsen)\",\r\n description: \"bla bla\",\r\n },\r\n {\r\n id: \"identifyResultMaxAllowableOffsetInMeters\",\r\n type: \"select\",\r\n name:\r\n \"Maks tillatte avvik mellom seleksjonsgeometri og originalgeometri\",\r\n description: \"bla bla\",\r\n options: [\r\n {\r\n name: \"1 meter (kan føre til veldig lav ytelse i noen temaer)\",\r\n value: 1,\r\n },\r\n {\r\n name: \"5 meter (kan føre til lav ytelse i noen temaer)\",\r\n value: 5,\r\n },\r\n {\r\n name: \"10 meter (merk: kan pÃ¥virke ytelse i noen temaer)\",\r\n value: 10,\r\n },\r\n {\r\n name: \"15 meter (anbefalt)\",\r\n value: 15,\r\n },\r\n {\r\n name: \"20 meter\",\r\n value: 20,\r\n },\r\n {\r\n name: \"25 meter\",\r\n value: 25,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"drawingSettings\",\r\n title: \"Tegning\",\r\n settings: [\r\n {\r\n id: \"useZvaluesWhenDrawingIn3D\",\r\n type: \"select\",\r\n name: \"Bruk av høyde nÃ¥r du tegner i 3D\",\r\n description: \"bla bla\",\r\n options: [\r\n {\r\n name:\r\n \"Ikke bruk høyde (punkt, linje, flate festes til bakkenivÃ¥)\",\r\n value: false,\r\n },\r\n {\r\n name: \"Bruk høyde (høyden til punkt, linje, flate kan redigeres)\",\r\n value: true,\r\n },\r\n ],\r\n },\r\n {\r\n id: \"drawingCreationMode\",\r\n type: \"select\",\r\n name: \"Oppførsel etter at bruker har tegnet inn et element\",\r\n description: \"bla bla\",\r\n options: [\r\n {\r\n name: \"Tegneoperasjon avsluttes mellom hver inntegning\",\r\n value: \"single\",\r\n },\r\n {\r\n name: \"Bruker kan tegne inn flere elementer etter hverandre\",\r\n value: \"continuous\",\r\n },\r\n {\r\n name: \"Inntegnet element selekteres for redigering\",\r\n value: \"update\",\r\n },\r\n ],\r\n },\r\n {\r\n id: \"drawingInputMode\",\r\n type: \"select\",\r\n name: \"Modus for registrering av knekkpunkter\",\r\n description: \"bla bla\",\r\n options: [\r\n {\r\n name: \"Knekkpunkter legges til ved klikk\",\r\n value: \"click\",\r\n },\r\n {\r\n name: \"Knekkpunkter legges til ved klikk og dra (frihÃ¥nd)\",\r\n value: \"continuous\",\r\n },\r\n {\r\n name: \"Hybrid: Knekkpunkter legges til bÃ¥de ved klikk og dra.\",\r\n value: \"hybrid\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n userSettings: {\r\n theme: {\r\n name: \"NVE (standard)\",\r\n definition: {\r\n primary: process.env.VUE_APP_THEME_PRIMARY_COLOR,\r\n secondary: \"#f5f5f5\",\r\n accent: \"#8c9eff\",\r\n error: \"#b71c1c\",\r\n },\r\n },\r\n sceneViewQualityProfile: \"low\",\r\n useZvaluesWhenDrawingIn3D: false,\r\n drawingInputMode: \"click\",\r\n drawingCreationMode: \"single\",\r\n },\r\n defaultUserSettings: {\r\n theme: {\r\n name: \"NVE (standard)\",\r\n definition: {\r\n primary: process.env.VUE_APP_THEME_PRIMARY_COLOR,\r\n secondary: \"#f5f5f5\",\r\n accent: \"#8c9eff\",\r\n error: \"#b71c1c\",\r\n },\r\n },\r\n useDarkMode: false,\r\n drawingInputMode: \"click\",\r\n drawingCreationMode: \"single\",\r\n sceneViewQualityProfile: \"low\",\r\n useZvaluesWhenDrawingIn3D: false,\r\n identifyResultMaxAllowableOffsetInMeters: 15,\r\n },\r\n photoStreamIsActivated: false,\r\n mapBookmarks: [],\r\n isConnectedToIntranet: false,\r\n startupDialog: null,\r\n layersAreLoading: true,\r\n};\r\n","import Vue from \"vue\";\r\nimport constants from \"./constants\";\r\n\r\nexport default {\r\n getLayerDefinitionExpressionQuery: state => {\r\n return layerId => {\r\n return state.layerDefinitionExpressions[layerId].query;\r\n };\r\n },\r\n getDrawPointSymbols: () => {\r\n return constants.DRAW_SYMBOLS_POINTS;\r\n },\r\n getMapProfile: state => {\r\n return themeId => {\r\n return state.profiles[themeId];\r\n };\r\n },\r\n getAddedMapProfile: state => {\r\n return themeId => {\r\n return state.mapProfiles.find(profile => profile.id === themeId);\r\n };\r\n },\r\n getAddedMapProfileIndex: state => {\r\n return themeId => {\r\n return state.mapProfiles.findIndex(profile => profile.id === themeId);\r\n };\r\n },\r\n getLayerMetadataByAddressAndIndex: state => (restAdress, restIndex) => {\r\n return state.layerMetadata.find(\r\n metadata =>\r\n metadata.restAdress === restAdress && metadata.restIndex === restIndex\r\n );\r\n },\r\n getLayerInfoByUrl: state => restAdress => {\r\n return state.layerInfos.find(layerInfo => layerInfo.url === restAdress);\r\n },\r\n getSublayerVisibility: state => (id, sublayerIndex) => {\r\n return state.profiles[id].actualVisibleLayers.includes(sublayerIndex);\r\n },\r\n getMapLayer: () => {\r\n return layerID => {\r\n return Vue.prototype.$theMapObject.findLayerById(layerID);\r\n };\r\n },\r\n getMapProfilesVisibleSublayerIndexes: (state, getters) => id => {\r\n let showAtStartupLayers = [];\r\n let layer = getters.getMapLayer(id);\r\n\r\n layer.allSublayers.items.forEach(sublayer => {\r\n if (sublayer.visible) {\r\n showAtStartupLayers.push(sublayer.id);\r\n }\r\n });\r\n\r\n return showAtStartupLayers;\r\n }\r\n};\r\n","export default class IntranetService {\r\n constructor() {}\r\n\r\n static checkIfConnectedToIntranet() {\r\n return new Promise(resolve => {\r\n let img = new Image();\r\n\r\n img.onload = function() {\r\n if (\"naturalHeight\" in this) {\r\n if (this.naturalHeight + this.naturalWidth === 0) {\r\n this.onerror();\r\n return;\r\n }\r\n } else if (this.width + this.height == 0) {\r\n this.onerror();\r\n return;\r\n }\r\n console.log(\"Koblet til intranet\");\r\n\r\n resolve(true);\r\n };\r\n\r\n img.src = process.env.VUE_APP_INTERNAL_PROXY_CHECK_URL;\r\n\r\n img.onerror = function() {\r\n console.log(\"Ikke koblet til intranet\");\r\n resolve(false);\r\n };\r\n });\r\n }\r\n}\r\n","import IntranetService from \"../services/intranet.service\";\r\n\r\nexport default {\r\n initStore({ dispatch }) {\r\n dispatch(\"setFavouritesFromLocalStorage\");\r\n dispatch(\"setLastVisitedMapsFromLocalStorage\");\r\n dispatch(\"setSettingsFromLocalStorage\");\r\n dispatch(\"setMapBookmarksFromLocalStorage\");\r\n dispatch(\"setIsConnectedToIntranet\");\r\n },\r\n setFavouritesFromLocalStorage({ commit }) {\r\n if (localStorage.getItem(\"favourites\") == null) {\r\n commit(\"setFavourites\", []);\r\n } else {\r\n commit(\r\n \"setFavourites\",\r\n JSON.parse(localStorage.getItem(\"favourites\") || [])\r\n );\r\n }\r\n },\r\n setMapBookmarksFromLocalStorage({ commit }) {\r\n if (localStorage.getItem(\"nveMapBookmarks\") == null) {\r\n commit(\"setMapBookmarks\", []);\r\n } else {\r\n commit(\r\n \"setMapBookmarks\",\r\n JSON.parse(localStorage.getItem(\"nveMapBookmarks\") || [])\r\n );\r\n }\r\n },\r\n setSettingsFromLocalStorage({ commit, state }) {\r\n if (localStorage.getItem(\"nveUserSettings\") === null) {\r\n commit(\r\n \"setUserSettings\",\r\n JSON.parse(JSON.stringify(state.defaultUserSettings))\r\n );\r\n } else {\r\n commit(\"setUserSettings\", {\r\n ...state.defaultUserSettings,\r\n ...JSON.parse(localStorage.getItem(\"nveUserSettings\"))\r\n });\r\n }\r\n },\r\n resetUserSettings({ commit, state }) {\r\n commit(\r\n \"setUserSettings\",\r\n JSON.parse(JSON.stringify(state.defaultUserSettings))\r\n );\r\n },\r\n setGuideIsRunning({ commit }, payload) {\r\n commit(\"setGuideIsRunning\", payload);\r\n },\r\n setHideWelcomeDialogFromLocalStorage({ commit }) {\r\n if (localStorage.getItem(\"hideWelcomeDialog\") == null) {\r\n commit(\"setHideWelcomeDialog\", false);\r\n } else {\r\n commit(\r\n \"setHideWelcomeDialog\",\r\n JSON.parse(localStorage.getItem(\"hideWelcomeDialog\"))\r\n );\r\n }\r\n },\r\n setHide3dNavigationHelpDialogFromLocalStorage({ commit }) {\r\n if (localStorage.getItem(\"hide3dNavigationHelpDialog\") == null) {\r\n commit(\"setHide3dNavigationHelpDialog\", false);\r\n } else {\r\n commit(\r\n \"setHide3dNavigationHelpDialog\",\r\n JSON.parse(localStorage.getItem(\"hide3dNavigationHelpDialog\"))\r\n );\r\n }\r\n },\r\n setLastVisitedMapsFromLocalStorage({ commit }) {\r\n if (localStorage.getItem(\"lastVisitedMaps\") == null) {\r\n commit(\"setLastVisitedMaps\", []);\r\n } else {\r\n commit(\r\n \"setLastVisitedMaps\",\r\n JSON.parse(localStorage.getItem(\"lastVisitedMaps\") || [])\r\n );\r\n }\r\n },\r\n setMainThemeID({ commit }, mainThemeID) {\r\n commit(\"setMainThemeID\", mainThemeID);\r\n },\r\n setMapHeight({ commit }, newMapHeight) {\r\n commit(\"setMapHeight\", newMapHeight);\r\n },\r\n setShowCatalogue({ commit }, showCatalogue) {\r\n commit(\"setShowCatalogue\", showCatalogue);\r\n },\r\n setShowPredefinedBookmarks({ commit }, showPredefinedBookmarks) {\r\n commit(\"setShowPredefinedBookmarks\", showPredefinedBookmarks);\r\n },\r\n setMapLoaded({ commit }) {\r\n commit(\"setMapLoaded\");\r\n },\r\n setIs3d({ commit }, is3d) {\r\n commit(\"setIs3d\", is3d);\r\n },\r\n setZoom({ commit }, zoom) {\r\n commit(\"setZoom\", zoom);\r\n },\r\n setHideWelcomeDialog({ commit }, hideWelcomeDialog) {\r\n commit(\"setHideWelcomeDialog\", hideWelcomeDialog);\r\n },\r\n setHide3dNavigationHelpDialog({ commit }, hide3dNavigationHelpDialog) {\r\n commit(\"setHide3dNavigationHelpDialog\", hide3dNavigationHelpDialog);\r\n },\r\n setShowTabs({ commit }, value) {\r\n commit(\"setShowTabs\", value);\r\n },\r\n hideExplorer({ commit }) {\r\n commit(\"setExplorerVisible\", false);\r\n },\r\n addBottomSheet({ commit }, bottomSheet) {\r\n commit(\"addBottomSheet\", bottomSheet);\r\n },\r\n setShowImageGallery({ commit }, payload) {\r\n commit(\"setShowImageGallery\", payload);\r\n },\r\n activateTool({ commit }, toolName) {\r\n commit(\"activateTool\", toolName);\r\n },\r\n setLayerDefinitionExpression({ commit }, payload) {\r\n commit(\"setLayerDefinitionExpression\", payload);\r\n },\r\n setSelectedMapProfile({ commit }, payload) {\r\n commit(\"setSelectedMapProfile\", payload);\r\n },\r\n setSelectedExtent({ commit }, payload) {\r\n commit(\"setSelectedExtent\", payload);\r\n },\r\n setShowPopupsOnClick({ commit }, payload) {\r\n commit(\"setShowPopupsOnClick\", payload);\r\n },\r\n updateMapProfiles({ commit }, mapProfiles) {\r\n commit(\"updateMapProfiles\", mapProfiles);\r\n },\r\n addGraphicsLayer({ commit }, graphicsLayerId) {\r\n commit(\"addGraphicsLayer\", graphicsLayerId);\r\n },\r\n toggleProfileOpen({ commit }, profile) {\r\n commit(\"toggleProfileOpen\", profile);\r\n },\r\n setImageGalleryItems({ commit }, items) {\r\n commit(\"setImageGalleryItems\", items);\r\n },\r\n clearImageGalleryItems({ commit }) {\r\n commit(\"clearImageGalleryItems\");\r\n },\r\n setMapProfileDate({ commit }, mapProfileDateInfo) {\r\n commit(\"setMapProfileDate\", mapProfileDateInfo);\r\n },\r\n setTheMap({ commit }, theMap) {\r\n commit(\"setTheMap\", theMap);\r\n },\r\n setShowSideMenu({ commit }, showSideMenu) {\r\n commit(\"setShowSideMenu\", showSideMenu);\r\n },\r\n setShowAppDrawer({ commit }, showAppDrawer) {\r\n commit(\"setShowAppDrawer\", showAppDrawer);\r\n },\r\n setActiveExclusiveToolName({ commit }, activeExclusiveToolName) {\r\n commit(\"setActiveExclusiveToolName\", activeExclusiveToolName);\r\n },\r\n setShowMiniDrawer({ commit }, showMiniDrawer) {\r\n commit(\"setShowMiniDrawer\", showMiniDrawer);\r\n },\r\n removeMapProfileFromState({ commit }, id) {\r\n commit(\"REMOVE_MAP_PROFILE_FROM_STATE\", id);\r\n },\r\n setShowInfoMenu({ commit }, showInfoMenu) {\r\n if (typeof showInfoMenu === \"object\" && showInfoMenu !== null) {\r\n commit(\"setShowHovedforklaring\", showInfoMenu.showHovedforklaring, {\r\n root: true\r\n });\r\n commit(\"setShowInfoMenu\", showInfoMenu.showInfoMenu, { root: true });\r\n } else {\r\n commit(\"setShowHovedforklaring\", false, {\r\n root: true\r\n });\r\n commit(\"setShowInfoMenu\", showInfoMenu, { root: true });\r\n }\r\n },\r\n setUserAccount({ commit }, userAccount) {\r\n commit(\"setUserAccount\", userAccount);\r\n },\r\n setUserIsLoggedIn({ commit }, userIsLoggedIn) {\r\n commit(\"setUserIsLoggedIn\", userIsLoggedIn);\r\n },\r\n setUserLoginFailed({ commit }, userLoginFailed) {\r\n commit(\"setUserLoginFailed\", userLoginFailed);\r\n },\r\n setExtent({ commit }, extent) {\r\n commit(\"setExtent\", extent);\r\n },\r\n setCurrentMapScale({ commit }, currentMapScale) {\r\n commit(\"setCurrentMapScale\", currentMapScale);\r\n },\r\n setSelectedBasemap({ commit }, basemap) {\r\n commit(\"setSelectedBasemap\", basemap);\r\n },\r\n setProfileVisibility({ commit }, payload) {\r\n commit(\"setProfileVisibility\", payload);\r\n },\r\n setSceneViewLoaded({ commit }) {\r\n commit(\"setSceneViewLoaded\", true);\r\n },\r\n setStartupDialog({ commit }, payload) {\r\n commit(\"setStartupDialog\", payload);\r\n },\r\n setCopiedGeometry({ commit }, geometry) {\r\n commit(\"setCopiedGeometry\", geometry);\r\n },\r\n setLogoImagePath({ commit }, newLogoImagePath) {\r\n commit(\"setLogoImagePath\", newLogoImagePath);\r\n },\r\n setProfileActualVisibleSublayers({ commit }, profileActualVisibleSublayers) {\r\n commit(\"setProfileActualVisibleSublayers\", profileActualVisibleSublayers);\r\n },\r\n setMapProfileOpacity({ commit }, payload) {\r\n commit(\"setMapProfileOpacity\", payload);\r\n },\r\n setPopupVisible({ commit }, payload) {\r\n commit(\"setPopupVisible\", payload);\r\n },\r\n setUserSetting({ commit }, payload) {\r\n commit(\"setUserSetting\", payload);\r\n },\r\n setSettingsDialogActive({ commit }, payload) {\r\n commit(\"setSettingsDialogActive\", payload);\r\n },\r\n setSelectedTheme({ commit }, selectedTheme) {\r\n commit(\"setSelectedTheme\", selectedTheme, { root: true });\r\n },\r\n addMapProfileToState({ commit }, profile) {\r\n commit(\"addMapProfile\", profile);\r\n },\r\n addLayerInfo({ commit }, layerInfo) {\r\n commit(\"addLayerInfo\", layerInfo);\r\n },\r\n setPhotoStreamIsActivated({ commit }, photoStreamIsActivated) {\r\n commit(\"setPhotoStreamIsActivated\", photoStreamIsActivated);\r\n },\r\n removeLastVisitedMap({ commit }, map) {\r\n commit(\"removeLastVisitedMap\", map);\r\n },\r\n setShowLayerInfoCard({ commit }, showLayerInfoCard) {\r\n commit(\"setShowLayerInfoCard\", showLayerInfoCard);\r\n },\r\n removeCurrentlyOpenedProject({ commit }) {\r\n commit(\"setCurrentlyOpenedProject\", null);\r\n },\r\n setCurrentOrientation({ commit }, currentMapOrientation) {\r\n commit(\"setCurrentOrientation\", currentMapOrientation);\r\n },\r\n setBuildingsLayerAdded({ commit }, buildingsLayerAdded) {\r\n commit(\"setBuildingsLayerAdded\", buildingsLayerAdded);\r\n },\r\n setCurrentlyOpenedProject({ commit }, project) {\r\n commit(\"setCurrentlyOpenedProject\", project);\r\n },\r\n setPrintWidth({ commit }, newPrintWidth) {\r\n commit(\"setPrintWidth\", newPrintWidth);\r\n },\r\n setSelectedPrintScale({ commit }, newPrintScale) {\r\n commit(\"setSelectedPrintScale\", newPrintScale);\r\n },\r\n setSelectedPageFormat({ commit }, selectedPageFormat) {\r\n commit(\"setSelectedPageFormat\", selectedPageFormat);\r\n },\r\n setBottomTabsHeight({ commit }, bottomTabsHeight) {\r\n commit(\"setBottomTabsHeight\", bottomTabsHeight);\r\n },\r\n setPrintHeight({ commit }, newPrintHeight) {\r\n commit(\"setPrintHeight\", newPrintHeight);\r\n },\r\n addFavourite({ commit, dispatch }, favourite) {\r\n dispatch(\"setSnack\", \"Et kartlag ble lagt til i favoritter\");\r\n commit(\"addFavourite\", favourite);\r\n },\r\n removeFavourite({ commit, dispatch }, favourite) {\r\n dispatch(\"setSnack\", \"Et kartlag ble fjernet fra favoritter\");\r\n commit(\"removeFavourite\", favourite);\r\n },\r\n removeFeatureTable({ commit }, featureTableIndex) {\r\n commit(\"removeFeatureTable\", featureTableIndex);\r\n },\r\n clearCurrentlyOpenedProject({ commit }) {\r\n commit(\"setCurrentlyOpenedProject\", null);\r\n },\r\n setSnack({ commit }, snack) {\r\n commit(\"setSnack\", snack);\r\n },\r\n setLoadingSnack({ commit }, snack) {\r\n commit(\"setLoadingSnack\", snack);\r\n },\r\n setExplorerVisible({ commit }, explorerVisible) {\r\n commit(\"setExplorerVisible\", explorerVisible);\r\n },\r\n setLayersAreLoading({ commit }, layersAreLoading) {\r\n commit(\"setLayersAreLoading\", layersAreLoading);\r\n },\r\n addLayerMetadata({ commit }, layerMetadata) {\r\n commit(\"addMetadata\", layerMetadata);\r\n },\r\n enableSave({ commit }) {\r\n commit(\"setSaveIsEnabled\", true);\r\n },\r\n disableSave({ commit }) {\r\n commit(\"setSaveIsEnabled\", false);\r\n },\r\n addMapBookmark({ commit }, mapBookmark) {\r\n commit(\"addMapBookmark\", mapBookmark);\r\n },\r\n editBookmarkTitle({ commit }, bookmarkEditInfo) {\r\n commit(\"editBookmarkTitle\", bookmarkEditInfo);\r\n },\r\n removeMapBookmark({ commit }, mapBookmarkIndex) {\r\n commit(\"removeMapBookmark\", mapBookmarkIndex);\r\n },\r\n deactivateTool({ commit }, toolName) {\r\n commit(\"deactivateTool\", toolName);\r\n },\r\n setIsConnectedToIntranet({ commit }) {\r\n IntranetService.checkIfConnectedToIntranet().then(isConnectedToIntranet => {\r\n commit(\"setIsConnectedToIntranet\", isConnectedToIntranet);\r\n });\r\n },\r\n getAndSetProfiles({ commit }) {\r\n import(/* webpackIgnore: true */ process.env.VUE_APP_CONFIG_FILES_URL +\r\n \"profiles.js?version=\" +\r\n new Date().getTime()).then(profileFile => {\r\n commit(\"setProfiles\", profileFile.profiles);\r\n });\r\n },\r\n updateMapProfileName({ commit, state }, payload) {\r\n let index = state.mapProfiles.findIndex(\r\n profile => profile.id === payload.id\r\n );\r\n commit(\"updateMapProfileName\", {\r\n index: index,\r\n newTitle: payload.newName\r\n });\r\n },\r\n updateMapProfileDescription({ commit, state }, payload) {\r\n let index = state.mapProfiles.findIndex(\r\n profile => profile.id === payload.id\r\n );\r\n commit(\"updateMapProfileDescription\", {\r\n index: index,\r\n Temaforklaring: payload.Temaforklaring\r\n });\r\n },\r\n updateMapProfile({ commit, state }, newProfile) {\r\n let index = state.mapProfiles.findIndex(\r\n profile => profile.id === newProfile.id\r\n );\r\n commit(\"updateMapProfile\", {\r\n index: index,\r\n newProfile: newProfile\r\n });\r\n },\r\n addLastVisitedMap({ commit, state }, project) {\r\n let mapExists = state.lastVisitedMaps.find(lastVisitedMap => {\r\n return lastVisitedMap.id.toLowerCase() === project.id.toLowerCase();\r\n });\r\n if (typeof mapExists === \"undefined\") {\r\n commit(\"addLastVisitedMap\", project);\r\n } else {\r\n if (project.hash == null && mapExists.hash !== null) {\r\n // hvis bruker kan redigere\r\n project.hash = mapExists.hash;\r\n }\r\n commit(\"removeLastVisitedMap\", mapExists);\r\n commit(\"addLastVisitedMap\", project);\r\n }\r\n }\r\n};\r\n","export default {\r\n setShowSideMenu(state, payload) {\r\n if (payload) {\r\n state.sidebarHasOpened = true;\r\n }\r\n state.showSideMenu = payload;\r\n },\r\n setShowImageGallery(state, payload) {\r\n state.showImageGallery = payload;\r\n },\r\n setActiveExclusiveToolName(state, payload) {\r\n state.activeExclusiveToolName = payload;\r\n },\r\n setShowMiniDrawer(state, payload) {\r\n state.showMiniDrawer = payload;\r\n },\r\n setShowInfoMenu(state, payload) {\r\n state.showInfoMenu = payload;\r\n },\r\n addElevationProfile(state, geometry) {\r\n state.elevationProfiles.push(geometry);\r\n },\r\n setSelectedTheme(state, payload) {\r\n state.selectedTheme = payload;\r\n },\r\n setExplorerVisible(state, payload) {\r\n state.explorerVisible = payload;\r\n },\r\n setCoordinatesVisible(state, payload) {\r\n state.coordinatesVisible = payload;\r\n },\r\n setDrawingActive(state, payload) {\r\n state.drawingActive = payload;\r\n },\r\n setMeasureActive(state, payload) {\r\n state.measureActive = payload;\r\n },\r\n setShowTabs(state, payload) {\r\n if (payload) {\r\n state.mapHeight = 50;\r\n state.bottomTabsHeight = 50;\r\n }\r\n state.showTabs = payload;\r\n },\r\n setHideWelcomeDialog(state, payload) {\r\n state.hideWelcomeDialog = payload;\r\n },\r\n setHide3dNavigationHelpDialog(state, payload) {\r\n state.hide3dNavigationHelpDialog = payload;\r\n },\r\n setSettingsDialogActive(state, payload) {\r\n state.settingsDialogActive = payload;\r\n },\r\n // setUseDarkMode(state, payload) {\r\n // state.useDarkMode = payload;\r\n // },\r\n addVisibleTool(state, payload) {\r\n state.visibleTools.push(payload);\r\n },\r\n setPhotoStreamIsActivated(state, photoStreamIsActivated) {\r\n state.photoStreamIsActivated = photoStreamIsActivated;\r\n },\r\n setLogoImagePath(state, newLogoImagePath) {\r\n state.logoImagePath = newLogoImagePath;\r\n },\r\n setLayersAreLoading(state, layersAreLoading) {\r\n state.layersAreLoading = layersAreLoading;\r\n },\r\n removeVisibleTool(state, payload) {\r\n state.visibleTools.push(payload);\r\n },\r\n deactivateTool(state, payload) {\r\n if (payload) {\r\n state.tools[payload].active = false;\r\n }\r\n },\r\n activateTool(state, payload) {\r\n if (payload) {\r\n state.showLayerInfoCard = false;\r\n state.tools[payload].active = true;\r\n }\r\n },\r\n setBottomTabsHeight(state, payload) {\r\n state.bottomTabsHeight = payload;\r\n },\r\n setMapHeight(state, payload) {\r\n state.mapHeight = payload;\r\n },\r\n setUserAccount(state, userAccount) {\r\n state.userAccount = userAccount;\r\n },\r\n setUserIsLoggedIn(state, userIsLoggedIn) {\r\n state.userIsLoggedIn = userIsLoggedIn;\r\n },\r\n setUserLoginFailed(state, userLoginFailed) {\r\n state.userLoginFailed = userLoginFailed;\r\n },\r\n setCurrentOrientation(state, payload) {\r\n state.currentOrientation = payload;\r\n },\r\n setShowAppDrawer(state, payload) {\r\n state.showAppDrawer = payload;\r\n },\r\n setLayerDefinitionExpression(state, payload) {\r\n state.layerDefinitionExpressions[payload.id] = payload;\r\n },\r\n setMapLoaded(state) {\r\n state.mapLoaded = true;\r\n },\r\n setSelectedMapProfile(state, payload) {\r\n state.selectedMapProfile = payload;\r\n },\r\n setShowPopupsOnClick(state, payload) {\r\n state.showPopupsOnClick = payload;\r\n },\r\n setImageGalleryItems(state, payload) {\r\n state.imageGalleryItems = payload;\r\n },\r\n clearImageGalleryItems(state) {\r\n state.imageGalleryItems = [];\r\n },\r\n setMapView(state, payload) {\r\n state.view = payload;\r\n },\r\n setIs3d(state, payload) {\r\n state.is3d = payload;\r\n },\r\n addGraphicsLayer(state, graphicsLayer) {\r\n state.graphicsLayers.push(graphicsLayer);\r\n },\r\n addBottomSheet(state, payload) {\r\n state.tabsAreOpen = true;\r\n state.bottomSheets.push(payload);\r\n },\r\n removeFeatureTable(state, index) {\r\n state.bottomSheets.splice(index, 1);\r\n\r\n if (state.bottomSheets.length === 0) {\r\n state.tabsAreOpen = false;\r\n }\r\n },\r\n setCopiedGeometry(state, geometry) {\r\n state.copiedGeometry = geometry;\r\n },\r\n addMetadata(state, payload) {\r\n state.layerMetadata.push(payload);\r\n },\r\n addLayerInfo(state, payload) {\r\n state.layerInfos.push(payload);\r\n },\r\n setExtent(state, payload) {\r\n state.extent = payload;\r\n },\r\n setFavourites(state, payload) {\r\n state.favourites = payload;\r\n },\r\n setBuildingsLayerAdded(state, payload) {\r\n state.buildingsLayerAdded = payload;\r\n },\r\n addFavourite(state, payload) {\r\n state.favourites.push(payload);\r\n localStorage.setItem(\"favourites\", JSON.stringify(state.favourites));\r\n },\r\n removeFavourite(state, payload) {\r\n let index = state.favourites.indexOf(payload);\r\n\r\n if (index > -1) {\r\n state.favourites.splice(index, 1);\r\n\r\n localStorage.setItem(\"favourites\", JSON.stringify(state.favourites));\r\n }\r\n },\r\n setStartupDialog(state, startupDialog) {\r\n state.startupDialog = startupDialog;\r\n },\r\n setZoom(state, payload) {\r\n state.zoom = payload;\r\n },\r\n setSelectedExtent(state, payload) {\r\n state.selectedExtent = payload;\r\n },\r\n addProfile(state, payload) {\r\n state.addedProfiles.push(payload);\r\n },\r\n addMapProfile(state, payload) {\r\n state.mapProfiles.push(payload);\r\n },\r\n REMOVE_MAP_PROFILE_FROM_STATE(state, payload) {\r\n let index = state.mapProfiles.findIndex(profile => profile.id === payload);\r\n state.mapProfiles.splice(index, 1);\r\n },\r\n setTheMap(state, payload) {\r\n state.theMap = payload;\r\n },\r\n setTheMapView(state, payload) {\r\n state.theMapView = payload;\r\n },\r\n setGuideIsRunning(state, payload) {\r\n state.guideIsRunning = payload;\r\n },\r\n toggleProfileOpen(state, payload) {\r\n payload.open = !payload.open;\r\n },\r\n setProfileVisibility(state, payload) {\r\n let mapProfileIndex = state.mapProfiles.findIndex(profile => {\r\n return profile.id == payload.profile.id;\r\n });\r\n state.mapProfiles[mapProfileIndex].visible = payload.visible;\r\n },\r\n setProfileActualVisibleSublayers(state, payload) {\r\n state.profiles[payload.id].actualVisibleLayers = payload.VisibleLayers;\r\n },\r\n setMapProfileOpacity(state, payload) {\r\n state.mapProfiles[payload.mapProfileIndex].opacity = payload.opacity;\r\n },\r\n updateMapProfiles(state, payload) {\r\n state.mapProfiles = payload;\r\n },\r\n updateMapProfile(state, updateInfo) {\r\n state.mapProfiles[updateInfo.index] = updateInfo.newProfile;\r\n },\r\n setMapProfileDate(state, updateInfo) {\r\n state.mapProfiles[updateInfo.index].date = updateInfo.newDate;\r\n },\r\n updateMapProfileName(state, updateInfo) {\r\n state.mapProfiles[updateInfo.index].appTitle = updateInfo.newTitle;\r\n },\r\n updateMapProfileDescription(state, updateInfo) {\r\n state.mapProfiles[updateInfo.index].Temaforklaring =\r\n updateInfo.Temaforklaring;\r\n },\r\n setSelectedBasemap(state, payload) {\r\n state.selectedBasemap = payload.basemap;\r\n if (state.theMap) {\r\n state.theMap.basemap = payload.loadedBasemap;\r\n // let el = state.theMap.ground.layers.items[0];\r\n }\r\n },\r\n setProfiles(state, profiles) {\r\n state.profiles = profiles;\r\n },\r\n setCurrentlyOpenedProject(state, project) {\r\n state.currentlyOpenedProject = project;\r\n },\r\n setSnack(state, snack) {\r\n state.snackTimeout = 6000;\r\n state.snackLoading = false;\r\n state.snack = snack;\r\n },\r\n setLoadingSnack(state, snack) {\r\n state.snackTimeout = 0;\r\n state.snackLoading = true;\r\n state.snack = snack;\r\n },\r\n setShowCatalogue(state, showCatalogue) {\r\n state.showCatalogue = showCatalogue;\r\n },\r\n setShowPredefinedBookmarks(state, showPredefinedBookmarks) {\r\n state.showPredefinedBookmarks = showPredefinedBookmarks;\r\n },\r\n setPrintWidth(state, newPrintWidth) {\r\n state.selectedPrintWidth = newPrintWidth;\r\n },\r\n setPrintHeight(state, newPrintHeight) {\r\n state.selectedPrintHeight = newPrintHeight;\r\n },\r\n setSelectedPrintScale(state, newPrintScale) {\r\n state.selectedPrintScale = newPrintScale;\r\n },\r\n setSelectedPageFormat(state, newPageFormat) {\r\n state.selectedPageFormat = newPageFormat;\r\n },\r\n setCurrentMapScale(state, newMapScale) {\r\n state.currentMapScale = newMapScale;\r\n },\r\n setSaveIsEnabled(state, saveIsEnabled) {\r\n state.saveIsEnabled = saveIsEnabled;\r\n },\r\n addLastVisitedMap(state, lastVisitedMap) {\r\n state.lastVisitedMaps.push(lastVisitedMap);\r\n localStorage.setItem(\r\n \"lastVisitedMaps\",\r\n JSON.stringify(state.lastVisitedMaps).toLowerCase()\r\n );\r\n },\r\n removeLastVisitedMap(state, lastVisitedMap) {\r\n let index = state.lastVisitedMaps.findIndex(visitedMap => {\r\n return lastVisitedMap.id === visitedMap.id;\r\n });\r\n\r\n if (index > -1) {\r\n state.lastVisitedMaps.splice(index, 1);\r\n\r\n localStorage.setItem(\r\n \"lastVisitedMaps\",\r\n JSON.stringify(state.lastVisitedMaps)\r\n );\r\n }\r\n },\r\n setPopupVisible(state, popupVisible) {\r\n state.popupVisible = popupVisible;\r\n },\r\n setUserSetting(state, userSetting) {\r\n state.userSettings[userSetting.id] = userSetting.value;\r\n localStorage.setItem(\"nveUserSettings\", JSON.stringify(state.userSettings));\r\n },\r\n setUserSettings(state, userSettings) {\r\n state.userSettings = userSettings;\r\n localStorage.setItem(\"nveUserSettings\", JSON.stringify(state.userSettings));\r\n },\r\n setLastVisitedMaps(state, lastVisitedMaps) {\r\n state.lastVisitedMaps = lastVisitedMaps;\r\n },\r\n setShowLayerInfoCard(state, showLayerInfoCard) {\r\n state.showLayerInfoCard = showLayerInfoCard;\r\n },\r\n setSceneViewLoaded(state, sceneViewLoaded) {\r\n state.sceneViewLoaded = sceneViewLoaded;\r\n },\r\n setMapBookmarks(state, mapBookmarks) {\r\n state.mapBookmarks = mapBookmarks;\r\n localStorage.setItem(\"nveMapBookmarks\", JSON.stringify(state.mapBookmarks));\r\n },\r\n addMapBookmark(state, mapBookmark) {\r\n state.mapBookmarks.push(mapBookmark);\r\n localStorage.setItem(\"nveMapBookmarks\", JSON.stringify(state.mapBookmarks));\r\n },\r\n editBookmarkTitle(state, bookmarkEditInfo) {\r\n state.mapBookmarks[bookmarkEditInfo.index].title =\r\n bookmarkEditInfo.newTitle;\r\n localStorage.setItem(\"nveMapBookmarks\", JSON.stringify(state.mapBookmarks));\r\n },\r\n removeMapBookmark(state, mapBookmarkIndex) {\r\n state.mapBookmarks.splice(mapBookmarkIndex, 1);\r\n localStorage.setItem(\"nveMapBookmarks\", JSON.stringify(state.mapBookmarks));\r\n },\r\n setIsConnectedToIntranet(state, isConnectedToIntranet) {\r\n state.isConnectedToIntranet = isConnectedToIntranet;\r\n },\r\n setShowHovedforklaring(state, payload) {\r\n state.showHovedforklaring = payload;\r\n },\r\n setMainThemeID(state, payload) {\r\n state.mainThemeID = payload;\r\n }\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport state from \"./state\";\r\nimport getters from \"./getters\";\r\nimport actions from \"./actions\";\r\nimport mutations from \"./mutations\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n strict: process.env.NODE_ENV !== \"production\"\r\n});\r\n","import { loadModules } from \"esri-loader\";\r\n\r\nconst getArcGISBasemap = basemap => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/Basemap\"])\r\n .then(([Basemap]) => {\r\n // let layerOptions = {\r\n // url: basemap.urlTemplate\r\n // };\r\n let mapLayerPromise = getBasemapLayer(basemap);\r\n\r\n mapLayerPromise.then(mapLayer => {\r\n let arcgisBasemap = new Basemap({\r\n baseLayers: [mapLayer],\r\n title: basemap.title,\r\n id: basemap.id,\r\n thumbnailUrl: basemap.thumbnailUrl,\r\n spatialReference: { wkid: 25833 }\r\n });\r\n\r\n resolve(arcgisBasemap);\r\n });\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n};\r\n\r\nconst getBasemapLayer = basemap => {\r\n switch (basemap.type) {\r\n case \"wms\":\r\n return getWmsLayer(basemap.options);\r\n case \"vector\":\r\n return getVectorTileLayer(basemap.options);\r\n case \"imagerylayer\":\r\n return getImageryLayer(basemap.options);\r\n default:\r\n return getTileLayer(basemap.options);\r\n }\r\n};\r\n\r\nconst getTileLayer = layerOptions => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/TileLayer\"])\r\n .then(([TileLayer]) => {\r\n resolve(new TileLayer(layerOptions));\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n};\r\n\r\nconst getWmsLayer = layerOptions => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/WMSLayer\"])\r\n .then(([WmsLayer]) => {\r\n resolve(new WmsLayer(layerOptions));\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n};\r\n\r\nconst getVectorTileLayer = layerOptions => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/VectorTileLayer\"])\r\n .then(([VectorTileLayer]) => {\r\n resolve(new VectorTileLayer(layerOptions));\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n};\r\n\r\nconst getImageryLayer = layerOptions => {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/ImageryLayer\"])\r\n .then(([ImageryLayer]) => {\r\n resolve(new ImageryLayer(layerOptions));\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n};\r\n\r\nexport { getArcGISBasemap };\r\n","import { mapState, mapActions } from \"vuex\";\r\nimport { getArcGISBasemap } from \"./basemapLogic\";\r\nimport Vue from \"vue\";\r\nimport { loadModules } from \"esri-loader\";\r\n\r\nconst basemapMixin = {\r\n data: function() {\r\n return {};\r\n },\r\n computed: {\r\n ...mapState([\"profiles\", \"selectedBasemap\"])\r\n },\r\n methods: {\r\n ...mapActions([\"setSelectedBasemap\"]),\r\n setBasemap(basemap) {\r\n return new Promise((resolve, reject) => {\r\n Vue.$cookies.set(\"basemap\", basemap);\r\n\r\n if (basemap.useProxy) {\r\n this.addProxyRule({ serviceUrl: basemap.options.url });\r\n }\r\n getArcGISBasemap(basemap)\r\n .then(arcgisBasemap => {\r\n this.setSelectedBasemap({\r\n basemap: basemap,\r\n loadedBasemap: arcgisBasemap\r\n });\r\n resolve(arcgisBasemap);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n addProxyRule(profile) {\r\n loadModules([\"esri/core/urlUtils\"]).then(([urlUtils]) => {\r\n let proxyUrl = \"\";\r\n if (\r\n profile.hasOwnProperty(\"OnlyAccessibleViaIntranet\") &&\r\n profile.OnlyAccessibleViaIntranet\r\n ) {\r\n proxyUrl = process.env.VUE_APP_INTERNAL_PROXY_URL;\r\n } else {\r\n proxyUrl = process.env.VUE_APP_PROXY_URL;\r\n }\r\n urlUtils.addProxyRule({\r\n urlPrefix: profile.serviceUrl,\r\n proxyUrl: proxyUrl\r\n });\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport default basemapMixin;\r\n","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!./TheCataloguePage.vue?vue&type=style&index=0&id=fe43372e&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/ams.4650d484.jpg\";","module.exports = __webpack_public_path__ + \"img/industri_smvf.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/autokast_svalbard.46a829c9.jpg\";","module.exports = __webpack_public_path__ + \"img/flomakt.52db7499.jpg\";","module.exports = __webpack_public_path__ + \"img/autokast.46a829c9.jpg\";","import { loadModules } from \"esri-loader\";\r\nimport Vue from \"vue\";\r\nimport store from \"../store\";\r\n\r\nexport function createGraphicsLayer(options) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/GraphicsLayer\"])\r\n .then(([GraphicsLayer]) => {\r\n resolve(new GraphicsLayer(options));\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport function importProfileFile(fileName) {\r\n return new Promise((resolve, reject) => {\r\n import(/* webpackIgnore: true */ process.env.VUE_APP_CONFIG_FILES_URL +\r\n \"tema/\" +\r\n fileName.toLowerCase() +\r\n \".js?version=\" +\r\n new Date().getTime())\r\n .then(file => {\r\n resolve(file);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport function importBookmarksFile() {\r\n return new Promise((resolve, reject) => {\r\n import(/* webpackIgnore: true */ process.env.VUE_APP_CONFIG_FILES_URL +\r\n \"bookmarks.js?version=\" +\r\n new Date().getTime())\r\n .then(file => {\r\n resolve(file);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport function getLayerByID(id) {\r\n return Vue.prototype.$theMapObject.findLayerById(id);\r\n}\r\n\r\nexport function removeAllGraphicsExceptLocationGraphic(view) {\r\n let graphicsToRemove = [];\r\n view.graphics.items.forEach(graphic => {\r\n if (\r\n graphic.hasOwnProperty(\"attributes\") &&\r\n graphic.attributes.hasOwnProperty(\"altitudeAccuracy\")\r\n ) {\r\n return;\r\n } else {\r\n graphicsToRemove.push(graphic);\r\n }\r\n });\r\n view.graphics.removeMany(graphicsToRemove);\r\n}\r\n\r\nexport function switchMapTo3d(cameraOptions) {\r\n Vue.prototype.$eventHub.$emit(\"switch-to-3d\", cameraOptions);\r\n}\r\n\r\nexport function switchMapTo2d() {\r\n Vue.prototype.$eventHub.$emit(\"switch-to-2d\");\r\n}\r\n\r\nexport function getSavedMapDefinition(savedMap) {\r\n return JSON.parse(savedMap.map.attributes.JSON);\r\n}\r\n\r\nexport function // Profiles\r\nmergeProfileOptions(profile, payload) {\r\n let optionsToBeMerged = {\r\n canBeDownloaded: false,\r\n visible: true,\r\n opacity: 1.0,\r\n open: true,\r\n type: \"mapImageLayer\",\r\n ShowAtStartUpLayers: []\r\n };\r\n profile = mergeOptions(optionsToBeMerged, profile, payload);\r\n\r\n if (payload.hasOwnProperty(\"date\")) {\r\n profile.date = payload.date;\r\n }\r\n\r\n profile.ShowAtStartupLayers = payload.hasOwnProperty(\"showAtStartupLayers\")\r\n ? payload.showAtStartupLayers\r\n : profile.hasOwnProperty(\"ShowAtStartUpLayers\")\r\n ? profile.ShowAtStartUpLayers\r\n : [];\r\n\r\n profile.imageAttribution = store.state.profiles[profile.id].imageAttribution;\r\n\r\n return profile;\r\n}\r\n\r\nexport function getLayerGraphicsAsJSON(graphicsLayerID) {\r\n let graphicsLayer = getLayerByID(graphicsLayerID);\r\n let jsonArray = [];\r\n graphicsLayer.graphics.items.forEach(graphic => {\r\n jsonArray.push(graphic.toJSON());\r\n });\r\n return jsonArray;\r\n}\r\n\r\nexport function getDuplicateLayerProfile(id, title, description) {\r\n return {\r\n id: id,\r\n open: false,\r\n icon: \"edit\",\r\n visible: true,\r\n appTitle: title + \" kopi\",\r\n Temaforklaring: description,\r\n type: \"graphicsLayer\"\r\n };\r\n}\r\n\r\nexport function getUniqueLayerID() {\r\n return new Date().getTime().toString();\r\n}\r\n\r\nexport function addLayerToMap(layer) {\r\n Vue.prototype.$theMapObject.add(layer);\r\n}\r\n\r\nexport async function getArcGISLayerInfo(url) {\r\n return executeEsriRequest(url + \"?f=pjson\", {\r\n responseType: \"json\"\r\n });\r\n}\r\n\r\nexport function getFieldTypeFromLayerInfo(fieldName, fieldsInfo) {\r\n return fieldsInfo.filter(field => {\r\n return field.name.toUpperCase() === fieldName.toUpperCase();\r\n })[0].type;\r\n}\r\n\r\nexport function getFieldValueStringFromLayerInfo(\r\n fieldName,\r\n fieldValue,\r\n fieldsInfo\r\n) {\r\n let fieldType = getFieldTypeFromLayerInfo(fieldName, fieldsInfo);\r\n\r\n let formattedFieldValueString =\r\n fieldType === \"esriFieldTypeString\" ? \"'\" + fieldValue + \"'\" : fieldValue;\r\n\r\n return formattedFieldValueString;\r\n}\r\n\r\nexport function queryArcGISLayer(url, queryOptions) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/tasks/QueryTask\", \"esri/tasks/support/Query\"]).then(\r\n ([QueryTask, Query]) => {\r\n let queryTask = new QueryTask({\r\n url: url\r\n });\r\n\r\n let query = new Query(queryOptions);\r\n\r\n queryTask\r\n .execute(query)\r\n .then(results => {\r\n resolve(results);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport function getFirstValidExtentFromURLQuery(urlQuery) {\r\n return new Promise((resolve, reject) => {\r\n let layers = urlQuery.layer.split(\",\");\r\n for (let i = 0; i < layers.length; i++) {\r\n getArcGISLayerInfo(urlQuery.url + \"/\" + layers[i])\r\n .then(layerInfo => {\r\n getExtentFromArcGISLayerBasedOnURLQuery(\r\n urlQuery,\r\n layerInfo,\r\n layers[i]\r\n ).then(extent => {\r\n if (extent) {\r\n resolve(extent);\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n }\r\n });\r\n}\r\n\r\nexport function getExtentFromArcGISLayerBasedOnURLQuery(\r\n urlQuery,\r\n layerInfo,\r\n layerID\r\n) {\r\n return new Promise((resolve, reject) => {\r\n let fieldValueString = getFieldValueStringFromLayerInfo(\r\n urlQuery.field,\r\n urlQuery.value,\r\n layerInfo.data.fields\r\n );\r\n\r\n let queryOptions = {\r\n returnGeometry: true,\r\n outFields: [\"*\"],\r\n where: urlQuery.field + \" = \" + fieldValueString\r\n };\r\n\r\n queryArcGISLayer(urlQuery.url + \"/\" + layerID, queryOptions)\r\n .then(results => {\r\n if (results.features.length > 0) {\r\n getExtentFromFeature(results.features[0]).then(extent => {\r\n resolve(extent);\r\n });\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport function getExtentFromFeature(feature) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/geometry/Extent\"])\r\n .then(([Extent]) => {\r\n let geometry = feature.geometry;\r\n\r\n if (geometry.type === \"point\") {\r\n resolve(\r\n new Extent({\r\n xmin: geometry.x,\r\n xmax: geometry.x,\r\n ymin: geometry.y,\r\n ymax: geometry.y,\r\n spatialReference: {\r\n wkid: 25833\r\n }\r\n })\r\n );\r\n } else {\r\n resolve(feature.geometry.extent);\r\n }\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport function placePhotoLayerOnTopIfActive() {\r\n let photolayer = Vue.prototype.$theMapObject.findLayerById(\"foto\");\r\n if (photolayer) {\r\n reorderMapLayer(photolayer, 1000);\r\n }\r\n}\r\n\r\nexport function reorderMapLayer(layer, index) {\r\n Vue.prototype.$theMapObject.reorder(layer, index);\r\n}\r\n\r\nexport function mergeOptions(optionsToBeMerged, firstObject, secondObject) {\r\n for (let k in optionsToBeMerged) {\r\n let defaultValue = optionsToBeMerged[k];\r\n firstObject[k] = mergeOption(firstObject[k], secondObject[k], defaultValue);\r\n }\r\n return firstObject;\r\n}\r\n\r\nexport function mergeOption(value1, value2, defaultValue) {\r\n if (typeof value2 !== \"undefined\") {\r\n return value2;\r\n }\r\n if (typeof value1 !== \"undefined\") {\r\n return value1;\r\n }\r\n\r\n return defaultValue;\r\n}\r\n\r\nexport function cloneObject(theObject) {\r\n //return JSON.parse(JSON.stringify(theObject));\r\n return Object.assign({}, theObject);\r\n}\r\n\r\nexport function createMapLayer(options, profile) {\r\n switch (options.type) {\r\n case \"imageryLayer\":\r\n return createImageryLayer(profile);\r\n case \"wmsLayer\":\r\n return createWMSLayer(profile);\r\n case \"sceneLayer\":\r\n return createSceneLayer(profile);\r\n case \"featureLayer\":\r\n return createFeatureLayer(profile, options);\r\n case \"mapImageLayer\":\r\n return createMapImageLayer(profile);\r\n case \"shapeLayer\":\r\n return createShapeLayer(profile);\r\n default:\r\n return createMapImageLayer(profile);\r\n }\r\n}\r\n\r\nexport function createImageryLayer(profile) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/ImageryLayer\", \"esri/layers/support/MosaicRule\"])\r\n .then(([ImageryLayer, MosaicRule]) => {\r\n let layer = new ImageryLayer({\r\n id: profile.id,\r\n url: profile.serviceUrl,\r\n visible: profile.visible,\r\n opacity: profile.opacity ? profile.opacity : 1.0\r\n });\r\n if (profile.hasOwnProperty(\"date\")) {\r\n let mosaicRule = new MosaicRule();\r\n mosaicRule.method = \"none\";\r\n mosaicRule.ascending = false;\r\n mosaicRule.where =\r\n \"opptakstidspunkt >= date '\" +\r\n profile.date +\r\n \" 00:00:00' AND opptakstidspunkt <= date '\" +\r\n profile.date +\r\n \" 23:59:59'\";\r\n layer.mosaicRule = mosaicRule;\r\n }\r\n resolve(layer);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nexport function createWMSLayer(profile) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/WMSLayer\"])\r\n .then(([WMSLayer]) => {\r\n let layer = new WMSLayer({\r\n id: profile.id,\r\n visible: profile.visible,\r\n url: profile.serviceUrl,\r\n sublayers: profile.sublayers,\r\n opacity: profile.opacity ? profile.opacity : 1.0\r\n });\r\n resolve(layer);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nexport function createSceneLayer(profile) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/SceneLayer\", \"esri/layers/GroupLayer\"])\r\n .then(([SceneLayer, GroupLayer]) => {\r\n let layers = [];\r\n profile.VisibleLayers.forEach(layerId => {\r\n let layer = new SceneLayer({\r\n id: profile.id + layerId,\r\n url: profile.serviceUrl + \"/\" + layerId,\r\n popupEnabled: false\r\n // minScale: 8000\r\n });\r\n layers.push(layer);\r\n });\r\n let groupLayer = new GroupLayer({\r\n id: profile.id,\r\n layers: layers,\r\n opacity: profile.opacity ? profile.opacity : 1.0\r\n });\r\n resolve(groupLayer);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nexport function createFeatureLayer(profile, options) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/FeatureLayer\"])\r\n .then(([FeatureLayer]) => {\r\n let currentFeatureLayerOptions =\r\n options.isConnectedToIntranet && // HER\r\n profile.hasOwnProperty(\"intranetFeatureLayerOptions\")\r\n ? profile.intranetFeatureLayerOptions\r\n : profile.featureLayerOptions;\r\n\r\n let featureLayerOptionsCopy = JSON.parse(\r\n JSON.stringify(currentFeatureLayerOptions)\r\n );\r\n // HER\r\n if (\r\n options.is3d &&\r\n featureLayerOptionsCopy.hasOwnProperty(\"renderer3d\")\r\n ) {\r\n featureLayerOptionsCopy.renderer = featureLayerOptionsCopy.renderer3d;\r\n }\r\n let layer = new FeatureLayer(featureLayerOptionsCopy);\r\n layer.id = profile.id;\r\n resolve(layer);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nexport async function createMapImageLayer(profile) {\r\n return new Promise((resolve, reject) => {\r\n loadModules([\"esri/layers/MapImageLayer\"]).then(\r\n async ([MapImageLayer]) => {\r\n let sublayers = await getMapImageSublayers(profile);\r\n\r\n let layer = new MapImageLayer(\r\n getCreateMapImageLayerProperties(profile, sublayers)\r\n );\r\n let legendResponse = await getArcGISLayerLegendInfo(profile.serviceUrl);\r\n addLegendDataToSublayers(\r\n layer.sublayers.items,\r\n legendResponse.data.layers\r\n );\r\n\r\n resolve(layer);\r\n },\r\n function(error) {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport function createShapeLayer(profile) {\r\n return new Promise(resolve => {\r\n resolve(profile.featureLayer);\r\n });\r\n}\r\n\r\nexport async function getHydratedGraphics(graphicsAsJson) {\r\n let hydratedGraphics = [];\r\n for (let i = 0; i < graphicsAsJson.length; i++) {\r\n let graphicJSON = graphicsAsJson[i];\r\n let graphic = await hydrateGraphicFromJSON(graphicJSON);\r\n hydratedGraphics.push(graphic);\r\n }\r\n\r\n return hydratedGraphics;\r\n}\r\n\r\nexport function getGraphicslayerMapProfile(options) {\r\n return {\r\n id: options.id.toString(),\r\n open: options.open,\r\n icon: \"edit\",\r\n visible: options.visible,\r\n appTitle: options.appTitle,\r\n Temaforklaring: options.Temaforklaring,\r\n type: \"graphicsLayer\"\r\n };\r\n}\r\n\r\nexport async function hydrateGraphicFromJSON(graphicJSON) {\r\n let hydratedGraphic = await getGraphicFromJSON(graphicJSON);\r\n hydratedGraphic.popupTemplate = createGraphicPopupTemplate(hydratedGraphic);\r\n\r\n return hydratedGraphic;\r\n}\r\n\r\nexport function createGraphicPopupTemplate(graphic) {\r\n if (graphic.hasOwnProperty(\"attributes\")) {\r\n let popupTemplateContentString = \"<table><tbody>\";\r\n\r\n for (let attributeKey in graphic.attributes) {\r\n popupTemplateContentString = popupTemplateContentString.concat(\r\n \"<tr><td style='vertical-align:top'><b>\" +\r\n attributeKey +\r\n \"</b></td><td> \" +\r\n graphic.attributes[attributeKey] +\r\n \"</td></tr>\"\r\n );\r\n }\r\n\r\n popupTemplateContentString = popupTemplateContentString.concat(\r\n \"<table><tbody>\"\r\n );\r\n\r\n return {\r\n title: graphic.attributes.name ? graphic.attributes.name : \"Uten navn\",\r\n content: popupTemplateContentString\r\n };\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function getGraphicFromJSON(graphicJSON) {\r\n const [Graphic] = await loadModules([\"esri/Graphic\"]);\r\n return Graphic.fromJSON(graphicJSON);\r\n}\r\n\r\nexport async function executeEsriRequest(url, options) {\r\n const [esriRequest] = await loadModules([\"esri/request\"]);\r\n let result = await esriRequest(url, options);\r\n return result;\r\n}\r\n\r\nexport async function getArcGISLayerLegendInfo(url) {\r\n return executeEsriRequest(url + \"/legend?f=pjson\", {\r\n responseType: \"json\"\r\n });\r\n}\r\n\r\nexport function getCreateMapImageLayerProperties(profile, sublayers) {\r\n return {\r\n url: profile.serviceUrl,\r\n id: profile.id,\r\n imageFormat: \"png32\",\r\n title: profile.appTitle,\r\n sublayers: sublayers,\r\n opacity: profile.opacity ? profile.opacity : 1.0,\r\n visible: profile.visible\r\n };\r\n}\r\n\r\nexport async function getSublayerRendererFromJSON(rendererAsJSON) {\r\n loadModules([\"esri/renderers/support/jsonUtils\"]).then(\r\n async ([jsonUtils]) => {\r\n return jsonUtils.fromJSON(rendererAsJSON);\r\n }\r\n );\r\n}\r\n\r\nexport async function getMapImageSublayers(profile) {\r\n let infoResponse = await getArcGISLayerInfo(profile.serviceUrl);\r\n\r\n let sublayers = [];\r\n\r\n if (profile.sublayers) {\r\n sublayers = profile.sublayers;\r\n sublayers[0].renderer = await getSublayerRendererFromJSON(\r\n sublayers[0].renderer\r\n );\r\n } else {\r\n let visibleSublayersOnly = filterVisibleSublayers(\r\n infoResponse.data.layers,\r\n profile.VisibleLayers\r\n );\r\n\r\n setVisibilityOfSublayers(\r\n visibleSublayersOnly,\r\n profile.ShowAtStartUpLayers,\r\n profile.setParentLayerVisibleIfSublayersAreVisibleAtStartup,\r\n profile.visibleLayersOpacity\r\n );\r\n\r\n sublayers = createLayerHierarchyFromFlatLayerJSON(visibleSublayersOnly);\r\n }\r\n\r\n sublayers = reverseSublayers(sublayers);\r\n sublayers = deleteSublayersKeyFromSublayerIfEmpty(sublayers);\r\n return sublayers;\r\n}\r\n\r\nexport function reverseSublayers(sublayers) {\r\n sublayers.forEach(sublayer => {\r\n if (sublayer.hasOwnProperty(\"sublayers\")) {\r\n if (sublayer.sublayers.length > 0) {\r\n sublayer.sublayers = reverseSublayers(sublayer.sublayers);\r\n }\r\n }\r\n });\r\n return sublayers.slice().reverse();\r\n}\r\n\r\nexport function deleteSublayersKeyFromSublayerIfEmpty(sublayers) {\r\n sublayers.forEach(sublayer => {\r\n if (sublayer.hasOwnProperty(\"sublayers\")) {\r\n if (sublayer.sublayers.length > 0) {\r\n sublayer.sublayers = deleteSublayersKeyFromSublayerIfEmpty(\r\n sublayer.sublayers\r\n );\r\n } else {\r\n delete sublayer.sublayers;\r\n }\r\n }\r\n });\r\n return sublayers;\r\n}\r\n\r\nexport function filterVisibleSublayers(layerSourceJSON, visibleLayerIndexes) {\r\n return layerSourceJSON.filter(item => {\r\n return visibleLayerIndexes.includes(item.id);\r\n });\r\n}\r\n\r\nexport function setVisibilityOfSublayers(\r\n sublayers,\r\n showAtStartup,\r\n setParentLayerVisibleIfSublayersAreVisibleAtStartup,\r\n visibleLayersOpacity = []\r\n) {\r\n for (let i = sublayers.length - 1; i >= 0; i--) {\r\n let layerJSON = sublayers[i];\r\n\r\n if (showAtStartup.includes(layerJSON.id)) {\r\n layerJSON.visible = true;\r\n } else if (\r\n setParentLayerVisibleIfSublayersAreVisibleAtStartup &&\r\n layerJSON.subLayerIds !== null &&\r\n showAtStartup.some(\r\n visibleLayerIndex =>\r\n layerJSON.subLayerIds.indexOf(visibleLayerIndex) >= 0\r\n )\r\n ) {\r\n layerJSON.visible = true;\r\n } else {\r\n layerJSON.visible = false;\r\n }\r\n if (visibleLayersOpacity.some(opacityInfo => opacityInfo.layer === layerJSON.id)) {\r\n layerJSON.opacity = visibleLayersOpacity.find(\r\n opacityInfo => opacityInfo.layer === layerJSON.id\r\n ).opacity;\r\n }\r\n }\r\n}\r\n\r\nexport function addLegendDataToSublayers(sublayers, legendData) {\r\n for (let i = sublayers.length - 1; i >= 0; i--) {\r\n let layerJSON = sublayers[i];\r\n\r\n if (legendData.some(legendInfo => legendInfo.layerId === layerJSON.id)) {\r\n let layerLegendInfo = legendData.find(\r\n legendSource => legendSource.layerId === layerJSON.id\r\n );\r\n layerJSON.legendImages = layerLegendInfo.legend;\r\n layerJSON.title = layerLegendInfo.layerName;\r\n } else {\r\n if (\r\n layerJSON.hasOwnProperty(\"sublayers\") &&\r\n layerJSON.sublayers.items.length > 0\r\n ) {\r\n addLegendDataToSublayers(layerJSON.sublayers.items, legendData);\r\n }\r\n layerJSON.legendImages = [];\r\n }\r\n }\r\n}\r\n\r\nexport function createLayerHierarchyFromFlatLayerJSON(\r\n items,\r\n id = -1,\r\n link = \"parentLayerId\"\r\n) {\r\n return items\r\n .filter(item => item[link] === id)\r\n .map(item => ({\r\n ...item,\r\n sublayers: createLayerHierarchyFromFlatLayerJSON(items, item.id)\r\n }));\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/flomsone.52db7499.jpg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItem.vue?vue&type=style&index=0&id=404f4f04&prod&lang=scss&scoped=true\"","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib\";\r\nimport \"vuetify/src/stylus/app.styl\";\r\nimport { Scroll } from \"vuetify/lib/directives\";\r\n\r\nVue.use(Vuetify, {\r\n icons: {\r\n iconfont: \"mdiSvg\"\r\n },\r\n directives: {\r\n Scroll\r\n }\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',{staticStyle:{\"overflow-y\":\"hidden\"},attrs:{\"dark\":_vm.userSettings.useDarkMode}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-app style=\"overflow-y: hidden\" :dark=\"userSettings.useDarkMode\">\r\n <router-view></router-view>\r\n </v-app>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport { setDefaultOptions } from \"esri-loader\";\r\n\r\nexport default {\r\n name: \"App\",\r\n\r\n computed: {\r\n ...mapState([\r\n \"sidebarHasOpened\",\r\n \"showSideMenu\",\r\n \"bottomTabsHeight\",\r\n \"userSettings\",\r\n \"mapLoaded\",\r\n \"tabsAreOpen\",\r\n \"showImageGallery\",\r\n ]),\r\n showTabs: {\r\n set(showTabs) {\r\n this.setShowTabs(showTabs);\r\n },\r\n get() {\r\n return this.$store.state.showTabs;\r\n },\r\n },\r\n mapHeight: {\r\n set(mapHeight) {\r\n this.setMapHeight(mapHeight);\r\n },\r\n get() {\r\n return this.$store.state.mapHeight;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n mapSplitPaneMinSize: 300,\r\n bottomTabsSplitPaneMinSize: 48,\r\n };\r\n },\r\n mounted() {\r\n this.getAndSetProfiles();\r\n },\r\n watch: {\r\n \"userSettings.theme\": function(newVal, oldVal) {\r\n if (newVal !== oldVal) {\r\n this.setThemeColor(newVal);\r\n }\r\n },\r\n \"userSettings.useDarkMode\": function(newVal, oldVal) {\r\n if (newVal !== oldVal) {\r\n this.$vuetify.theme.secondary = newVal ? \"#585858\" : \"#f5f5f5\";\r\n }\r\n },\r\n },\r\n created() {\r\n setDefaultOptions({\r\n version: \"4.20\",\r\n css: true,\r\n dojoConfig: {\r\n locale: \"nb\",\r\n },\r\n }); \r\n\r\n this.setThemeColor(this.userSettings.theme);\r\n },\r\n methods: {\r\n ...mapActions([\"getAndSetProfiles\", \"setShowTabs\", \"setMapHeight\"]),\r\n onDragEnd(size) {\r\n this.setMapHeight(size[0]);\r\n this.setBottomTabsHeight(size[1]);\r\n },\r\n setThemeColor(theme) {\r\n this.$vuetify.theme = JSON.parse(JSON.stringify(theme.definition));\r\n this.$vuetify.theme.secondary = this.userSettings.useDarkMode\r\n ? \"#585858\"\r\n : \"#f5f5f5\";\r\n // if (theme.dark && !this.useDarkMode) {\r\n // this.useDarkMode = true;\r\n // }\r\n\r\n // if (!theme.dark && this.useDarkMode) {\r\n // this.useDarkMode = false;\r\n // }\r\n },\r\n },\r\n};\r\n</script>\r\n<style>\r\nhtml {\r\n overflow-y: hidden;\r\n}\r\n\r\n.content-container {\r\n padding: 0px;\r\n}\r\n\r\n.content-container-mobile {\r\n position: fixed; /* fix to avoid scroll in chrome address bar */\r\n}\r\n\r\n.drawer-button {\r\n margin-bottom: 10px;\r\n margin-top: 10px;\r\n}\r\n\r\n.drawer-icon {\r\n font-size: 22px !important;\r\n}\r\n\r\n.drawer-content {\r\n margin-left: 56px;\r\n}\r\n\r\n.drawer-icon-active {\r\n padding-left: 5px;\r\n margin-left: 14px;\r\n margin-right: 14px;\r\n margin-top: -15px;\r\n margin-bottom: 12px;\r\n border-bottom: 3px solid deepskyblue;\r\n}\r\n\r\ndiv.hideGutter div.gutter.gutter-vertical {\r\n display: none !important;\r\n}\r\n\r\n.the-split-panel {\r\n height: 100%;\r\n}\r\n\r\n.right-navigation-drawer {\r\n z-index: 9;\r\n background: #eceff1;\r\n}\r\n\r\n.map-container {\r\n position: relative;\r\n height: 100%;\r\n}\r\n\r\n::-webkit-scrollbar-track {\r\n /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); */\r\n border-radius: 0px;\r\n background-color: #f5f5f5;\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 8px;\r\n height: 8px;\r\n background-color: #f5f5f5;\r\n}\r\n\r\n::-webkit-scrollbar-thumb {\r\n border-radius: 0px;\r\n /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); */\r\n background-color: gray;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=79c5cd6c\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=79c5cd6c&prod&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 render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_c('the-left-sidebar'),(\n _vm.$vuetify.breakpoint.smAndDown &&\n !_vm.tools.print.active &&\n !_vm.tools.drawing.active &&\n !_vm.tools.measure.active\n )?_c('the-top-toolbar'):_vm._e(),_c('v-content',{style:({\n marginLeft:\n _vm.showSideMenu || !_vm.sidebarHasOpened || _vm.$vuetify.breakpoint.smAndDown\n ? 0\n : 56 + 'px',\n })},[_c('v-container',{staticClass:\"content-container\",class:_vm.$vuetify.breakpoint.smAndDown ? 'content-container-mobile' : '',attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\",\"wrap\":\"\"}},[_c('Split',{staticClass:\"the-split-panel\",class:{ hideGutter: !_vm.showTabs },attrs:{\"direction\":\"vertical\"},on:{\"onDragEnd\":_vm.onDragEnd}},[_c('SplitArea',{attrs:{\"size\":_vm.mapHeight,\"minSize\":_vm.mapSplitPaneMinSize}},[_c('div',{staticClass:\"map-container\"},[_c('the-map')],1)]),_c('SplitArea',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tabsAreOpen),expression:\"tabsAreOpen\"}],attrs:{\"minSize\":_vm.bottomTabsSplitPaneMinSize,\"size\":_vm.bottomTabsHeight}},[_c('the-bottom-tabs')],1)],1)],1),_c('layer-add-dialog'),_c('image-gallery')],1)],1),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.tools.print.active),expression:\"!tools.print.active\"}],staticStyle:{\"position\":\"absolute\",\"right\":\"11px\"},style:({ top: _vm.themeProfile ? '50px' : '10px' }),attrs:{\"fab\":\"\",\"label\":\"Vis kartkatalog\",\"aria-label\":\"Vis kartkatalog\",\"small\":\"\"},on:{\"click\":_vm.showCatalogueDrawer}},on),[_c('v-icon',[_vm._v(\"mdi-file-tree\")])],1)]}}],null,false,481699337)},[_c('span',[_vm._v(\"Vis kartkatalog\")])]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(_vm.showPredefinedBookmarks)?_c('v-btn',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.tools.print.active),expression:\"!tools.print.active\"}],staticStyle:{\"position\":\"absolute\",\"right\":\"11px\"},style:({ top: _vm.themeProfile ? '95px' : '40px' }),attrs:{\"fab\":\"\",\"small\":\"\"},on:{\"click\":_vm.showPredefinedBookmarksDrawer}},on),[_c('v-icon',[_vm._v(\"mdi-map-marker-radius\")])],1):_vm._e()]}}],null,false,3137392967)},[_c('span',[_vm._v(\"Vis risikoobjekter\")])]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('layer-info-card',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.tools.print.active && _vm.currentlyOpenedProject === null),expression:\"!tools.print.active && currentlyOpenedProject === null\"}]}):_vm._e(),(_vm.mapLoaded)?_c('layer-info-drawer'):_vm._e(),_c('layer-catalogue',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCatalogue),expression:\"showCatalogue\"}]}),(_vm.showPredefinedBookmarks)?_c('map-predefined-bookmarks',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPredefinedBookmarks),expression:\"showPredefinedBookmarks\"}]}):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp && _vm.currentlyOpenedProject === null)?_c('the-welcome-dialog'):_vm._e(),_c('confirm-dialog',{attrs:{\"active\":_vm.confirmGoToPreviousVersionDialogOpen,\"text\":_vm.confirmGoToPreviousVersionDialogText,\"title\":\"GÃ¥ til forrige versjon\",\"confirm-text\":\"GÃ¥ til forrige versjon av løsningen\",\"reject-text\":\"Bli her\"},on:{\"dialog-confirmed\":_vm.openSavedMapInPreviousVersion,\"dialog-rejected\":function($event){_vm.confirmGoToPreviousVersionDialogOpen = false}}}),_c('confirm-dialog',{attrs:{\"active\":_vm.showTestWarningDialog,\"text\":'Du har Ã¥pnet en betaversjon av' +\n _vm.appTitle +\n '. Denne versjonen kan inneholde eksperimentell funksjonalitet og utdaterte kartdata. ',\"title\":\"Viktig melding\",\"confirm-text\":\"GÃ¥ til offisiell versjon\",\"reject-text\":\"Bli her\"},on:{\"dialog-confirmed\":_vm.goToOfficialVersion,\"dialog-rejected\":function($event){_vm.showTestWarningDialog = false}}}),(_vm.startupDialog)?_c('confirm-dialog',{attrs:{\"active\":_vm.startupDialog.active,\"text\":_vm.startupDialog.text,\"title\":_vm.startupDialog.title,\"confirm-text\":_vm.startupDialog.confirmButtonText,\"show-reject-button\":false},on:{\"dialog-confirmed\":_vm.hideStartupDialog}}):_vm._e(),_c('the-snack-bar'),_c('app-tour'),_c('the-app-drawer')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-navigation-drawer',{staticClass:\"primary elevation-4 map-mini-drawer\",attrs:{\"absolute\":\"\",\"stateless\":\"\",\"app\":\"\",\"mini-variant\":\"\",\"mini-variant-width\":\"56\"},model:{value:(_vm.showMiniDrawer),callback:function ($$v) {_vm.showMiniDrawer=$$v},expression:\"showMiniDrawer\"}},[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"white--text\",attrs:{\"fab\":\"\",\"dark\":\"\",\"small\":\"\",\"aria-label\":\"Vis hovedmeny\",\"label\":\"Vis hovedmeny\",\"flat\":\"\",\"color\":\"white\"},on:{\"click\":_vm.toggleAppDrawer}},on),[_c('v-icon',{staticClass:\"drawer-icon\",attrs:{\"dark\":\"\"}},[_vm._v(\"menu\")])],1)]}}],null,false,293292605)},[_c('span',[_vm._v(\"Meny\")])]),_vm._l((_vm.tools),function(item,name){return _c('left-sidebar-item-toggle',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\n ),expression:\"\\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\\n \"}],key:name,attrs:{\"name\":name,\"icon\":item.icon,\"data-v-step\":name,\"text\":item.text,\"active\":item.active,\"title\":item.title},on:{\"toggle-tool\":_vm.toggleContent}})}),_c('img',{staticStyle:{\"bottom\":\"10px\",\"left\":\"8px\",\"z-index\":\"100000\",\"position\":\"absolute\",\"height\":\"50px\"},attrs:{\"alt\":\"NVE logo\",\"src\":_vm.getImgUrl(_vm.logoImagePath)}})],2):_vm._e(),_c('v-navigation-drawer',{staticClass:\"elevation-8 left-sidebar\",attrs:{\"app\":_vm.$vuetify.breakpoint.mdAndUp,\"stateless\":_vm.$vuetify.breakpoint.mdAndUp,\"disable-resize-watcher\":\"\",\"temporary\":!_vm.$vuetify.breakpoint.mdAndUp,\"absolute\":\"\",\"width\":_vm.leftSidebarWidth,\"id\":\"scroll-target\",\"hide-overlay\":\"\",\"color\":\"whitesmoke\"},model:{value:(_vm.showSideMenu),callback:function ($$v) {_vm.showSideMenu=$$v},expression:\"showSideMenu\"}},[_c('left-sidebar-item',[_c('layer-list',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeExclusiveToolName == 'layers'),expression:\"activeExclusiveToolName == 'layers'\"}]}),(_vm.mapLoaded)?_c('map-search',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeExclusiveToolName == 'search'),expression:\"activeExclusiveToolName == 'search'\"}]}):_vm._e(),(_vm.mapLoaded && _vm.$vuetify.breakpoint.mdAndUp)?_c('map-print',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeExclusiveToolName == 'print'),expression:\"activeExclusiveToolName == 'print'\"}]}):_vm._e(),_c('map-bookmarks',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeExclusiveToolName == 'bookmarks'),expression:\"activeExclusiveToolName == 'bookmarks'\"}]}),(_vm.mapLoaded)?_c('tips-and-tricks',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeExclusiveToolName == 'help'),expression:\"activeExclusiveToolName == 'help'\"}]}):_vm._e(),_c('share-project-dialog',{attrs:{\"active\":_vm.activeExclusiveToolName == 'share'}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"overflow\":\"none\",\"height\":\"100vh\"}},[_c('v-toolbar',{staticStyle:{\"position\":\"-webkit-sticky\",\"/* Safari */position\":\"sticky\",\"z-index\":\"3\"},attrs:{\"flat\":\"\"}},[_c('v-toolbar-title',[_c('v-icon',[_vm._v(\"layers \")]),_vm._v(\" Kartlag \")],1),(_vm.currentlyOpenedProject)?_c('v-subheader',[_vm._v(_vm._s(_vm.currentlyOpenedProject.attributes.tittel))]):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"label\":\"Skjul kartlag\",\"aria-label\":\"Skjul kartlag\",\"icon\":\"\"},on:{\"click\":_vm.hideDrawer}},[_c('v-icon',[_vm._v(\"chevron_left\")])],1)],1),_c('layer-list-toolbar'),_c('v-divider',{staticStyle:{\"margin\":\"0px\"}}),_c('div',{staticClass:\"elevation-2\",staticStyle:{\"margin-top\":\"0px\",\"overflow-y\":\"scroll\",\"height\":\"calc(100% - 113px)\",\"overflow-x\":\"hidden\"}},[_c('draggable',{attrs:{\"disabled\":_vm.$vuetify.breakpoint.smAndDown},on:{\"change\":_vm.onLayerDragged},model:{value:(_vm.mapProfiles),callback:function ($$v) {_vm.mapProfiles=$$v},expression:\"mapProfiles\"}},_vm._l((_vm.mapProfiles),function(item,index){return _c('div',{key:item.id},[_c('layer-list-item',{attrs:{\"item\":item,\"is-on-top\":index == 0,\"is-on-bottom\":index == _vm.mapProfiles.length - 1},on:{\"remove\":function($event){return _vm.removeLayer(item)},\"place-on-top\":function($event){return _vm.placeOnTop(item)},\"place-on-bottom\":function($event){return _vm.placeOnBottom(item)}}})],1)}),0),(\n _vm.layersAreLoading ||\n _vm.mapProfiles.length == 0 ||\n (_vm.mapProfiles.length == 1 && _vm.mapProfiles[0].id === 'bygninger3d')\n )?_c('div',{staticStyle:{\"height\":\"100%\",\"margin-top\":\"-50px\"}},[_c('v-layout',{attrs:{\"align-center\":\"\",\"justify-center\":\"\",\"row\":\"\",\"fill-height\":\"\"}},[(!_vm.layersAreLoading)?_c('div',[_c('h3',[_vm._v(\"Kartlagslisten er tom..\")]),_c('v-btn',{attrs:{\"label\":\"Legg til innhold\",\"aria-label\":\"Legg til innhold\",\"flat\":\"\",\"color\":\"blue\"},on:{\"click\":_vm.openExplorer}},[_vm._v(\"\\n Legg til innhold\\n \")])],1):_c('v-layout',{attrs:{\"align-center\":\"\",\"justify-center\":\"\",\"column\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}),_c('h4',{staticClass:\"pt-0 mt-1\"},[_vm._v(\"Laster kartlag\")])],1)],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-toolbar',{staticClass:\"mr-0 toolbar-without-padding\",staticStyle:{\"padding-right\":\"0px\",\"position\":\"-webkit-sticky\",\"/* Safari */\\n position\":\"sticky\"},attrs:{\"dense\":\"\",\"color\":_vm.userSettings.useDarkMode ? 'grey darken-3' : 'grey lighten-2'}},[_c('v-toolbar-items'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"ml-0\",staticStyle:{\"font-weight\":\"bold\"},attrs:{\"flat\":\"\",\"small\":\"\"},on:{\"click\":_vm.openExplorer}},on),[_c('v-icon',{staticClass:\"pr-2\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-plus-box-outline\")]),_vm._v(\" Legg til innhold\\n \")],1)]}}])},[_c('span',[_vm._v(\"Legg til kartlag, tegnelag og filer\")])]),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu }){return [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"flat\":\"\",\"label\":\"Kartlag: Flere valg\",\"aria-label\":\"Kartlag: Flere valg\",\"icon\":\"\"}},{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Flere valg\")])])]}}])},[_c('v-list',[_c('v-list-tile',{attrs:{\"disabled\":!_vm.currentlyOpenedProject},on:{\"click\":function($event){return _vm.saveProjectAs()}}},[_c('v-list-tile-title',[_vm._v(\"Lagre som\")])],1),_c('v-list-tile',{on:{\"click\":_vm.removeAllMapProfiles}},[_c('v-list-tile-title',[_vm._v(\"Fjern alle kartlag\")])],1),_c('v-list-tile',{attrs:{\"disabled\":!_vm.currentlyOpenedProject || !_vm.saveIsEnabled},on:{\"click\":_vm.changeProjectSettings}},[_c('v-list-tile-title',[_vm._v(\"Endre kartinnstillinger\")])],1)],1)],1),(_vm.saveProjectDialogActive)?_c('save-project-dialog',{attrs:{\"active\":_vm.saveProjectDialogActive,\"save-project-settings\":_vm.saveProjectSettings},on:{\"close-dialog\":_vm.deactivateSaveProjectDialog}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(_vm._s(_vm.saveProjectSettings ? \"Endre kartinnstillinger\" : \"Lagre kart\"))]),(_vm.saveInProgress)?_c('v-card-text',[_c('div',{staticClass:\"text-xs-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1)]):_vm._e(),(!_vm.saveInProgress)?_c('v-card-text',[(!_vm.saveProjectSettings)?_c('div',[_c('p',{staticClass:\"caption\"},[_vm._v(\"\\n NÃ¥r du lagrer kartet lagres en kopi av visningen (dvs. kartlag,\\n filter, utsnitt, bakgrunnskart) pÃ¥ NVE sine servere. Det lagres ogsÃ¥\\n en referanse til kartet i nettleseren din, slik at du kan Ã¥pne\\n kartet igjen ved Ã¥ velge \\\"Ã¥pne kart\\\" i menyen.\\n \")]),_c('p',{staticClass:\"caption\"},[_vm._v(\"\\n Vi anbefaler at du tar vare pÃ¥ lenken til kartet ditt som du finner\\n ved Ã¥ velge \\\"Del kartet\\\" i menyen. Da kan du Ã¥pne kartet fra en\\n annen datamaskin, og finne kartet selv om\\n nettleserhistorikken/cachen blir slettet.\\n \")]),_c('p',{staticClass:\"caption\"},[_c('strong',[_vm._v(\"Merknad:\")]),_vm._v(\" Lagrefunksjonen mÃ¥ ikke brukes til Ã¥ lagre\\n sensitiv informasjon. Hvis du legger inn viktig informasjon i kartet\\n sÃ¥ bør du ha en kopi av denne informasjon et annet sted, i tilfelle\\n det gjøres endringer i denne løsningen.\\n \")])]):_vm._e(),_c('v-text-field',{attrs:{\"label\":_vm.saveProjectSettings\n ? 'Endre navnet pÃ¥ kartet'\n : 'Gi kartet et navn (obligatorisk)',\"box\":\"\",\"full-width\":\"\",\"maxlength\":\"100\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1):_vm._e(),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"flat\":\"\",\"disabled\":!_vm.title},on:{\"click\":_vm.saveProject}},[_vm._v(\"Lagre\")]),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.emitDialogClosedEvent}},[_vm._v(\"Avbryt\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"active\" persistent width=\"500\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>{{\r\n saveProjectSettings ? \"Endre kartinnstillinger\" : \"Lagre kart\"\r\n }}</v-card-title>\r\n\r\n <v-card-text v-if=\"saveInProgress\">\r\n <div class=\"text-xs-center\">\r\n <v-progress-circular\r\n indeterminate\r\n color=\"primary\"\r\n ></v-progress-circular>\r\n </div>\r\n </v-card-text>\r\n\r\n <v-card-text v-if=\"!saveInProgress\">\r\n <div v-if=\"!saveProjectSettings\">\r\n <p class=\"caption\">\r\n NÃ¥r du lagrer kartet lagres en kopi av visningen (dvs. kartlag,\r\n filter, utsnitt, bakgrunnskart) pÃ¥ NVE sine servere. Det lagres ogsÃ¥\r\n en referanse til kartet i nettleseren din, slik at du kan Ã¥pne\r\n kartet igjen ved Ã¥ velge \"Ã¥pne kart\" i menyen.\r\n </p>\r\n <p class=\"caption\">\r\n Vi anbefaler at du tar vare pÃ¥ lenken til kartet ditt som du finner\r\n ved Ã¥ velge \"Del kartet\" i menyen. Da kan du Ã¥pne kartet fra en\r\n annen datamaskin, og finne kartet selv om\r\n nettleserhistorikken/cachen blir slettet.\r\n </p>\r\n <p class=\"caption\">\r\n <strong>Merknad:</strong> Lagrefunksjonen mÃ¥ ikke brukes til Ã¥ lagre\r\n sensitiv informasjon. Hvis du legger inn viktig informasjon i kartet\r\n sÃ¥ bør du ha en kopi av denne informasjon et annet sted, i tilfelle\r\n det gjøres endringer i denne løsningen.\r\n </p>\r\n </div>\r\n <v-text-field\r\n :label=\"\r\n saveProjectSettings\r\n ? 'Endre navnet pÃ¥ kartet'\r\n : 'Gi kartet et navn (obligatorisk)'\r\n \"\r\n v-model=\"title\"\r\n box\r\n full-width\r\n maxlength=\"100\"\r\n ></v-text-field>\r\n </v-card-text>\r\n\r\n <v-divider></v-divider>\r\n\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn color=\"primary\" flat :disabled=\"!title\" @click=\"saveProject\"\r\n >Lagre</v-btn\r\n >\r\n <v-btn flat @click=\"emitDialogClosedEvent\">Avbryt</v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\n\r\nexport default {\r\n name: \"SaveProjectDialog\",\r\n computed: {\r\n ...mapState([\"currentlyOpenedProject\", \"userIsLoggedIn\"])\r\n },\r\n mixins: [MappingMixin],\r\n data: () => ({\r\n dialog: false,\r\n title: null,\r\n projectIsPublic: false,\r\n projectEditRole: \"eier\",\r\n saveInProgress: false,\r\n projectEditRoles: [\r\n {\r\n text: \"Kun jeg skal kunne redigere kartet\",\r\n value: \"eier\"\r\n },\r\n {\r\n text: \"Alle skal kunne redigere kartet\",\r\n value: \"alle\"\r\n }\r\n ]\r\n }),\r\n props: {\r\n active: Boolean,\r\n saveProjectSettings: Boolean\r\n },\r\n watch: {\r\n active: function(newVal) {\r\n if (newVal == true) {\r\n this.saveInProgress = false;\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\"setSnack\", \"clearCurrentlyOpenedProject\"]),\r\n emitDialogClosedEvent() {\r\n this.title = null;\r\n this.$emit(\"close-dialog\");\r\n },\r\n saveProject() {\r\n this.saveInProgress = true;\r\n if (!this.saveProjectSettings) {\r\n this.clearCurrentlyOpenedProject();\r\n }\r\n\r\n this.saveMap({\r\n attributes: {\r\n tittel: this.title,\r\n Offentlig: this.projectIsPublic ? 1 : 0,\r\n redigering: this.projectEditRole\r\n }\r\n })\r\n .then(() => {\r\n this.emitDialogClosedEvent();\r\n this.setSnack(\"Kart lagret\");\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setSnack(\"Lagring ikke gjennomført. Prøv igjen om litt.\");\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (!this.userIsLoggedIn) {\r\n this.projectIsPublic = true;\r\n }\r\n if (this.currentlyOpenedProject !== null) {\r\n this.projectEditRole =\r\n this.currentlyOpenedProject.attributes.redigering == null\r\n ? \"eier\"\r\n : this.currentlyOpenedProject.attributes.redigering;\r\n this.title = this.currentlyOpenedProject.attributes.tittel;\r\n\r\n this.projectIsPublic =\r\n this.currentlyOpenedProject.attributes.Offentlig == 1;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveProjectDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveProjectDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SaveProjectDialog.vue?vue&type=template&id=29c12a9b&scoped=true\"\nimport script from \"./SaveProjectDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SaveProjectDialog.vue?vue&type=script&lang=js\"\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 \"29c12a9b\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-toolbar\r\n dense\r\n class=\"mr-0 toolbar-without-padding\"\r\n :color=\"userSettings.useDarkMode ? 'grey darken-3' : 'grey lighten-2'\"\r\n style=\"padding-right: 0px; position: -webkit-sticky; /* Safari */\r\n position: sticky; \"\r\n >\r\n <v-toolbar-items> </v-toolbar-items>\r\n <v-tooltip bottom>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n class=\"ml-0\"\r\n @click=\"openExplorer\"\r\n flat\r\n v-on=\"on\"\r\n style=\"font-weight: bold;\"\r\n small\r\n >\r\n <v-icon\r\n class=\"pr-2\"\r\n small\r\n >mdi-plus-box-outline</v-icon> Legg til innhold\r\n </v-btn>\r\n </template>\r\n <span>Legg til kartlag, tegnelag og filer</span>\r\n </v-tooltip>\r\n\r\n <v-spacer />\r\n\r\n <v-menu offset-y>\r\n <template v-slot:activator=\"{ on: menu }\">\r\n <v-tooltip bottom>\r\n <template #activator=\"{ on: tooltip }\">\r\n <v-btn\r\n flat\r\n label=\"Kartlag: Flere valg\"\r\n aria-label=\"Kartlag: Flere valg\"\r\n icon\r\n v-on=\"{ ...tooltip, ...menu }\"\r\n >\r\n <v-icon>mdi-dots-vertical</v-icon>\r\n </v-btn>\r\n </template>\r\n <span>Flere valg</span>\r\n </v-tooltip>\r\n </template>\r\n <v-list>\r\n <v-list-tile\r\n @click=\"saveProjectAs()\"\r\n :disabled=\"!currentlyOpenedProject\"\r\n >\r\n <v-list-tile-title>Lagre som</v-list-tile-title>\r\n </v-list-tile>\r\n <v-list-tile @click=\"removeAllMapProfiles\">\r\n <v-list-tile-title>Fjern alle kartlag</v-list-tile-title>\r\n </v-list-tile>\r\n <v-list-tile\r\n :disabled=\"!currentlyOpenedProject || !saveIsEnabled\"\r\n @click=\"changeProjectSettings\"\r\n >\r\n <v-list-tile-title>Endre kartinnstillinger</v-list-tile-title>\r\n </v-list-tile>\r\n </v-list>\r\n </v-menu>\r\n\r\n <save-project-dialog\r\n v-if=\"saveProjectDialogActive\"\r\n :active=\"saveProjectDialogActive\"\r\n :save-project-settings=\"saveProjectSettings\"\r\n @close-dialog=\"deactivateSaveProjectDialog\"\r\n ></save-project-dialog>\r\n </v-toolbar>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport SaveProjectDialog from \"@/pages/MapPage/Tools/Saving/SaveProjectDialog\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\n\r\nexport default {\r\n name: \"LayerListToolbar\",\r\n components: {\r\n SaveProjectDialog\r\n },\r\n mixins: [MappingMixin],\r\n computed: {\r\n ...mapState([\"currentlyOpenedProject\", \"saveIsEnabled\", \"userSettings\"]),\r\n confirmNewEmptyProjectDialogText () {\r\n if (this.currentlyOpenedProject == null) {\r\n return \"NÃ¥r man oppretter et nytt tomt kart vil alt innhold fjernes fra kartet. Er du sikker pÃ¥ at du ønsker Ã¥ fortsette?\";\r\n } else {\r\n return (\r\n \"Hvis du har gjort endringer i kartet '\" +\r\n this.currentlyOpenedProject.attributes.tittel +\r\n \"' som du ønsker Ã¥ ta vare pÃ¥ mÃ¥ disse lagres før du fortsetter. Er du sikker pÃ¥ at du ønsker Ã¥ fortsette?\"\r\n );\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"enableSave\",\r\n \"setSnack\",\r\n \"removeCurrentlyOpenedProject\",\r\n \"setExplorerVisible\"\r\n ]),\r\n openCreateNewEmptyDialog () {\r\n this.confirmNewEmptyProjectDialog = true;\r\n },\r\n createNewEmptyProject () {\r\n this.removeAllMapProfiles();\r\n this.removeCurrentlyOpenedProject();\r\n this.enableSave();\r\n this.closeConfirmNewEmptyProjectDialog();\r\n },\r\n closeConfirmNewEmptyProjectDialog () {\r\n this.confirmNewEmptyProjectDialog = false;\r\n },\r\n saveProject () {\r\n if (this.currentlyOpenedProject == null) {\r\n this.saveProjectSettings = false;\r\n this.activateSaveProjectDialog();\r\n } else {\r\n this.projectSaveInProgress = true;\r\n this.saveMap(this.currentlyOpenedProject)\r\n .then(result => {\r\n if (!result) {\r\n this.setSnack(\r\n \"Lagring ble ikke gjennomført. Kun eier kan lagre endringer.\"\r\n );\r\n } else {\r\n this.setSnack(\"Kartet ble lagret\");\r\n }\r\n this.projectSaveInProgress = false;\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setSnack(\"Lagring ikke gjennomført. Prøv igjen om litt.\");\r\n });\r\n }\r\n },\r\n changeProjectSettings () {\r\n this.saveProjectSettings = true;\r\n this.activateSaveProjectDialog();\r\n },\r\n saveProjectAs () {\r\n this.saveProjectSettings = false;\r\n this.activateSaveProjectDialog();\r\n },\r\n deactivateOpenProjectDialog () {\r\n this.openProjectDialogActive = false;\r\n },\r\n deactivateSaveProjectDialog () {\r\n this.saveProjectDialogActive = false;\r\n },\r\n deactivateShareProjectDialog () {\r\n this.shareProjectDialogActive = false;\r\n },\r\n openExplorer () {\r\n this.setExplorerVisible(true);\r\n },\r\n activateOpenProjectDialog () {\r\n this.openProjectDialogActive = true;\r\n },\r\n activateSaveProjectDialog () {\r\n this.saveProjectDialogActive = true;\r\n },\r\n activateShareProjectDialog () {\r\n this.shareProjectDialogActive = true;\r\n }\r\n },\r\n data () {\r\n return {\r\n menu: false,\r\n openProjectDialogActive: false,\r\n saveProjectDialogActive: false,\r\n projectSaveInProgress: false,\r\n confirmNewEmptyProjectDialog: false,\r\n saveProjectSettings: false,\r\n shareProjectDialogActive: false\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n.toolbar-without-padding .v-toolbar__content {\r\n padding-left: 15px;\r\n padding-right: 8px;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListToolbar.vue?vue&type=template&id=2e9ec162\"\nimport script from \"./LayerListToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerListToolbar.vue?vue&type=style&index=0&id=2e9ec162&prod&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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"role\":\"list\"}},[_c('v-divider',{class:{ 'no-top-margin': _vm.isOnTop }}),_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return (\n !_vm.item.hasOwnProperty('hideInLayers') || _vm.item.hideInLayers == false\n )?_c('v-list-tile',{staticClass:\"toc-list-tile elevation-2 secondary\",staticStyle:{\"padding-top\":\"5px\",\"padding-left\":\"0px\",\"height\":\"60px\"},attrs:{\"color\":\"blue\"},on:{\"click\":function($event){return _vm.toggleProfileOpen(_vm.item)}}},[_c('v-btn',{staticStyle:{\"margin-left\":\"-6px\"},attrs:{\"icon\":\"\",\"ripple\":\"\",\"label\":\"Utvid kartlag\",\"aria-label\":\"Utvid kartlag\",\"disabled\":_vm.item.type == 'sceneLayer' || _vm.item.type == 'featureLayer'},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleProfileOpen(_vm.item)}}},[_c('v-icon',{attrs:{\"size\":\"22\",\"color\":\"dark-grey\"}},[_vm._v(_vm._s(_vm.item.type === \"imageryLayer\"\n ? \"mdi-satellite-variant\"\n : _vm.item.open\n ? \"mdi-folder-open-outline\"\n : \"mdi-folder-outline\"))])],1),_c('v-list-tile-content',[_c('v-list-tile-sub-title',{staticStyle:{\"max-width\":\"200px\",\"min-width\":\"10px\"}},[_vm._v(_vm._s(_vm.item.appTitle ? _vm.item.appTitle : \"Uten navn\"))])],1),_c('v-spacer'),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover && _vm.item.type !== 'imageryLayer'),expression:\"hover && item.type !== 'imageryLayer'\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"small\":\"\",\"aria-label\":\"Vis informasjon om kartlaget\",\"flat\":\"\",\"disabled\":!_vm.profileHasDescription},on:{\"click\":function($event){$event.stopPropagation();return _vm.openInfo($event, _vm.item)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-information-variant\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Vis info\")])])],1),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(\n hover && _vm.item.type !== 'imageryLayer' && _vm.item.canBeDownloaded\n ),expression:\"\\n hover && item.type !== 'imageryLayer' && item.canBeDownloaded\\n \"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"aria-label\":\"Last ned datasett\",\"href\":_vm.getProfileDownloadUrl(_vm.item.id),\"small\":\"\",\"flat\":\"\"}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-arrow-down\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Last ned data (Ã¥pner i ny fane)\")])])],1),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover && _vm.item.type === 'graphicsLayer'),expression:\"hover && item.type === 'graphicsLayer'\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"small\":\"\",\"flat\":\"\",\"aria-label\":\"Rediger tegnelaget\",\"disabled\":_vm.tools.drawing.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.editDrawingLayer.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-pencil-outline\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Rediger\")])])],1),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover && _vm.item.type === 'graphicsLayer'),expression:\"hover && item.type === 'graphicsLayer'\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"small\":\"\",\"aria-label\":\"Kjør geometrisk operasjon\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.activateGeometryCalculatorDialog.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-function\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Kjør geometrisk operasjon\")])])],1),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(_vm.item.type === 'imageryLayer')?_c('v-list-tile-action',_vm._g({staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-list-tile-action-text',[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":true,\"lazy\":\"\",\"transition\":\"scale-transition\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-layout',{staticClass:\"secondary\",staticStyle:{\"padding\":\"5px\"},attrs:{\"row\":\"\"}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",attrs:{\"small\":\"\",\"flat\":\"\",\"aria-label\":\"GÃ¥ til forrige dag\",\"icon\":\"\"},on:{\"click\":_vm.subtractDate}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-chevron-left\")])],1),_c('v-btn',_vm._g({staticClass:\"pa-0 ma-0\",attrs:{\"small\":\"\",\"flat\":\"\"}},on),[_vm._v(\"\\n \"+_vm._s(_vm._f(\"moment\")(_vm.profileDate,\"DD.MM.YYYY\"))+\"\\n \")]),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",attrs:{\"small\":\"\",\"aria-label\":\"GÃ¥ til neste dag\",\"flat\":\"\",\"icon\":\"\"},on:{\"click\":_vm.addDate}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)]}}],null,true),model:{value:(_vm.datePickerMenu),callback:function ($$v) {_vm.datePickerMenu=$$v},expression:\"datePickerMenu\"}},[_c('v-date-picker',{attrs:{\"locale\":\"nb\",\"max\":_vm.item.maxDate,\"show-current\":true,\"color\":\"grey\",\"reactive\":\"\"},model:{value:(_vm.profileDate),callback:function ($$v) {_vm.profileDate=$$v},expression:\"profileDate\"}})],1)],1)],1):_vm._e()]}}],null,true)},[_c('span',[_vm._v(\"Velg dato\")])])],1),_c('v-fade-transition',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover || _vm.menu),expression:\"hover || menu\"}],staticStyle:{\"min-width\":\"30px\"},on:{\"click\":function($event){$event.stopPropagation();}}},on),[_c('layer-list-item-menu',{attrs:{\"item\":_vm.item},on:{\"menu-open\":function($event){_vm.menu = true},\"menu-close\":function($event){_vm.menu = false},\"place-on-top\":_vm.placeOnTop,\"place-on-bottom\":_vm.placeOnBottom}})],1)]}}],null,true)},[_c('span',[_vm._v(\"Flere valg\")])])],1),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticStyle:{\"margin-top\":\"2px\"},style:({ opacity: _vm.opacity }),attrs:{\"icon\":\"\",\"label\":\"SlÃ¥ kartlag av/pÃ¥\",\"aria-label\":\"SlÃ¥ kartlag av/pÃ¥\",\"small\":\"\",\"flat\":\"\"},on:{\"wheel\":function($event){$event.stopPropagation();return _vm.visibilityScrolled.apply(null, arguments)},\"click\":function($event){$event.stopPropagation();return _vm.toggleTheme.apply(null, arguments)}}},[_c('v-icon',{staticStyle:{\"font-size\":\"20px\"},attrs:{\"color\":_vm.item.visible ? 'blue' : 'grey'}},[_vm._v(_vm._s(_vm.item.visible ? \"mdi-eye\" : \"mdi-eye-off\"))])],1),_c('v-fade-transition',[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(hover && _vm.item.visible),expression:\"hover && item.visible\"}],staticStyle:{\"position\":\"absolute\",\"margin-top\":\"-18px\",\"right\":\"11px\"},attrs:{\"disabled\":_vm.opacity == 1.0,\"color\":\"blue\",\"size\":\"25\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.increaseOpacity.apply(null, arguments)}}},[_vm._v(\"mdi-menu-up\")])],1),_c('v-fade-transition',[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(hover && _vm.item.visible),expression:\"hover && item.visible\"}],staticStyle:{\"position\":\"absolute\",\"margin-top\":\"24px\",\"right\":\"11px\"},attrs:{\"disabled\":_vm.opacity == 0.2,\"color\":\"blue\",\"size\":\"25\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.decreaseOpacity.apply(null, arguments)}}},[_vm._v(\"mdi-menu-down\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Skru kartlag av eller pÃ¥. Justér synlighet vha. scroll.\")])])],1):_vm._e()}}],null,true)}),(_vm.item.open && _vm.item.type !== 'imageryLayer')?_c('div',[_c('layer-list-item-toc',{staticStyle:{\"margin-top\":\"2px\",\"margin-bottom\":\"1px\"},attrs:{\"layer\":_vm.item.id,\"sublayer-index\":null,\"show-subheaders\":false,\"padding\":0}})],1):_vm._e(),(_vm.item.open && _vm.item.type === 'graphicsLayer')?_c('div',[_c('layer-list-item-toc-graphicslayer',{attrs:{\"layer\":_vm.item.id,\"padding\":0}})],1):_vm._e(),(_vm.item.type === 'graphicsLayer')?_c('geometry-calculator-dialog',{attrs:{\"selected-graphics-layer\":_vm.item,\"active\":_vm.geometryCalculatorDialogActive},on:{\"close-dialog\":_vm.deactivateGeometryCalculatorDialog}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.allLayersLoaded && _vm.$theMapObject.layers && _vm.profile)?_c('div',[_c('v-list',{attrs:{\"expand\":\"\"}},[(_vm.showSubheaders)?_c('v-list-tile',[(_vm.layers[0])?_c('v-list-tile-content',[_c('v-list-tile-title',{staticStyle:{\"width\":\"auto\"}},[_vm._v(\"\\n \"+_vm._s(_vm.layers[0].title)+\"\\n \")])],1):_vm._e(),_c('v-list-tile-action',[_c('v-btn',{attrs:{\"fab\":\"\",\"small\":\"\",\"flat\":\"\",\"label\":\"SlÃ¥ kartlag av/pÃ¥\",\"aria-label\":\"SlÃ¥ kartlag av/pÃ¥\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleTheme.apply(null, arguments)}}},[_c('v-icon',{staticStyle:{\"font-size\":\"20px\"},attrs:{\"color\":_vm.profile.visible ? 'blue' : 'grey'}},[_vm._v(_vm._s(_vm.profile.visible ? \"mdi-eye\" : \"mdi-eye-off\"))])],1)],1),_c('v-list-tile-action',{staticStyle:{\"min-width\":\"35px\"}},[_c('layer-list-item-menu',{attrs:{\"item\":_vm.profile,\"color\":\"grey lighten-1\"}})],1)],1):_vm._e(),_c('draggable',{attrs:{\"list\":_vm.sublayers,\"disabled\":_vm.$vuetify.breakpoint.smAndDown},on:{\"change\":_vm.reorder}},_vm._l((_vm.sublayers.slice().reverse()),function(sublayer,index){return _c('div',{key:index},[_c('layer-list-item-toc-sublayer',{key:index + 'sublayer',attrs:{\"sublayer\":sublayer,\"parent-is-visible\":_vm.profile.visible,\"id\":_vm.layer,\"visibility\":sublayer.visible},on:{\"visible\":_vm.onSublayerVisible}})],1)}),0)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-fade-transition',{attrs:{\"hide-on-leave\":true}},[_c('div',{staticClass:\"toc-sublayer-item\",style:({ opacity: _vm.sublayerIsVisibleAtCurrentScale ? 1.0 : 0.4 })},[(_vm.sublayer.legendImages && _vm.sublayer.legendImages.length == 1)?_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-list-tile',{staticClass:\"first-level tile\",staticStyle:{\"max-width\":\"392px\",\"padding-right\":\"0px\",\"cursor\":\"pointer\",\"max-height\":\"40px\"},style:({ marginLeft: _vm.addMargin ? '20px' : '' }),attrs:{\"avatar\":\"\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"20\"}},[(_vm.sublayer.legendImages)?_c('img',{attrs:{\"alt\":'Kartlag symbolikk ' + _vm.sublayer.title,\"src\":'data:image/png;base64, ' + _vm.sublayer.legendImages[0].imageData}}):_vm._e()]),_c('v-list-tile-content',[_c('v-list-tile-title',{staticStyle:{\"font-size\":\"12px !important\",\"margin-left\":\"10px\"},attrs:{\"title\":'Navn: ' + _vm.sublayer.title},domProps:{\"innerHTML\":_vm._s(_vm.sublayer.title)}})],1),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"small\":\"\",\"aria-label\":\"Vis beskrivelse og egenskaper\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showMetadata.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-information-variant\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Vis beskrivelse og egenskaper\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"aria-label\":\"Vis tabell\",\"small\":\"\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showTable.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"18\"}},[_vm._v(\"mdi-table-large\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Vis tabell\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover || _vm.filterActive),expression:\"hover || filterActive\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"aria-label\":\"Filtrer kartlag\",\"small\":\"\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showFilterDialog.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":_vm.filterActive ? 'blue' : ''}},[_vm._v(_vm._s(_vm.filterActive ? \"mdi-filter\" : \"mdi-filter-outline\"))])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Sett filter\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"label\":\"SlÃ¥ kartlag av/pÃ¥\",\"aria-label\":\"SlÃ¥ kartlag av/pÃ¥\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleSublayerVisibility(_vm.sublayer)}}},[_c('v-icon',{staticStyle:{\"font-size\":\"20px\"},attrs:{\"color\":_vm.visible &&\n _vm.sublayerIsVisibleAtCurrentScale &&\n _vm.parentIsVisible\n ? 'blue'\n : 'grey'}},[_vm._v(_vm._s(_vm.visible ? \"mdi-eye\" : \"mdi-eye-off\"))])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Skru kartlag av/pÃ¥\")])])],1)}}],null,false,674336607)}):_c('v-list-group',{attrs:{\"avatar\":\"\",\"value\":_vm.visible},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-list-tile',{},[_c('v-list-tile-avatar',{attrs:{\"size\":\"20\"}},[_c('v-icon',{attrs:{\"color\":\"dark-grey\",\"size\":\"20\"}},[_vm._v(_vm._s(_vm.open ? \"mdi-folder-open-outline\" : \"mdi-folder-outline\"))])],1),_c('v-list-tile-content',[_c('v-list-tile-title',{staticStyle:{\"font-size\":\"12px !important\",\"margin-left\":\"10px\",\"font-weight\":\"bold\"},attrs:{\"title\":'Navn: ' +\n (_vm.sublayer.title !== null ? _vm.sublayer.title : _vm.sublayer.name)},domProps:{\"innerHTML\":_vm._s(\n _vm.sublayer.title !== null ? _vm.sublayer.title : _vm.sublayer.name\n )}})],1),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"small\":\"\",\"aria-label\":\"Vis beskrivelse og egenskaper\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showMetadata.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-information-variant\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Vis beskrivelse og egenskaper\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(\n _vm.sublayer.legendImages !== undefined &&\n _vm.sublayer.legendImages.length > 0\n )?_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover),expression:\"hover\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"aria-label\":\"Vis tabell\",\"small\":\"\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showTable.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"18\"}},[_vm._v(\"mdi-table-large\")])],1)],1):_vm._e()]}}],null,true)},[_c('span',[_vm._v(\"Vis tabell\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(\n _vm.sublayer.legendImages !== undefined &&\n _vm.sublayer.legendImages.length > 0\n )?_c('v-list-tile-action',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(hover || _vm.filterActive),expression:\"hover || filterActive\"}],staticClass:\"pa-0 ma-0\",staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{staticClass:\"pa-0 ma-0\",attrs:{\"icon\":\"\",\"aria-label\":\"Filtrer kartlag\",\"small\":\"\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showFilterDialog.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":_vm.filterActive ? 'blue' : ''}},[_vm._v(_vm._s(_vm.filterActive ? \"mdi-filter\" : \"mdi-filter-outline\"))])],1)],1):_vm._e()]}}],null,true)},[_c('span',[_vm._v(\"Filtrer kartlag\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"800\",\"close-delay\":\"0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-tile-action',_vm._g({staticStyle:{\"min-width\":\"30px\"}},on),[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"label\":\"SlÃ¥ kartlag av/pÃ¥\",\"aria-label\":\"SlÃ¥ kartlag av/pÃ¥\",\"flat\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleSublayerVisibility(_vm.sublayer)}}},[_c('v-icon',{staticStyle:{\"font-size\":\"20px\"},attrs:{\"color\":_vm.visible &&\n _vm.sublayerIsVisibleAtCurrentScale &&\n _vm.parentIsVisible\n ? 'blue'\n : 'grey'}},[_vm._v(_vm._s(_vm.visible ? \"mdi-eye\" : \"mdi-eye-off\"))])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Skru kartlag av/pÃ¥\")])])],1)}}])})]},proxy:true}]),model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[(\n _vm.sublayer.legendImages !== undefined &&\n _vm.sublayer.legendImages.length > 0\n )?_c('div',_vm._l((_vm.sublayer.legendImages),function(subLegend){return _c('v-list-tile',{key:subLegend.label,staticStyle:{\"height\":\"auto !important\",\"max-height\":\"35px\"},attrs:{\"title\":'Navn: ' + subLegend.label},on:{\"click\":function($event){return _vm.toggleSublayerVisibility(_vm.sublayer)}}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"20\"}},[_c('img',{attrs:{\"alt\":'Kartlag symbolikk ' + subLegend.label,\"src\":'data:image/png;base64, ' + subLegend.imageData}})]),_c('v-list-tile-content',{staticStyle:{\"font-size\":\"12px !important\",\"margin-left\":\"10px\"}},[_c('v-list-tile-title',[_vm._v(_vm._s(subLegend.label))])],1)],1)}),1):_vm._e(),(\n _vm.sublayer.legendImages !== undefined &&\n _vm.sublayer.legendImages.length == 0 &&\n _vm.sublayer.sublayers !== undefined &&\n _vm.sublayer.sublayers.items.length > 0\n )?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},_vm._l((_vm.sublayer.sublayers.items.slice().reverse()),function(subsublayer,index){return _c('v-list-tile',{key:index + 'sublayer',staticClass:\"sub-tile\",style:({ marginLeft: _vm.addMargin ? '20px' : '' })},[_c('layer-list-item-toc-sublayer',{attrs:{\"sublayer\":subsublayer,\"parent-is-visible\":_vm.visible && _vm.parentIsVisible,\"id\":_vm.id,\"addMargin\":true,\"visibility\":subsublayer.visible},on:{\"visible\":function($event){return _vm.$emit('visible')}}})],1)}),1):_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.sublayer.hasOwnProperty('legendUrl')),expression:\"sublayer.hasOwnProperty('legendUrl')\"}]},[_c('img',{staticClass:\"pl-3\",attrs:{\"alt\":'Kartlag symbolikk ' + _vm.sublayer.title,\"src\":_vm.sublayer.legendUrl}})])]),_c('div',{staticClass:\"text-xs-center\"},[(_vm.dialog)?_c('layer-metadata',{attrs:{\"open\":_vm.dialog,\"layer\":_vm.sublayer},on:{\"close\":function($event){_vm.dialog = false}}}):_vm._e(),(_vm.filterDialog)?_c('layer-item-filter',{attrs:{\"open\":_vm.filterDialog,\"layer\":_vm.sublayer},on:{\"filter-active-changed\":_vm.setFilterActive,\"close\":function($event){_vm.filterDialog = false}}}):_vm._e()],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-xs-center\"},[_c('v-dialog',{attrs:{\"scrollable\":\"\",\"width\":\"1000\"},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_c('v-icon',{staticClass:\"pl-3 pr-3\"},[_vm._v(\"info\")]),_vm._v(\"Metadata:\\n \"+_vm._s(_vm.layer.title ? _vm.layer.title : \"Metadata ikke tilgjengelig\")+\"\\n \")],1),_c('v-card-text',[(_vm.loading)?_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\",\"justify-center\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('div',[(_vm.metadata)?_c('div',[_c('v-subheader',[_vm._v(\"Symbolisering\")]),_c('v-layout',{staticClass:\"pb-4\",attrs:{\"justify-start\":\"\",\"row\":\"\"}},[(\n _vm.metadata.thumbnailUrl !==\n _vm.appPublicUrl + '/link/thumbnails/null'\n )?_c('img',{staticClass:\"pl-3 pt-3\",attrs:{\"src\":_vm.metadata.thumbnailUrl,\"height\":\"200\",\"width\":\"200\"}}):_c('div',{staticClass:\"pa-3\"},[_vm._v(\"Bilde ikke tilgjengelig\")])]),_c('v-subheader',[_vm._v(\"Beskrivelse\")]),_c('v-layout',{staticClass:\"pb-4\",attrs:{\"justify-start\":\"\",\"row\":\"\"}},[(_vm.metadata.beskrivelse !== null)?_c('div',{staticClass:\"pa-3\",domProps:{\"innerHTML\":_vm._s(_vm.metadata.beskrivelse)}}):_c('div',{staticClass:\"pa-3\"},[_vm._v(\"Ingen beskrivelse\")])]),_c('v-subheader',[_vm._v(\"Egenskaper\")]),_c('v-data-table',{attrs:{\"hide-actions\":\"\",\"headers\":_vm.headers,\"items\":_vm.metadata.felter},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('td',[_vm._v(_vm._s(props.item.atlasAlias))]),_c('td',[_vm._v(_vm._s(props.item.fieldName))]),_c('td',[_vm._v(\"\\n \"+_vm._s(props.item.atlasSuffix ? props.item.atlasSuffix : \"-\")+\"\\n \")]),_c('td',[_vm._v(_vm._s(props.item.fieldDescription))])]}}],null,false,1127849202)}),_c('v-subheader',[_vm._v(\"Lenker\")]),_c('v-layout',{attrs:{\"align-start\":\"\",\"justify-start\":\"\",\"column\":\"\"}},[_vm._l((_vm.metadata.urls),function(url){return _c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(url.url !== null),expression:\"url.url !== null\"}],key:url.url,staticClass:\"ml-0\",attrs:{\"href\":url.url,\"color\":\"blue\",\"flat\":\"\"}},[_c('v-icon',{staticClass:\"pa-2\",staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"mdi-open-in-new\")]),_vm._v(\"Les mer om \"+_vm._s(url.text)+\"\\n \")],1)}),(_vm.wmsUrl !== null)?_c('v-btn',{staticClass:\"ml-0\",attrs:{\"href\":_vm.wmsUrl,\"color\":\"blue\",\"flat\":\"\"}},[_c('v-icon',{staticClass:\"pa-2\",staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"mdi-open-in-new\")]),_vm._v(\"Ã…pne WMS tjeneste (GetCapabilities) for dette kartlaget\\n \")],1):_vm._e()],2)],1):_c('div',{staticClass:\"pa-3\"},[_vm._v(\"\\n Metadata er ikke tilgjengelig for dette kartlaget.\\n \")])])],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"flat\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"\\n Lukk\\n \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"text-xs-center\">\r\n <v-dialog v-model=\"open\" scrollable width=\"1000\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>\r\n <v-icon class=\"pl-3 pr-3\">info</v-icon>Metadata:\r\n {{ layer.title ? layer.title : \"Metadata ikke tilgjengelig\" }}\r\n </v-card-title>\r\n\r\n <v-card-text>\r\n <v-layout row align-center justify-center v-if=\"loading\">\r\n <v-progress-circular\r\n indeterminate\r\n color=\"primary\"\r\n ></v-progress-circular>\r\n </v-layout>\r\n <div v-else>\r\n <div v-if=\"metadata\">\r\n <v-subheader>Symbolisering</v-subheader>\r\n <v-layout class=\"pb-4\" justify-start row>\r\n <img\r\n v-if=\"\r\n metadata.thumbnailUrl !==\r\n appPublicUrl + '/link/thumbnails/null'\r\n \"\r\n class=\"pl-3 pt-3\"\r\n :src=\"metadata.thumbnailUrl\"\r\n height=\"200\"\r\n width=\"200\"\r\n />\r\n <div class=\"pa-3\" v-else>Bilde ikke tilgjengelig</div>\r\n </v-layout>\r\n <v-subheader>Beskrivelse</v-subheader>\r\n <v-layout class=\"pb-4\" justify-start row>\r\n <div\r\n v-if=\"metadata.beskrivelse !== null\"\r\n v-html=\"metadata.beskrivelse\"\r\n class=\"pa-3\"\r\n ></div>\r\n <div class=\"pa-3\" v-else>Ingen beskrivelse</div>\r\n </v-layout>\r\n <v-subheader>Egenskaper</v-subheader>\r\n <v-data-table\r\n hide-actions\r\n :headers=\"headers\"\r\n :items=\"metadata.felter\"\r\n >\r\n <template v-slot:items=\"props\">\r\n <td>{{ props.item.atlasAlias }}</td>\r\n <td>{{ props.item.fieldName }}</td>\r\n <td>\r\n {{ props.item.atlasSuffix ? props.item.atlasSuffix : \"-\" }}\r\n </td>\r\n <td>{{ props.item.fieldDescription }}</td>\r\n </template>\r\n </v-data-table>\r\n <v-subheader>Lenker</v-subheader>\r\n <v-layout align-start justify-start column>\r\n <v-btn\r\n class=\"ml-0\"\r\n v-for=\"url in metadata.urls\"\r\n :key=\"url.url\"\r\n :href=\"url.url\"\r\n v-show=\"url.url !== null\"\r\n color=\"blue\"\r\n flat\r\n >\r\n <v-icon class=\"pa-2\" style=\"font-size: 14px;\"\r\n >mdi-open-in-new</v-icon\r\n >Les mer om {{ url.text }}\r\n </v-btn>\r\n <v-btn\r\n v-if=\"wmsUrl !== null\"\r\n class=\"ml-0\"\r\n :href=\"wmsUrl\"\r\n color=\"blue\"\r\n flat\r\n >\r\n <v-icon class=\"pa-2\" style=\"font-size: 14px;\"\r\n >mdi-open-in-new</v-icon\r\n >Ã…pne WMS tjeneste (GetCapabilities) for dette kartlaget\r\n </v-btn>\r\n </v-layout>\r\n </div>\r\n <div v-else class=\"pa-3\">\r\n Metadata er ikke tilgjengelig for dette kartlaget.\r\n </div>\r\n </div>\r\n </v-card-text>\r\n\r\n <v-divider></v-divider>\r\n\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn color=\"primary\" flat @click=\"$emit('close')\">\r\n Lukk\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nexport default {\r\n name: \"LayerMetadata\",\r\n data: function() {\r\n return {\r\n beskrivelse: \"\",\r\n loading: true,\r\n thumbnailUrl: \"\",\r\n restAdress: \"\",\r\n restIndex: \"\",\r\n urls: [],\r\n felter: [],\r\n headers: [\r\n {\r\n text: \"Feltnavn\",\r\n align: \"left\",\r\n value: \"atlasAlias\"\r\n },\r\n { text: \"Database feltnavn\", align: \"left\", value: \"fieldName\" },\r\n { text: \"Benevning\", align: \"left\", value: \"atlasSuffix\" },\r\n { text: \"Feltbeskrivelse\", align: \"left\", value: \"fieldDescription\" }\r\n ]\r\n };\r\n },\r\n mixins: [MappingMixin],\r\n props: {\r\n layer: Object,\r\n open: Boolean\r\n },\r\n computed: {\r\n ...mapState([\"layerMetadata\", \"appPublicUrl\"]),\r\n metadata() {\r\n return this.$store.getters[\"getLayerMetadataByAddressAndIndex\"](\r\n this.layer.layer.url.replace(/(^\\w+:|^)\\/\\//, \"\"),\r\n this.layer.id\r\n );\r\n },\r\n wmsUrl() {\r\n if (\r\n this.layer.parent.sourceJSON &&\r\n this.layer.parent.sourceJSON.supportedExtensions\r\n .toLowerCase()\r\n .includes(\"wms\")\r\n ) {\r\n let parentLayerUrl = this.layer.parent.url;\r\n let wmsUrl =\r\n parentLayerUrl.replace(\"/rest/\", \"/\") +\r\n \"/WMSServer?request=GetCapabilities&service=WMS\";\r\n return wmsUrl;\r\n } else {\r\n return null;\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.restAdress = this.layer.layer.url.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n this.restIndex = this.layer.id;\r\n\r\n if (!this.metadata) {\r\n this.loadMetadata({\r\n restAdress: this.restAdress,\r\n restIndex: this.restIndex\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.loading = false;\r\n console.error(error);\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerMetadata.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerMetadata.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerMetadata.vue?vue&type=template&id=b64d84fa\"\nimport script from \"./LayerMetadata.vue?vue&type=script&lang=js\"\nexport * from \"./LayerMetadata.vue?vue&type=script&lang=js\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{staticStyle:{\"z-index\":\"1001\"},attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\"},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('v-card',[_c('v-card-title',{attrs:{\"primary-title\":\"\"}},[_c('span',{staticClass:\"headline mb-0\"},[_vm._v(\"Filtrer kartlag (\"+_vm._s(_vm.layer.title)+\")\")]),_c('v-spacer')],1),_c('v-card-text',[_c('p',[_vm._v(\"\\n Her kan du filtrere hva som vises i kartlaget ved hjelp av egenskapene\\n til elementene i kartlaget. Du kan enten bruke SQL designeren under\\n for Ã¥ bygge opp et filter, eller skrive inn en SQL spørring selv ved Ã¥\\n velge fanen\\n \"),_c('i',[_vm._v(\"SQL tekst\")]),_vm._v(\". Se\\n \"),_c('a',{attrs:{\"href\":\"https://desktop.arcgis.com/en/arcmap/10.3/map/working-with-layers/building-a-query-expression.htm\"}},[_vm._v(\"denne siden\")]),_vm._v(\"\\n for mer informasjon om bruk av SQL spørringer i ArcGIS plattformen.\\n \")]),_c('layer-query-dialog',{attrs:{\"rules\":_vm.rules,\"layer\":_vm.layer},on:{\"query-updated\":_vm.updateSqlString}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"Avbryt\")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"flat\":\"\",\"large\":\"\"},on:{\"click\":_vm.saveDefinitionExpression}},[_vm._v(\"OK\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"secondary\",staticStyle:{\"z-index\":\"100000\"}},[_c('v-tabs',{attrs:{\"color\":\"grey \",\"dark\":\"\",\"slider-color\":\"primary\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-tab',{key:0,attrs:{\"ripple\":\"\"}},[_vm._v(\"SQL designer\")]),_c('v-tab',{key:1,attrs:{\"ripple\":\"\"}},[_vm._v(\"SQL tekst\")]),_c('v-tab-item',{key:0},[_c('layer-query-builder',{attrs:{\"rules\":_vm.rules},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}},[_c('div',{staticClass:\"red--text\",attrs:{\"slot\":\"custom-error\"},slot:\"custom-error\"},[_vm._v(\"errors\")])])],1),_c('v-tab-item',{key:1},[_c('v-flex',{attrs:{\"grow\":\"\"}},[_c('v-textarea',{attrs:{\"box\":\"\",\"full-width\":\"\",\"hide-details\":\"\",\"rows\":\"5\",\"placeholder\":\"SQL spørring\"},model:{value:(_vm.manualSqlString),callback:function ($$v) {_vm.manualSqlString=$$v},expression:\"manualSqlString\"}}),_c('span',{staticStyle:{\"display\":\"none\"}},[_vm._v(_vm._s(_vm.sql))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-query-builder\",class:{ 'vue-query-builder-styled': _vm.styled }},[_c('layer-query-builder-group',{attrs:{\"index\":0,\"query\":_vm.query,\"ruleTypes\":_vm.ruleTypes,\"rules\":_vm.mergedRules,\"maxDepth\":_vm.maxDepth,\"depth\":_vm.depth,\"styled\":_vm.styled,\"labels\":_vm.mergedLabels,\"type\":\"layer-query-builder-group\"},on:{\"update:query\":function($event){_vm.query=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vqb-group pa-1\",class:_vm.classObject},[_c('div',{staticClass:\"vqb-group-heading\",class:{ 'panel-heading': _vm.styled }},[_c('div',{staticClass:\"match-type-container\",class:{ 'form-inline': _vm.styled }},[_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('div',{class:{ 'form-group': _vm.styled }},[_c('v-flex',{staticClass:\"py-2 pl-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\"}},[_c('v-btn-toggle',{staticClass:\"elevation-0\",attrs:{\"mandatory\":\"\",\"depressed\":\"\"},model:{value:(_vm.query.logicalOperator),callback:function ($$v) {_vm.$set(_vm.query, \"logicalOperator\", $$v)},expression:\"query.logicalOperator\"}},_vm._l((_vm.labels.matchTypes),function(matchType){return _c('v-btn',{key:matchType.id,staticClass:\"elevation-0\",attrs:{\"value\":matchType.id}},[_vm._v(_vm._s(matchType.label))])}),1)],1)],1),_c('v-spacer'),(this.depth > 1)?_c('v-btn',{class:{ 'close pull-right': _vm.styled },attrs:{\"type\":\"button\",\"icon\":\"\"},on:{\"click\":_vm.remove}},[_c('v-icon',[_vm._v(\"close\")])],1):_vm._e()],1)],1)]),_c('div',{staticClass:\"vqb-group-body pa-3\",staticStyle:{\"border-style\":\"double\",\"border\":\"yellow !important\"}},[_c('div',{staticClass:\"children\"},_vm._l((_vm.query.children),function(child,index){return _c(child.type,{key:index,tag:\"component\",attrs:{\"type\":child.type,\"query\":child.query,\"ruleTypes\":_vm.ruleTypes,\"rules\":_vm.rules,\"rule\":_vm.ruleById(child.query.rule),\"index\":index,\"maxDepth\":_vm.maxDepth,\"depth\":_vm.depth + 1,\"styled\":_vm.styled,\"labels\":_vm.labels},on:{\"update:query\":function($event){return _vm.$set(child, \"query\", $event)},\"child-deletion-requested\":_vm.removeChild}})}),1),_c('div',{staticClass:\"rule-actions\",class:{ 'form-inline': _vm.styled }},[_c('div',{class:{ 'form-group': _vm.styled }},[_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('v-select',{staticClass:\"pl-3\",class:{ 'form-control': _vm.styled },attrs:{\"items\":_vm.rules,\"item-text\":\"label\",\"return-object\":true},model:{value:(_vm.selectedRule),callback:function ($$v) {_vm.selectedRule=$$v},expression:\"selectedRule\"}}),_c('v-btn',{class:{ 'btn btn-default': _vm.styled },attrs:{\"type\":\"button\",\"depressed\":\"\"},domProps:{\"innerHTML\":_vm._s(_vm.labels.addRule)},on:{\"click\":_vm.addRule}}),(this.depth < this.maxDepth)?_c('v-btn',{class:{ 'btn btn-default': _vm.styled },attrs:{\"type\":\"button\",\"depressed\":\"\"},domProps:{\"innerHTML\":_vm._s(_vm.labels.addGroup)},on:{\"click\":_vm.addGroup}}):_vm._e()],1)],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vqb-rule\",class:{ 'panel panel-default form-inline': _vm.styled }},[_c('div',{class:{ 'form-group': _vm.styled }},[_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('label',{staticClass:\"pa-3 mb-3 subheading\"},[_vm._v(_vm._s(_vm.rule.label))]),_vm._v(\"\\n \"+_vm._s(_vm.rule.operands)+\"\\n\\n \"),(typeof _vm.rule.operands !== 'undefined')?_c('v-select',{staticClass:\"pa-2\",class:{ 'form-control': _vm.styled },attrs:{\"items\":_vm.rule.operands},model:{value:(_vm.query.selectedOperand),callback:function ($$v) {_vm.$set(_vm.query, \"selectedOperand\", $$v)},expression:\"query.selectedOperand\"}}):_vm._e(),(\n typeof _vm.rule.operators !== 'undefined' && _vm.rule.operators.length > 1\n )?_c('v-select',{staticClass:\"pa-3\",class:{ 'form-control': _vm.styled },staticStyle:{\"max-width\":\"300px\"},attrs:{\"return-object\":true,\"items\":_vm.rule.operators},model:{value:(_vm.query.selectedOperator),callback:function ($$v) {_vm.$set(_vm.query, \"selectedOperator\", $$v)},expression:\"query.selectedOperator\"}}):_vm._e(),(_vm.rule.inputType === 'text')?_c('v-text-field',{staticClass:\"pa-3\",class:{ 'form-control': _vm.styled },attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"type\":\"text\",\"placeholder\":_vm.labels.textInputPlaceholder},model:{value:(_vm.query.value),callback:function ($$v) {_vm.$set(_vm.query, \"value\", $$v)},expression:\"query.value\"}}):_vm._e(),(_vm.rule.inputType === 'number')?_c('v-text-field',{staticClass:\"pa-3\",class:{ 'form-control': _vm.styled },attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"type\":\"number\",\"placeholder\":_vm.labels.textInputPlaceholder},model:{value:(_vm.query.value),callback:function ($$v) {_vm.$set(_vm.query, \"value\", _vm._n($$v))},expression:\"query.value\"}}):_vm._e(),(_vm.rule.inputType === 'date')?_c('v-date-picker',{class:{ 'form-control': _vm.styled },attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"type\":\"date\"},model:{value:(_vm.query.value),callback:function ($$v) {_vm.$set(_vm.query, \"value\", $$v)},expression:\"query.value\"}}):_vm._e(),(_vm.isCustomComponent)?[_c(_vm.rule.component,{tag:\"component\",attrs:{\"value\":_vm.query.value},on:{\"input\":_vm.updateQuery}})]:_vm._e(),(_vm.rule.inputType === 'checkbox')?_c('div',{staticClass:\"checkbox\"},_vm._l((_vm.rule.choices),function(choice){return _c('v-checkbox',{key:choice.value,attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"type\":\"checkbox\",\"label\":choice.label,\"value\":choice.value},model:{value:(_vm.query.value),callback:function ($$v) {_vm.$set(_vm.query, \"value\", $$v)},expression:\"query.value\"}})}),1):_vm._e(),(_vm.rule.inputType === 'radio')?_c('div',{staticClass:\"radio\"},[_c('v-radio-group',{attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"mandatory\":false},model:{value:(_vm.radios),callback:function ($$v) {_vm.radios=$$v},expression:\"radios\"}},_vm._l((_vm.rule.choices),function(choice){return _c('v-radio',{key:choice.value,attrs:{\"label\":choice.label,\"value\":choice.value}})}),1)],1):_vm._e(),(\n _vm.rule.inputType === 'select' ||\n _vm.rule.inputType === 'boolean' ||\n _vm.rule.inputType === 'selectNumeric'\n )?_c('v-select',{staticClass:\"pa-3\",class:{ 'form-control': _vm.styled },attrs:{\"disabled\":_vm.query.selectedOperator == 'er tom' ||\n _vm.query.selectedOperator == 'er ikke tom' ||\n _vm.query.selectedOperator == 'er null' ||\n _vm.query.selectedOperator == 'er ikke null',\"multiple\":_vm.rule.type === 'multi-select',\"items\":_vm.rule.choices,\"item-text\":\"label\",\"item-value\":\"value\"},model:{value:(_vm.query.value),callback:function ($$v) {_vm.$set(_vm.query, \"value\", $$v)},expression:\"query.value\"}}):_vm._e(),_c('v-btn',{staticClass:\"mb-3\",class:{ 'close pull-right': _vm.styled },attrs:{\"type\":\"button\",\"icon\":\"\"},on:{\"click\":_vm.remove}},[_c('v-icon',[_vm._v(\"close\")])],1)],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\r\n * Returns a depply cloned object without reference.\r\n * Copied from Vue MultiSelect and Vuex.\r\n * @type {Object}\r\n */\r\nconst deepClone = function(obj) {\r\n if (Array.isArray(obj)) {\r\n return obj.map(deepClone);\r\n } else if (obj && typeof obj === \"object\") {\r\n let cloned = {};\r\n let keys = Object.keys(obj);\r\n for (let i = 0, l = keys.length; i < l; i++) {\r\n let key = keys[i];\r\n cloned[key] = deepClone(obj[key]);\r\n }\r\n return cloned;\r\n } else {\r\n return obj;\r\n }\r\n};\r\n\r\nexport default deepClone;\r\n","<template>\r\n <div class=\"vqb-rule\" :class=\"{ 'panel panel-default form-inline': styled }\">\r\n <div :class=\"{ 'form-group': styled }\">\r\n <v-layout row align-center>\r\n <label class=\"pa-3 mb-3 subheading\">{{ rule.label }}</label>\r\n {{ rule.operands }}\r\n\r\n <v-select\r\n v-if=\"typeof rule.operands !== 'undefined'\"\r\n :items=\"rule.operands\"\r\n v-model=\"query.selectedOperand\"\r\n :class=\"{ 'form-control': styled }\"\r\n class=\"pa-2\"\r\n >\r\n </v-select>\r\n\r\n <v-select\r\n style=\"max-width: 300px;\"\r\n v-if=\"\r\n typeof rule.operators !== 'undefined' && rule.operators.length > 1\r\n \"\r\n :return-object=\"true\"\r\n :items=\"rule.operators\"\r\n v-model=\"query.selectedOperator\"\r\n :class=\"{ 'form-control': styled }\"\r\n class=\"pa-3\"\r\n >\r\n </v-select>\r\n\r\n <v-text-field\r\n :class=\"{ 'form-control': styled }\"\r\n v-if=\"rule.inputType === 'text'\"\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n type=\"text\"\r\n v-model=\"query.value\"\r\n class=\"pa-3\"\r\n :placeholder=\"labels.textInputPlaceholder\"\r\n ></v-text-field>\r\n <v-text-field\r\n class=\"pa-3\"\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n :class=\"{ 'form-control': styled }\"\r\n v-if=\"rule.inputType === 'number'\"\r\n type=\"number\"\r\n v-model.number=\"query.value\"\r\n :placeholder=\"labels.textInputPlaceholder\"\r\n ></v-text-field>\r\n <v-date-picker\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n :class=\"{ 'form-control': styled }\"\r\n v-if=\"rule.inputType === 'date'\"\r\n type=\"date\"\r\n v-model=\"query.value\"\r\n ></v-date-picker>\r\n\r\n <template v-if=\"isCustomComponent\">\r\n <component\r\n :value=\"query.value\"\r\n @input=\"updateQuery\"\r\n :is=\"rule.component\"\r\n ></component>\r\n </template>\r\n\r\n <div class=\"checkbox\" v-if=\"rule.inputType === 'checkbox'\">\r\n <v-checkbox\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n type=\"checkbox\"\r\n v-for=\"choice in rule.choices\"\r\n :key=\"choice.value\"\r\n :label=\"choice.label\"\r\n :value=\"choice.value\"\r\n v-model=\"query.value\"\r\n >\r\n </v-checkbox>\r\n </div>\r\n\r\n <div class=\"radio\" v-if=\"rule.inputType === 'radio'\">\r\n <v-radio-group\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n v-model=\"radios\"\r\n :mandatory=\"false\"\r\n >\r\n <v-radio\r\n v-for=\"choice in rule.choices\"\r\n :key=\"choice.value\"\r\n :label=\"choice.label\"\r\n :value=\"choice.value\"\r\n ></v-radio>\r\n </v-radio-group>\r\n </div>\r\n\r\n <v-select\r\n :disabled=\"\r\n query.selectedOperator == 'er tom' ||\r\n query.selectedOperator == 'er ikke tom' ||\r\n query.selectedOperator == 'er null' ||\r\n query.selectedOperator == 'er ikke null'\r\n \"\r\n v-if=\"\r\n rule.inputType === 'select' ||\r\n rule.inputType === 'boolean' ||\r\n rule.inputType === 'selectNumeric'\r\n \"\r\n :class=\"{ 'form-control': styled }\"\r\n class=\"pa-3\"\r\n :multiple=\"rule.type === 'multi-select'\"\r\n v-model=\"query.value\"\r\n :items=\"rule.choices\"\r\n item-text=\"label\"\r\n item-value=\"value\"\r\n >\r\n </v-select>\r\n\r\n <v-btn\r\n class=\"mb-3\"\r\n type=\"button\"\r\n icon\r\n :class=\"{ 'close pull-right': styled }\"\r\n @click=\"remove\"\r\n >\r\n <v-icon>close</v-icon>\r\n </v-btn>\r\n </v-layout>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport deepClone from \"./utilities.js\";\r\nexport default {\r\n name: \"layer-query-builder-rule\",\r\n props: [\"query\", \"index\", \"rule\", \"styled\", \"labels\"],\r\n beforeMount() {\r\n if (this.rule.type === \"custom-component\") {\r\n this.$options.components[this.id] = this.rule.component;\r\n }\r\n },\r\n methods: {\r\n remove: function() {\r\n this.$emit(\"child-deletion-requested\", this.index);\r\n },\r\n updateQuery(value) {\r\n let updated_query = deepClone(this.query);\r\n updated_query.value = value;\r\n this.$emit(\"update:query\", updated_query);\r\n },\r\n reduceRuleChoices: function(groups, item, index) {\r\n let key = item[\"group\"];\r\n if (typeof key !== \"undefined\") {\r\n groups[key] = groups[key] || [];\r\n groups[key].push(item);\r\n } else {\r\n groups[index] = item;\r\n }\r\n return groups;\r\n }\r\n },\r\n computed: {\r\n isCustomComponent() {\r\n return this.rule.type === \"custom-component\";\r\n },\r\n selectOptions() {\r\n if (typeof this.rule.choices === \"undefined\") {\r\n return {};\r\n }\r\n return this.rule.choices.reduce(this.reduceRuleChoices, {});\r\n }\r\n },\r\n mounted() {\r\n let updated_query = deepClone(this.query);\r\n // Set a default value for these types if one isn't provided already\r\n if (this.query.value === null) {\r\n if (this.rule.inputType === \"checkbox\") {\r\n updated_query.value = [];\r\n }\r\n if (this.rule.type === \"select\") {\r\n updated_query.value = this.rule.choices[0].value;\r\n }\r\n if (this.rule.type === \"custom-component\") {\r\n updated_query.value = null;\r\n if (typeof this.rule.default !== \"undefined\") {\r\n updated_query.value = deepClone(this.rule.default);\r\n }\r\n }\r\n this.$emit(\"update:query\", updated_query);\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilderRule.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilderRule.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerQueryBuilderRule.vue?vue&type=template&id=180b255f\"\nimport script from \"./LayerQueryBuilderRule.vue?vue&type=script&lang=js\"\nexport * from \"./LayerQueryBuilderRule.vue?vue&type=script&lang=js\"\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","<template>\r\n <div class=\"vqb-group pa-1\" :class=\"classObject\">\r\n <div class=\"vqb-group-heading\" :class=\"{ 'panel-heading': styled }\">\r\n <div class=\"match-type-container\" :class=\"{ 'form-inline': styled }\">\r\n <v-layout row align-center>\r\n <div :class=\"{ 'form-group': styled }\">\r\n <v-flex xs12 sm6 class=\"py-2 pl-2\">\r\n <v-btn-toggle\r\n mandatory\r\n v-model=\"query.logicalOperator\"\r\n depressed\r\n class=\"elevation-0\"\r\n >\r\n <v-btn\r\n v-for=\"matchType in labels.matchTypes\"\r\n :value=\"matchType.id\"\r\n :key=\"matchType.id\"\r\n class=\"elevation-0\"\r\n >{{ matchType.label }}</v-btn\r\n >\r\n </v-btn-toggle>\r\n </v-flex>\r\n </div>\r\n <v-spacer />\r\n <v-btn\r\n type=\"button\"\r\n icon\r\n :class=\"{ 'close pull-right': styled }\"\r\n v-if=\"this.depth > 1\"\r\n @click=\"remove\"\r\n >\r\n <v-icon>close</v-icon>\r\n </v-btn>\r\n </v-layout>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"vqb-group-body pa-3\"\r\n style=\"border-style: double; border: yellow !important; \"\r\n >\r\n <div class=\"children\">\r\n <component\r\n v-for=\"(child, index) in query.children\"\r\n :key=\"index\"\r\n :is=\"child.type\"\r\n :type=\"child.type\"\r\n :query.sync=\"child.query\"\r\n :ruleTypes=\"ruleTypes\"\r\n :rules=\"rules\"\r\n :rule=\"ruleById(child.query.rule)\"\r\n :index=\"index\"\r\n :maxDepth=\"maxDepth\"\r\n :depth=\"depth + 1\"\r\n :styled=\"styled\"\r\n :labels=\"labels\"\r\n @child-deletion-requested=\"removeChild\"\r\n ></component>\r\n </div>\r\n\r\n <div class=\"rule-actions\" :class=\"{ 'form-inline': styled }\">\r\n <div :class=\"{ 'form-group': styled }\">\r\n <v-layout row align-center>\r\n <v-select\r\n class=\"pl-3\"\r\n v-model=\"selectedRule\"\r\n :items=\"rules\"\r\n item-text=\"label\"\r\n :return-object=\"true\"\r\n :class=\"{ 'form-control': styled }\"\r\n ></v-select>\r\n\r\n <v-btn\r\n type=\"button\"\r\n @click=\"addRule\"\r\n depressed\r\n :class=\"{ 'btn btn-default': styled }\"\r\n v-html=\"labels.addRule\"\r\n ></v-btn>\r\n <v-btn\r\n type=\"button\"\r\n depressed\r\n :class=\"{ 'btn btn-default': styled }\"\r\n v-if=\"this.depth < this.maxDepth\"\r\n @click=\"addGroup\"\r\n v-html=\"labels.addGroup\"\r\n ></v-btn>\r\n </v-layout>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerQueryBuilderRule from \"@/pages/MapPage/Tools/Layers/LayerQueryBuilderRule.vue\";\r\n\r\nimport deepClone from \"./utilities.js\";\r\nexport default {\r\n name: \"layer-query-builder-group\",\r\n components: {\r\n LayerQueryBuilderRule\r\n },\r\n props: [\r\n \"ruleTypes\",\r\n \"type\",\r\n \"query\",\r\n \"rules\",\r\n \"index\",\r\n \"maxDepth\",\r\n \"depth\",\r\n \"styled\",\r\n \"labels\"\r\n ],\r\n methods: {\r\n ruleById(ruleId) {\r\n let rule = null;\r\n this.rules.forEach(function(value) {\r\n if (value.id === ruleId) {\r\n rule = value;\r\n return false;\r\n }\r\n });\r\n return rule;\r\n },\r\n addRule() {\r\n let updated_query = deepClone(this.query);\r\n let child = {\r\n type: \"layer-query-builder-rule\",\r\n query: {\r\n rule: this.selectedRule.id,\r\n selectedOperator: this.selectedRule.operators[0],\r\n selectedOperand:\r\n typeof this.selectedRule.operands === \"undefined\"\r\n ? this.selectedRule.label\r\n : this.selectedRule.operands[0],\r\n value: null\r\n }\r\n };\r\n // A bit hacky, but `v-model` on `select` requires an array.\r\n if (this.ruleById(child.query.rule).type === \"multi-select\") {\r\n child.query.value = [];\r\n }\r\n updated_query.children.push(child);\r\n this.$emit(\"update:query\", updated_query);\r\n },\r\n addGroup() {\r\n let updated_query = deepClone(this.query);\r\n if (this.depth < this.maxDepth) {\r\n updated_query.children.push({\r\n type: \"layer-query-builder-group\",\r\n query: {\r\n logicalOperator: this.labels.matchTypes[0].id,\r\n children: []\r\n }\r\n });\r\n this.$emit(\"update:query\", updated_query);\r\n }\r\n },\r\n remove() {\r\n this.$emit(\"child-deletion-requested\", this.index);\r\n },\r\n removeChild(index) {\r\n let updated_query = deepClone(this.query);\r\n updated_query.children.splice(index, 1);\r\n this.$emit(\"update:query\", updated_query);\r\n }\r\n },\r\n data() {\r\n return {\r\n selectedRule: this.rules[0]\r\n };\r\n },\r\n mounted: function() {\r\n this.rules.sort();\r\n },\r\n computed: {\r\n classObject() {\r\n let classObject = {\r\n \"panel panel-default\": this.styled\r\n };\r\n classObject[\"depth-\" + this.depth.toString()] = this.styled;\r\n return classObject;\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilderGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilderGroup.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerQueryBuilderGroup.vue?vue&type=template&id=e211d0fc\"\nimport script from \"./LayerQueryBuilderGroup.vue?vue&type=script&lang=js\"\nexport * from \"./LayerQueryBuilderGroup.vue?vue&type=script&lang=js\"\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","<template>\r\n <div\r\n class=\"vue-query-builder\"\r\n :class=\"{ 'vue-query-builder-styled': styled }\"\r\n >\r\n <layer-query-builder-group\r\n :index=\"0\"\r\n :query.sync=\"query\"\r\n :ruleTypes=\"ruleTypes\"\r\n :rules=\"mergedRules\"\r\n :maxDepth=\"maxDepth\"\r\n :depth=\"depth\"\r\n :styled=\"styled\"\r\n :labels=\"mergedLabels\"\r\n type=\"layer-query-builder-group\"\r\n ></layer-query-builder-group>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerQueryBuilderGroup from \"@/pages/MapPage/Tools/Layers/LayerQueryBuilderGroup.vue\";\r\nimport deepClone from \"./utilities.js\";\r\nlet defaultLabels = {\r\n matchType: \"Logisk operator\",\r\n matchTypes: [{ id: \"all\", label: \"OG\" }, { id: \"any\", label: \"ELLER\" }],\r\n addRule: \"+ Regel\",\r\n removeRule: \"×\",\r\n addGroup: \"+ Gruppe\",\r\n removeGroup: \"×\",\r\n textInputPlaceholder: \"Verdi\"\r\n};\r\nexport default {\r\n name: \"layer-query-builder\",\r\n components: {\r\n LayerQueryBuilderGroup\r\n },\r\n props: {\r\n rules: Array,\r\n labels: {\r\n type: Object,\r\n default() {\r\n return defaultLabels;\r\n }\r\n },\r\n styled: {\r\n type: Boolean,\r\n default: true\r\n },\r\n maxDepth: {\r\n type: Number,\r\n default: 3,\r\n validator: function(value) {\r\n return value >= 1;\r\n }\r\n },\r\n value: Object\r\n },\r\n data() {\r\n return {\r\n depth: 1,\r\n query: {\r\n logicalOperator: this.labels.matchTypes[0].id,\r\n children: []\r\n },\r\n ruleTypes: {\r\n text: {\r\n operators: [\r\n \"er lik\",\r\n \"er ikke lik\",\r\n \"inneholder\",\r\n \"inneholder ikke\",\r\n \"finnes i\",\r\n \"finnes ikke i\",\r\n \"begynner med\",\r\n \"slutter med\",\r\n \"er tom\",\r\n \"er ikke tom\",\r\n \"er null\",\r\n \"er ikke null\"\r\n ],\r\n inputType: \"text\",\r\n id: \"text-field\"\r\n },\r\n numeric: {\r\n operators: [\r\n \"er lik (numerisk)\",\r\n \"er ikke lik (numerisk)\",\r\n \"er mindre enn\",\r\n \"er mindre enn eller lik\",\r\n \"er større enn\",\r\n \"er større enn eller lik\"\r\n ],\r\n inputType: \"number\",\r\n id: \"number-field\"\r\n },\r\n custom: {\r\n operators: [],\r\n inputType: \"text\",\r\n id: \"custom-field\"\r\n },\r\n radio: {\r\n operators: [],\r\n choices: [],\r\n inputType: \"radio\",\r\n id: \"radio-field\"\r\n },\r\n checkbox: {\r\n operators: [],\r\n choices: [],\r\n inputType: \"checkbox\",\r\n id: \"checkbox-field\"\r\n },\r\n select: {\r\n operators: [\r\n \"er lik\",\r\n \"er ikke lik\",\r\n \"inneholder\",\r\n \"inneholder ikke\",\r\n \"finnes i\",\r\n \"finnes ikke i\",\r\n \"begynner med\",\r\n \"slutter med\",\r\n \"er tom\",\r\n \"er ikke tom\",\r\n \"er null\",\r\n \"er ikke null\"\r\n ],\r\n choices: [],\r\n inputType: \"select\",\r\n id: \"select-field\"\r\n },\r\n selectNumeric: {\r\n operators: [\"er lik (numerisk)\", \"er ikke lik (numerisk)\"],\r\n choices: [],\r\n inputType: \"selectNumeric\",\r\n id: \"select-field\"\r\n },\r\n boolean: {\r\n operators: [\"er lik\", \"er ikke lik\", \"er tom\", \"er ikke tom\"],\r\n choices: [],\r\n inputType: \"select\",\r\n id: \"select-field\"\r\n },\r\n \"multi-select\": {\r\n operators: [\"=\"],\r\n choices: [],\r\n inputType: \"select\",\r\n id: \"multi-select-field\"\r\n }\r\n }\r\n };\r\n },\r\n computed: {\r\n mergedLabels() {\r\n return Object.assign({}, defaultLabels, this.labels);\r\n },\r\n mergedRules() {\r\n let mergedRules = [];\r\n let vm = this;\r\n\r\n vm.rules.forEach(function(rule) {\r\n if (typeof vm.ruleTypes[rule.type] !== \"undefined\") {\r\n mergedRules.push(Object.assign({}, vm.ruleTypes[rule.type], rule));\r\n } else {\r\n mergedRules.push(rule);\r\n }\r\n });\r\n\r\n mergedRules = mergedRules.sort(this.sortRules);\r\n return mergedRules;\r\n }\r\n },\r\n methods: {\r\n sortRules: function(a, b) {\r\n let nameA = a.label.toUpperCase();\r\n let nameB = b.label.toUpperCase();\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n },\r\n mounted() {\r\n this.$watch(\r\n \"query\",\r\n newQuery => {\r\n if (JSON.stringify(newQuery) !== JSON.stringify(this.value)) {\r\n this.$emit(\"input\", deepClone(newQuery));\r\n }\r\n },\r\n {\r\n deep: true\r\n }\r\n );\r\n this.$watch(\r\n \"value\",\r\n newValue => {\r\n if (JSON.stringify(newValue) !== JSON.stringify(this.query)) {\r\n this.query = deepClone(newValue);\r\n }\r\n },\r\n {\r\n deep: true\r\n }\r\n );\r\n if (typeof this.$options.propsData.value !== \"undefined\") {\r\n this.query = Object.assign(this.query, this.$options.propsData.value);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n.vue-query-builder-styled .vqb-group .rule-actions {\r\n margin-bottom: 20px;\r\n}\r\n.vue-query-builder-styled .vqb-rule {\r\n margin-top: 15px;\r\n margin-bottom: 15px;\r\n background-color: #f5f5f5;\r\n border-color: #ddd;\r\n padding: 15px;\r\n}\r\n.vue-query-builder-styled .vqb-rule label {\r\n margin-right: 10px;\r\n}\r\n.vue-query-builder-styled .vqb-group.depth-1 .vqb-rule,\r\n.vue-query-builder-styled .vqb-group.depth-2 {\r\n border-left: 2px solid #8bc34a;\r\n}\r\n.vue-query-builder-styled .vqb-group.depth-2 .vqb-rule,\r\n.vue-query-builder-styled .vqb-group.depth-3 {\r\n border-left: 2px solid #00bcd4;\r\n}\r\n.vue-query-builder-styled .vqb-group.depth-3 .vqb-rule,\r\n.vue-query-builder-styled .vqb-group.depth-4 {\r\n border-left: 2px solid #ff5722;\r\n}\r\n.vue-query-builder-styled .close {\r\n opacity: 1;\r\n color: rgb(150, 150, 150);\r\n}\r\n@media (min-width: 768px) {\r\n .vue-query-builder-styled .vqb-rule.form-inline .form-group {\r\n display: block;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryBuilder.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerQueryBuilder.vue?vue&type=template&id=56d3fd0e\"\nimport script from \"./LayerQueryBuilder.vue?vue&type=script&lang=js\"\nexport * from \"./LayerQueryBuilder.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerQueryBuilder.vue?vue&type=style&index=0&id=56d3fd0e&prod&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","<template>\r\n <section class=\"secondary\" style=\"z-index: 100000\">\r\n <v-tabs v-model=\"active\" color=\"grey \" dark slider-color=\"primary\">\r\n <v-tab :key=\"0\" ripple>SQL designer</v-tab>\r\n <v-tab :key=\"1\" ripple>SQL tekst</v-tab>\r\n <v-tab-item :key=\"0\">\r\n <layer-query-builder :rules=\"rules\" v-model=\"query\">\r\n <div slot=\"custom-error\" class=\"red--text\">errors</div>\r\n </layer-query-builder>\r\n </v-tab-item>\r\n\r\n <v-tab-item :key=\"1\">\r\n <v-flex grow>\r\n <v-textarea\r\n box\r\n full-width\r\n hide-details\r\n rows=\"5\"\r\n placeholder=\"SQL spørring\"\r\n v-model=\"manualSqlString\"\r\n ></v-textarea>\r\n <span style=\"display:none\">{{ sql }}</span>\r\n </v-flex>\r\n </v-tab-item>\r\n </v-tabs>\r\n </section>\r\n</template>\r\n\r\n<script>\r\nimport LayerQueryBuilder from \"@/pages/MapPage/Tools/Layers/LayerQueryBuilder.vue\";\r\n\r\nexport default {\r\n mounted() {\r\n let exisitingWhereQuery = this.layer.definitionExpression;\r\n\r\n if (exisitingWhereQuery) {\r\n this.query = this.$store.getters[\"getLayerDefinitionExpressionQuery\"](\r\n this.layer.url\r\n );\r\n this.manualSqlString = exisitingWhereQuery;\r\n } else {\r\n this.query = {\r\n logicalOperator: \"all\",\r\n children: []\r\n };\r\n }\r\n },\r\n data: function() {\r\n return {\r\n manualSqlString: \"\",\r\n active: 0,\r\n englishOperators: {\r\n \"er lik (numerisk)\": {\r\n prefix: \"\",\r\n operator: \" = \",\r\n postfix: \"\",\r\n ignoreValue: false\r\n },\r\n \"er ikke lik (numerisk)\": {\r\n prefix: \"\",\r\n operator: \" <> \",\r\n postfix: \"\",\r\n ignoreValue: false\r\n },\r\n \"er lik\": {\r\n prefix: \"\",\r\n operator: \" = '\",\r\n postfix: \"'\",\r\n ignoreValue: false\r\n },\r\n \"er ikke lik\": {\r\n prefix: \"\",\r\n operator: \" <> '\",\r\n postfix: \"'\",\r\n ignoreValue: false\r\n },\r\n \"finnes i\": {\r\n prefix: \"\",\r\n operator: \"IN('\",\r\n postfix: \"')\",\r\n ignoreValue: false\r\n },\r\n \"finnes ikke i\": {\r\n prefix: \"\",\r\n operator: \"NOT IN ('\",\r\n postfix: \"')\",\r\n ignoreValue: false\r\n },\r\n \"begynner med\": {\r\n prefix: \"\",\r\n operator: \"LIKE('\",\r\n postfix: \"%')\",\r\n ignoreValue: false\r\n },\r\n \"begynner ikke med\": {\r\n prefix: \"\",\r\n operator: \"NOT LIKE('\",\r\n postfix: \"%')\",\r\n ignoreValue: false\r\n },\r\n inneholder: {\r\n prefix: \"\",\r\n operator: \"LIKE('%\",\r\n postfix: \"%')\",\r\n ignoreValue: false\r\n },\r\n \"inneholder ikke\": {\r\n prefix: \"\",\r\n operator: \"NOT LIKE(%'\",\r\n postfix: \"%')\",\r\n ignoreValue: false\r\n },\r\n \"slutter med\": {\r\n prefix: \"\",\r\n operator: \"LIKE('%\",\r\n postfix: \"')\",\r\n ignoreValue: false\r\n },\r\n \"slutter ikke med\": {\r\n prefix: \"\",\r\n operator: \"NOT LIKE('\",\r\n postfix: \"%')\",\r\n ignoreValue: false\r\n },\r\n \"er tom\": {\r\n prefix: \"\",\r\n operator: \" = \",\r\n postfix: \"''\",\r\n ignoreValue: true\r\n },\r\n \"er ikke tom\": {\r\n prefix: \"\",\r\n operator: \" != \",\r\n postfix: \"''\",\r\n ignoreValue: true\r\n },\r\n \"er null\": {\r\n prefix: \"\",\r\n operator: \"IS NULL\",\r\n postfix: \"\",\r\n ignoreValue: true\r\n },\r\n \"er ikke null\": {\r\n prefix: \"\",\r\n operator: \"IS NOT NULL\",\r\n postfix: \"\",\r\n ignoreValue: true\r\n },\r\n \"er mindre enn\": {\r\n prefix: \"\",\r\n operator: \"<\",\r\n postfix: \"\",\r\n ignoreValue: false\r\n },\r\n \"er mindre enn eller lik\": {\r\n prefix: \"\",\r\n operator: \" <= \",\r\n postfix: \"\",\r\n ignoreValue: false\r\n },\r\n \"er større enn\": {\r\n prefix: \"\",\r\n operator: \" > \",\r\n postfix: \"\",\r\n ignoreValue: false\r\n },\r\n \"er større enn eller lik\": {\r\n prefix: \"\",\r\n operator: \" >= \",\r\n postfix: \"\",\r\n ignoreValue: false\r\n }\r\n },\r\n query: null\r\n };\r\n },\r\n props: {\r\n rules: Array,\r\n layer: Object\r\n },\r\n watch: {\r\n manualSqlString() {\r\n this.$emit(\"query-updated\", {\r\n sql: this.manualSqlString,\r\n query: this.query\r\n });\r\n },\r\n sql(val) {\r\n this.manualSqlString = val;\r\n }\r\n },\r\n computed: {\r\n sql: function() {\r\n let sqlString = \"\";\r\n if (this.query && this.query.hasOwnProperty(\"children\")) {\r\n this.query.children.forEach(child => {\r\n let theLogicalOperator =\r\n sqlString === \"\"\r\n ? \"\"\r\n : this.query.logicalOperator === \"any\"\r\n ? \" OR \"\r\n : \" AND \";\r\n\r\n sqlString =\r\n sqlString +\r\n theLogicalOperator +\r\n this.getSql(child, child.query.logicalOperator);\r\n });\r\n }\r\n\r\n return sqlString;\r\n }\r\n },\r\n methods: {\r\n getJSONQueryFromArray(sqlArray) {\r\n let query = {};\r\n query.children = [];\r\n for (let i = 0; i < sqlArray.length; i++) {\r\n let element = sqlArray[i];\r\n if (Array.isArray(element)) {\r\n query.children.push(this.getJSONQueryFromArray(element));\r\n }\r\n }\r\n },\r\n getJSONQuery(parsedSql) {\r\n let query = {};\r\n\r\n if (parsedSql.hasOwnProperty(\"AND\")) {\r\n query.logicalOperator = \"all\";\r\n query.type = \"layer-query-builder-group\";\r\n query.children = [];\r\n for (let i = 0; i < parsedSql.AND.length; i++) {\r\n query.children.push(this.getJSONQuery(parsedSql.AND[i]));\r\n }\r\n } else if (parsedSql.hasOwnProperty(\"OR\")) {\r\n query.logicalOperator = \"any\";\r\n query.type = \"layer-query-builder-group\";\r\n query.children = [];\r\n for (let i = 0; i < parsedSql.OR.length; i++) {\r\n query.children.push(this.getJSONQuery(parsedSql.AND[i]));\r\n }\r\n } else {\r\n let operator = parsedSql[Object.keys(parsedSql)[0]];\r\n let operand = operator[0];\r\n let value = operator[1];\r\n\r\n let type = \"layer-query-builder-rule\";\r\n\r\n return {\r\n type: type,\r\n query: {\r\n rule: operand,\r\n selectedOperator: \"er lik (numerisk)\",\r\n selectedOperand: operand,\r\n value: value\r\n }\r\n };\r\n }\r\n\r\n return query;\r\n },\r\n getSql(child, logicalOperator) {\r\n let sqlString = \"\";\r\n if (\r\n child.query.hasOwnProperty(\"children\") &&\r\n child.query.children.length > 0\r\n ) {\r\n sqlString = sqlString + \" (\";\r\n child.query.children.forEach(subChild => {\r\n let theLogicalOperator =\r\n sqlString === \" (\"\r\n ? \"\"\r\n : logicalOperator === \"any\"\r\n ? \" OR \"\r\n : \" AND \";\r\n sqlString =\r\n sqlString +\r\n theLogicalOperator +\r\n this.getSql(subChild, subChild.query.logicalOperator);\r\n });\r\n sqlString = sqlString + \") \";\r\n } else if (child.query.hasOwnProperty(\"selectedOperand\")) {\r\n sqlString =\r\n child.query.selectedOperand +\r\n \" \" +\r\n this.getFormattedOperatorAndValue(child);\r\n }\r\n return sqlString;\r\n },\r\n getFormattedOperatorAndValue(child) {\r\n let englishOperator = this.englishOperators[child.query.selectedOperator];\r\n\r\n return (\r\n englishOperator.prefix +\r\n englishOperator.operator +\r\n (englishOperator.ignoreValue ? \"\" : this.getFormattedValue(child)) +\r\n englishOperator.postfix\r\n );\r\n },\r\n getFormattedValue(child) {\r\n if (\r\n child.query.selectedOperator == null ||\r\n child.query.selectedOperator == \"is empty\" ||\r\n child.query.selectedOperator == \"is not empty\"\r\n ) {\r\n return \"\";\r\n }\r\n\r\n if (typeof child.query.value == \"string\") {\r\n return child.query.value;\r\n } else {\r\n return child.query.value;\r\n }\r\n }\r\n },\r\n components: {\r\n LayerQueryBuilder\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerQueryDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerQueryDialog.vue?vue&type=template&id=209987ea&scoped=true\"\nimport script from \"./LayerQueryDialog.vue?vue&type=script&lang=js\"\nexport * from \"./LayerQueryDialog.vue?vue&type=script&lang=js\"\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 \"209987ea\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-dialog\r\n scrollable\r\n v-model=\"open\"\r\n persistent\r\n :fullscreen=\"$vuetify.breakpoint.smAndDown\"\r\n max-width=\"700px\"\r\n style=\"z-index: 1001\"\r\n >\r\n <v-card>\r\n <v-card-title primary-title>\r\n <span class=\"headline mb-0\">Filtrer kartlag ({{ layer.title }})</span>\r\n <v-spacer></v-spacer>\r\n </v-card-title>\r\n <v-card-text>\r\n <p>\r\n Her kan du filtrere hva som vises i kartlaget ved hjelp av egenskapene\r\n til elementene i kartlaget. Du kan enten bruke SQL designeren under\r\n for Ã¥ bygge opp et filter, eller skrive inn en SQL spørring selv ved Ã¥\r\n velge fanen\r\n <i>SQL tekst</i>. Se\r\n <a\r\n href=\"https://desktop.arcgis.com/en/arcmap/10.3/map/working-with-layers/building-a-query-expression.htm\"\r\n >denne siden</a\r\n >\r\n for mer informasjon om bruk av SQL spørringer i ArcGIS plattformen.\r\n </p>\r\n <layer-query-dialog\r\n :rules=\"rules\"\r\n :layer=\"layer\"\r\n @query-updated=\"updateSqlString\"\r\n />\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn flat large @click=\"$emit('close')\">Avbryt</v-btn>\r\n\r\n <v-btn color=\"primary\" flat large @click=\"saveDefinitionExpression\"\r\n >OK</v-btn\r\n >\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport LayerQueryDialog from \"@/pages/MapPage/Tools/Layers/LayerQueryDialog.vue\";\r\nexport default {\r\n name: \"layer-item-filter\",\r\n data: function() {\r\n return {\r\n sqlString: \"\",\r\n query: null,\r\n mode: \"interactive\"\r\n };\r\n },\r\n mixins: [MappingMixin],\r\n computed: {\r\n layerInfo() {\r\n return this.$store.getters[\"getLayerInfoByUrl\"](this.layer.url);\r\n },\r\n rules() {\r\n let queryRules = [];\r\n if (this.layerInfo) {\r\n this.layerInfo.fields.forEach(field => {\r\n let fieldQueryRule = this.getFieldQueryRule(field);\r\n if (fieldQueryRule !== null) {\r\n queryRules.push(fieldQueryRule);\r\n }\r\n });\r\n }\r\n return queryRules;\r\n }\r\n },\r\n watch: {},\r\n methods: {\r\n getFieldQueryRule: function(field) {\r\n if (\r\n field.name == \"OBJECTID\" ||\r\n field.name == \"Shape\" ||\r\n field.name == \"GlobalID\"\r\n ) {\r\n return null;\r\n }\r\n let type = \"\";\r\n let choices = [];\r\n if (field.domain !== null) {\r\n if (typeof field.domain.codedValues[0].code === \"number\") {\r\n type = \"selectNumeric\";\r\n } else {\r\n type = \"select\";\r\n }\r\n choices = this.getFieldDomainChoices(field.domain);\r\n } else {\r\n type = this.getFieldType(field.type);\r\n }\r\n\r\n let label = field.name;\r\n let id = field.name;\r\n return { type, id, label, choices };\r\n },\r\n saveDefinitionExpression: function() {\r\n this.layer.definitionExpression = this.sqlString;\r\n\r\n this.updateLayerDefinitionExpression({\r\n parentLayerID: this.layer.layer.id,\r\n sublayerIndex: this.layer.id,\r\n id: this.layer.url,\r\n query: this.query,\r\n sqlString: this.sqlString\r\n });\r\n this.$eventHub.$emit(\"layer-filter-set\", this.layer);\r\n this.$emit(\r\n \"filter-active-changed\",\r\n this.layer.definitionExpression !== null &&\r\n this.layer.definitionExpression !== \"\"\r\n );\r\n this.$emit(\"close\");\r\n },\r\n updateSqlString: function(newQuery) {\r\n this.sqlString = newQuery.sql;\r\n this.query = newQuery.query;\r\n },\r\n getFieldDomainChoices: function(esriFieldDomain) {\r\n let choices = [];\r\n esriFieldDomain.codedValues.forEach(codedValue => {\r\n choices.push({\r\n label: codedValue.name,\r\n value: codedValue.code\r\n });\r\n });\r\n\r\n return choices;\r\n },\r\n getFieldType: function(esriFieldType) {\r\n let fieldType;\r\n\r\n switch (esriFieldType) {\r\n case \"esriFieldTypeInteger\":\r\n fieldType = \"numeric\";\r\n break;\r\n case \"esriFieldTypeSmallInteger\":\r\n fieldType = \"numeric\";\r\n break;\r\n case \"esriFieldTypeDouble\":\r\n fieldType = \"numeric\";\r\n break;\r\n case \"esriFieldTypeString\":\r\n fieldType = \"text\";\r\n break;\r\n case \"esriFieldTypeDate\":\r\n fieldType = \"text\";\r\n break;\r\n case \"esriFieldTypeOID\":\r\n fieldType = \"numeric\";\r\n break;\r\n case \"esriFieldTypeGlobalID\":\r\n fieldType = \"text\";\r\n break;\r\n }\r\n\r\n return fieldType;\r\n }\r\n },\r\n props: {\r\n layer: Object,\r\n open: Boolean\r\n },\r\n components: {\r\n LayerQueryDialog\r\n },\r\n mounted() {\r\n if (!this.layerInfo) {\r\n this.loadLayerInfo({\r\n url: this.layer.url\r\n });\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerItemFilter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerItemFilter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerItemFilter.vue?vue&type=template&id=deed3e3c\"\nimport script from \"./LayerItemFilter.vue?vue&type=script&lang=js\"\nexport * from \"./LayerItemFilter.vue?vue&type=script&lang=js\"\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","<template>\r\n <v-fade-transition :hide-on-leave=\"true\">\r\n <div\r\n class=\"toc-sublayer-item\"\r\n :style=\"{ opacity: sublayerIsVisibleAtCurrentScale ? 1.0 : 0.4 }\"\r\n >\r\n <v-hover\r\n v-if=\"sublayer.legendImages && sublayer.legendImages.length == 1\"\r\n >\r\n <v-list-tile\r\n slot-scope=\"{ hover }\"\r\n class=\"first-level tile\"\r\n style=\" max-width: 392px; padding-right: 0px;cursor: pointer;max-height: 40px;\"\r\n avatar\r\n :style=\"{ marginLeft: addMargin ? '20px' : '' }\"\r\n >\r\n <v-list-tile-avatar size=\"20\">\r\n <img\r\n :alt=\"'Kartlag symbolikk ' + sublayer.title\"\r\n v-if=\"sublayer.legendImages\"\r\n :src=\"\r\n 'data:image/png;base64, ' + sublayer.legendImages[0].imageData\r\n \"\r\n />\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title\r\n :title=\"'Navn: ' + sublayer.title\"\r\n style=\"font-size: 12px !important; margin-left: 10px;\"\r\n v-html=\"sublayer.title\"\r\n ></v-list-tile-title>\r\n </v-list-tile-content>\r\n\r\n <v-spacer></v-spacer>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover\"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n small\r\n aria-label=\"Vis beskrivelse og egenskaper\"\r\n flat\r\n @click.stop=\"showMetadata\"\r\n >\r\n <v-icon size=\"20\">mdi-information-variant</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Vis beskrivelse og egenskaper</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover\"\r\n >\r\n <v-btn\r\n @click.stop=\"showTable\"\r\n class=\"pa-0 ma-0\"\r\n icon\r\n aria-label=\"Vis tabell\"\r\n small\r\n flat\r\n >\r\n <v-icon size=\"18\">mdi-table-large</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Vis tabell</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover || filterActive\"\r\n >\r\n <v-btn\r\n @click.stop=\"showFilterDialog\"\r\n class=\"pa-0 ma-0\"\r\n icon\r\n aria-label=\"Filtrer kartlag\"\r\n small\r\n flat\r\n >\r\n <v-icon size=\"18\" :color=\"filterActive ? 'blue' : ''\">{{\r\n filterActive ? \"mdi-filter\" : \"mdi-filter-outline\"\r\n }}</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Sett filter</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action v-on=\"on\" style=\"min-width: 30px;\">\r\n <v-btn\r\n icon\r\n small\r\n label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n aria-label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n flat\r\n @click.stop=\"toggleSublayerVisibility(sublayer)\"\r\n >\r\n <v-icon\r\n :color=\"\r\n visible &&\r\n sublayerIsVisibleAtCurrentScale &&\r\n parentIsVisible\r\n ? 'blue'\r\n : 'grey'\r\n \"\r\n style=\"font-size: 20px;\"\r\n >{{ visible ? \"mdi-eye\" : \"mdi-eye-off\" }}</v-icon\r\n >\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Skru kartlag av/pÃ¥</span>\r\n </v-tooltip>\r\n </v-list-tile>\r\n </v-hover>\r\n\r\n <v-list-group avatar v-else :value=\"visible\" v-model=\"open\">\r\n <template v-slot:activator>\r\n <v-hover>\r\n <v-list-tile slot-scope=\"{ hover }\">\r\n <v-list-tile-avatar size=\"20\">\r\n <v-icon color=\"dark-grey\" size=\"20\">{{\r\n open ? \"mdi-folder-open-outline\" : \"mdi-folder-outline\"\r\n }}</v-icon>\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title\r\n style=\"font-size: 12px !important; margin-left: 10px; font-weight: bold\"\r\n :title=\"\r\n 'Navn: ' +\r\n (sublayer.title !== null ? sublayer.title : sublayer.name)\r\n \"\r\n v-html=\"\r\n sublayer.title !== null ? sublayer.title : sublayer.name\r\n \"\r\n ></v-list-tile-title>\r\n </v-list-tile-content>\r\n\r\n <v-spacer></v-spacer>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover\"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n small\r\n aria-label=\"Vis beskrivelse og egenskaper\"\r\n flat\r\n @click.stop=\"showMetadata\"\r\n >\r\n <v-icon size=\"20\">mdi-information-variant</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Vis beskrivelse og egenskaper</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n v-if=\"\r\n sublayer.legendImages !== undefined &&\r\n sublayer.legendImages.length > 0\r\n \"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover\"\r\n >\r\n <v-btn\r\n @click.stop=\"showTable\"\r\n class=\"pa-0 ma-0\"\r\n icon\r\n aria-label=\"Vis tabell\"\r\n small\r\n flat\r\n >\r\n <v-icon size=\"18\">mdi-table-large</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Vis tabell</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n v-if=\"\r\n sublayer.legendImages !== undefined &&\r\n sublayer.legendImages.length > 0\r\n \"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover || filterActive\"\r\n >\r\n <v-btn\r\n @click.stop=\"showFilterDialog\"\r\n class=\"pa-0 ma-0\"\r\n icon\r\n aria-label=\"Filtrer kartlag\"\r\n small\r\n flat\r\n >\r\n <v-icon size=\"18\" :color=\"filterActive ? 'blue' : ''\">{{\r\n filterActive ? \"mdi-filter\" : \"mdi-filter-outline\"\r\n }}</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Filtrer kartlag</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action v-on=\"on\" style=\"min-width: 30px;\">\r\n <v-btn\r\n icon\r\n small\r\n label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n aria-label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n flat\r\n @click.stop=\"toggleSublayerVisibility(sublayer)\"\r\n >\r\n <v-icon\r\n :color=\"\r\n visible &&\r\n sublayerIsVisibleAtCurrentScale &&\r\n parentIsVisible\r\n ? 'blue'\r\n : 'grey'\r\n \"\r\n style=\"font-size: 20px;\"\r\n >{{ visible ? \"mdi-eye\" : \"mdi-eye-off\" }}</v-icon\r\n >\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Skru kartlag av/pÃ¥</span>\r\n </v-tooltip>\r\n </v-list-tile>\r\n </v-hover>\r\n </template>\r\n\r\n <!-- Legg til style=\"margin-left: 15px;\" for Ã¥ ha margin fra venstre -->\r\n <div\r\n v-if=\"\r\n sublayer.legendImages !== undefined &&\r\n sublayer.legendImages.length > 0\r\n \"\r\n >\r\n <v-list-tile\r\n style=\"height: auto !important; max-height: 35px;\"\r\n :title=\"'Navn: ' + subLegend.label\"\r\n v-for=\"subLegend in sublayer.legendImages\"\r\n :key=\"subLegend.label\"\r\n @click=\"toggleSublayerVisibility(sublayer)\"\r\n >\r\n <v-list-tile-avatar size=\"20\">\r\n <img\r\n :alt=\"'Kartlag symbolikk ' + subLegend.label\"\r\n :src=\"'data:image/png;base64, ' + subLegend.imageData\"\r\n />\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content\r\n style=\"font-size: 12px !important; margin-left: 10px;\"\r\n >\r\n <v-list-tile-title>{{ subLegend.label }}</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </div>\r\n\r\n <div\r\n style=\"margin-left: 15px;\"\r\n v-if=\"\r\n sublayer.legendImages !== undefined &&\r\n sublayer.legendImages.length == 0 &&\r\n sublayer.sublayers !== undefined &&\r\n sublayer.sublayers.items.length > 0\r\n \"\r\n >\r\n <v-list-tile\r\n :style=\"{ marginLeft: addMargin ? '20px' : '' }\"\r\n class=\"sub-tile\"\r\n v-for=\"(subsublayer,\r\n index) in sublayer.sublayers.items.slice().reverse()\"\r\n :key=\"index + 'sublayer'\"\r\n >\r\n <layer-list-item-toc-sublayer\r\n :sublayer=\"subsublayer\"\r\n :parent-is-visible=\"visible && parentIsVisible\"\r\n :id=\"id\"\r\n :addMargin=\"true\"\r\n :visibility=\"subsublayer.visible\"\r\n @visible=\"$emit('visible')\"\r\n ></layer-list-item-toc-sublayer>\r\n </v-list-tile>\r\n </div>\r\n <div v-else v-show=\"sublayer.hasOwnProperty('legendUrl')\">\r\n <img\r\n :alt=\"'Kartlag symbolikk ' + sublayer.title\"\r\n class=\"pl-3\"\r\n :src=\"sublayer.legendUrl\"\r\n />\r\n </div>\r\n </v-list-group>\r\n\r\n <div class=\"text-xs-center\">\r\n <layer-metadata\r\n v-if=\"dialog\"\r\n :open=\"dialog\"\r\n :layer=\"sublayer\"\r\n @close=\"dialog = false\"\r\n ></layer-metadata>\r\n <layer-item-filter\r\n v-if=\"filterDialog\"\r\n :open=\"filterDialog\"\r\n :layer=\"sublayer\"\r\n @filter-active-changed=\"setFilterActive\"\r\n @close=\"filterDialog = false\"\r\n ></layer-item-filter>\r\n </div>\r\n </div>\r\n </v-fade-transition>\r\n</template>\r\n\r\n<script>\r\nimport LayerMetadata from \"@/pages/MapPage/Tools/Layers/LayerMetadata\";\r\nimport LayerItemFilter from \"@/pages/MapPage/Tools/Layers/LayerItemFilter.vue\";\r\nimport { mapState, mapGetters, mapActions } from \"vuex\";\r\nexport default {\r\n name: \"LayerListItemTocSublayer\",\r\n data: function() {\r\n return {\r\n visible: false,\r\n dialog: false,\r\n open: false,\r\n filterDialog: false,\r\n items: [\r\n { title: \"Vis metadata\", value: \"metadata\" },\r\n { title: \"Vis tabell\", value: \"tabell\" },\r\n { title: \"Sett filter\", value: \"filtrer\" }\r\n ],\r\n filterActive: false\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"getSublayerVisibility\"]),\r\n ...mapState([\"currentMapScale\"]),\r\n sublayerVisibility() {\r\n return this.getSublayerVisibility(this.id, this.sublayer.id);\r\n },\r\n sublayerIsVisibleAtCurrentScale() {\r\n // wms layers does not provide min and max scale - therefore it must always be visible\r\n if (this.sublayer.parent.type === \"wms\") {\r\n return true;\r\n }\r\n if (this.sublayer.maxScale === 0 && this.sublayer.minScale === 0) {\r\n return true;\r\n } else {\r\n return (\r\n (this.sublayer.maxScale <= this.currentMapScale ||\r\n this.sublayer.maxScale === 0) &&\r\n (this.sublayer.minScale >= this.currentMapScale ||\r\n this.sublayer.minScale === 0)\r\n );\r\n }\r\n }\r\n },\r\n props: {\r\n id: String,\r\n sublayer: Object,\r\n parentIsVisible: Boolean,\r\n addMargin: {\r\n default: false,\r\n type: Boolean\r\n }\r\n },\r\n components: {\r\n LayerMetadata,\r\n LayerItemFilter\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"addBottomSheet\",\r\n \"setShowTabs\",\r\n \"setShowSideMenu\",\r\n \"setProfileVisibility\"\r\n ]),\r\n showMetadata: function() {\r\n this.dialog = true;\r\n },\r\n setFilterActive: function(filterActive) {\r\n this.filterActive = filterActive;\r\n },\r\n menuItemSelected: function(item) {\r\n if (item.value == \"metadata\") {\r\n this.dialog = true;\r\n }\r\n if (item.value == \"filtrer\") {\r\n this.showFilterDialog();\r\n }\r\n if (item.value == \"tabell\") {\r\n this.addBottomSheet({\r\n type: \"featureTable\",\r\n title: this.sublayer.title,\r\n url: this.sublayer.layer.url,\r\n id: this.sublayer.id,\r\n parentLayerID: this.sublayer.layer.id\r\n });\r\n this.setShowTabs(true);\r\n }\r\n },\r\n showTable: function() {\r\n if (this.$vuetify.breakpoint.smAndDown) {\r\n this.setShowSideMenu(false);\r\n }\r\n this.addBottomSheet({\r\n type: \"featureTable\",\r\n title: this.sublayer.title,\r\n url: this.sublayer.layer.url,\r\n id: this.sublayer.id,\r\n parentLayerID: this.sublayer.layer.id\r\n });\r\n this.setShowTabs(true);\r\n },\r\n showFilterDialog: function() {\r\n this.filterDialog = true;\r\n },\r\n toggleSublayerVisibility: function(sublayer) {\r\n sublayer.visible = !sublayer.visible;\r\n if (sublayer.visible) {\r\n this.$emit(\"visible\");\r\n this.setProfileVisibility({\r\n profile: { id: sublayer.layer.id },\r\n visible: true\r\n });\r\n }\r\n },\r\n loadSublayer: function() {\r\n this.visible = this.sublayer.visible;\r\n this.open = this.visible;\r\n\r\n this.sublayer.watch(\"visible\", newValue => {\r\n this.visible = newValue;\r\n });\r\n\r\n this.sublayer.watch(\"definitionExpression\", newValue => {\r\n this.filterActive = newValue !== null && newValue !== \"\";\r\n });\r\n }\r\n },\r\n watch: {\r\n sublayer: function() {\r\n this.loadSublayer();\r\n },\r\n visible: function(newVal) {\r\n this.open = newVal;\r\n }\r\n },\r\n mounted() {\r\n this.loadSublayer();\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.v-list {\r\n padding: 0px !important;\r\n}\r\n\r\n.toc-sublayer-item {\r\n width: 100%;\r\n .v-list__group__header__append-icon {\r\n display: none !important;\r\n }\r\n\r\n .v-list__tile {\r\n min-height: 35px;\r\n height: 35px;\r\n }\r\n\r\n .v-list__tile__content {\r\n min-height: 35px;\r\n max-height: 35px;\r\n }\r\n\r\n .sub-tile .v-list__tile {\r\n padding-right: 8px;\r\n padding-left: 8px;\r\n height: auto;\r\n }\r\n\r\n .v-list__tile__avatar {\r\n min-width: 20px;\r\n }\r\n}\r\n\r\n.tile:hover {\r\n background: rgba(0, 0, 0, 0.04);\r\n}\r\n\r\n.v-list__tile {\r\n overflow: hidden;\r\n min-height: 48px;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocSublayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocSublayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItemTocSublayer.vue?vue&type=template&id=f2cccdee\"\nimport script from \"./LayerListItemTocSublayer.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItemTocSublayer.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerListItemTocSublayer.vue?vue&type=style&index=0&id=f2cccdee&prod&lang=scss\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-menu',{attrs:{\"offset-y\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"small\":\"\",\"ripple\":\"\",\"aria-label\":\"Flere valg\"}},on),[_c('v-icon',{staticStyle:{\"font-size\":\"20px\"},attrs:{\"color\":_vm.color}},[_vm._v(\"mdi-dots-vertical\")])],1)]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-card',{attrs:{\"max-width\":\"250\"}},[_c('v-list',[_c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"avatar\":\"\"}},[_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(_vm._s(_vm.item.appTitle))])],1),(_vm.item.type !== 'graphicsLayer')?_c('v-list-tile-action',[_c('layer-favourite-toggler',{attrs:{\"layerId\":_vm.item.id}})],1):_vm._e()],1)],1),_c('v-list',[_c('v-divider'),_c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],staticClass:\"pl-3\"},[_c('v-list-tile-title',[_vm._v(\"Vis tema i kart\")]),_c('v-list-tile-action',[_c('v-switch',{attrs:{\"label\":\"Vis/skjul tema\",\"input-value\":_vm.item.visible,\"color\":\"blue\"},on:{\"change\":_vm.toggleTheme}})],1)],1),_c('v-divider'),_c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],staticStyle:{\"height\":\"100px\"}},[_c('v-list-tile-action',[_c('v-slider',{staticClass:\"pt-5 mt-5 pl-2 pr-4\",attrs:{\"color\":\"blue\",\"aria-label\":\"Velg synlighet for temaet\",\"persistent-hint\":\"\",\"thumb-label\":\"always\",\"step\":\"10\",\"hint\":\"Velg synlighet for temaet i prosent\",\"max\":\"100\",\"ticks\":\"\"},on:{\"change\":function($event){return _vm.setOpacity(_vm.item.id, _vm.opacity)}},scopedSlots:_vm._u([{key:\"thumb-label\",fn:function(props){return [_c('span',[_vm._v(\"\\n \"+_vm._s(props.value + \"%\")+\"\\n \")])]}}]),model:{value:(_vm.opacity),callback:function ($$v) {_vm.opacity=$$v},expression:\"opacity\"}})],1)],1),_c('v-divider')],1),_c('v-list',{staticClass:\"pt-0\"},[_c('v-list-tile',{attrs:{\"disabled\":this.selectedTheme === _vm.item.id || !_vm.profileHasDescription},on:{\"click\":function($event){return _vm.openInfo($event, _vm.item)}}},[_c('v-list-tile-title',[_vm._v(\"Vis beskrivelse\")])],1),(_vm.item.type == 'graphicsLayer')?_c('v-list-tile',{on:{\"click\":function($event){return _vm.duplicateGraphicsLayerAndAddToMap(_vm.item)}}},[_c('v-list-tile-title',[_vm._v(\"Dupliser tegnelag\")])],1):_vm._e(),(_vm.item.type == 'graphicsLayer')?_c('v-list-tile',{on:{\"click\":function($event){return _vm.downloadAsShape(_vm.item)}}},[_c('v-list-tile-title',[_vm._v(\"Eksporter til shapefil\")])],1):_vm._e(),(_vm.item.type == 'graphicsLayer')?_c('v-list-tile',{attrs:{\"disabled\":_vm.copiedGeometry == null},on:{\"click\":_vm.pasteGeometry}},[_c('v-list-tile-title',[_vm._v(\"Lim inn geometri\")])],1):_vm._e(),(_vm.item.type == 'graphicsLayer')?_c('v-list-tile',{on:{\"click\":_vm.editDrawingLayer}},[_c('v-list-tile-title',[_vm._v(\"Rediger tegnelag\")])],1):_vm._e(),(_vm.item.type == 'graphicsLayer')?_c('v-list-tile',{on:{\"click\":_vm.activateChangeLayerNameDialog}},[_c('v-list-tile-title',[_vm._v(\"Endre navn/besk.\")])],1):_vm._e(),_c('v-divider'),_c('v-list-tile',{on:{\"click\":_vm.removeTheme}},[_c('v-list-tile-title',[_vm._v(\"Fjern kartlaget\")])],1),_c('v-divider'),_c('v-divider'),_c('v-list-tile',{attrs:{\"href\":_vm.item.serviceUrl},on:{\"click\":function($event){return _vm.hideMenu()}}},[_c('v-list-tile-title',[_vm._v(\"Ã…pne karttjeneste\")])],1)],1),_c('v-divider'),_c('v-card-actions',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"color\":\"grey\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"flat\":\"\"},on:{\"click\":function($event){_vm.menu = false}}},[_vm._v(\"Lukk\")])],1)],1)],1),_c('map-drawing-change-layer-name-dialog',{attrs:{\"active\":_vm.changeLayerNameDialogActive,\"current-name\":_vm.item.appTitle,\"current-description\":_vm.item.Temaforklaring,\"layer\":_vm.item},on:{\"close-dialog\":_vm.deactivateChangeLayerNameDialog}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-menu v-model=\"menu\" offset-y left>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn icon small ripple v-on=\"on\" aria-label=\"Flere valg\">\r\n <v-icon style=\"font-size: 20px;\" :color=\"color\"\r\n >mdi-dots-vertical</v-icon\r\n >\r\n </v-btn>\r\n </template>\r\n\r\n <v-card max-width=\"250\">\r\n <v-list>\r\n <v-list-tile avatar v-show=\"false\">\r\n <v-list-tile-content>\r\n <v-list-tile-title>{{ item.appTitle }}</v-list-tile-title>\r\n </v-list-tile-content>\r\n\r\n <v-list-tile-action v-if=\"item.type !== 'graphicsLayer'\">\r\n <layer-favourite-toggler :layerId=\"item.id\" />\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n </v-list>\r\n\r\n <v-list>\r\n <v-divider></v-divider>\r\n <v-list-tile class=\"pl-3\" v-show=\"false\">\r\n <v-list-tile-title>Vis tema i kart</v-list-tile-title>\r\n <v-list-tile-action>\r\n <v-switch\r\n @change=\"toggleTheme\" label=\"Vis/skjul tema\"\r\n :input-value=\"item.visible\"\r\n color=\"blue\"\r\n ></v-switch>\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n <v-divider></v-divider>\r\n <v-list-tile v-show=\"false\" style=\"height: 100px;\">\r\n <v-list-tile-action>\r\n <v-slider\r\n class=\"pt-5 mt-5 pl-2 pr-4\"\r\n @change=\"setOpacity(item.id, opacity)\"\r\n v-model=\"opacity\"\r\n color=\"blue\"\r\n aria-label=\"Velg synlighet for temaet\"\r\n persistent-hint\r\n thumb-label=\"always\"\r\n step=\"10\"\r\n hint=\"Velg synlighet for temaet i prosent\"\r\n max=\"100\"\r\n ticks\r\n >\r\n <template v-slot:thumb-label=\"props\">\r\n <span>\r\n {{ props.value + \"%\" }}\r\n </span>\r\n </template>\r\n </v-slider>\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n <v-divider></v-divider>\r\n </v-list>\r\n\r\n <v-list class=\"pt-0\">\r\n <v-list-tile\r\n :disabled=\"this.selectedTheme === item.id || !profileHasDescription\"\r\n @click=\"openInfo($event, item)\"\r\n >\r\n <v-list-tile-title>Vis beskrivelse</v-list-tile-title>\r\n </v-list-tile>\r\n\r\n <v-list-tile\r\n @click=\"duplicateGraphicsLayerAndAddToMap(item)\"\r\n v-if=\"item.type == 'graphicsLayer'\"\r\n >\r\n <v-list-tile-title>Dupliser tegnelag</v-list-tile-title>\r\n </v-list-tile>\r\n\r\n <v-list-tile\r\n @click=\"downloadAsShape(item)\"\r\n v-if=\"item.type == 'graphicsLayer'\"\r\n >\r\n <v-list-tile-title>Eksporter til shapefil</v-list-tile-title>\r\n </v-list-tile>\r\n <v-list-tile\r\n @click=\"pasteGeometry\"\r\n v-if=\"item.type == 'graphicsLayer'\"\r\n :disabled=\"copiedGeometry == null\"\r\n >\r\n <v-list-tile-title>Lim inn geometri</v-list-tile-title>\r\n </v-list-tile>\r\n <v-list-tile\r\n @click=\"editDrawingLayer\"\r\n v-if=\"item.type == 'graphicsLayer'\"\r\n >\r\n <v-list-tile-title>Rediger tegnelag</v-list-tile-title>\r\n </v-list-tile>\r\n <v-list-tile\r\n @click=\"activateChangeLayerNameDialog\"\r\n v-if=\"item.type == 'graphicsLayer'\"\r\n >\r\n <v-list-tile-title>Endre navn/besk.</v-list-tile-title>\r\n </v-list-tile>\r\n <v-divider></v-divider>\r\n <v-list-tile @click=\"removeTheme\">\r\n <v-list-tile-title>Fjern kartlaget</v-list-tile-title>\r\n </v-list-tile>\r\n <v-divider></v-divider>\r\n\r\n <v-divider></v-divider>\r\n <v-list-tile\r\n @click=\"hideMenu()\"\r\n :href=\"item.serviceUrl\"\r\n >\r\n <v-list-tile-title>Ã…pne karttjeneste</v-list-tile-title>\r\n </v-list-tile>\r\n </v-list>\r\n <v-divider></v-divider>\r\n\r\n <v-card-actions v-show=\"false\" color=\"grey\">\r\n <v-spacer></v-spacer>\r\n <v-btn color=\"primary\" flat @click=\"menu = false\">Lukk</v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-menu>\r\n\r\n <map-drawing-change-layer-name-dialog\r\n :active=\"changeLayerNameDialogActive\"\r\n :current-name=\"item.appTitle\"\r\n :current-description=\"item.Temaforklaring\"\r\n @close-dialog=\"deactivateChangeLayerNameDialog\"\r\n :layer=\"item\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerFavouriteToggler from \"@/components/LayerFavouriteToggler\";\r\nimport MapDrawingChangeLayerNameDialog from \"@/pages/MapPage/Tools/Drawing/MapDrawingChangeLayerNameDialog\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport ExtractMixin from \"@/mixins/extractMixin\";\r\nexport default {\r\n name: \"LayerListItemMenu\",\r\n components: { LayerFavouriteToggler, MapDrawingChangeLayerNameDialog },\r\n mixins: [MappingMixin, ExtractMixin],\r\n computed: {\r\n ...mapState([\"selectedTheme\", \"copiedGeometry\"]),\r\n ...mapState([\"theMap\"]),\r\n mapProfiles: {\r\n get() {\r\n return this.$store.state.mapProfiles;\r\n },\r\n set(value) {\r\n this.updateMapProfiles(value);\r\n }\r\n },\r\n index() {\r\n return this.$store.state.mapProfiles.findIndex(profile => {\r\n return profile.id == this.item.id;\r\n });\r\n },\r\n profileHasDescription() {\r\n return this.item.Temaforklaring;\r\n }\r\n },\r\n watch: {\r\n menu: function(newVal) {\r\n if (newVal == true) {\r\n this.$emit(\"menu-open\");\r\n } else {\r\n this.$emit(\"menu-close\");\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"setSelectedMapProfile\",\r\n \"activateTool\",\r\n \"updateMapProfiles\",\r\n \"setSelectedTheme\",\r\n \"setShowInfoMenu\"\r\n ]),\r\n downloadAsShape(item) {\r\n let graphicsLayer = this.$theMapObject.findLayerById(item.id);\r\n\r\n this.downloadGraphicsAsShapeFile(graphicsLayer.graphics.items);\r\n },\r\n openInfo(evt, item) {\r\n if (this.selectedTheme && this.selectedTheme === item.id) {\r\n this.setSelectedTheme(null);\r\n this.setShowInfoMenu(false);\r\n } else {\r\n this.setSelectedTheme(item.id);\r\n this.setShowInfoMenu(true);\r\n }\r\n },\r\n pasteGeometry() {\r\n this.pasteGeometryIntoGraphicsLayer({\r\n geometry: this.copiedGeometry,\r\n layerID: this.item.id\r\n });\r\n },\r\n toggleTheme() {\r\n this.setMapLayerVisibility({\r\n profile: this.item,\r\n visible: !this.item.visible\r\n });\r\n },\r\n placeOnTop() {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(\r\n profile => profile.id === this.item.id\r\n );\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n mapProfilesCopy.push(profileBeingMoved);\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(this.item.id, this.mapProfiles.length + 1);\r\n this.hideMenu();\r\n },\r\n placeOnBottom() {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(\r\n profile => profile.id === this.item.id\r\n );\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n\r\n mapProfilesCopy.unshift(profileBeingMoved);\r\n\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(this.item.id, 0);\r\n this.hideMenu();\r\n },\r\n removeTheme() {\r\n this.removeMapProfile(this.item.id);\r\n this.hideMenu();\r\n },\r\n reorder(id, newIndex) {\r\n let exisitingLayer = this.$theMapObject.findLayerById(id);\r\n newIndex = newIndex + 2;\r\n this.$theMapObject.reorder(exisitingLayer, newIndex);\r\n },\r\n editDrawingLayer() {\r\n this.setSelectedMapProfile(this.item);\r\n this.activateTool(\"drawing\");\r\n this.hideMenu();\r\n },\r\n hideMenu() {\r\n this.menu = false;\r\n },\r\n setOpacity(layerId, opacity) {\r\n this.setMapLayerOpacity({ id: layerId, opacity: opacity / 100 });\r\n },\r\n deactivateChangeLayerNameDialog() {\r\n this.changeLayerNameDialogActive = false;\r\n },\r\n activateChangeLayerNameDialog() {\r\n this.changeLayerNameDialogActive = true;\r\n }\r\n },\r\n mounted() {\r\n let layer = this.theMap.findLayerById(this.item.id);\r\n if (typeof layer !== \"undefined\") {\r\n this.opacity = layer.opacity;\r\n }\r\n },\r\n props: {\r\n item: Object,\r\n color: String\r\n },\r\n data() {\r\n return {\r\n changeLayerNameDialogActive: false,\r\n menu: false,\r\n opacity: 100\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItemMenu.vue?vue&type=template&id=caf8feca\"\nimport script from \"./LayerListItemMenu.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItemMenu.vue?vue&type=script&lang=js\"\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","<template>\r\n <div v-if=\"allLayersLoaded && $theMapObject.layers && profile\">\r\n <v-list expand>\r\n <v-list-tile v-if=\"showSubheaders\">\r\n <v-list-tile-content v-if=\"layers[0]\">\r\n <v-list-tile-title style=\"width: auto\">\r\n {{ layers[0].title }}\r\n </v-list-tile-title>\r\n </v-list-tile-content>\r\n\r\n <v-list-tile-action>\r\n <v-btn\r\n fab\r\n small\r\n flat\r\n @click.stop=\"toggleTheme\"\r\n label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n aria-label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n >\r\n <v-icon\r\n :color=\"profile.visible ? 'blue' : 'grey'\"\r\n style=\"font-size: 20px;\"\r\n >{{ profile.visible ? \"mdi-eye\" : \"mdi-eye-off\" }}</v-icon\r\n >\r\n </v-btn>\r\n </v-list-tile-action>\r\n\r\n <v-list-tile-action style=\"min-width: 35px\">\r\n <layer-list-item-menu :item=\"profile\" color=\"grey lighten-1\" />\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n <draggable\r\n :list=\"sublayers\"\r\n :disabled=\"$vuetify.breakpoint.smAndDown\"\r\n @change=\"reorder\"\r\n >\r\n <div\r\n v-for=\"(sublayer, index) in sublayers.slice().reverse()\"\r\n :key=\"index\"\r\n >\r\n <layer-list-item-toc-sublayer\r\n :sublayer=\"sublayer\"\r\n :parent-is-visible=\"profile.visible\"\r\n :id=\"layer\"\r\n :visibility=\"sublayer.visible\"\r\n :key=\"index + 'sublayer'\"\r\n @visible=\"onSublayerVisible\"\r\n ></layer-list-item-toc-sublayer>\r\n </div>\r\n </draggable>\r\n </v-list>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerListItemTocSublayer from \"@/pages/MapPage/Tools/Layers/LayerListItemTocSublayer\";\r\nimport draggable from \"vuedraggable\";\r\nimport LayerListItemMenu from \"@/pages/MapPage/Tools/Layers/LayerListItemMenu\";\r\nimport Vue from \"vue\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport { mapActions } from \"vuex\";\r\n\r\nexport default {\r\n name: \"LayerListItemToc\",\r\n data: function() {\r\n return {\r\n allLayersLoaded: false,\r\n layers: [],\r\n sublayers: [],\r\n profile: null,\r\n layerListViewModel: null\r\n };\r\n },\r\n mixins: [MappingMixin],\r\n components: {\r\n LayerListItemTocSublayer,\r\n draggable,\r\n LayerListItemMenu\r\n },\r\n props: {\r\n layer: String,\r\n padding: Number,\r\n showSubheaders: Boolean\r\n },\r\n methods: {\r\n ...mapActions([\"toggleProfileOpen\"]),\r\n onSublayerVisible() {\r\n this.setMapLayerVisibility({\r\n profile: this.profile,\r\n visible: true\r\n });\r\n },\r\n toggleTheme() {\r\n this.setMapLayerVisibility({\r\n profile: this.profile,\r\n visible: !this.profile.visible\r\n });\r\n },\r\n toggleCollapse: function(evt) {\r\n Vue.set(evt, \"collapsed\", !evt.collapsed);\r\n },\r\n toggleSublayerVisibility: function(sublayer) {\r\n sublayer.visible = !sublayer.visible;\r\n },\r\n reorder(evt) {\r\n this.layers[0].sublayers.reorder(evt.moved.element, evt.moved.newIndex);\r\n },\r\n loadLayer() {\r\n this.allLayersLoaded = false;\r\n\r\n this.layers = [];\r\n this.profile = this.$store.getters[\"getAddedMapProfile\"](this.layer);\r\n this.layers.push(this.$theMapObject.findLayerById(this.layer));\r\n\r\n let layer = this.$theMapObject.findLayerById(this.layer);\r\n if (layer && layer.hasOwnProperty(\"sublayers\")) {\r\n this.sublayers = this.$theMapObject.findLayerById(\r\n this.layer\r\n ).sublayers.items;\r\n } else {\r\n this.sublayers = [];\r\n }\r\n\r\n this.allLayersLoaded = true;\r\n }\r\n },\r\n watch: {\r\n layer: function() {\r\n this.loadLayer();\r\n }\r\n },\r\n mounted() {\r\n this.loadLayer();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.toc {\r\n height: 100vh;\r\n width: 300px;\r\n padding: 10px;\r\n left: 0px;\r\n background: white;\r\n position: absolute;\r\n z-index: 10;\r\n top: 0px;\r\n height: 95%;\r\n overflow-y: scroll;\r\n overflow-x: none;\r\n}\r\n\r\nhr {\r\n display: block;\r\n height: 1px;\r\n border: 0;\r\n border-top: 1px solid #ccc;\r\n margin: 0.6em 0;\r\n padding: 0;\r\n}\r\n\r\n.image-container {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 7px;\r\n font-size: 14px;\r\n}\r\n\r\n.checkbox {\r\n margin-right: 5px;\r\n}\r\n\r\n.image {\r\n margin-left: 30px;\r\n margin-right: 6px;\r\n}\r\n\r\n.checkbox-container {\r\n display: block;\r\n position: relative;\r\n padding-left: 28px;\r\n margin-bottom: 12px;\r\n cursor: pointer;\r\n font-size: 22px;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n}\r\n\r\n/* Hide the browser's default checkbox */\r\n\r\n.checkbox-container input {\r\n position: absolute;\r\n opacity: 0;\r\n cursor: pointer;\r\n height: 0;\r\n width: 0;\r\n}\r\n\r\n/* Create a custom checkbox */\r\n\r\n.checkmark {\r\n position: absolute;\r\n top: 5px;\r\n left: 0;\r\n height: 20px;\r\n width: 20px;\r\n background-color: #ccc;\r\n}\r\n\r\n/* On mouse-over, add a grey background color */\r\n\r\n.checkbox-container:hover input ~ .checkmark {\r\n background-color: gray;\r\n}\r\n\r\n/* When the checkbox is checked, add a blue background */\r\n\r\n.checkbox-container input:checked ~ .checkmark {\r\n background-color: #2196f3;\r\n}\r\n\r\n/* Create the checkmark/indicator (hidden when not checked) */\r\n\r\n.checkmark:after {\r\n content: \"\";\r\n position: absolute;\r\n display: none;\r\n}\r\n\r\n/* Show the checkmark when checked */\r\n\r\n.checkbox-container input:checked ~ .checkmark:after {\r\n display: block;\r\n}\r\n\r\n/* Style the checkmark/indicator */\r\n\r\n.checkbox-container .checkmark:after {\r\n left: 7px;\r\n top: 5px;\r\n width: 3px;\r\n height: 7px;\r\n border: solid white;\r\n border-width: 0 2px 2px 0;\r\n -webkit-transform: rotate(45deg);\r\n -ms-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n}\r\n\r\n.v-list__group__header__append-icon {\r\n display: none !important;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemToc.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemToc.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItemToc.vue?vue&type=template&id=438589bd&scoped=true\"\nimport script from \"./LayerListItemToc.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItemToc.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerListItemToc.vue?vue&type=style&index=0&id=438589bd&prod&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 \"438589bd\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.allLayersLoaded && _vm.$theMapObject.layers)?_c('div',[_c('v-list',{attrs:{\"expand\":\"\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.graphics.length == 0),expression:\"graphics.length == 0\"}],staticClass:\"mt-4\"},[_c('span',{staticClass:\"caption pa-4\"},[_vm._v(\"Tegnelaget er tomt\")]),_c('v-divider',{staticClass:\"mt-4\"})],1),_vm._l((_vm.graphics),function(graphic,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.graphics.length > 0),expression:\"graphics.length > 0\"}],key:index,style:({ paddingLeft: _vm.padding + 'px' })},[_c('v-divider',{key:`divider-${index}`}),_c('layer-list-item-toc-graphicslayer-graphic',{key:index + 'graphic',attrs:{\"graphic\":graphic,\"id\":_vm.layer}})],1)})],2)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-list-tile',{attrs:{\"avatar\":\"\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"20\"}},[(_vm.graphic.geometry.type == 'point')?_c('v-icon',[_vm._v(\"esri-icon-map-pin\")]):_vm._e(),(_vm.graphic.geometry.type == 'polyline')?_c('v-icon',[_vm._v(\"esri-icon-polyline\")]):_vm._e(),(_vm.graphic.geometry.type == 'polygon')?_c('v-icon',[_vm._v(\"esri-icon-polygon\")]):_vm._e()],1),_c('v-list-tile-content',[_c('v-list-tile-title',{staticStyle:{\"font-size\":\"12px !important\",\"margin-left\":\"10px\"},domProps:{\"textContent\":_vm._s(\n _vm.graphic.attributes.name ? _vm.graphic.attributes.name : 'Uten navn'\n )}})],1),_c('v-list-tile-action',[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"flat\":\"\"},on:{\"click\":_vm.zoomToGraphic}},[_c('v-icon',{staticStyle:{\"font-size\":\"15px\"},attrs:{\"color\":\"blue\"}},[_vm._v(\"esri-icon-zoom-in-magnifying-glass\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-list-tile avatar>\r\n <v-list-tile-avatar size=\"20\">\r\n <v-icon v-if=\"graphic.geometry.type == 'point'\"\r\n >esri-icon-map-pin</v-icon\r\n >\r\n <v-icon v-if=\"graphic.geometry.type == 'polyline'\"\r\n >esri-icon-polyline</v-icon\r\n >\r\n <v-icon v-if=\"graphic.geometry.type == 'polygon'\"\r\n >esri-icon-polygon</v-icon\r\n >\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title\r\n style=\"font-size: 12px !important; margin-left: 10px;\"\r\n v-text=\"\r\n graphic.attributes.name ? graphic.attributes.name : 'Uten navn'\r\n \"\r\n ></v-list-tile-title>\r\n </v-list-tile-content>\r\n\r\n <v-list-tile-action>\r\n <v-btn icon small flat @click=\"zoomToGraphic\">\r\n <v-icon color=\"blue\" style=\"font-size: 15px;\"\r\n >esri-icon-zoom-in-magnifying-glass</v-icon\r\n >\r\n </v-btn>\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapActions, mapGetters } from \"vuex\";\r\nexport default {\r\n name: \"LayerListItemTocGraphicslayerGraphic\",\r\n data: function() {\r\n return {};\r\n },\r\n computed: {\r\n ...mapGetters([\"getSublayerVisibility\"]),\r\n sublayerVisibility() {\r\n return this.getSublayerVisibility(this.id, this.sublayer.id);\r\n }\r\n },\r\n props: {\r\n id: String,\r\n graphic: Object\r\n },\r\n methods: {\r\n ...mapActions([\"setSelectedExtent\"]),\r\n zoomToGraphic: function() {\r\n this.setSelectedExtent(null);\r\n this.setSelectedExtent(this.graphic.geometry);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocGraphicslayerGraphic.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocGraphicslayerGraphic.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItemTocGraphicslayerGraphic.vue?vue&type=template&id=257fba62&scoped=true\"\nimport script from \"./LayerListItemTocGraphicslayerGraphic.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItemTocGraphicslayerGraphic.vue?vue&type=script&lang=js\"\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 \"257fba62\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div v-if=\"allLayersLoaded && $theMapObject.layers\">\r\n <v-list expand>\r\n <div v-show=\"graphics.length == 0\" class=\"mt-4\">\r\n <span class=\"caption pa-4\">Tegnelaget er tomt</span>\r\n <v-divider class=\"mt-4\" />\r\n </div>\r\n <div\r\n v-show=\"graphics.length > 0\"\r\n v-for=\"(graphic, index) in graphics\"\r\n :key=\"index\"\r\n :style=\"{ paddingLeft: padding + 'px' }\"\r\n >\r\n <v-divider :key=\"`divider-${index}`\"></v-divider>\r\n\r\n <layer-list-item-toc-graphicslayer-graphic\r\n :graphic=\"graphic\"\r\n :id=\"layer\"\r\n :key=\"index + 'graphic'\"\r\n ></layer-list-item-toc-graphicslayer-graphic>\r\n </div>\r\n </v-list>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { loadModules } from \"esri-loader\";\r\nimport LayerListItemTocGraphicslayerGraphic from \"@/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayerGraphic\";\r\n\r\nexport default {\r\n name: \"LayerListItemTocGraphicslayer\",\r\n data: function() {\r\n return {\r\n allLayersLoaded: false,\r\n layers: [],\r\n sublayers: [],\r\n graphics: []\r\n };\r\n },\r\n components: {\r\n LayerListItemTocGraphicslayerGraphic\r\n },\r\n props: {\r\n layer: String,\r\n padding: Number\r\n },\r\n methods: {\r\n updateLayer(layerId) {\r\n if (this.layer === layerId) {\r\n this.allLayersLoaded = false;\r\n this.loadLayer();\r\n }\r\n },\r\n loadLayer() {\r\n loadModules([\"esri/Map\"]).then(\r\n // Uten loadmodules fungerer ikke oppdatering av grafikknavn i kartlagsliste - uvisst hvorfor\r\n // eslint-disable-next-line no-unused-vars\r\n function([Map]) {\r\n this.allLayersLoaded = false;\r\n\r\n this.layers = [];\r\n\r\n this.layers.push(this.$theMapObject.findLayerById(this.layer));\r\n let layer = this.$theMapObject.findLayerById(this.layer);\r\n\r\n if (layer && layer.hasOwnProperty(\"sublayers\")) {\r\n this.sublayers = this.$theMapObject.findLayerById(\r\n this.layer\r\n ).sublayers.items;\r\n } else {\r\n this.sublayers = [];\r\n\r\n this.graphics = layer.graphics.items;\r\n }\r\n this.allLayersLoaded = true;\r\n }.bind(this)\r\n );\r\n }\r\n },\r\n watch: {\r\n layer: function() {\r\n this.loadLayer();\r\n }\r\n },\r\n created() {},\r\n mounted() {\r\n this.loadLayer();\r\n this.$eventHub.$on(\"graphicslayer-updated\", this.updateLayer);\r\n },\r\n beforeDestroy() {\r\n this.$eventHub.$off(\"graphicslayer-updated\");\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocGraphicslayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocGraphicslayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItemTocGraphicslayer.vue?vue&type=template&id=6b5c6cc4&scoped=true\"\nimport script from \"./LayerListItemTocGraphicslayer.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItemTocGraphicslayer.vue?vue&type=script&lang=js\"\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 \"6b5c6cc4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"\\n Geometrisk operasjon\\n \")]),_c('v-card-text',[_c('p',{staticClass:\"caption\"},[_vm._v(\"\\n Dette verktøyet lar deg utføre en rekke ulike geometriske\\n operasjoner pÃ¥ tegnelaget ditt. Velg en operasjon i menyen under,\\n fyll ut de pÃ¥krevde feltene og klikk kjør. Resultatet fra\\n operasjonen vil dukke opp i kartlagslisten som et eget tegnelag.\\n \")]),_c('v-select',{attrs:{\"box\":\"\",\"label\":\"Velg operasjon\",\"return-object\":true,\"items\":_vm.geometryOperationsLocal,\"item-text\":\"name\"},model:{value:(_vm.selectedGeometryOperation),callback:function ($$v) {_vm.selectedGeometryOperation=$$v},expression:\"selectedGeometryOperation\"}}),(_vm.selectedGeometryOperation)?_c('div',_vm._l((_vm.selectedGeometryOperation.parameters),function(parameter){return _c('v-layout',{key:parameter.name,attrs:{\"column\":\"\"}},[(parameter.type == 'geometry')?_c('v-layout',{attrs:{\"column\":\"\"}},[(_vm.selectedGraphicsLayer)?_c('v-select',{attrs:{\"box\":\"\",\"label\":parameter.description,\"multiple\":parameter.multiple,\"item-value\":\"uid\",\"return-object\":true,\"items\":_vm.selectedGraphicsLayer.graphics,\"item-text\":\"attributes.name\"},model:{value:(parameter.value),callback:function ($$v) {_vm.$set(parameter, \"value\", $$v)},expression:\"parameter.value\"}}):_vm._e()],1):_vm._e(),(parameter.type == 'number')?_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-text-field',{attrs:{\"type\":\"number\",\"box\":\"\",\"label\":parameter.name,\"placeholder\":parameter.name},model:{value:(parameter.value),callback:function ($$v) {_vm.$set(parameter, \"value\", $$v)},expression:\"parameter.value\"}})],1):_vm._e(),(parameter.type == 'select')?_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-select',{attrs:{\"box\":\"\",\"label\":parameter.name,\"items\":parameter.items},model:{value:(parameter.value),callback:function ($$v) {_vm.$set(parameter, \"value\", $$v)},expression:\"parameter.value\"}})],1):_vm._e()],1)}),1):_vm._e()],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.emitDialogClosedEvent}},[_vm._v(\"\\n Avbryt\\n \")]),_c('v-btn',{attrs:{\"flat\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.runGeometryCalculation}},[_vm._v(\"\\n Kjør\\n \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-dialog v-model=\"active\" persistent width=\"500\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>\r\n Geometrisk operasjon\r\n </v-card-title>\r\n\r\n <v-card-text>\r\n <p class=\"caption\">\r\n Dette verktøyet lar deg utføre en rekke ulike geometriske\r\n operasjoner pÃ¥ tegnelaget ditt. Velg en operasjon i menyen under,\r\n fyll ut de pÃ¥krevde feltene og klikk kjør. Resultatet fra\r\n operasjonen vil dukke opp i kartlagslisten som et eget tegnelag.\r\n </p>\r\n <v-select\r\n box\r\n label=\"Velg operasjon\"\r\n :return-object=\"true\"\r\n :items=\"geometryOperationsLocal\"\r\n item-text=\"name\"\r\n v-model=\"selectedGeometryOperation\"\r\n ></v-select>\r\n <div v-if=\"selectedGeometryOperation\">\r\n <v-layout\r\n column\r\n v-for=\"parameter in selectedGeometryOperation.parameters\"\r\n :key=\"parameter.name\"\r\n >\r\n <v-layout column v-if=\"parameter.type == 'geometry'\">\r\n <v-select\r\n box\r\n v-if=\"selectedGraphicsLayer\"\r\n :label=\"parameter.description\"\r\n :multiple=\"parameter.multiple\"\r\n item-value=\"uid\"\r\n :return-object=\"true\"\r\n v-model=\"parameter.value\"\r\n :items=\"selectedGraphicsLayer.graphics\"\r\n item-text=\"attributes.name\"\r\n ></v-select>\r\n </v-layout>\r\n\r\n <v-layout column v-if=\"parameter.type == 'number'\">\r\n <v-text-field\r\n type=\"number\"\r\n box\r\n :label=\"parameter.name\"\r\n v-model=\"parameter.value\"\r\n :placeholder=\"parameter.name\"\r\n >\r\n </v-text-field>\r\n </v-layout>\r\n\r\n <v-layout column v-if=\"parameter.type == 'select'\">\r\n <v-select\r\n box\r\n :label=\"parameter.name\"\r\n v-model=\"parameter.value\"\r\n :items=\"parameter.items\"\r\n >\r\n </v-select>\r\n </v-layout>\r\n </v-layout>\r\n </div>\r\n </v-card-text>\r\n\r\n <v-divider></v-divider>\r\n\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn flat @click=\"emitDialogClosedEvent\">\r\n Avbryt\r\n </v-btn>\r\n <v-btn flat color=\"primary\" @click=\"runGeometryCalculation\">\r\n Kjør\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { loadModules } from \"esri-loader\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\n\r\nexport default {\r\n name: \"GeometryCalculatorDialog\",\r\n computed: {\r\n ...mapState([\"geometryOperations\", \"mapProfiles\"])\r\n },\r\n mixins: [MappingMixin],\r\n data: () => ({\r\n dialog: false,\r\n allAddedGraphicLayers: [],\r\n selectedGeometryOperation: null,\r\n geometryOperationsLocal: null\r\n }),\r\n props: {\r\n active: Boolean,\r\n selectedGraphicsLayer: Object\r\n },\r\n watch: {\r\n active: function() {\r\n this.allAddedGraphicLayers = this.mapProfiles.filter(profile => {\r\n return profile.type === \"graphicsLayer\";\r\n });\r\n\r\n this.allAddedGraphicLayers.forEach(layer => {\r\n let mapLayer = this.$theMapObject.findLayerById(layer.id);\r\n layer.graphics = mapLayer.graphics.items;\r\n });\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\"setSnack\", \"addGraphicsLayer\"]),\r\n emitDialogClosedEvent() {\r\n this.$emit(\"close-dialog\");\r\n },\r\n runGeometryCalculation() {\r\n loadModules([\r\n \"esri/geometry/geometryEngine\",\r\n \"esri/layers/GraphicsLayer\",\r\n \"esri/Graphic\"\r\n ]).then(([geometryEngine, GraphicsLayer, Graphic]) => {\r\n let geometryFunction =\r\n geometryEngine[this.selectedGeometryOperation.function];\r\n\r\n let args = [];\r\n\r\n for (\r\n let i = 0;\r\n i < this.selectedGeometryOperation.parameters.length;\r\n i++\r\n ) {\r\n let parameter = this.selectedGeometryOperation.parameters[i];\r\n let value;\r\n if (parameter.type === \"geometry\") {\r\n if (parameter.multiple) {\r\n value = [];\r\n parameter.value.forEach(graphic => {\r\n value.push(graphic.geometry);\r\n });\r\n } else {\r\n value = parameter.value.geometry;\r\n }\r\n } else if (parameter.type === \"number\") {\r\n value = [parseInt(parameter.value)];\r\n } else {\r\n value = parameter.value;\r\n }\r\n\r\n args.push(value);\r\n }\r\n\r\n let results = geometryFunction.apply(this, args);\r\n\r\n let layerId = this.selectedGraphicsLayer.id + new Date().getTime();\r\n let newGraphicsLayer = new GraphicsLayer({\r\n id: layerId\r\n });\r\n this.$theMapObject.add(newGraphicsLayer);\r\n this.addGraphicsLayer(layerId);\r\n this.addMapProfile({\r\n id: layerId,\r\n showInfoMenu: false,\r\n appTitle:\r\n \"Resultat \" + this.selectedGeometryOperation.name.toLowerCase(),\r\n Temaforklaring: \"\"\r\n });\r\n\r\n if (!(results instanceof Array)) {\r\n results = [results];\r\n }\r\n\r\n results.forEach((result, index) => {\r\n newGraphicsLayer.add(\r\n new Graphic({\r\n geometry: result,\r\n attributes: {\r\n id: index,\r\n name:\r\n this.selectedGeometryOperation.name.toLowerCase() +\r\n \" \" +\r\n index\r\n },\r\n symbol: this.getDefaultSymbolBasedOnGeometryType(result)\r\n })\r\n );\r\n });\r\n\r\n this.emitDialogClosedEvent();\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.geometryOperationsLocal = JSON.parse(\r\n JSON.stringify(this.geometryOperations)\r\n );\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeometryCalculatorDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeometryCalculatorDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GeometryCalculatorDialog.vue?vue&type=template&id=e2b6c24a&scoped=true\"\nimport script from \"./GeometryCalculatorDialog.vue?vue&type=script&lang=js\"\nexport * from \"./GeometryCalculatorDialog.vue?vue&type=script&lang=js\"\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 \"e2b6c24a\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div role=\"list\">\r\n <v-divider :class=\"{ 'no-top-margin': isOnTop }\"></v-divider>\r\n <v-hover>\r\n <v-list-tile\r\n class=\"toc-list-tile elevation-2 secondary\"\r\n slot-scope=\"{ hover }\"\r\n style=\"padding-top: 5px; padding-left: 0px; height: 60px;\"\r\n color=\"blue\"\r\n v-if=\"\r\n !item.hasOwnProperty('hideInLayers') || item.hideInLayers == false\r\n \"\r\n @click=\"toggleProfileOpen(item)\"\r\n >\r\n <v-btn\r\n icon\r\n style=\"margin-left: -6px;\"\r\n ripple\r\n label=\"Utvid kartlag\"\r\n aria-label=\"Utvid kartlag\"\r\n :disabled=\"item.type == 'sceneLayer' || item.type == 'featureLayer'\"\r\n @click.stop=\"toggleProfileOpen(item)\"\r\n >\r\n <v-icon size=\"22\" color=\"dark-grey\">{{\r\n item.type === \"imageryLayer\"\r\n ? \"mdi-satellite-variant\"\r\n : item.open\r\n ? \"mdi-folder-open-outline\"\r\n : \"mdi-folder-outline\"\r\n }}</v-icon>\r\n </v-btn>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-sub-title style=\"max-width: 200px; min-width: 10px\">{{\r\n item.appTitle ? item.appTitle : \"Uten navn\"\r\n }}</v-list-tile-sub-title>\r\n </v-list-tile-content>\r\n\r\n <v-spacer></v-spacer>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover && item.type !== 'imageryLayer'\"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n small\r\n aria-label=\"Vis informasjon om kartlaget\"\r\n flat\r\n :disabled=\"!profileHasDescription\"\r\n @click.stop=\"openInfo($event, item)\"\r\n >\r\n <v-icon size=\"20\">mdi-information-variant</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Vis info</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"\r\n hover && item.type !== 'imageryLayer' && item.canBeDownloaded\r\n \"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n aria-label=\"Last ned datasett\"\r\n :href=\"getProfileDownloadUrl(item.id)\"\r\n small\r\n flat\r\n >\r\n <v-icon size=\"20\">mdi-arrow-down</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Last ned data (Ã¥pner i ny fane)</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover && item.type === 'graphicsLayer'\"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n small\r\n flat\r\n aria-label=\"Rediger tegnelaget\"\r\n :disabled=\"tools.drawing.active\"\r\n @click.stop=\"editDrawingLayer\"\r\n >\r\n <v-icon size=\"20\">mdi-pencil-outline</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Rediger</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-show=\"hover && item.type === 'graphicsLayer'\"\r\n >\r\n <v-btn\r\n class=\"pa-0 ma-0\"\r\n icon\r\n small\r\n aria-label=\"Kjør geometrisk operasjon\"\r\n flat\r\n @click.stop=\"activateGeometryCalculatorDialog\"\r\n >\r\n <v-icon size=\"20\">mdi-function</v-icon>\r\n </v-btn>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Kjør geometrisk operasjon</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n style=\"min-width: 30px;\"\r\n class=\"pa-0 ma-0\"\r\n v-if=\"item.type === 'imageryLayer'\"\r\n >\r\n <v-list-tile-action-text\r\n ><v-menu\r\n ref=\"menu\"\r\n v-model=\"datePickerMenu\"\r\n :close-on-content-click=\"true\"\r\n lazy\r\n transition=\"scale-transition\"\r\n offset-y\r\n >\r\n <template v-slot:activator=\"{ on }\">\r\n <v-layout row class=\"secondary\" style=\"padding: 5px;\">\r\n <v-btn\r\n v-show=\"hover\"\r\n class=\"pa-0 ma-0\"\r\n small\r\n flat\r\n aria-label=\"GÃ¥ til forrige dag\"\r\n icon\r\n @click=\"subtractDate\"\r\n >\r\n <v-icon size=\"20\">mdi-chevron-left</v-icon>\r\n </v-btn>\r\n <v-btn class=\"pa-0 ma-0\" small flat v-on=\"on\">\r\n {{ profileDate | moment(\"DD.MM.YYYY\") }}\r\n </v-btn>\r\n <v-btn\r\n v-show=\"hover\"\r\n class=\"pa-0 ma-0\"\r\n small\r\n aria-label=\"GÃ¥ til neste dag\"\r\n flat\r\n icon\r\n @click=\"addDate\"\r\n >\r\n <v-icon size=\"20\">mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-layout>\r\n </template>\r\n <v-date-picker\r\n locale=\"nb\"\r\n :max=\"item.maxDate\"\r\n :show-current=\"true\"\r\n v-model=\"profileDate\"\r\n color=\"grey\"\r\n reactive\r\n ></v-date-picker> </v-menu\r\n ></v-list-tile-action-text>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Velg dato</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action\r\n v-on=\"on\"\r\n @click.stop\r\n style=\"min-width: 30px\"\r\n v-show=\"hover || menu\"\r\n >\r\n <layer-list-item-menu\r\n @menu-open=\"menu = true\"\r\n @menu-close=\"menu = false\"\r\n @place-on-top=\"placeOnTop\"\r\n @place-on-bottom=\"placeOnBottom\"\r\n :item=\"item\"\r\n />\r\n </v-list-tile-action>\r\n </template>\r\n <span>Flere valg</span>\r\n </v-tooltip>\r\n </v-fade-transition>\r\n\r\n <v-tooltip bottom open-delay=\"800\" close-delay=\"0\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-list-tile-action v-on=\"on\" style=\"min-width: 30px;\">\r\n <v-btn\r\n style=\"margin-top: 2px\"\r\n @wheel.stop=\"visibilityScrolled\"\r\n icon\r\n label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n aria-label=\"SlÃ¥ kartlag av/pÃ¥\"\r\n :style=\"{ opacity: opacity }\"\r\n small\r\n flat\r\n @click.stop=\"toggleTheme\"\r\n >\r\n <v-icon\r\n :color=\"item.visible ? 'blue' : 'grey'\"\r\n style=\"font-size: 20px;\"\r\n >{{ item.visible ? \"mdi-eye\" : \"mdi-eye-off\" }}</v-icon\r\n >\r\n </v-btn>\r\n <v-fade-transition>\r\n <v-icon\r\n v-show=\"hover && item.visible\"\r\n :disabled=\"opacity == 1.0\"\r\n @click.stop=\"increaseOpacity\"\r\n style=\"position: absolute; margin-top: -18px; right: 11px;\"\r\n color=\"blue\"\r\n size=\"25\"\r\n >mdi-menu-up</v-icon\r\n >\r\n </v-fade-transition>\r\n\r\n <v-fade-transition>\r\n <v-icon\r\n v-show=\"hover && item.visible\"\r\n :disabled=\"opacity == 0.2\"\r\n @click.stop=\"decreaseOpacity\"\r\n style=\"position: absolute; margin-top: 24px; right: 11px;\"\r\n color=\"blue\"\r\n size=\"25\"\r\n >mdi-menu-down</v-icon\r\n >\r\n </v-fade-transition>\r\n </v-list-tile-action>\r\n </template>\r\n <span>Skru kartlag av eller pÃ¥. Justér synlighet vha. scroll.</span>\r\n </v-tooltip>\r\n </v-list-tile>\r\n </v-hover>\r\n\r\n <div v-if=\"item.open && item.type !== 'imageryLayer'\">\r\n <layer-list-item-toc\r\n style=\"margin-top: 2px; margin-bottom: 1px;\"\r\n :layer=\"item.id\"\r\n :sublayer-index=\"null\"\r\n :show-subheaders=\"false\"\r\n :padding=\"0\"\r\n ></layer-list-item-toc>\r\n </div>\r\n\r\n <div v-if=\"item.open && item.type === 'graphicsLayer'\">\r\n <layer-list-item-toc-graphicslayer\r\n :layer=\"item.id\"\r\n :padding=\"0\"\r\n ></layer-list-item-toc-graphicslayer>\r\n </div>\r\n <geometry-calculator-dialog\r\n v-if=\"item.type === 'graphicsLayer'\"\r\n :selected-graphics-layer=\"item\"\r\n :active=\"geometryCalculatorDialogActive\"\r\n @close-dialog=\"deactivateGeometryCalculatorDialog\"\r\n ></geometry-calculator-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerListItemToc from \"@/pages/MapPage/Tools/Layers/LayerListItemToc\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport LayerListItemTocGraphicslayer from \"@/pages/MapPage/Tools/Layers/LayerListItemTocGraphicslayer\";\r\nimport LayerListItemMenu from \"@/pages/MapPage/Tools/Layers/LayerListItemMenu\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport GeometryCalculatorDialog from \"@/pages/MapPage/Tools/Drawing/GeometryCalculatorDialog\";\r\n\r\nexport default {\r\n name: \"LayerListItem\",\r\n components: {\r\n LayerListItemToc,\r\n LayerListItemMenu,\r\n LayerListItemTocGraphicslayer,\r\n GeometryCalculatorDialog\r\n },\r\n mixins: [MappingMixin],\r\n computed: {\r\n ...mapState([\"selectedTheme\", \"tools\", \"theMap\"]),\r\n profileDate: {\r\n set(profileDate) {\r\n this.updateMapProfileDate({\r\n id: this.item.id,\r\n newDate: profileDate\r\n });\r\n },\r\n get() {\r\n return this.item.date;\r\n }\r\n },\r\n profileHasDescription() {\r\n return this.item.Temaforklaring;\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"toggleProfileOpen\",\r\n \"setSelectedMapProfile\",\r\n \"activateTool\",\r\n \"setSelectedTheme\",\r\n \"setShowInfoMenu\"\r\n ]),\r\n getProfileDownloadUrl(id) {\r\n return process.env.VUE_APP_DOWNLOAD_MAP_DATA_SERVICE_URL + id + \"&\";\r\n },\r\n subtractDate: function() {\r\n let dateParts = this.profileDate.split(\"-\");\r\n let date = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);\r\n date.setDate(date.getDate() - 1);\r\n this.profileDate =\r\n date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate();\r\n },\r\n addDate: function() {\r\n let dateParts = this.profileDate.split(\"-\");\r\n let date = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);\r\n date.setDate(date.getDate() + 1);\r\n\r\n this.profileDate =\r\n date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate();\r\n },\r\n openInfo(evt, item) {\r\n this.setSelectedTheme(item.id);\r\n this.setShowInfoMenu(true);\r\n },\r\n editDrawingLayer() {\r\n this.setSelectedMapProfile(this.item);\r\n this.activateTool(\"drawing\");\r\n },\r\n visibilityScrolled(event) {\r\n event.preventDefault();\r\n if (event.deltaY < 0) {\r\n this.increaseOpacity();\r\n } else if (event.deltaY > 0) {\r\n this.decreaseOpacity();\r\n }\r\n },\r\n closeTheme() {\r\n if (this.item.open) {\r\n this.toggleProfileOpen(this.item);\r\n }\r\n },\r\n openTheme() {\r\n if (!this.item.open) {\r\n this.toggleProfileOpen(this.item);\r\n }\r\n },\r\n toggleTheme() {\r\n if (this.item.visible) {\r\n this.closeTheme();\r\n } else {\r\n this.openTheme();\r\n }\r\n this.setMapLayerVisibility({\r\n profile: this.item,\r\n visible: !this.item.visible\r\n });\r\n },\r\n decreaseOpacity() {\r\n this.opacity = this.theMap.findLayerById(this.item.id).opacity;\r\n if (this.opacity > 0.2) {\r\n this.opacity = Number(this.opacity - 0.2).toFixed(2);\r\n }\r\n this.setMapLayerOpacity({\r\n id: this.item.id,\r\n opacity: this.opacity\r\n });\r\n },\r\n increaseOpacity() {\r\n this.opacity = this.theMap.findLayerById(this.item.id).opacity;\r\n if (this.opacity < 1) {\r\n this.opacity = Number(this.opacity + 0.2).toFixed(2);\r\n }\r\n this.setMapLayerOpacity({\r\n id: this.item.id,\r\n opacity: this.opacity\r\n });\r\n },\r\n reorder(id, newIndex) {\r\n let exisitingLayer = this.$theMapObject.findLayerById(id);\r\n newIndex = newIndex + 2;\r\n this.$theMapObject.reorder(exisitingLayer, newIndex);\r\n },\r\n placeOnTop() {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(\r\n profile => profile.id === this.item.id\r\n );\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n mapProfilesCopy.push(profileBeingMoved);\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(this.item.id, this.mapProfiles.length + 1);\r\n },\r\n placeOnBottom() {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(\r\n profile => profile.id === this.item.id\r\n );\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n\r\n mapProfilesCopy.unshift(profileBeingMoved);\r\n\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(this.item.id, 0);\r\n },\r\n deactivateGeometryCalculatorDialog() {\r\n this.geometryCalculatorDialogActive = false;\r\n },\r\n activateGeometryCalculatorDialog() {\r\n this.geometryCalculatorDialogActive = true;\r\n }\r\n },\r\n props: {\r\n item: Object,\r\n isOnTop: Boolean,\r\n isOnBottom: Boolean\r\n },\r\n data() {\r\n return {\r\n menu: false,\r\n datePickerMenu: false,\r\n layerExpanded: false,\r\n opacity: 1.0,\r\n geometryCalculatorDialogActive: false\r\n };\r\n },\r\n mounted: function() {\r\n let layer = this.theMap.findLayerById(this.item.id);\r\n if (typeof layer !== \"undefined\") {\r\n this.opacity = layer.opacity;\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.no-top-margin {\r\n opacity: 0;\r\n margin-top: 3px;\r\n}\r\n\r\n.toc-list-tile {\r\n .v-list__tile__sub-title {\r\n max-height: 42px;\r\n white-space: initial;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerListItem.vue?vue&type=template&id=b3705884\"\nimport script from \"./LayerListItem.vue?vue&type=script&lang=js\"\nexport * from \"./LayerListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerListItem.vue?vue&type=style&index=0&id=b3705884&prod&lang=scss\"\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","<template>\r\n <div style=\"overflow: none; height: 100vh;\">\r\n <v-toolbar\r\n flat\r\n style=\"position: -webkit-sticky; /* Safari */position: sticky; z-index: 3\"\r\n >\r\n <v-toolbar-title> <v-icon>layers </v-icon> Kartlag </v-toolbar-title>\r\n <v-subheader v-if=\"currentlyOpenedProject\">{{\r\n currentlyOpenedProject.attributes.tittel\r\n }}</v-subheader>\r\n\r\n <v-spacer></v-spacer>\r\n\r\n <v-btn label=\"Skjul kartlag\" aria-label=\"Skjul kartlag\" icon @click=\"hideDrawer\">\r\n <v-icon>chevron_left</v-icon>\r\n </v-btn>\r\n </v-toolbar>\r\n\r\n <layer-list-toolbar />\r\n\r\n <v-divider style=\"margin: 0px;\"></v-divider>\r\n\r\n <div\r\n class=\"elevation-2\"\r\n style=\"margin-top: 0px; overflow-y: scroll; height: calc(100% - 113px); overflow-x: hidden\"\r\n >\r\n <draggable\r\n v-model=\"mapProfiles\"\r\n :disabled=\"$vuetify.breakpoint.smAndDown\"\r\n @change=\"onLayerDragged\"\r\n >\r\n <div v-for=\"(item, index) in mapProfiles\" :key=\"item.id\">\r\n <layer-list-item\r\n @remove=\"removeLayer(item)\"\r\n @place-on-top=\"placeOnTop(item)\"\r\n @place-on-bottom=\"placeOnBottom(item)\"\r\n :item=\"item\"\r\n :is-on-top=\"index == 0\"\r\n :is-on-bottom=\"index == mapProfiles.length - 1\"\r\n ></layer-list-item>\r\n </div>\r\n </draggable>\r\n\r\n <div\r\n style=\"height: 100%; margin-top: -50px;\"\r\n v-if=\"\r\n layersAreLoading ||\r\n mapProfiles.length == 0 ||\r\n (mapProfiles.length == 1 && mapProfiles[0].id === 'bygninger3d')\r\n \"\r\n >\r\n <v-layout align-center justify-center row fill-height>\r\n <div v-if=\"!layersAreLoading\">\r\n <h3>Kartlagslisten er tom..</h3>\r\n <v-btn @click=\"openExplorer\" label=\"Legg til innhold\" aria-label=\"Legg til innhold\" flat color=\"blue\">\r\n Legg til innhold\r\n </v-btn>\r\n </div>\r\n <v-layout v-else align-center justify-center column>\r\n <v-progress-circular\r\n indeterminate\r\n color=\"primary\"\r\n ></v-progress-circular>\r\n <h4 class=\"pt-0 mt-1\">Laster kartlag</h4>\r\n </v-layout>\r\n </v-layout>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerListToolbar from \"@/pages/MapPage/Tools/Layers/LayerListToolbar\";\r\nimport LayerListItem from \"@/pages/MapPage/Tools/Layers/LayerListItem\";\r\nimport draggable from \"vuedraggable\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nexport default {\r\n name: \"LayerList\",\r\n data() {\r\n return {\r\n menu: false,\r\n selectedCategories: [],\r\n openProjectDialogActive: false,\r\n saveProjectDialogActive: false,\r\n projectSaveInProgress: false,\r\n confirmNewEmptyProjectDialog: false,\r\n saveProjectSettings: false,\r\n operationalItems: null\r\n };\r\n },\r\n mixins: [MappingMixin],\r\n components: {\r\n draggable,\r\n LayerListItem,\r\n LayerListToolbar\r\n },\r\n computed: {\r\n ...mapState([\"currentlyOpenedProject\", \"layersAreLoading\"]),\r\n mapProfiles: {\r\n get() {\r\n return this.$store.state.mapProfiles.slice().reverse();\r\n },\r\n set(value) {\r\n this.updateMapProfiles(value.slice().reverse());\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"updateMapProfiles\",\r\n \"setSelectedTheme\",\r\n \"setShowSideMenu\",\r\n \"setExplorerVisible\"\r\n ]),\r\n addTheme(themeId) {\r\n for (let i = 0; i < this.categories.length; i++) {\r\n let category = this.categories[i];\r\n for (let j = 0; j < category.items.length; j++) {\r\n if (category.items[j].id === themeId) {\r\n this.selectedCategories.push(category.items[j]);\r\n this.toggleTheme(null, category.items[j], true);\r\n }\r\n }\r\n }\r\n },\r\n toggleTheme(evt, item, firstTime) {\r\n if (evt) evt.stopPropagation();\r\n firstTime ? (item.visible = true) : (item.visible = !item.visible);\r\n this.setSelectedTheme(item.id);\r\n this.$eventHub.$emit(\"toggle-theme\", item.id);\r\n },\r\n removeLayer(item) {\r\n this.removeMapProfile(item.id);\r\n },\r\n hideDrawer() {\r\n this.setShowSideMenu(false);\r\n },\r\n openExplorer() {\r\n this.setExplorerVisible(true);\r\n },\r\n onLayerDragged(evt) {\r\n let correctIndex = this.mapProfiles\r\n .slice()\r\n .reverse()\r\n .map(e => e.id)\r\n .indexOf(evt.moved.element.id);\r\n this.reorder(evt.moved.element.id, correctIndex);\r\n let photolayer = this.$theMapObject.findLayerById(\"foto\");\r\n if (photolayer) {\r\n this.$theMapObject.reorder(photolayer, 1000);\r\n }\r\n },\r\n reorder(id, newIndex) {\r\n let exisitingLayer = this.$theMapObject.findLayerById(id);\r\n\r\n this.$theMapObject.reorder(exisitingLayer, newIndex);\r\n exisitingLayer.refresh();\r\n },\r\n placeOnTop(item) {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(profile => profile.id === item.id);\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n mapProfilesCopy.push(profileBeingMoved);\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(item.id, this.mapProfiles.length + 1);\r\n },\r\n placeOnBottom(item) {\r\n let mapProfilesCopy = JSON.parse(JSON.stringify(this.mapProfiles));\r\n let index = this.mapProfiles.findIndex(profile => profile.id === item.id);\r\n let profileBeingMoved = mapProfilesCopy.splice(index, 1)[0];\r\n mapProfilesCopy.unshift(profileBeingMoved);\r\n this.mapProfiles = mapProfilesCopy;\r\n this.reorder(item.id, 0);\r\n },\r\n setOpacity(layerId, opacity) {\r\n let exisitingLayer = this.$theMapObject.findLayerById(layerId);\r\n\r\n exisitingLayer.opacity = opacity / 100;\r\n }\r\n },\r\n created() {\r\n this.$eventHub.$on(\"add-theme\", this.addTheme);\r\n },\r\n beforeDestroy() {\r\n this.$eventHub.$off(\"add-theme\");\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerList.vue?vue&type=template&id=2e76832e\"\nimport script from \"./LayerList.vue?vue&type=script&lang=js\"\nexport * from \"./LayerList.vue?vue&type=script&lang=js\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"600\",\"scrollable\":_vm.$vuetify.breakpoint.smAndDown},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline secondary\",attrs:{\"primary-title\":\"\"}},[_c('v-icon',{staticClass:\"mr-3\"},[_vm._v(\"share\")]),_vm._v(\" Deling av kartet\\n \")],1),(\n _vm.currentlyOpenedProject == null &&\n _vm.temporaryProjectID == null &&\n !_vm.loading\n )?_c('v-card-text',[_c('v-layout',{staticClass:\"pt-4\",attrs:{\"row\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Gi kartet et passende navn\",\"box\":\"\",\"single-line\":\"\",\"full-width\":\"\",\"maxlength\":\"100\"},model:{value:(_vm.mapName),callback:function ($$v) {_vm.mapName=$$v},expression:\"mapName\"}})],1)],1):_vm._e(),((_vm.currentlyOpenedProject || _vm.temporaryProjectID) && !_vm.loading)?_c('v-card-text',[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('span',{staticClass:\"heading\"},[_vm._v(\"Den øverste lenken gir tilgang til en lesbar versjon av kartet som\\n ikke kan redigeres. Den nederste lenken gir tilgang til en\\n redigerbar versjon av kartet. Kopier den lenken som passer til ditt\\n formÃ¥l og send til de du ønsker Ã¥ dele kartet med.\")]),_c('span',{staticClass:\"heading pt-4\",staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"Merknad: \"+_vm._s(_vm.shareText))]),_c('v-layout',{staticClass:\"pt-4\",attrs:{\"row\":\"\"}},[_c('v-text-field',{ref:\"linkTextField\",attrs:{\"label\":\"Lenke til lesbar versjon av kartet (kan ikke redigeres)\",\"outline\":\"\",\"color\":\"blue\",\"readonly\":\"\"},model:{value:(_vm.projectLink),callback:function ($$v) {_vm.projectLink=$$v},expression:\"projectLink\"}}),_c('v-btn',{staticClass:\"mt-2\",attrs:{\"color\":_vm.copiedToClipBoard ? 'green' : 'blue',\"dark\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.copyLinkTextToClipBoard('linkTextField', 'copiedToClipBoard')}}},[_vm._v(\"\\n \"+_vm._s(_vm.copiedToClipBoard ? \"Kopiert\" : \"Kopier\")+\"\\n \")])],1),(_vm.saveIsEnabled)?_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-text-field',{ref:\"linkEditTextField\",attrs:{\"label\":\"Lenke til redigerbar versjon av kartet\",\"outline\":\"\",\"color\":\"blue\",\"readonly\":\"\"},model:{value:(_vm.projectEditLink),callback:function ($$v) {_vm.projectEditLink=$$v},expression:\"projectEditLink\"}}),_c('v-btn',{staticClass:\"mt-2\",attrs:{\"color\":_vm.editLinkCopiedToClipBoard ? 'green' : 'blue',\"dark\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.copyLinkTextToClipBoard(\n 'linkEditTextField',\n 'editLinkCopiedToClipBoard'\n )}}},[_vm._v(\"\\n \"+_vm._s(_vm.editLinkCopiedToClipBoard ? \"Kopiert\" : \"Kopier\")+\"\\n \")])],1):_vm._e()],1),(_vm.saveIsEnabled)?_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-text-field',{ref:\"iframeTextArea\",attrs:{\"outline\":\"\",\"readonly\":\"\",\"name\":\"input-7-4\",\"label\":\"BETA: Bygg inn kart\",\"value\":_vm.iframeLink}}),_c('v-btn',{staticClass:\"mt-2\",attrs:{\"color\":_vm.buildInLinkCopiedToClipBoard ? 'green' : 'blue',\"dark\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.copyLinkTextToClipBoard(\n 'iframeTextArea',\n 'buildInLinkCopiedToClipBoard'\n )}}},[_vm._v(\"\\n \"+_vm._s(_vm.buildInLinkCopiedToClipBoard ? \"Kopiert\" : \"Kopier\")+\"\\n \")])],1):_vm._e()],1):_vm._e(),(_vm.loading)?_c('v-card-text',[_c('v-layout',{attrs:{\"align-center\":\"\",\"column\":\"\",\"fill-height\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1)],1):_vm._e(),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.emitDialogClosedEvent}},[_vm._v(\"\\n Lukk\\n \")]),_c('v-spacer'),(\n _vm.currentlyOpenedProject == null &&\n _vm.temporaryProjectID == null &&\n !_vm.loading\n )?_c('v-btn',{staticClass:\"mt-2\",attrs:{\"disabled\":_vm.mapName == null || _vm.mapName == '',\"color\":\"primary\",\"large\":\"\",\"depressed\":\"\"},on:{\"click\":_vm.saveTemporaryProject}},[_vm._v(\"\\n Ok\\n \")]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog\r\n v-model=\"active\"\r\n persistent\r\n width=\"600\"\r\n :scrollable=\"$vuetify.breakpoint.smAndDown\"\r\n >\r\n <v-card>\r\n <v-card-title class=\"headline secondary\" primary-title>\r\n <v-icon class=\"mr-3\">share</v-icon> Deling av kartet\r\n </v-card-title>\r\n <v-card-text\r\n v-if=\"\r\n currentlyOpenedProject == null &&\r\n temporaryProjectID == null &&\r\n !loading\r\n \"\r\n >\r\n <v-layout row class=\"pt-4\">\r\n <v-text-field\r\n label=\"Gi kartet et passende navn\"\r\n v-model=\"mapName\"\r\n box\r\n single-line\r\n full-width\r\n maxlength=\"100\"\r\n >\r\n </v-text-field>\r\n </v-layout>\r\n </v-card-text>\r\n <v-card-text\r\n v-if=\"(currentlyOpenedProject || temporaryProjectID) && !loading\"\r\n >\r\n <v-layout column>\r\n <span class=\"heading\"\r\n >Den øverste lenken gir tilgang til en lesbar versjon av kartet som\r\n ikke kan redigeres. Den nederste lenken gir tilgang til en\r\n redigerbar versjon av kartet. Kopier den lenken som passer til ditt\r\n formÃ¥l og send til de du ønsker Ã¥ dele kartet med.</span\r\n >\r\n <span class=\"heading pt-4\" style=\"font-weight: bold\"\r\n >Merknad: {{ shareText }}</span\r\n >\r\n\r\n <v-layout row class=\"pt-4\">\r\n <v-text-field\r\n label=\"Lenke til lesbar versjon av kartet (kan ikke redigeres)\"\r\n outline\r\n color=\"blue\"\r\n ref=\"linkTextField\"\r\n readonly\r\n v-model=\"projectLink\"\r\n ></v-text-field>\r\n <v-btn\r\n class=\"mt-2\"\r\n :color=\"copiedToClipBoard ? 'green' : 'blue'\"\r\n dark\r\n depressed\r\n @click=\"\r\n copyLinkTextToClipBoard('linkTextField', 'copiedToClipBoard')\r\n \"\r\n >\r\n {{ copiedToClipBoard ? \"Kopiert\" : \"Kopier\" }}\r\n </v-btn>\r\n </v-layout>\r\n\r\n <v-layout row v-if=\"saveIsEnabled\">\r\n <v-text-field\r\n label=\"Lenke til redigerbar versjon av kartet\"\r\n outline\r\n color=\"blue\"\r\n ref=\"linkEditTextField\"\r\n readonly\r\n v-model=\"projectEditLink\"\r\n ></v-text-field>\r\n <v-btn\r\n class=\"mt-2\"\r\n :color=\"editLinkCopiedToClipBoard ? 'green' : 'blue'\"\r\n dark\r\n depressed\r\n @click=\"\r\n copyLinkTextToClipBoard(\r\n 'linkEditTextField',\r\n 'editLinkCopiedToClipBoard'\r\n )\r\n \"\r\n >\r\n {{ editLinkCopiedToClipBoard ? \"Kopiert\" : \"Kopier\" }}\r\n </v-btn>\r\n </v-layout>\r\n </v-layout>\r\n <!-- <h4>Bygg inn kart (beta)</h4> -->\r\n <v-layout row v-if=\"saveIsEnabled\">\r\n <v-text-field\r\n outline\r\n readonly\r\n ref=\"iframeTextArea\"\r\n name=\"input-7-4\"\r\n label=\"BETA: Bygg inn kart\"\r\n :value=\"iframeLink\"\r\n ></v-text-field>\r\n <v-btn\r\n class=\"mt-2\"\r\n :color=\"buildInLinkCopiedToClipBoard ? 'green' : 'blue'\"\r\n dark\r\n depressed\r\n @click=\"\r\n copyLinkTextToClipBoard(\r\n 'iframeTextArea',\r\n 'buildInLinkCopiedToClipBoard'\r\n )\r\n \"\r\n >\r\n {{ buildInLinkCopiedToClipBoard ? \"Kopiert\" : \"Kopier\" }}\r\n </v-btn>\r\n </v-layout>\r\n </v-card-text>\r\n <v-card-text v-if=\"loading\">\r\n <v-layout align-center column fill-height>\r\n <v-progress-circular\r\n indeterminate\r\n color=\"primary\"\r\n ></v-progress-circular>\r\n </v-layout>\r\n </v-card-text>\r\n\r\n <v-divider></v-divider>\r\n\r\n <v-card-actions>\r\n <v-btn flat @click=\"emitDialogClosedEvent\">\r\n Lukk\r\n </v-btn>\r\n <v-spacer></v-spacer>\r\n <v-btn\r\n v-if=\"\r\n currentlyOpenedProject == null &&\r\n temporaryProjectID == null &&\r\n !loading\r\n \"\r\n class=\"mt-2\"\r\n :disabled=\"mapName == null || mapName == ''\"\r\n color=\"primary\"\r\n large\r\n depressed\r\n @click=\"saveTemporaryProject\"\r\n >\r\n Ok\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\n\r\nexport default {\r\n name: \"ShareProjectDialog\",\r\n mixins: [MappingMixin],\r\n computed: {\r\n ...mapState([\r\n \"currentlyOpenedProject\",\r\n \"userIsLoggedIn\",\r\n \"tools\",\r\n \"saveIsEnabled\",\r\n ]),\r\n projectLink: function() {\r\n if (\r\n this.currentlyOpenedProject == null &&\r\n this.temporaryProjectID == null\r\n ) {\r\n return \"\";\r\n } else {\r\n return this.projectUrl;\r\n }\r\n },\r\n projectUrl: function() {\r\n return (\r\n window.location.origin +\r\n \"/prosjekt/\" +\r\n (this.currentlyOpenedProject === null\r\n ? this.temporaryProjectID.toLowerCase()\r\n : this.currentlyOpenedProject.attributes.GlobalID)\r\n );\r\n },\r\n projectEditLink: function() {\r\n if (\r\n this.currentlyOpenedProject == null &&\r\n this.temporaryProjectID == null\r\n ) {\r\n return \"\";\r\n } else {\r\n return (\r\n window.location.origin +\r\n \"/prosjekt/\" +\r\n (this.currentlyOpenedProject === null\r\n ? this.temporaryProjectID.toLowerCase()\r\n : this.currentlyOpenedProject.attributes.GlobalID) +\r\n \"/\" +\r\n this.editHashCode\r\n );\r\n }\r\n },\r\n iframeLink: function() {\r\n return (\r\n '<iframe src=\"' +\r\n this.projectUrl +\r\n '\" width=\"800\" height=\"650\" frameborder=\"0\" style=\"border:0;\" aria-hidden=\"false\" tabindex=\"0\"></iframe>'\r\n );\r\n },\r\n active: function() {\r\n return this.tools.share.active;\r\n },\r\n\r\n projectIsPublic: function() {\r\n if (this.currentlyOpenedProject == null) {\r\n return \"\";\r\n } else {\r\n return this.currentlyOpenedProject.attributes.Offentlig === 1;\r\n }\r\n },\r\n editHashCode: function() {\r\n if (this.temporaryProjectID !== null) {\r\n return this.temporaryProjectID.toLowerCase().hashCode();\r\n }\r\n if (this.currentlyOpenedProject == null) {\r\n return this.currentlyOpenedProject.attributes.GlobalID.toLowerCase().hashCode();\r\n } else {\r\n return this.currentlyOpenedProject.attributes.GlobalID.toLowerCase().hashCode();\r\n }\r\n },\r\n projectIsTemporary: function() {\r\n if (this.currentlyOpenedProject == null) {\r\n return false;\r\n } else {\r\n return this.currentlyOpenedProject.attributes.midlertidig === 1;\r\n }\r\n },\r\n shareText: function() {\r\n if (this.temporaryProjectID || this.projectIsTemporary) {\r\n return \"Vi gir ingen garantier for hvor lenge lenkene vil fortsette Ã¥ fungere og lenkene bør derfor ikke brukes i rapporter eller lignende da de har en utløpsdato. Hvis du skal redigere kartet pÃ¥ et senere tidspunkt mÃ¥ du ta vare pÃ¥ lenken til den redigerbare versjonen.\";\r\n }\r\n if (this.projectIsPublic) {\r\n return \"Dette kartet er offentlig. NÃ¥r du deler lenken med andre vil de kunne redigere kartet pÃ¥ samme mÃ¥te som deg.\";\r\n } else {\r\n return \"Dette kartet er privat. NÃ¥r du deler lenken med andre vil de kun ha lesetilgang til kartet.\";\r\n }\r\n },\r\n },\r\n data: () => ({\r\n dialog: false,\r\n title: null,\r\n\r\n projectEditRole: \"eier\",\r\n mapName: null,\r\n saveInProgress: false,\r\n copiedToClipBoard: false,\r\n loading: false,\r\n editLinkCopiedToClipBoard: false,\r\n buildInLinkCopiedToClipBoard: false,\r\n temporaryProjectID: null,\r\n projectEditRoles: [\r\n {\r\n text: \"Kun jeg skal kunne redigere kartet\",\r\n value: \"eier\",\r\n },\r\n {\r\n text: \"Alle skal kunne redigere kartet\",\r\n value: \"alle\",\r\n },\r\n ],\r\n }),\r\n\r\n props: {\r\n saveProjectSettings: Boolean,\r\n },\r\n watch: {\r\n active: function(newVal) {\r\n if (newVal == true) {\r\n this.saveInProgress = false;\r\n }\r\n },\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"setSnack\",\r\n \"clearCurrentlyOpenedProject\",\r\n \"deactivateTool\",\r\n ]),\r\n saveTemporaryProject() {\r\n this.loading = true;\r\n if (this.currentlyOpenedProject == null) {\r\n this.saveMap({\r\n attributes: {\r\n tittel: this.mapName,\r\n Offentlig: 1,\r\n redigering: \"eier\",\r\n midlertidig: 1,\r\n },\r\n }).then((result) => {\r\n this.temporaryProjectID = result.addFeatureResults[0].globalId;\r\n this.loading = false;\r\n });\r\n }\r\n },\r\n emitDialogClosedEvent() {\r\n this.title = null;\r\n this.copiedToClipBoard = false;\r\n this.editLinkCopiedToClipBoard = false;\r\n this.buildInLinkCopiedToClipBoard = false;\r\n this.temporaryProjectID = null;\r\n this.deactivateTool(\"share\");\r\n this.$emit(\"close-dialog\");\r\n },\r\n copyLinkTextToClipBoard(inputRef, isEditLinkInput) {\r\n this.selectLinkText(inputRef);\r\n document.execCommand(\"copy\");\r\n this[isEditLinkInput] = true;\r\n\r\n // if (isEditLinkInput) {\r\n // this.editLinkCopiedToClipBoard = true;\r\n // } else {\r\n // this.copiedToClipBoard = true;\r\n // }\r\n },\r\n selectLinkText(inputRef) {\r\n this.$refs[inputRef].$el.querySelector(\"input\").select();\r\n },\r\n saveProject() {\r\n this.saveInProgress = true;\r\n if (!this.saveProjectSettings) {\r\n this.clearCurrentlyOpenedProject();\r\n }\r\n\r\n this.saveMap({\r\n attributes: {\r\n tittel: this.title,\r\n Offentlig: this.projectIsPublic ? 1 : 0,\r\n redigering: this.projectEditRole,\r\n },\r\n })\r\n .then(() => {\r\n this.emitDialogClosedEvent();\r\n this.setSnack(\r\n this.saveProjectSettings ? \"Kart lagret\" : \"Kart opprettet\"\r\n );\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n this.setSnack(\"Lagring ikke gjennomført. Prøv igjen om litt.\");\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareProjectDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareProjectDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareProjectDialog.vue?vue&type=template&id=3902697d&scoped=true\"\nimport script from \"./ShareProjectDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ShareProjectDialog.vue?vue&type=script&lang=js\"\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 \"3902697d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"white--text drawer-button\",attrs:{\"fab\":\"\",\"dark\":\"\",\"small\":\"\",\"label\":_vm.title,\"aria-label\":_vm.title,\"flat\":\"\",\"color\":\"white\"},on:{\"click\":_vm.toggleContent}},on),[(_vm.icon)?_c('v-icon',{staticClass:\"drawer-icon\",attrs:{\"dark\":\"\"}},[_vm._v(_vm._s(_vm.icon))]):_vm._e(),(_vm.text)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.text))]):_vm._e()],1),_c('v-fade-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}],staticClass:\"drawer-icon-active\"})])]}}])},[_c('span',[_vm._v(_vm._s(_vm.title))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-tooltip right>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n fab\r\n dark\r\n small\r\n :label=\"title\"\r\n :aria-label=\"title\"\r\n flat\r\n color=\"white\"\r\n v-on=\"on\"\r\n @click=\"toggleContent\"\r\n class=\"white--text drawer-button\"\r\n >\r\n <v-icon\r\n v-if=\"icon\"\r\n class=\"drawer-icon\"\r\n dark\r\n >{{ icon }}</v-icon>\r\n <span\r\n v-if=\"text\"\r\n style=\"font-weight: bold\"\r\n >{{ text }}</span>\r\n </v-btn>\r\n <v-fade-transition>\r\n <div\r\n v-show=\"active\"\r\n class=\"drawer-icon-active\"\r\n ></div>\r\n </v-fade-transition>\r\n </template>\r\n <span>{{ title }}</span>\r\n </v-tooltip>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nexport default {\r\n name: \"LeftSidebarItemToggle\",\r\n computed: {\r\n ...mapState([\"showSideMenu\"])\r\n },\r\n props: {\r\n name: String,\r\n icon: String,\r\n active: Boolean,\r\n text: String,\r\n title: String\r\n },\r\n methods: {\r\n ...mapActions([\"setShowSideMenu\"]),\r\n toggleSidemenu: function () {\r\n this.setShowSideMenu(!this.showSideMenu);\r\n },\r\n toggleContent: function () {\r\n this.$emit(\"toggle-tool\", this.name);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.drawer-button {\r\n margin-bottom: 10px;\r\n margin-top: 10px;\r\n}\r\n\r\n.drawer-icon {\r\n font-size: 22px !important;\r\n}\r\n\r\n.drawer-icon-active {\r\n padding-left: 5px;\r\n margin-left: 14px;\r\n margin-right: 14px;\r\n margin-top: -15px;\r\n margin-bottom: 12px;\r\n border-bottom: 3px solid deepskyblue;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItemToggle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItemToggle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LeftSidebarItemToggle.vue?vue&type=template&id=49462648&scoped=true\"\nimport script from \"./LeftSidebarItemToggle.vue?vue&type=script&lang=js\"\nexport * from \"./LeftSidebarItemToggle.vue?vue&type=script&lang=js\"\nimport style0 from \"./LeftSidebarItemToggle.vue?vue&type=style&index=0&id=49462648&prod&lang=scss&scoped=true\"\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 \"49462648\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ 'drawer-content': _vm.$vuetify.breakpoint.mdAndUp }},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :class=\"{ 'drawer-content': $vuetify.breakpoint.mdAndUp }\">\r\n <slot></slot>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.drawer-content {\r\n margin-left: 56px;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftSidebarItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LeftSidebarItem.vue?vue&type=template&id=404f4f04&scoped=true\"\nimport script from \"./LeftSidebarItem.vue?vue&type=script&lang=js\"\nexport * from \"./LeftSidebarItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./LeftSidebarItem.vue?vue&type=style&index=0&id=404f4f04&prod&lang=scss&scoped=true\"\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 \"404f4f04\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <!-- Mini drawer -->\r\n <v-navigation-drawer\r\n v-model=\"showMiniDrawer\"\r\n v-if=\"$vuetify.breakpoint.mdAndUp\"\r\n absolute\r\n stateless\r\n app\r\n mini-variant\r\n mini-variant-width=\"56\"\r\n class=\"primary elevation-4 map-mini-drawer\"\r\n >\r\n <v-tooltip right>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n @click=\"toggleAppDrawer\"\r\n fab\r\n dark\r\n small\r\n aria-label=\"Vis hovedmeny\"\r\n label=\"Vis hovedmeny\"\r\n flat\r\n v-on=\"on\"\r\n color=\"white\"\r\n class=\"white--text\"\r\n > \r\n <v-icon class=\"drawer-icon\" dark>menu</v-icon>\r\n \r\n </v-btn>\r\n </template>\r\n <span>Meny</span>\r\n </v-tooltip>\r\n\r\n <left-sidebar-item-toggle\r\n v-for=\"(item, name) in tools\"\r\n v-show=\"\r\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\r\n \"\r\n :key=\"name\"\r\n :name=\"name\"\r\n :icon=\"item.icon\"\r\n :data-v-step=\"name\"\r\n :text=\"item.text\"\r\n :active=\"item.active\"\r\n :title=\"item.title\" \r\n @toggle-tool=\"toggleContent\"\r\n />\r\n\r\n <img alt=\"NVE logo\"\r\n style=\"bottom: 10px; left: 8px;z-index: 100000; position: absolute; height: 50px;\"\r\n :src=\"getImgUrl(logoImagePath)\"\r\n />\r\n </v-navigation-drawer>\r\n\r\n <!-- Sidebar content -->\r\n <v-navigation-drawer\r\n :app=\"$vuetify.breakpoint.mdAndUp\"\r\n :stateless=\"$vuetify.breakpoint.mdAndUp\"\r\n class=\"elevation-8 left-sidebar\"\r\n disable-resize-watcher\r\n :temporary=\"!$vuetify.breakpoint.mdAndUp\"\r\n absolute\r\n :width=\"leftSidebarWidth\"\r\n id=\"scroll-target\"\r\n hide-overlay\r\n v-model=\"showSideMenu\"\r\n color=\"whitesmoke\"\r\n >\r\n <left-sidebar-item>\r\n <layer-list v-show=\"activeExclusiveToolName == 'layers'\" />\r\n <map-search\r\n v-if=\"mapLoaded\"\r\n v-show=\"activeExclusiveToolName == 'search'\"\r\n />\r\n <map-print\r\n v-if=\"mapLoaded && $vuetify.breakpoint.mdAndUp\"\r\n v-show=\"activeExclusiveToolName == 'print'\"\r\n />\r\n <map-bookmarks v-show=\"activeExclusiveToolName == 'bookmarks'\" />\r\n <tips-and-tricks\r\n v-if=\"mapLoaded\"\r\n v-show=\"activeExclusiveToolName == 'help'\"\r\n />\r\n <share-project-dialog\r\n :active=\"activeExclusiveToolName == 'share'\"\r\n ></share-project-dialog>\r\n </left-sidebar-item>\r\n </v-navigation-drawer>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport LayerList from \"@/pages/MapPage/Tools/Layers/LayerList\";\r\n\r\nimport ShareProjectDialog from \"@/pages/MapPage/Tools/Sharing/ShareProjectDialog\";\r\n\r\nimport LeftSidebarItemToggle from \"@/pages/MapPage/Layout/LeftSidebarItemToggle\";\r\nimport LeftSidebarItem from \"@/pages/MapPage/Layout/LeftSidebarItem\";\r\nimport { mapState, mapActions } from \"vuex\";\r\n\r\nexport default {\r\n name: \"TheLeftSidebar\",\r\n data: () => ({\r\n savedMaps: []\r\n }),\r\n components: {\r\n MapSearch: () => import(\"@/pages/MapPage/Tools/Searching/MapSearch\"),\r\n LayerList,\r\n ShareProjectDialog,\r\n MapPrint: () => import(\"@/pages/MapPage/Tools/Printing/MapPrint\"),\r\n LeftSidebarItem,\r\n LeftSidebarItemToggle,\r\n MapBookmarks: () => import(\"@/pages/MapPage/Tools/Bookmarks/MapBookmarks\"),\r\n TipsAndTricks: () => import(\"@/pages/MapPage/Tools/Tips/TipsAndTricks\")\r\n },\r\n watch: {\r\n showSideMenu: function(newVal) {\r\n if (!newVal && this.activeExclusiveToolName) {\r\n this.deactivateTool(this.activeExclusiveToolName);\r\n this.activeExclusiveToolName = \"\";\r\n }\r\n }\r\n },\r\n computed: {\r\n ...mapState([\r\n \"tools\",\r\n \"sidebarHasOpened\",\r\n \"showAppDrawer\",\r\n \"mapLoaded\",\r\n \"logoImagePath\"\r\n ]),\r\n showSideMenu: {\r\n set(showSideMenu) {\r\n this.setShowSideMenu(showSideMenu);\r\n },\r\n get() {\r\n return this.$store.state.showSideMenu;\r\n }\r\n },\r\n leftSidebarWidth() {\r\n if (this.$vuetify.breakpoint.xlAndUp) {\r\n return \"486\";\r\n } else if (this.$vuetify.breakpoint.lgAndUp) {\r\n return \"400\";\r\n } else if (this.$vuetify.breakpoint.mdAndUp) {\r\n return \"350\";\r\n } else if (this.$vuetify.breakpoint.smAndUp) {\r\n return \"300\";\r\n } else {\r\n return \"300\";\r\n }\r\n },\r\n showMiniDrawer: {\r\n set(showMiniDrawer) {\r\n this.setShowMiniDrawer(showMiniDrawer);\r\n },\r\n get() {\r\n return this.$store.state.showMiniDrawer;\r\n }\r\n },\r\n activeExclusiveToolName: {\r\n set(activeExclusiveToolName) {\r\n this.setActiveExclusiveToolName(activeExclusiveToolName);\r\n },\r\n get() {\r\n return this.$store.state.activeExclusiveToolName;\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"setShowAppDrawer\",\r\n \"setShowMiniDrawer\",\r\n \"setActiveExclusiveToolName\",\r\n \"deactivateTool\",\r\n \"activateTool\",\r\n \"setShowSideMenu\"\r\n ]),\r\n toggleAppDrawer: function() {\r\n this.setShowAppDrawer(!this.showAppDrawer);\r\n },\r\n getImgUrl(svgName) {\r\n let images = require.context(\"../../../assets/\", false, /\\.(svg|png)$/);\r\n return images(\"./\" + svgName);\r\n },\r\n toggleContent: function(toolName) {\r\n let newTool = this.tools[toolName];\r\n if (newTool.isMapTool && !newTool.exclusive) {\r\n this.toggleNonExclusiveMapTool(toolName);\r\n } else {\r\n if (this.$vuetify.breakpoint.mdAndUp || newTool.useSidebarOnMobile) {\r\n this.toggleExclusiveSidebarTool(toolName);\r\n }\r\n }\r\n },\r\n toggleNonExclusiveMapTool: function(toolName) {\r\n if (this.tools[toolName].active) {\r\n this.deactivateTool(toolName);\r\n } else {\r\n this.activateTool(toolName);\r\n }\r\n },\r\n toggleExclusiveSidebarTool(toolName) {\r\n if (this.activeExclusiveToolName) {\r\n if (this.activeExclusiveToolName == toolName) {\r\n this.hideTheSideMenu();\r\n this.deactivateTool(toolName);\r\n this.activeExclusiveToolName = \"\";\r\n } else {\r\n this.deactivateTool(this.activeExclusiveToolName);\r\n this.activeExclusiveToolName = toolName;\r\n this.activateTool(toolName);\r\n }\r\n } else {\r\n this.activeExclusiveToolName = toolName;\r\n this.activateTool(toolName);\r\n this.showTheSidemenu();\r\n }\r\n },\r\n hideTheSideMenu() {\r\n this.showSideMenu = false;\r\n },\r\n showTheSidemenu() {\r\n this.showSideMenu = true;\r\n },\r\n toggleSidemenu: function() {\r\n this.setShowSideMenu(!this.showSideMenu);\r\n }\r\n },\r\n created: function() {\r\n this.showSideMenu = this.$vuetify.breakpoint.mdAndUp;\r\n this.$eventHub.$on(\"toggle-tool\", toolName => {\r\n this.toggleContent(toolName);\r\n });\r\n },\r\n beforeDestroy() {\r\n this.$eventHub.$off(\"toggle-tool\");\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.left-sidebar {\r\n z-index: 4;\r\n}\r\n\r\n.map-mini-drawer {\r\n left: 0px;\r\n top: 0px;\r\n bottom: 0px;\r\n z-index: 12;\r\n}\r\n\r\n.drawer-icon {\r\n font-size: 22px !important;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheLeftSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheLeftSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheLeftSidebar.vue?vue&type=template&id=c00b4b08&scoped=true\"\nimport script from \"./TheLeftSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./TheLeftSidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheLeftSidebar.vue?vue&type=style&index=0&id=c00b4b08&prod&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 \"c00b4b08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-navigation-drawer',{class:{ 'elevation-8': _vm.$vuetify.breakpoint.mdAndUp },staticStyle:{\"z-index\":\"1000\"},attrs:{\"id\":\"appNavigationDrawer\",\"absolute\":\"\",\"temporary\":true},model:{value:(_vm.showAppDrawer),callback:function ($$v) {_vm.showAppDrawer=$$v},expression:\"showAppDrawer\"}},[_c('v-toolbar',{staticStyle:{\"margin.bottom\":\"10px\"},attrs:{\"id\":\"appNavigationDrawerToolbar\",\"color\":\"primary white--text\"}},[_c('img',{staticStyle:{\"height\":\"40px\"},attrs:{\"alt\":\"NVE logo\",\"src\":_vm.getImgUrl(_vm.logoImagePath)}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.appTitle))]),_c('v-spacer'),_c('v-btn',{staticClass:\"white--text\",attrs:{\"label\":\"Lukk meny\",\"aria-label\":\"Lukk meny\",\"icon\":\"\"},on:{\"click\":_vm.hideAppDrawer}},[_c('v-icon',[_vm._v(\"chevron_left\")])],1)],1),_c('v-list',[_c('v-subheader',[_vm._v(\"Mine kart\")]),_c('v-list-tile',{on:{\"click\":_vm.openCreateNewEmptyDialog}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"25\"}},[_c('v-icon',[_vm._v(\"mdi-file-outline\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Tomt kart\")])],1)],1),_c('v-list-tile',{on:{\"click\":_vm.activateOpenProjectDialog}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"25\"}},[_c('v-icon',[_vm._v(\"mdi-folder-open\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Ã…pne kart\")])],1)],1),_c('v-list-tile',{attrs:{\"disabled\":!_vm.saveIsEnabled},on:{\"click\":_vm.saveProject}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"25\"}},[_c('v-icon',[_vm._v(\"mdi-content-save\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Lagre kart\")])],1)],1),_c('v-list-tile',{attrs:{\"disabled\":!_vm.currentlyOpenedProject},on:{\"click\":function($event){return _vm.saveProjectAs()}}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"25\"}},[_c('v-icon',[_vm._v(\"mdi-content-save-settings-outline\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Lagre som..\")])],1)],1)],1),_c('v-divider'),_c('v-subheader',[_vm._v(\"Bakgrunn\")]),(_vm.basemaps && _vm.selectedBasemap)?_c('v-list',_vm._l((_vm.basemaps),function(item){return _c('v-list-tile',{key:item.id,on:{\"click\":function($event){_vm.selectedBasemap = item}}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('img',{attrs:{\"alt\":'Bilde som representerer bakgrunnskart ' + item.title,\"src\":item.thumbnailUrl}})]),_c('v-list-tile-content',[_c('v-list-tile-title',{class:{ 'blue--text': _vm.selectedBasemap.id == item.id }},[_vm._v(_vm._s(item.title))])],1)],1)}),1):_vm._e(),_c('v-divider'),_c('v-list',[_c('v-subheader',[_vm._v(\"Verktøy\")]),_vm._l((_vm.tools),function(item,name){return _c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\n ),expression:\"\\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\\n \"}],key:name,on:{\"click\":function($event){return _vm.toggleContent(name)}}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[(item.icon)?_c('v-icon',[_vm._v(_vm._s(item.icon))]):_vm._e(),(item.text)?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"gray\"}},[_vm._v(\"\\n \"+_vm._s(item.text)+\"\\n \")]):_vm._e()],1),_c('v-list-tile-content',[_c('v-list-tile-title',{class:{ 'blue--text': item.active }},[_vm._v(\"\\n \"+_vm._s(item.title)+\"\\n \")])],1)],1)}),_c('v-list-tile',{on:{\"click\":_vm.togglePhotoStreamActivated}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-camera\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(_vm._s(_vm.photoStreamIsActivated ? \"Skjul fotostrøm\" : \"Vis fotostrøm\"))])],1)],1),_c('v-divider'),_c('v-subheader',[_vm._v(\"Om løsningen\")]),_c('v-list-tile',{attrs:{\"href\":'mailto:gisstotte@nve.no?Subject=' + _vm.appTitle + '%20tilbakemelding',\"target\":\"_top\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-message\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Kontakt oss\")])],1)],1),_c('v-list-tile',{attrs:{\"href\":\"https://www.nve.no/nves-personvernerklaering/\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-human\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Personvern\")])],1)],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.guideIsRunning},on:{\"click\":_vm.showGuide}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-lifebuoy\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Vis guide\")])],1)],1),_c('v-list-tile',{on:{\"click\":_vm.showTechnologyPopup}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-file-code-outline\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Teknologi\")])],1)],1),_c('v-list-tile',{on:{\"click\":_vm.showSettingsDialog}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-settings\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Innstillinger\")])],1)],1),_c('v-divider'),_c('v-subheader',[_vm._v(\"Lenker\")]),_c('v-list-tile',{attrs:{\"href\":\"https://www.nve.no\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-link\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"NVE.no forsiden\")])],1)],1),_c('v-list-tile',{attrs:{\"href\":\"https://atlas.nve.no\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-link\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"NVE Atlas\")])],1)],1),_c('v-list-tile',{attrs:{\"href\":\"https://nedlasting.nve.no/gis/\"}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',[_vm._v(\"mdi-link\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"NVE Nedlasting av fagdata\")])],1)],1)],2),_c('v-divider'),_c('p',{staticStyle:{\"padding\":\"15px\",\"font-size\":\"12px\"}},[_vm._v(\"\\n Attribusjon for kartdata: Kartverket, Geovekst og kommuner - Geodata AS |\\n NVEs kartdata distribueres i henhold til\\n \"),_c('a',{attrs:{\"href\":\"https://data.norge.no/nlod/no\"}},[_vm._v(\"Norsk lisens for offentlige data (NLOD).\")])]),_c('open-project-dialog',{attrs:{\"active\":_vm.openProjectDialogActive},on:{\"close-dialog\":_vm.deactivateOpenProjectDialog}}),(_vm.saveProjectDialogActive)?_c('save-project-dialog',{attrs:{\"active\":_vm.saveProjectDialogActive,\"save-project-settings\":_vm.saveProjectSettings},on:{\"close-dialog\":_vm.deactivateSaveProjectDialog}}):_vm._e(),_c('confirm-dialog',{attrs:{\"active\":_vm.confirmNewEmptyProjectDialog,\"text\":_vm.confirmNewEmptyProjectDialogText,\"title\":\"Ã…pne nytt tomt kart\",\"confirm-text\":\"Ja\",\"reject-text\":\"Nei\"},on:{\"dialog-confirmed\":_vm.createNewEmptyProject,\"dialog-rejected\":_vm.closeConfirmNewEmptyProjectDialog}}),_c('confirm-dialog',{attrs:{\"active\":_vm.technologyDialogOpen,\"text\":\"<p>Denne applikasjonen er utviklet av NVE. Applikasjonen er først og fremst en innsynsklient mot NVE sine kartdata, men tilbyr ogsÃ¥ andre GIS-funksjoner og analyser.</p><p>Applikasjonen er laget med Javascript, HTML og CSS. Rammeverkene Vue, Vuex og Vuetify er brukt for brukergrensesnitt og tilstandshÃ¥ndtering. Kartvisning, kartverktøy og kommunikasjon med karttjenester hÃ¥ndteres ved hjelp av ArcGIS API for Javascript.</p><p>Kartdata hentes i hovedsak fra ArcGIS-baserte REST tjenester. Bakgrunnskart, høydemodell, adressesøk, og 3D bygg hentes fra tjenester som tilbys via Geodata Online. Kartdata fra NVE hentes fra karttjenestene vÃ¥re. Tjenestene til NVE er i de fleste tilfeller Ã¥pne og kan brukes av alle.</p>\",\"title\":\"Teknologien bak løsningen\",\"confirm-text\":\"Lukk\",\"show-reject-button\":false},on:{\"dialog-confirmed\":function($event){_vm.technologyDialogOpen = false}}}),_c('settings-dialog')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-card',[_c('v-btn',{staticClass:\"mt-4\",attrs:{\"aria-label\":\"Lukk\",\"absolute\":\"\",\"right\":\"\",\"icon\":\"\"},on:{\"click\":_vm.emitDialogClosedEvent}},[_c('v-icon',[_vm._v(\"mdi-close-circle-outline\")])],1),_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"Ã…pne kart\")]),_c('v-card-text',[_c('p',[_vm._v(\"\\n Klikk pÃ¥ et kart i listen under for Ã¥ Ã¥pne kartet. Du kan fjerne\\n kart fra listen ved Ã¥ klikke pÃ¥ søppelbøtteikonet.\\n \")]),_c('v-tabs',{attrs:{\"slider-color\":\"primary\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_vm._l((_vm.projectCategories),function(projectCategory,index){return _c('v-tab',{key:index,attrs:{\"ripple\":\"\"}},[_vm._v(_vm._s(projectCategory.title))])}),_vm._l((_vm.projectCategories),function(projectCategory,index){return _c('v-tab-item',{key:index},[_c('v-card',{attrs:{\"flat\":\"\"}},[(\n projectCategory.hasOwnProperty('projects') &&\n projectCategory.projects.length > 0\n )?_c('v-card-text',[_c('v-text-field',{directives:[{name:\"show\",rawName:\"v-show\",value:(projectCategory.projects.length > 5),expression:\"projectCategory.projects.length > 5\"}],staticClass:\"secondary\",staticStyle:{\"position\":\"sticky\",\"top\":\"0px\",\"z-index\":\"100\"},attrs:{\"label\":\"\",\"clearable\":\"\",\"hide-details\":\"\",\"single-line\":\"\",\"absolute\":\"\",\"placeholder\":\"Søk..\",\"box\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-list',{attrs:{\"two-line\":\"\"}},[_vm._l((projectCategory.projects),function(project,index){return [_c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.search === null ||\n _vm.search === '' ||\n project.attributes.tittel\n .toLowerCase()\n .includes(_vm.search.toLowerCase())\n ),expression:\"\\n search === null ||\\n search === '' ||\\n project.attributes.tittel\\n .toLowerCase()\\n .includes(search.toLowerCase())\\n \"}],key:project.attributes.GlobalID,class:{\n 'highlight-project':\n project.attributes.GlobalID ==\n (_vm.selectedProject\n ? _vm.selectedProject.attributes.GlobalID\n : null)\n },attrs:{\"avatar\":\"\"},on:{\"click\":function($event){return _vm.selectProject(project)}}},[_c('v-list-tile-avatar',[_c('v-icon',[_vm._v(\"folder\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"\\n \"+_vm._s(project.attributes.tittel)+\"\\n \")]),_c('v-list-tile-sub-title',[_vm._v(\"\\n Sist endret:\\n \"+_vm._s(_vm._f(\"moment\")(project.attributes.EditDate,\"dddd, Do MMMM YYYY\"))+\"\\n \")])],1),_c('v-spacer'),_c('v-list-tile-action',[_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showConfirmRemoveFromListDialog(project)}}},on),[_c('v-icon',[_vm._v(\"mdi-delete-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Fjern fra liste\")])])],1)],1),(index != _vm.privateProjects.length - 1)?_c('v-divider',{key:project.attributes.GlobalID + 'divider'}):_vm._e()]})],2)],1):_c('v-card-text',[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loadingSavedProjects),expression:\"!loadingSavedProjects\"}]},[_vm._v(\"\\n Du har ingen lagrede eller delte kart.\\n \")]),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loadingSavedProjects),expression:\"loadingSavedProjects\"}],attrs:{\"align-center\":\"\",\"justify-center\":\"\",\"row\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1)],1)],1)],1)})],2),_c('p',{staticClass:\"ml-2\"},[_vm._v(\"\\n Lenker til lagrede og delte kart lagres kun i nettleseren din. Klikk\\n 'Last ned kopi av delte og lagrede kart' for Ã¥ sikkerhetskopiere\\n kartene til din datamaskin. Du kan importere kartene (f.eks. i en\\n annen nettleser) ved Ã¥ klikke 'Importer delte og lagrede kart fra\\n fil' og velge kopien/filen.\\n \")]),_c('v-btn',{attrs:{\"outline\":\"\"},on:{\"click\":_vm.downloadLastVisitedMapsAsFile}},[_vm._v(\"Last ned kopi av delte og lagrede kart\")]),_c('v-btn',{attrs:{\"outline\":\"\"},on:{\"click\":function($event){return _vm.$refs.fileImportVisistedMapsBackup.click()}}},[_vm._v(\"Importer delte og lagrede kart fra fil\")]),_c('input',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"fileImportVisistedMapsBackup\",attrs:{\"aria-label\":\"Importer sist besøkte kart\",\"type\":\"file\",\"id\":\"fileImportVisistedMapsBackup\",\"name\":\"files\"},on:{\"change\":_vm.importLastVisitedMaps}})],1),_c('v-divider')],1)],1),_c('confirm-dialog',{attrs:{\"active\":_vm.confirmDialog,\"text\":_vm.saveExisitingProjectDialogText,\"title\":\"Lagre kart\",\"confirm-text\":\"Ja\",\"reject-text\":\"Nei\"},on:{\"dialog-confirmed\":_vm.saveExistingProjectAndOpenSelected,\"dialog-rejected\":_vm.openProject}}),_c('confirm-dialog',{attrs:{\"active\":_vm.confirmRemoveFromListDialog,\"text\":_vm.confirmRemoveFromListDialogText,\"title\":\"Fjern kart fra liste\",\"confirm-text\":\"Ja\",\"reject-text\":\"Nei\"},on:{\"dialog-confirmed\":_vm.removeMapFromList,\"dialog-rejected\":_vm.resetRemoveFromListDialog}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-dialog v-model=\"active\" persistent width=\"500\">\r\n <v-card>\r\n <v-btn aria-label=\"Lukk\" absolute right icon class=\"mt-4\" @click=\"emitDialogClosedEvent\">\r\n <v-icon>mdi-close-circle-outline</v-icon>\r\n </v-btn>\r\n <v-card-title class=\"headline\" primary-title>Ã…pne kart</v-card-title>\r\n\r\n <v-card-text>\r\n <p>\r\n Klikk pÃ¥ et kart i listen under for Ã¥ Ã¥pne kartet. Du kan fjerne\r\n kart fra listen ved Ã¥ klikke pÃ¥ søppelbøtteikonet.\r\n </p>\r\n\r\n <v-tabs slider-color=\"primary\" v-model=\"activeTab\">\r\n <v-tab\r\n ripple\r\n v-for=\"(projectCategory, index) in projectCategories\"\r\n :key=\"index\"\r\n >{{ projectCategory.title }}</v-tab\r\n >\r\n <v-tab-item\r\n v-for=\"(projectCategory, index) in projectCategories\"\r\n :key=\"index\"\r\n >\r\n <v-card flat>\r\n <!-- <v-card-text v-if=\"!userIsLoggedIn && projectCategory.requiresLogin\">\r\n <p>Du kan ikke se private kart fordi du ikke er logget inn.</p>-->\r\n <!-- <sign-in-sign-out @user-logged-in=\"getSavedProjects\" /> -->\r\n <!-- </v-card-text> -->\r\n <v-card-text\r\n v-if=\"\r\n projectCategory.hasOwnProperty('projects') &&\r\n projectCategory.projects.length > 0\r\n \"\r\n >\r\n <v-text-field\r\n v-show=\"projectCategory.projects.length > 5\"\r\n label\r\n clearable\r\n hide-details\r\n class=\"secondary\"\r\n single-line\r\n absolute\r\n v-model=\"search\"\r\n style=\"position: sticky;top: 0px; z-index: 100; \"\r\n placeholder=\"Søk..\"\r\n box\r\n ></v-text-field>\r\n <v-list two-line>\r\n <template\r\n v-for=\"(project, index) in projectCategory.projects\"\r\n >\r\n <v-list-tile\r\n v-show=\"\r\n search === null ||\r\n search === '' ||\r\n project.attributes.tittel\r\n .toLowerCase()\r\n .includes(search.toLowerCase())\r\n \"\r\n :class=\"{\r\n 'highlight-project':\r\n project.attributes.GlobalID ==\r\n (selectedProject\r\n ? selectedProject.attributes.GlobalID\r\n : null)\r\n }\"\r\n avatar\r\n :key=\"project.attributes.GlobalID\"\r\n @click=\"selectProject(project)\"\r\n >\r\n <v-list-tile-avatar>\r\n <v-icon>folder</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>\r\n {{ project.attributes.tittel }}\r\n </v-list-tile-title>\r\n <v-list-tile-sub-title>\r\n Sist endret:\r\n {{\r\n project.attributes.EditDate\r\n | moment(\"dddd, Do MMMM YYYY\")\r\n }}\r\n </v-list-tile-sub-title>\r\n </v-list-tile-content>\r\n <v-spacer />\r\n <v-list-tile-action>\r\n <v-tooltip left>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n @click.stop=\"\r\n showConfirmRemoveFromListDialog(project)\r\n \"\r\n v-on=\"on\"\r\n fab\r\n small\r\n icon\r\n >\r\n <v-icon>mdi-delete-outline</v-icon>\r\n </v-btn>\r\n </template>\r\n <span>Fjern fra liste</span>\r\n </v-tooltip>\r\n </v-list-tile-action>\r\n </v-list-tile>\r\n <v-divider\r\n v-if=\"index != privateProjects.length - 1\"\r\n :key=\"project.attributes.GlobalID + 'divider'\"\r\n ></v-divider>\r\n </template>\r\n </v-list>\r\n </v-card-text>\r\n <v-card-text v-else>\r\n <p v-show=\"!loadingSavedProjects\">\r\n Du har ingen lagrede eller delte kart.\r\n </p>\r\n <v-layout\r\n align-center\r\n justify-center\r\n v-show=\"loadingSavedProjects\"\r\n row\r\n >\r\n <v-progress-circular\r\n indeterminate\r\n color=\"primary\"\r\n ></v-progress-circular>\r\n </v-layout>\r\n </v-card-text>\r\n </v-card>\r\n </v-tab-item>\r\n </v-tabs>\r\n\r\n <p class=\"ml-2\">\r\n Lenker til lagrede og delte kart lagres kun i nettleseren din. Klikk\r\n 'Last ned kopi av delte og lagrede kart' for Ã¥ sikkerhetskopiere\r\n kartene til din datamaskin. Du kan importere kartene (f.eks. i en\r\n annen nettleser) ved Ã¥ klikke 'Importer delte og lagrede kart fra\r\n fil' og velge kopien/filen.\r\n </p>\r\n <v-btn outline @click=\"downloadLastVisitedMapsAsFile\"\r\n >Last ned kopi av delte og lagrede kart</v-btn\r\n >\r\n <v-btn outline @click=\"$refs.fileImportVisistedMapsBackup.click()\"\r\n >Importer delte og lagrede kart fra fil</v-btn\r\n >\r\n\r\n <input\r\n v-show=\"false\"\r\n aria-label=\"Importer sist besøkte kart\"\r\n type=\"file\"\r\n @change=\"importLastVisitedMaps\"\r\n ref=\"fileImportVisistedMapsBackup\"\r\n id=\"fileImportVisistedMapsBackup\"\r\n name=\"files\"\r\n />\r\n </v-card-text>\r\n\r\n <v-divider></v-divider>\r\n\r\n <!-- <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn\r\n flat\r\n color=\"primary\"\r\n :disabled=\"selectedProject == null\"\r\n @click=\"checkNeedForSavingExistingProject\"\r\n >Ã…pne valgt kart</v-btn\r\n >\r\n <v-btn flat @click=\"emitDialogClosedEvent\">Avbryt</v-btn>\r\n </v-card-actions> -->\r\n </v-card>\r\n </v-dialog>\r\n\r\n <confirm-dialog\r\n :active=\"confirmDialog\"\r\n :text=\"saveExisitingProjectDialogText\"\r\n title=\"Lagre kart\"\r\n confirm-text=\"Ja\"\r\n reject-text=\"Nei\"\r\n @dialog-confirmed=\"saveExistingProjectAndOpenSelected\"\r\n @dialog-rejected=\"openProject\"\r\n />\r\n\r\n <confirm-dialog\r\n :active=\"confirmRemoveFromListDialog\"\r\n :text=\"confirmRemoveFromListDialogText\"\r\n title=\"Fjern kart fra liste\"\r\n confirm-text=\"Ja\"\r\n reject-text=\"Nei\"\r\n @dialog-confirmed=\"removeMapFromList\"\r\n @dialog-rejected=\"resetRemoveFromListDialog\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport ConfirmDialog from \"@/components/ConfirmDialog\";\r\n\r\nexport default {\r\n name: \"OpenProjectDialog\",\r\n components: { ConfirmDialog },\r\n mixins: [MappingMixin],\r\n computed: {\r\n ...mapState([\r\n \"currentlyOpenedProject\",\r\n \"userIsLoggedIn\",\r\n \"userAccount\",\r\n \"lastVisitedMaps\"\r\n ]),\r\n privateProjects() {\r\n return this.savedMaps.filter(savedProject => {\r\n if (this.userAccount == null) {\r\n return false;\r\n } else {\r\n return (\r\n savedProject.attributes.eier == this.userAccount.accountIdentifier\r\n );\r\n }\r\n });\r\n },\r\n publicProjects() {\r\n return this.savedMaps\r\n .filter(savedProject => {\r\n if (this.userAccount == null) {\r\n return true;\r\n } else {\r\n return (\r\n savedProject.attributes.eier !==\r\n this.userAccount.accountIdentifier\r\n );\r\n }\r\n })\r\n .sort((a, b) => {\r\n return b.attributes.EditDate - a.attributes.EditDate;\r\n });\r\n },\r\n projectCategories() {\r\n return [\r\n {\r\n title: \"Delte og lagrede kart\",\r\n projects: this.publicProjects,\r\n requiresLogin: false\r\n }\r\n ];\r\n },\r\n saveExisitingProjectDialogText() {\r\n if (this.currentlyOpenedProject) {\r\n return (\r\n \"Ønsker du Ã¥ lagre endringene i kartet '\" +\r\n this.currentlyOpenedProject.attributes.tittel +\r\n \"'?\"\r\n );\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n confirmRemoveFromListDialogText() {\r\n if (this.mapToRemoveFromList !== null) {\r\n return (\r\n \"Er du sikker pÃ¥ at du ønsker Ã¥ fjerne kartet \" +\r\n this.mapToRemoveFromList.attributes.tittel +\r\n \" fra listen? Merk: Denne handlingen kan ikke angres.\"\r\n );\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n },\r\n data: () => ({\r\n dialog: false,\r\n confirmDialog: false,\r\n savedMaps: [],\r\n mapToRemoveFromList: null,\r\n selectedProject: null,\r\n confirmRemoveFromListDialog: false,\r\n activeTab: null,\r\n loadingSavedProjects: false,\r\n search: \"\"\r\n }),\r\n props: {\r\n active: Boolean\r\n },\r\n watch: {\r\n active: function(newVal) {\r\n if (newVal == true) {\r\n this.getSavedProjects();\r\n this.activeTab = 0;\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\"setSnack\", \"removeLastVisitedMap\", \"addLastVisitedMap\"]),\r\n emitDialogClosedEvent() {\r\n this.$emit(\"close-dialog\");\r\n },\r\n showConfirmRemoveFromListDialog(map) {\r\n this.mapToRemoveFromList = map;\r\n this.confirmRemoveFromListDialog = true;\r\n },\r\n removeMapFromList() {\r\n this.removeLastVisitedMap({\r\n id: this.mapToRemoveFromList.attributes.GlobalID\r\n });\r\n let index = this.savedMaps.findIndex(\r\n map =>\r\n map.attributes.GlobalID ===\r\n this.mapToRemoveFromList.attributes.GlobalID\r\n );\r\n this.savedMaps.splice(index, 1);\r\n this.resetRemoveFromListDialog();\r\n },\r\n resetRemoveFromListDialog() {\r\n this.mapToRemoveFromList = null;\r\n this.confirmRemoveFromListDialog = false;\r\n },\r\n getSavedProjects() {\r\n this.loadingSavedProjects = true;\r\n this.savedMaps = [];\r\n\r\n let promises = [];\r\n\r\n this.lastVisitedMaps.forEach(lastVisitedMap => {\r\n promises.push(this.getProjectByID(lastVisitedMap.id));\r\n });\r\n\r\n Promise.all(promises).then(results => {\r\n this.loadingSavedProjects = false;\r\n results.forEach(result => {\r\n if (typeof result !== \"undefined\") this.savedMaps.push(result);\r\n });\r\n });\r\n },\r\n downloadLastVisitedMapsAsFile() {\r\n var a = document.createElement(\"a\");\r\n var file = new Blob([JSON.stringify(this.lastVisitedMaps)], {\r\n type: \"application/json\"\r\n });\r\n a.href = URL.createObjectURL(file);\r\n a.download = \"NVE_temakart_lagrede_kart_backup.json\";\r\n a.click();\r\n },\r\n importLastVisitedMaps(evt) {\r\n var files = evt.target.files; // FileList object\r\n var f = files[0];\r\n var reader = new FileReader();\r\n\r\n // Closure to capture the file information.\r\n reader.onload = (() => {\r\n return e => {\r\n // Render thumbnail.\r\n let JsonObj = JSON.parse(e.target.result);\r\n\r\n if (\r\n JsonObj !== null &&\r\n JsonObj.hasOwnProperty(\"length\") &&\r\n JsonObj.length > 0\r\n ) {\r\n JsonObj.forEach(visitedMap => {\r\n this.addLastVisitedMap(visitedMap);\r\n });\r\n this.getSavedProjects();\r\n document.getElementById(\"fileImportVisistedMapsBackup\").value = \"\";\r\n }\r\n };\r\n })(f);\r\n\r\n // Read in the image file as a data URL.\r\n reader.readAsText(f);\r\n },\r\n selectProject(project) {\r\n this.selectedProject = project;\r\n project.isSelected = true;\r\n this.checkNeedForSavingExistingProject();\r\n },\r\n checkNeedForSavingExistingProject() {\r\n this.emitDialogClosedEvent();\r\n if (this.currentlyOpenedProject !== null && this.saveIsEnabled) {\r\n this.openConfirmDialog();\r\n } else {\r\n this.openProject();\r\n }\r\n },\r\n closeConfirmDialog() {\r\n this.confirmDialog = false;\r\n },\r\n openConfirmDialog() {\r\n this.confirmDialog = true;\r\n },\r\n saveExistingProjectAndOpenSelected() {\r\n this.closeConfirmDialog();\r\n this.saveMap(this.currentlyOpenedProject).then(() => {\r\n this.openProject();\r\n });\r\n },\r\n userHasPrivilegesToSave(project) {\r\n if (\r\n this.userAccount !== null &&\r\n this.userAccount.accountIdentifier === project.attributes.eier\r\n ) {\r\n return true;\r\n } else {\r\n let lastVisitedMap = this.lastVisitedMaps.find(lastVisitedMap => {\r\n return (\r\n lastVisitedMap.id.toLowerCase() ===\r\n project.attributes.GlobalID.toLowerCase()\r\n );\r\n });\r\n\r\n if (\r\n typeof lastVisitedMap !== \"undefined\" &&\r\n lastVisitedMap.hash ===\r\n project.attributes.GlobalID.toLowerCase().hashCode()\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n openProject() {\r\n this.closeConfirmDialog();\r\n\r\n this.openSavedMap({\r\n map: this.selectedProject,\r\n allowSave: this.userHasPrivilegesToSave(this.selectedProject)\r\n });\r\n this.setSnack(\r\n \"Ã…pnet kart '\" + this.selectedProject.attributes.tittel + \"'\"\r\n );\r\n }\r\n },\r\n mounted() {\r\n this.getSavedProjects();\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.highlight-project {\r\n background: lightgray;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenProjectDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenProjectDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OpenProjectDialog.vue?vue&type=template&id=668d2978&scoped=true\"\nimport script from \"./OpenProjectDialog.vue?vue&type=script&lang=js\"\nexport * from \"./OpenProjectDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./OpenProjectDialog.vue?vue&type=style&index=0&id=668d2978&prod&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 \"668d2978\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.settingsDialogActive),callback:function ($$v) {_vm.settingsDialogActive=$$v},expression:\"settingsDialogActive\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_c('v-icon',{staticClass:\"pr-2\"},[_vm._v(\"mdi-settings\")]),_vm._v(\"Innstillinger\\n \")],1),_c('v-card-text',[_c('p',[_vm._v(\"\\n Her kan du endre innstillingene til \"+_vm._s(_vm.appTitle)+\". Valgene du gjør\\n her lagres i nettleseren din og huskes til neste gang du bruker\\n løsningen. De fleste innstillingene trer i kraft umiddelbart, bortsett\\n fra innstillinger knyttet til tegning, som trer i kraft neste gang\\n tegnemodus aktiveres.\\n \")]),_vm._l((_vm.settingsMetadata),function(settingCategory){return _c('div',{key:settingCategory.name},[_c('v-subheader',{staticClass:\"pl-1 pb-0\"},[_vm._v(_vm._s(settingCategory.title))]),_vm._l((settingCategory.settings),function(setting){return [(setting.type === 'select')?_c('v-select',{key:setting.id,attrs:{\"items\":setting.options,\"value\":_vm.userSettings[setting.id],\"return-object\":true,\"item-text\":\"name\",\"box\":\"\",\"label\":setting.name,\"dense\":\"\",\"flat\":\"\"},on:{\"change\":function($event){return _vm.updateSetting(setting.id, $event)}}}):_vm._e(),(setting.type === 'checkbox')?_c('v-checkbox',{key:setting.id,attrs:{\"value\":_vm.userSettings[setting.id],\"color\":\"primary\",\"label\":setting.name},on:{\"change\":function($event){return _vm.updateSetting(setting.id, $event)}}}):_vm._e()]})],2)})],2),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.resetUserSettings}},[_vm._v(\"\\n Tilbakestill innstillinger\\n \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\"\\n Ferdig\\n \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog scrollable v-model=\"settingsDialogActive\" persistent width=\"500\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>\r\n <v-icon class=\"pr-2\">mdi-settings</v-icon>Innstillinger\r\n </v-card-title>\r\n <v-card-text>\r\n <p>\r\n Her kan du endre innstillingene til {{ appTitle }}. Valgene du gjør\r\n her lagres i nettleseren din og huskes til neste gang du bruker\r\n løsningen. De fleste innstillingene trer i kraft umiddelbart, bortsett\r\n fra innstillinger knyttet til tegning, som trer i kraft neste gang\r\n tegnemodus aktiveres.\r\n </p>\r\n <div\r\n v-for=\"settingCategory in settingsMetadata\"\r\n :key=\"settingCategory.name\"\r\n >\r\n <v-subheader class=\"pl-1 pb-0\">{{\r\n settingCategory.title\r\n }}</v-subheader>\r\n <template v-for=\"setting in settingCategory.settings\">\r\n <v-select\r\n :key=\"setting.id\"\r\n v-if=\"setting.type === 'select'\"\r\n :items=\"setting.options\"\r\n :value=\"userSettings[setting.id]\"\r\n :return-object=\"true\"\r\n item-text=\"name\"\r\n @change=\"updateSetting(setting.id, $event)\"\r\n box\r\n :label=\"setting.name\"\r\n dense\r\n flat\r\n ></v-select>\r\n <v-checkbox\r\n v-if=\"setting.type === 'checkbox'\"\r\n :key=\"setting.id\"\r\n :value=\"userSettings[setting.id]\"\r\n color=\"primary\"\r\n @change=\"updateSetting(setting.id, $event)\"\r\n :label=\"setting.name\"\r\n ></v-checkbox>\r\n </template>\r\n </div>\r\n </v-card-text>\r\n <v-divider></v-divider>\r\n <v-card-actions>\r\n <v-btn flat @click=\"resetUserSettings\">\r\n Tilbakestill innstillinger\r\n </v-btn>\r\n <v-spacer></v-spacer>\r\n <v-btn flat @click=\"close\">\r\n Ferdig\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { mapActions, mapState } from \"vuex\";\r\nexport default {\r\n computed: {\r\n ...mapState([\"appTitle\", \"settingsMetadata\", \"userSettings\"]),\r\n settingsDialogActive: {\r\n set(settingsDialogActive) {\r\n this.$store.dispatch(\"setSettingsDialogActive\", settingsDialogActive);\r\n },\r\n get() {\r\n return this.$store.state.settingsDialogActive;\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n selectedTheme: null\r\n };\r\n },\r\n methods: {\r\n ...mapActions([\"setUserSetting\", \"resetUserSettings\"]),\r\n close() {\r\n this.settingsDialogActive = false;\r\n },\r\n updateSetting(id, evt) {\r\n let value =\r\n evt === null ? false : evt.hasOwnProperty(\"value\") ? evt.value : evt;\r\n this.setUserSetting({\r\n id: id,\r\n value: value\r\n });\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SettingsDialog.vue?vue&type=template&id=dfd894da\"\nimport script from \"./SettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsDialog.vue?vue&type=script&lang=js\"\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","<template>\r\n <v-navigation-drawer\r\n id=\"appNavigationDrawer\"\r\n style=\"z-index: 1000\"\r\n :class=\"{ 'elevation-8': $vuetify.breakpoint.mdAndUp }\"\r\n absolute\r\n :temporary=\"true\"\r\n v-model=\"showAppDrawer\"\r\n >\r\n <v-toolbar\r\n id=\"appNavigationDrawerToolbar\"\r\n style=\"margin.bottom: 10px;\"\r\n color=\"primary white--text\"\r\n >\r\n <img alt=\"NVE logo\" style=\"height: 40px;\" :src=\"getImgUrl(logoImagePath)\" />\r\n <v-toolbar-title>{{ appTitle }}</v-toolbar-title>\r\n <v-spacer></v-spacer>\r\n <v-btn label=\"Lukk meny\" aria-label=\"Lukk meny\" @click=\"hideAppDrawer\" class=\"white--text\" icon>\r\n <v-icon>chevron_left</v-icon>\r\n </v-btn>\r\n </v-toolbar>\r\n\r\n <v-list>\r\n <v-subheader>Mine kart</v-subheader>\r\n <v-list-tile @click=\"openCreateNewEmptyDialog\">\r\n <v-list-tile-avatar size=\"25\">\r\n <v-icon>mdi-file-outline</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Tomt kart</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n <v-list-tile @click=\"activateOpenProjectDialog\">\r\n <v-list-tile-avatar size=\"25\">\r\n <v-icon>mdi-folder-open</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Ã…pne kart</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile @click=\"saveProject\" :disabled=\"!saveIsEnabled\">\r\n <v-list-tile-avatar size=\"25\">\r\n <v-icon>mdi-content-save</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Lagre kart</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile @click=\"saveProjectAs()\" :disabled=\"!currentlyOpenedProject\">\r\n <v-list-tile-avatar size=\"25\">\r\n <v-icon>mdi-content-save-settings-outline</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Lagre som..</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </v-list>\r\n <v-divider />\r\n\r\n <v-subheader>Bakgrunn</v-subheader>\r\n\r\n <v-list v-if=\"basemaps && selectedBasemap\">\r\n <v-list-tile\r\n v-for=\"item in basemaps\"\r\n :key=\"item.id\"\r\n @click=\"selectedBasemap = item\"\r\n >\r\n <v-list-tile-avatar size=\"30\">\r\n <img :alt=\"'Bilde som representerer bakgrunnskart ' + item.title\" :src=\"item.thumbnailUrl\" />\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title\r\n :class=\"{ 'blue--text': selectedBasemap.id == item.id }\"\r\n >{{ item.title }}</v-list-tile-title\r\n >\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </v-list>\r\n <v-divider></v-divider>\r\n\r\n <v-list>\r\n <v-subheader>Verktøy</v-subheader>\r\n <v-list-tile\r\n v-for=\"(item, name) in tools\"\r\n v-show=\"\r\n !item.hasOwnProperty('hideInMenus') || item.hideInMenus === false\r\n \"\r\n :key=\"name\"\r\n @click=\"toggleContent(name)\"\r\n >\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon v-if=\"item.icon\">{{ item.icon }}</v-icon>\r\n <span v-if=\"item.text\" style=\"font-weight: bold; color: gray\">\r\n {{ item.text }}\r\n </span>\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title :class=\"{ 'blue--text': item.active }\">\r\n {{ item.title }}\r\n </v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile @click=\"togglePhotoStreamActivated\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-camera</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>{{\r\n photoStreamIsActivated ? \"Skjul fotostrøm\" : \"Vis fotostrøm\"\r\n }}</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-divider></v-divider>\r\n\r\n <v-subheader>Om løsningen</v-subheader>\r\n\r\n <v-list-tile\r\n :href=\"\r\n 'mailto:gisstotte@nve.no?Subject=' + appTitle + '%20tilbakemelding'\r\n \"\r\n target=\"_top\"\r\n >\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-message</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Kontakt oss</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile\r\n href=\"https://www.nve.no/nves-personvernerklaering/\" \r\n >\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-human</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Personvern</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile :disabled=\"guideIsRunning\" @click=\"showGuide\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-lifebuoy</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Vis guide</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile @click=\"showTechnologyPopup\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-file-code-outline</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Teknologi</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile @click=\"showSettingsDialog\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-settings</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>Innstillinger</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-divider />\r\n\r\n <v-subheader>Lenker</v-subheader>\r\n\r\n <v-list-tile href=\"https://www.nve.no\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-link</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>NVE.no forsiden</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile href=\"https://atlas.nve.no\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-link</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>NVE Atlas</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n\r\n <v-list-tile href=\"https://nedlasting.nve.no/gis/\">\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon>mdi-link</v-icon>\r\n </v-list-tile-avatar>\r\n <v-list-tile-content>\r\n <v-list-tile-title>NVE Nedlasting av fagdata</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </v-list>\r\n\r\n <v-divider />\r\n <p style=\"padding: 15px; font-size: 12px;\">\r\n Attribusjon for kartdata: Kartverket, Geovekst og kommuner - Geodata AS |\r\n NVEs kartdata distribueres i henhold til\r\n <a href=\"https://data.norge.no/nlod/no\"\r\n >Norsk lisens for offentlige data (NLOD).</a\r\n >\r\n </p>\r\n\r\n <open-project-dialog\r\n :active=\"openProjectDialogActive\"\r\n @close-dialog=\"deactivateOpenProjectDialog\"\r\n ></open-project-dialog>\r\n <save-project-dialog\r\n v-if=\"saveProjectDialogActive\"\r\n :active=\"saveProjectDialogActive\"\r\n :save-project-settings=\"saveProjectSettings\"\r\n @close-dialog=\"deactivateSaveProjectDialog\"\r\n ></save-project-dialog>\r\n\r\n <confirm-dialog\r\n :active=\"confirmNewEmptyProjectDialog\"\r\n :text=\"confirmNewEmptyProjectDialogText\"\r\n title=\"Ã…pne nytt tomt kart\"\r\n confirm-text=\"Ja\"\r\n reject-text=\"Nei\"\r\n @dialog-confirmed=\"createNewEmptyProject\"\r\n @dialog-rejected=\"closeConfirmNewEmptyProjectDialog\"\r\n />\r\n\r\n <confirm-dialog\r\n :active=\"technologyDialogOpen\"\r\n text=\"<p>Denne applikasjonen er utviklet av NVE. Applikasjonen er først og fremst en innsynsklient mot NVE sine kartdata, men tilbyr ogsÃ¥ andre GIS-funksjoner og analyser.</p><p>Applikasjonen er laget med Javascript, HTML og CSS. Rammeverkene Vue, Vuex og Vuetify er brukt for brukergrensesnitt og tilstandshÃ¥ndtering. Kartvisning, kartverktøy og kommunikasjon med karttjenester hÃ¥ndteres ved hjelp av ArcGIS API for Javascript.</p><p>Kartdata hentes i hovedsak fra ArcGIS-baserte REST tjenester. Bakgrunnskart, høydemodell, adressesøk, og 3D bygg hentes fra tjenester som tilbys via Geodata Online. Kartdata fra NVE hentes fra karttjenestene vÃ¥re. Tjenestene til NVE er i de fleste tilfeller Ã¥pne og kan brukes av alle.</p>\"\r\n title=\"Teknologien bak løsningen\"\r\n confirm-text=\"Lukk\"\r\n :show-reject-button=\"false\"\r\n @dialog-confirmed=\"technologyDialogOpen = false\"\r\n />\r\n\r\n <settings-dialog />\r\n </v-navigation-drawer>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport OpenProjectDialog from \"@/pages/MapPage/Tools/Saving/OpenProjectDialog\";\r\nimport SaveProjectDialog from \"@/pages/MapPage/Tools/Saving/SaveProjectDialog\";\r\nimport SettingsDialog from \"@/components/SettingsDialog\";\r\nimport ConfirmDialog from \"@/components/ConfirmDialog\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport BasemapMixin from \"@/mixins/basemapMixin\";\r\n\r\nexport default {\r\n name: \"TheAppDrawer\",\r\n components: {\r\n OpenProjectDialog,\r\n SaveProjectDialog,\r\n ConfirmDialog,\r\n SettingsDialog\r\n },\r\n mixins: [MappingMixin, BasemapMixin],\r\n computed: {\r\n ...mapState([\r\n \"appTitle\",\r\n \"basemaps\",\r\n \"tools\",\r\n \"currentlyOpenedProject\",\r\n \"saveIsEnabled\",\r\n \"guideIsRunning\",\r\n \"isConnectedToIntranet\",\r\n \"logoImagePath\"\r\n ]),\r\n photoStreamIsActivated: {\r\n set(photoStreamIsActivated) {\r\n this.setPhotoStreamIsActivated(photoStreamIsActivated);\r\n },\r\n get() {\r\n return this.$store.state.photoStreamIsActivated;\r\n }\r\n },\r\n confirmNewEmptyProjectDialogText() {\r\n if (this.currentlyOpenedProject == null) {\r\n return \"NÃ¥r man oppretter et nytt tomt kart vil alt innhold fjernes fra kartet. Er du sikker pÃ¥ at du ønsker Ã¥ fortsette?\";\r\n } else {\r\n return (\r\n \"Hvis du har gjort endringer i kartet '\" +\r\n this.currentlyOpenedProject.attributes.tittel +\r\n \"' som du ønsker Ã¥ ta vare pÃ¥ mÃ¥ disse lagres før du fortsetter. Er du sikker pÃ¥ at du ønsker Ã¥ fortsette?\"\r\n );\r\n }\r\n },\r\n selectedBasemap: {\r\n set(selectedBasemap) {\r\n this.setBasemap(selectedBasemap);\r\n this.hideAppDrawer();\r\n },\r\n get() {\r\n return this.$store.state.selectedBasemap;\r\n }\r\n },\r\n showAppDrawer: {\r\n set(showAppDrawer) {\r\n this.setShowAppDrawer(showAppDrawer); // bytte til setShowAppDrawer\r\n },\r\n get() {\r\n return this.$store.state.showAppDrawer;\r\n }\r\n }\r\n },\r\n watch: {\r\n showAppDrawer(newVal) {\r\n if (!newVal) {\r\n this.scrollToTop();\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"enableSave\",\r\n \"setSnack\",\r\n \"removeCurrentlyOpenedProject\",\r\n \"setGuideIsRunning\",\r\n \"setSettingsDialogActive\",\r\n \"setPhotoStreamIsActivated\",\r\n \"setShowAppDrawer\"\r\n ]),\r\n getImgUrl(svgName) {\r\n let images = require.context(\"../../../assets/\", false, /\\.(svg|png)$/);\r\n return images(\"./\" + svgName);\r\n },\r\n togglePhotoStreamActivated: function() {\r\n this.photoStreamIsActivated = !this.photoStreamIsActivated;\r\n this.hideAppDrawer();\r\n },\r\n showTechnologyPopup: function() {\r\n this.technologyDialogOpen = true;\r\n this.hideAppDrawer();\r\n },\r\n scrollToTop: function() {\r\n this.$vuetify.goTo(\"#appNavigationDrawerToolbar\", {\r\n container: \"#appNavigationDrawer\",\r\n offset: 0\r\n });\r\n },\r\n hideAppDrawer: function() {\r\n this.scrollToTop();\r\n this.setShowAppDrawer(false);\r\n },\r\n showSettingsDialog: function() {\r\n this.hideAppDrawer();\r\n this.setSettingsDialogActive(true);\r\n },\r\n showGuide: function() {\r\n this.$tours[\"myTour\"].start();\r\n this.setGuideIsRunning(true);\r\n this.hideAppDrawer();\r\n },\r\n goToCatalogue: function() {\r\n this.hideAppDrawer();\r\n this.$router.push(\"/\");\r\n },\r\n toggleContent: function(toolName) {\r\n this.showAppDrawer = false;\r\n this.$eventHub.$emit(\"toggle-tool\", toolName);\r\n },\r\n openCreateNewEmptyDialog() {\r\n this.confirmNewEmptyProjectDialog = true;\r\n this.hideAppDrawer();\r\n },\r\n createNewEmptyProject() {\r\n this.removeAllMapProfiles();\r\n this.removeCurrentlyOpenedProject();\r\n this.enableSave();\r\n this.closeConfirmNewEmptyProjectDialog();\r\n },\r\n closeConfirmNewEmptyProjectDialog() {\r\n this.confirmNewEmptyProjectDialog = false;\r\n },\r\n saveProject() {\r\n this.hideAppDrawer();\r\n if (this.currentlyOpenedProject == null) {\r\n this.saveProjectSettings = false;\r\n this.activateSaveProjectDialog();\r\n } else {\r\n this.projectSaveInProgress = true;\r\n this.saveMap(this.currentlyOpenedProject)\r\n .then(result => {\r\n if (!result) {\r\n this.setSnack(\r\n \"Lagring ble ikke gjennomført. Kun eier kan lagre endringer.\"\r\n );\r\n } else {\r\n this.setSnack(\"Kartet ble lagret\");\r\n }\r\n this.projectSaveInProgress = false;\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setSnack(\"Lagring ikke gjennomført. Prøv igjen om litt.\");\r\n });\r\n }\r\n },\r\n changeProjectSettings() {\r\n this.saveProjectSettings = true;\r\n this.activateSaveProjectDialog();\r\n },\r\n saveProjectAs() {\r\n this.hideAppDrawer();\r\n this.saveProjectSettings = false;\r\n this.activateSaveProjectDialog();\r\n },\r\n deactivateOpenProjectDialog() {\r\n this.openProjectDialogActive = false;\r\n },\r\n deactivateSaveProjectDialog() {\r\n this.saveProjectDialogActive = false;\r\n },\r\n deactivateShareProjectDialog() {\r\n this.shareProjectDialogActive = false;\r\n },\r\n activateOpenProjectDialog() {\r\n this.hideAppDrawer();\r\n this.openProjectDialogActive = true;\r\n },\r\n activateSaveProjectDialog() {\r\n this.saveProjectDialogActive = true;\r\n },\r\n activateShareProjectDialog() {\r\n this.shareProjectDialogActive = true;\r\n }\r\n },\r\n data: () => ({\r\n dialog: false,\r\n drawer: false,\r\n openProjectDialogActive: false,\r\n saveProjectDialogActive: false,\r\n projectSaveInProgress: false,\r\n confirmNewEmptyProjectDialog: false,\r\n saveProjectSettings: false,\r\n technologyDialogOpen: false\r\n })\r\n};\r\n</script>\r\n\r\n<style>\r\n.v-overlay--active {\r\n z-index: 1000;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheAppDrawer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheAppDrawer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheAppDrawer.vue?vue&type=template&id=564d360a\"\nimport script from \"./TheAppDrawer.vue?vue&type=script&lang=js\"\nexport * from \"./TheAppDrawer.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheAppDrawer.vue?vue&type=style&index=0&id=564d360a&prod&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 render(){var _vm=this,_c=_vm._self._c;return (_vm.themeProfile)?_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"7px\",\"top\":\"10px\"}},[_c('div',{staticClass:\"menu\",class:{ open: (_vm.showLayerInfoCard || _vm.userShow) && !_vm.showInfoMenu },style:({\n background: _vm.userSettings.useDarkMode ? '#2b2b2b' : 'white',\n color: _vm.userSettings.useDarkMode ? '#FFFFFF' : '#464448'\n })},[(!_vm.showLayerInfoCard)?_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(!_vm.showLayerInfoCard && !_vm.userShow)?_c('v-btn',_vm._g({staticClass:\"menu__button\",staticStyle:{\"position\":\"absolute\",\"right\":\"0px\",\"top\":\"0px\",\"width\":\"40px\",\"height\":\"40px\"},attrs:{\"id\":\"infoButton\",\"label\":\"Se temabeskrivelse\",\"aria-label\":\"Se temabeskrivelse\",\"icon\":\"\",\"absolute\":\"\"},on:{\"click\":_vm.showSmallTile}},on),[_c('v-icon',[_vm._v(\"mdi-information-outline\")])],1):_vm._e()]}}],null,false,627888564)},[_c('span',[_vm._v(\"Se temabeskrivelse\")])]):_vm._e(),(_vm.themeProfile)?_c('div',{staticClass:\"menu__content\",staticStyle:{\"border-radius\":\"5px\"},attrs:{\"data-v-step\":\"1\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\",\"justify-start\":\"\"}},[_c('img',{staticStyle:{\"margin\":\"5px\"},attrs:{\"alt\":\"Bilde som representerer temaet\",\"src\":_vm.themeProfile.hasOwnProperty('mediumImageUrl')\n ? _vm.themeProfile.mediumImageUrl\n : _vm.getImgUrl(_vm.themeProfile.id),\"height\":\"112px\"}}),_c('v-layout',{attrs:{\"column\":\"\"}},[_c('div',{staticStyle:{\"padding-left\":\"10px\",\"white-space\":\"normal\",\"max-height\":\"80px\"}},[_c('div',{staticClass:\"body-2\",staticStyle:{\"text-overflow\":\"ellipsis\",\"white-space\":\"normal\",\"max-height\":\"80px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.themeProfile.HovedTemaforklaring\n ? _vm.themeProfile.hovedTemaTitle\n : _vm.themeProfile.appTitle)+\"\\n \")]),_c('div',{staticClass:\"caption\",class:_vm.userSettings.useDarkMode ? 'fade-dark' : 'fade',staticStyle:{\"overflow\":\"hidden\",\"height\":\"34px\",\"width\":\"290px\"},style:({\n height: _vm.themeProfile.appTitle.length > 40 ? '18px' : '36px'\n })},[_vm._v(\"\\n \"+_vm._s(_vm.profileHasHovedDescription\n ? _vm.themeProfile.HovedTemaforklaring\n : _vm.profileHasDescription\n ? _vm.themeProfile.Temaforklaring\n : \"Ingen beskrivelse\")+\"\\n \")])]),_c('v-spacer'),_c('v-btn',{staticStyle:{\"top\":\"5px\",\"right\":\"5px\"},attrs:{\"color\":\"gray\",\"absolute\":\"\",\"icon\":\"\",\"small\":\"\",\"label\":\"Lukk info\",\"aria-label\":\"Lukk info\"},on:{\"click\":function($event){_vm.showLayerInfoCard = false;\n _vm.userShow = false;}}},[_c('v-icon',{attrs:{\"size\":\"15\",\"color\":\"gray\"}},[_vm._v(\"mdi-close\")])],1),_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\",\"justify-start\":\"\"}},[_c('v-btn',{staticClass:\"ml-2 mr-2 mb-0\",attrs:{\"disabled\":!_vm.profileHasDescription,\"block\":\"\",\"depressed\":\"\",\"color\":\"blue\",\"dark\":\"\"},on:{\"click\":_vm.openInfoMenu}},[_vm._v(\"Vis temabeskrivelse\")])],1)],1)],1)],1):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div\r\n v-if=\"themeProfile\"\r\n style=\"position: absolute; right: 7px; top: 10px;\"\r\n >\r\n <div\r\n class=\"menu\"\r\n :style=\"{\r\n background: userSettings.useDarkMode ? '#2b2b2b' : 'white',\r\n color: userSettings.useDarkMode ? '#FFFFFF' : '#464448'\r\n }\"\r\n :class=\"{ open: (showLayerInfoCard || userShow) && !showInfoMenu }\"\r\n >\r\n <v-tooltip\r\n v-if=\"!showLayerInfoCard\"\r\n left\r\n >\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n v-on=\"on\"\r\n id=\"infoButton\"\r\n label=\"Se temabeskrivelse\"\r\n aria-label=\"Se temabeskrivelse\"\r\n class=\"menu__button\"\r\n v-if=\"!showLayerInfoCard && !userShow\"\r\n @click=\"showSmallTile\"\r\n icon\r\n style=\"position: absolute;right: 0px; top: 0px; width: 40px; height: 40px;\"\r\n absolute\r\n >\r\n <v-icon>mdi-information-outline</v-icon>\r\n </v-btn>\r\n </template>\r\n <span>Se temabeskrivelse</span>\r\n </v-tooltip>\r\n <div\r\n class=\"menu__content\"\r\n style=\"border-radius: 5px\"\r\n data-v-step=\"1\"\r\n v-if=\"themeProfile\"\r\n >\r\n <v-layout\r\n row\r\n align-center\r\n justify-start\r\n >\r\n <img alt=\"Bilde som representerer temaet\"\r\n :src=\"\r\n themeProfile.hasOwnProperty('mediumImageUrl')\r\n ? themeProfile.mediumImageUrl\r\n : getImgUrl(themeProfile.id)\r\n \"\r\n style=\"margin: 5px;\"\r\n height=\"112px\"\r\n />\r\n\r\n <v-layout column>\r\n <div style=\"padding-left: 10px; white-space:normal; max-height: 80px;\">\r\n <div\r\n class=\"body-2\"\r\n style=\"text-overflow: ellipsis; white-space: normal; max-height: 80px;\"\r\n >\r\n {{\r\n themeProfile.HovedTemaforklaring\r\n ? themeProfile.hovedTemaTitle\r\n : themeProfile.appTitle\r\n }}\r\n </div>\r\n <div\r\n :style=\"{\r\n height: themeProfile.appTitle.length > 40 ? '18px' : '36px'\r\n }\"\r\n class=\"caption\"\r\n :class=\"userSettings.useDarkMode ? 'fade-dark' : 'fade'\"\r\n style=\"overflow: hidden; height: 34px; width: 290px;\"\r\n >\r\n {{\r\n profileHasHovedDescription\r\n ? themeProfile.HovedTemaforklaring\r\n : profileHasDescription\r\n ? themeProfile.Temaforklaring\r\n : \"Ingen beskrivelse\"\r\n }}\r\n </div>\r\n </div>\r\n\r\n <v-spacer />\r\n\r\n <v-btn\r\n @click=\"\r\n showLayerInfoCard = false;\r\n userShow = false;\r\n \"\r\n color=\"gray\"\r\n absolute\r\n style=\"top: 5px; right: 5px\"\r\n icon\r\n small\r\n label=\"Lukk info\"\r\n aria-label=\"Lukk info\"\r\n >\r\n <v-icon\r\n size=\"15\"\r\n color=\"gray\"\r\n >mdi-close</v-icon>\r\n </v-btn>\r\n\r\n <v-layout\r\n row\r\n align-center\r\n justify-start\r\n >\r\n <v-btn\r\n @click=\"openInfoMenu\"\r\n :disabled=\"!profileHasDescription\"\r\n block\r\n class=\"ml-2 mr-2 mb-0\"\r\n depressed\r\n color=\"blue\"\r\n dark\r\n >Vis temabeskrivelse</v-btn>\r\n </v-layout>\r\n </v-layout>\r\n </v-layout>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nexport default {\r\n name: \"LayerInfoCard\",\r\n computed: {\r\n ...mapState([\r\n \"mainThemeID\",\r\n \"userSettings\",\r\n \"favourites\",\r\n \"extentHasBeenChanged\",\r\n \"extent\",\r\n \"showInfoMenu\",\r\n \"guideIsRunning\"\r\n ]),\r\n showLayerInfoCard: {\r\n set (showLayerInfoCard) {\r\n this.setShowLayerInfoCard(showLayerInfoCard);\r\n },\r\n get () {\r\n return this.$store.state.showLayerInfoCard;\r\n }\r\n },\r\n description: function () {\r\n if (this.showFullDescription) {\r\n return this.themeProfile.TemaForklaring;\r\n } else {\r\n return this.themeProfile.TemaForklaring;\r\n }\r\n },\r\n profileHasDescription () {\r\n return this.themeProfile.Temaforklaring;\r\n },\r\n profileHasHovedDescription () {\r\n return this.themeProfile.HovedTemaforklaring;\r\n },\r\n themeProfile: function () {\r\n return this.$store.getters[\"getAddedMapProfile\"](this.mainThemeID);\r\n }\r\n },\r\n beforeDestroy () {\r\n this.showLayerInfoCard = true;\r\n },\r\n data: function () {\r\n return {\r\n showFullDescription: false,\r\n extentHasChangedOnce: false,\r\n userShow: false\r\n };\r\n },\r\n watch: {\r\n extent: function () {\r\n if (this.guideIsRunning) {\r\n return;\r\n }\r\n if (this.extentHasChangedOnce) {\r\n this.showLayerInfoCard = false;\r\n } else {\r\n this.extentHasChangedOnce = true;\r\n }\r\n },\r\n guideIsRunning: function (newVal) {\r\n if (newVal) {\r\n this.showLayerInfoCard = true;\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"setShowInfoMenu\",\r\n \"setShowLayerInfoCard\",\r\n \"setSelectedTheme\"\r\n ]),\r\n showSmallTile: function () {\r\n this.showLayerInfoCard = true;\r\n this.userShow = true;\r\n },\r\n openInfoMenu: function () {\r\n this.userShow = false;\r\n\r\n this.setSelectedTheme(this.mainThemeID);\r\n this.setShowInfoMenu({\r\n showInfoMenu: true,\r\n showHovedforklaring: this.themeProfile.hasOwnProperty(\r\n \"HovedTemaforklaring\"\r\n )\r\n });\r\n },\r\n getImgUrl (id) {\r\n try {\r\n return require(\"../../../../assets/medium/\" + id + \".jpg\");\r\n } catch (e) {\r\n require(\"../../../../assets/medium/\" + \"placeholder\" + \".jpg\");\r\n }\r\n },\r\n close () {\r\n this.setShowInfoMenu(false);\r\n this.setSelectedTheme(null);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n#infoButton > div.v-btn__content {\r\n writing-mode: vertical-lr;\r\n text-orientation: upright;\r\n}\r\n\r\n* {\r\n box-sizing: border-box;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.menu {\r\n position: absolute;\r\n top: 0px;\r\n right: 12px;\r\n width: 40px;\r\n height: 40px;\r\n overflow: hidden;\r\n border-radius: 50%;\r\n box-shadow: 0 3px 10px -2px rgba(black, 0.25);\r\n transition: 0.2s;\r\n\r\n &.open {\r\n width: 455px;\r\n height: 123px;\r\n border-radius: 5px;\r\n\r\n .menu__button {\r\n color: #999;\r\n transform: rotate(45deg);\r\n }\r\n\r\n .menu__content {\r\n opacity: 1;\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n.menu__button {\r\n font-weight: 400;\r\n border: 0;\r\n color: white;\r\n position: absolute;\r\n top: 18px;\r\n right: 15px;\r\n font-size: 34px;\r\n padding: 0;\r\n width: 20px;\r\n height: 20px;\r\n line-height: 12px;\r\n transition: 0.2s;\r\n user-select: none;\r\n}\r\n.menu__title {\r\n font-size: 12px;\r\n margin: 0 0 13px 0;\r\n}\r\n.menu__content {\r\n opacity: 0;\r\n visibility: hidden;\r\n transition: 0.2s;\r\n}\r\n\r\n.fade {\r\n position: relative;\r\n height: 3.6em; /* exactly three lines */\r\n}\r\n.fade:after {\r\n content: \"\";\r\n text-align: right;\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n width: 50%;\r\n height: 1.2em;\r\n background: linear-gradient(\r\n to right,\r\n rgba(255, 255, 255, 0),\r\n rgba(255, 255, 255, 1) 50%\r\n );\r\n}\r\n\r\n.fade-dark {\r\n position: relative;\r\n height: 3.6em; /* exactly three lines */\r\n}\r\n.fade-dark:after {\r\n content: \"\";\r\n text-align: right;\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n width: 50%;\r\n height: 1.2em;\r\n background: linear-gradient(\r\n to right,\r\n rgba(255, 255, 255, 0),\r\n rgba(43, 43, 43, 1) 50%\r\n );\r\n}\r\n\r\n.overflow {\r\n --max-lines: 3;\r\n position: relative;\r\n max-height: calc(var(--lh) * var(--max-lines));\r\n overflow: hidden;\r\n padding-right: 1rem; /* space for ellipsis */\r\n}\r\n.overflow::before {\r\n position: absolute;\r\n content: \"...\";\r\n bottom: 0;\r\n right: 0;\r\n}\r\n.overflow::after {\r\n content: \"\";\r\n position: absolute;\r\n right: 0;\r\n width: 1rem;\r\n height: 1rem;\r\n background: white;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerInfoCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerInfoCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerInfoCard.vue?vue&type=template&id=56ed4589\"\nimport script from \"./LayerInfoCard.vue?vue&type=script&lang=js\"\nexport * from \"./LayerInfoCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./LayerInfoCard.vue?vue&type=style&index=0&id=56ed4589&prod&lang=scss\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('v-navigation-drawer',{staticClass:\"elevation-8\",attrs:{\"disable-resize-watcher\":\"\",\"width\":_vm.rightSidebarWidth,\"right\":\"\",\"absolute\":\"\",\"stateless\":\"\",\"hide-overlay\":\"\",\"color\":\"whitesmoke\"},model:{value:(_vm.showPredefinedBookmarks),callback:function ($$v) {_vm.showPredefinedBookmarks=$$v},expression:\"showPredefinedBookmarks\"}},[_c('v-toolbar',{staticStyle:{\"position\":\"-webkit-sticky\",\"/* Safari */position\":\"sticky\",\"z-index\":\"3\"},attrs:{\"flat\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.hideCatalogueDrawer}},[_c('v-icon',[_vm._v(\"chevron_right\")])],1),_c('v-toolbar-title',[_vm._v(\"Risikoobjekter\")]),_c('v-spacer')],1),_c('v-sheet',{staticClass:\"mx-auto\",staticStyle:{\"overflow-y\":\"scroll\",\"height\":\"calc(100% - 64px)\",\"overflow-x\":\"auto\"},attrs:{\"height\":\"100%\"}},[_c('v-treeview',{staticClass:\"pa-2\",attrs:{\"return-object\":\"\",\"search\":_vm.search,\"open-on-click\":\"\",\"open-all\":\"\",\"items\":_vm.categoriesSortedAsArray},scopedSlots:_vm._u([{key:\"prepend\",fn:function({ item, open }){return [(item.children)?_c('v-icon',[_vm._v(\"\\n \"+_vm._s(open ? \"mdi-folder-open\" : \"mdi-folder\")+\"\\n \")]):_c('v-icon',{on:{\"click\":function($event){return _vm.goToBookmark(item)}}},[_vm._v(\"\\n mdi-map-marker-outline\\n \")])]}},{key:\"label\",fn:function({ item }){return [_c('a',{staticClass:\"caption black--text\",on:{\"click\":function($event){return _vm.goToBookmark(item)}}},[_vm._v(_vm._s(item.name))])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-navigation-drawer\r\n class=\"elevation-8\"\r\n disable-resize-watcher\r\n :width=\"rightSidebarWidth\"\r\n right\r\n absolute\r\n stateless\r\n hide-overlay\r\n v-model=\"showPredefinedBookmarks\"\r\n color=\"whitesmoke\"\r\n >\r\n <v-toolbar\r\n flat\r\n style=\"position: -webkit-sticky; /* Safari */position: sticky; z-index: 3\"\r\n >\r\n <v-btn icon @click=\"hideCatalogueDrawer\">\r\n <v-icon>chevron_right</v-icon>\r\n </v-btn>\r\n <v-toolbar-title>Risikoobjekter</v-toolbar-title>\r\n <!-- <v-subheader v-if=\"currentlyOpenedProject\">{{\r\n currentlyOpenedProject.attributes.tittel\r\n }}</v-subheader> -->\r\n\r\n <v-spacer></v-spacer>\r\n </v-toolbar>\r\n\r\n <!-- <v-text-field\r\n v-model=\"search\"\r\n label=\"Søk etter risikoobjekter..\"\r\n flat\r\n box\r\n single-line\r\n hide-details\r\n clearable\r\n clear-icon=\"mdi-close-circle-outline\"\r\n ></v-text-field> -->\r\n <!-- <p class=\"secondary pl-3 pr-4 pt-2 pb-2 mb-0\">\r\n Dra kartlag fra kartkatalogen og slipp i kartet for Ã¥ legge til.\r\n </p> -->\r\n <v-sheet\r\n class=\"mx-auto\"\r\n style=\"overflow-y: scroll; height: calc(100% - 64px); overflow-x: auto\"\r\n height=\"100%\"\r\n >\r\n <!-- <v-btn\r\n @click=\"close\"\r\n color=\"blue\"\r\n absolute\r\n top\r\n right\r\n style=\"margin-top: 30px;\"\r\n fab\r\n small\r\n >\r\n <v-icon color=\"white\">close</v-icon>\r\n </v-btn> -->\r\n\r\n <v-treeview\r\n class=\"pa-2\"\r\n return-object\r\n :search=\"search\"\r\n open-on-click\r\n open-all\r\n :items=\"categoriesSortedAsArray\"\r\n >\r\n <template v-slot:prepend=\"{ item, open }\">\r\n <!-- <draggable\r\n :list=\"categoriesSortedAsArray\"\r\n @end=\"checkEnd\"\r\n :sort=\"false\"\r\n > -->\r\n <v-icon v-if=\"item.children\">\r\n {{ open ? \"mdi-folder-open\" : \"mdi-folder\" }}\r\n </v-icon>\r\n <v-icon v-else @click=\"goToBookmark(item)\">\r\n mdi-map-marker-outline\r\n </v-icon>\r\n <!-- </draggable> -->\r\n </template>\r\n <template slot=\"label\" slot-scope=\"{ item }\">\r\n <a class=\"caption black--text\" @click=\"goToBookmark(item)\">{{\r\n item.name\r\n }}</a>\r\n </template>\r\n </v-treeview>\r\n </v-sheet>\r\n </v-navigation-drawer>\r\n</template>\r\n\r\n<script>\r\nimport { mapActions, mapState } from \"vuex\";\r\nimport ProfilesMixin from \"@/mixins/profilesMixin\";\r\nimport { loadModules } from \"esri-loader\";\r\nimport { importBookmarksFile } from \"../../../../mixins/layerLogic.js\";\r\n\r\nexport default {\r\n name: \"MapPredefinedBookmarks\",\r\n mixins: [ProfilesMixin],\r\n computed: {\r\n ...mapState([\"is3d\"]),\r\n rightSidebarWidth() {\r\n if (this.$vuetify.breakpoint.xlAndUp) {\r\n return \"440\";\r\n } else if (this.$vuetify.breakpoint.lgAndUp) {\r\n return \"420\";\r\n } else if (this.$vuetify.breakpoint.mdAndUp) {\r\n return \"350\";\r\n } else if (this.$vuetify.breakpoint.smAndUp) {\r\n return \"300\";\r\n } else {\r\n return \"300\";\r\n }\r\n },\r\n showPredefinedBookmarks: {\r\n set(showPredefinedBookmarks) {\r\n this.setShowPredefinedBookmarks(showPredefinedBookmarks);\r\n },\r\n get() {\r\n return this.$store.state.showPredefinedBookmarks;\r\n }\r\n }\r\n },\r\n data: function() {\r\n return {\r\n categoriesSortedAsArray: [],\r\n search: null,\r\n loaded: false\r\n };\r\n },\r\n methods: {\r\n ...mapActions([\"setShowPredefinedBookmarks\", \"setSnack\"]),\r\n hideCatalogueDrawer() {\r\n this.setShowPredefinedBookmarks(false);\r\n },\r\n goToBookmark(item) {\r\n if (item.hasOwnProperty(\"children\")) {\r\n return;\r\n }\r\n return loadModules([\"esri/geometry/Point\"]).then(([Point]) => {\r\n let target = new Point({\r\n x: item.x,\r\n y: item.y,\r\n type: \"point\",\r\n spatialReference: { wkid: 25833 }\r\n });\r\n if (this.is3d) {\r\n this.$theSceneViewObject.goTo({\r\n target: target,\r\n zoom: 13\r\n });\r\n } else {\r\n // if (bookmark.hasOwnProperty(\"camera\")) {\r\n // this.bookmark3dTemporary = bookmark;\r\n // this.confirmOpen3dBookmarkDialog = true;\r\n // } else {\r\n this.$theMapViewObject.goTo({\r\n target: target,\r\n zoom: 13\r\n });\r\n // this.setSnack(\"Ã…pnet bokmerke \" + bookmark.title);\r\n // }\r\n }\r\n this.setSnack(\"GÃ¥r til \" + item.name);\r\n });\r\n }\r\n },\r\n mounted: function() {\r\n importBookmarksFile().then(result => {\r\n this.categoriesSortedAsArray = result.bookmarks;\r\n });\r\n },\r\n created() {}\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPredefinedBookmarks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPredefinedBookmarks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapPredefinedBookmarks.vue?vue&type=template&id=31bc5ff2\"\nimport script from \"./MapPredefinedBookmarks.vue?vue&type=script&lang=js\"\nexport * from \"./MapPredefinedBookmarks.vue?vue&type=script&lang=js\"\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","<template>\r\n <v-app>\r\n <the-left-sidebar />\r\n\r\n <the-top-toolbar\r\n v-if=\"\r\n $vuetify.breakpoint.smAndDown &&\r\n !tools.print.active &&\r\n !tools.drawing.active &&\r\n !tools.measure.active\r\n \"\r\n />\r\n\r\n <v-content\r\n :style=\"{\r\n marginLeft:\r\n showSideMenu || !sidebarHasOpened || $vuetify.breakpoint.smAndDown\r\n ? 0\r\n : 56 + 'px',\r\n }\"\r\n >\r\n <v-container\r\n fluid\r\n fill-height\r\n class=\"content-container\"\r\n :class=\"$vuetify.breakpoint.smAndDown ? 'content-container-mobile' : ''\"\r\n >\r\n <v-layout column wrap>\r\n <Split\r\n direction=\"vertical\"\r\n class=\"the-split-panel\"\r\n @onDragEnd=\"onDragEnd\"\r\n :class=\"{ hideGutter: !showTabs }\"\r\n >\r\n <SplitArea :size=\"mapHeight\" :minSize=\"mapSplitPaneMinSize\">\r\n <div class=\"map-container\">\r\n <the-map />\r\n </div>\r\n </SplitArea>\r\n <SplitArea\r\n v-show=\"tabsAreOpen\"\r\n :minSize=\"bottomTabsSplitPaneMinSize\"\r\n :size=\"bottomTabsHeight\"\r\n >\r\n <the-bottom-tabs />\r\n </SplitArea>\r\n </Split>\r\n </v-layout>\r\n\r\n <layer-add-dialog />\r\n\r\n <image-gallery />\r\n </v-container>\r\n </v-content>\r\n\r\n <v-tooltip left v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n v-show=\"!tools.print.active\"\r\n v-on=\"on\"\r\n fab\r\n label=\"Vis kartkatalog\"\r\n aria-label=\"Vis kartkatalog\"\r\n small\r\n v-bind:style=\"{ top: themeProfile ? '50px' : '10px' }\"\r\n style=\"position: absolute; right: 11px;\"\r\n @click=\"showCatalogueDrawer\"\r\n >\r\n <v-icon>mdi-file-tree</v-icon>\r\n </v-btn>\r\n </template>\r\n <span>Vis kartkatalog</span>\r\n </v-tooltip>\r\n\r\n <v-tooltip left v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn\r\n v-if=\"showPredefinedBookmarks\"\r\n v-show=\"!tools.print.active\"\r\n v-on=\"on\"\r\n fab\r\n small\r\n v-bind:style=\"{ top: themeProfile ? '95px' : '40px' }\"\r\n style=\"position: absolute; right: 11px;\"\r\n @click=\"showPredefinedBookmarksDrawer\"\r\n >\r\n <v-icon>mdi-map-marker-radius</v-icon>\r\n </v-btn>\r\n </template>\r\n <span>Vis risikoobjekter</span>\r\n </v-tooltip>\r\n <!-- <div\r\n @click=\"showCatalogueDrawer\"\r\n class=\"primary elevation-2 pa-2 pl-3\"\r\n style=\"position: absolute; width: 60px; right: -5px; top: 10px; border-radius: 3px;\"\r\n >\r\n \r\n <v-icon>mdi-file-tree</v-icon>\r\n </div> -->\r\n\r\n <layer-info-card\r\n v-if=\"$vuetify.breakpoint.mdAndUp\"\r\n v-show=\"!tools.print.active && currentlyOpenedProject === null\"\r\n />\r\n\r\n <layer-info-drawer v-if=\"mapLoaded\" />\r\n\r\n <layer-catalogue v-show=\"showCatalogue\" />\r\n\r\n <map-predefined-bookmarks\r\n v-if=\"showPredefinedBookmarks\"\r\n v-show=\"showPredefinedBookmarks\"\r\n />\r\n\r\n <the-welcome-dialog\r\n v-if=\"$vuetify.breakpoint.mdAndUp && currentlyOpenedProject === null\"\r\n />\r\n\r\n <confirm-dialog\r\n :active=\"confirmGoToPreviousVersionDialogOpen\"\r\n :text=\"confirmGoToPreviousVersionDialogText\"\r\n title=\"GÃ¥ til forrige versjon\"\r\n confirm-text=\"GÃ¥ til forrige versjon av løsningen\"\r\n reject-text=\"Bli her\"\r\n @dialog-confirmed=\"openSavedMapInPreviousVersion\"\r\n @dialog-rejected=\"confirmGoToPreviousVersionDialogOpen = false\"\r\n />\r\n\r\n <confirm-dialog\r\n :active=\"showTestWarningDialog\"\r\n :text=\"\r\n 'Du har Ã¥pnet en betaversjon av' +\r\n appTitle +\r\n '. Denne versjonen kan inneholde eksperimentell funksjonalitet og utdaterte kartdata. '\r\n \"\r\n title=\"Viktig melding\"\r\n confirm-text=\"GÃ¥ til offisiell versjon\"\r\n reject-text=\"Bli her\"\r\n @dialog-confirmed=\"goToOfficialVersion\"\r\n @dialog-rejected=\"showTestWarningDialog = false\"\r\n />\r\n\r\n <confirm-dialog\r\n v-if=\"startupDialog\"\r\n :active=\"startupDialog.active\"\r\n :text=\"startupDialog.text\"\r\n :title=\"startupDialog.title\"\r\n :confirm-text=\"startupDialog.confirmButtonText\"\r\n :show-reject-button=\"false\"\r\n @dialog-confirmed=\"hideStartupDialog\"\r\n />\r\n\r\n <the-snack-bar />\r\n\r\n <app-tour />\r\n\r\n <the-app-drawer />\r\n </v-app>\r\n</template>\r\n\r\n<script>\r\nimport TheLeftSidebar from \"@/pages/MapPage/Layout/TheLeftSidebar\";\r\nimport TheAppDrawer from \"@/pages/MapPage/Layout/TheAppDrawer\";\r\nimport LayerInfoCard from \"@/pages/MapPage/Tools/Layers/LayerInfoCard\";\r\nimport ConfirmDialog from \"@/components/ConfirmDialog\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport MapPredefinedBookmarks from \"./Tools/Bookmarks/MapPredefinedBookmarks.vue\";\r\n\r\nexport default {\r\n name: \"TheMapPage\",\r\n components: {\r\n TheAppDrawer,\r\n ConfirmDialog,\r\n TheMap: () => import(\"@/pages/MapPage/Map/TheMap.vue\"),\r\n LayerAddDialog: () => import(\"@/pages/MapPage/Tools/Layers/LayerAddDialog\"),\r\n TheLeftSidebar,\r\n LayerInfoDrawer: () =>\r\n import(\"@/pages/MapPage/Tools/Layers/LayerInfoDrawer\"),\r\n LayerCatalogue: () => import(\"@/pages/MapPage/Tools/Layers/LayerCatalogue\"),\r\n ImageGallery: () => import(\"@/pages/MapPage/Tools/Misc/ImageGallery\"),\r\n TheBottomTabs: () => import(\"@/pages/MapPage/Layout/TheBottomTabs\"),\r\n TheSnackBar: () => import(\"@/components/TheSnackBar\"),\r\n LayerInfoCard,\r\n AppTour: () => import(\"@/pages/MapPage/Tools/Tips/AppTour\"),\r\n TheTopToolbar: () => import(\"@/pages/MapPage/Layout/TheTopToolbar\"),\r\n TheWelcomeDialog: () => import(\"@/pages/MapPage/Layout/TheWelcomeDialog\"),\r\n MapPredefinedBookmarks,\r\n },\r\n mixins: [MappingMixin],\r\n watch: {\r\n mapLoaded(val) {\r\n if ((val && this.id) || this.$route.name === \"link\") {\r\n // If user tries to open an old project link then he will be redirected to the old version\r\n if (\r\n this.$route.name === \"link\" &&\r\n this.$route.query.hasOwnProperty(\"p\")\r\n ) {\r\n this.confirmGoToPreviousVersionDialogOpen = true;\r\n } else if (\r\n this.$route.name === \"link\" &&\r\n this.$route.path.includes(\"metadata.html\")\r\n ) {\r\n this.openMetadataInPreviousVersion();\r\n } else {\r\n let options = {\r\n id: this.id ? this.id : this.$route.query.link,\r\n showInfoMenu: true,\r\n };\r\n\r\n if (this.$route.query.hasOwnProperty(\"layer\")) {\r\n options.zoomToQuery = {\r\n layer: this.$route.query.layer,\r\n field: this.$route.query.field,\r\n value: this.$route.query.value,\r\n buffer: this.$route.query.buffer,\r\n useCountiesAndMunicipalities: this.$route.query.ucm == \"true\",\r\n };\r\n }\r\n\r\n if (this.$route.query.hasOwnProperty(\"point\")) {\r\n options.zoomToPoint = {\r\n x: parseInt(this.$route.query.x),\r\n y: parseInt(this.$route.query.y),\r\n zoom: parseInt(this.$route.query.zoom),\r\n wkid: parseInt(this.$route.query.wkid),\r\n };\r\n }\r\n\r\n if (options.id.split(\",\").length > 1) {\r\n let profilesList = options.id.split(\",\");\r\n options.id = profilesList[0];\r\n profilesList.shift();\r\n options.customAddedProfiles = profilesList;\r\n }\r\n this.addMapProfilesAndAddedProfiles(options);\r\n }\r\n }\r\n\r\n if (val && this.projectId) {\r\n this.getProjectByID(this.projectId).then((project) => {\r\n this.openSavedMap({\r\n map: project,\r\n allowSave: this.editHash === this.projectId.hashCode().toString(),\r\n });\r\n });\r\n }\r\n },\r\n },\r\n props: [\"id\", \"projectId\", \"editHash\"],\r\n computed: {\r\n ...mapState([\r\n \"sidebarHasOpened\",\r\n \"showSideMenu\",\r\n \"bottomTabsHeight\",\r\n \"showAppDrawer\",\r\n \"startupDialog\",\r\n \"tools\",\r\n \"theMap\",\r\n \"currentlyOpenedProject\",\r\n \"showCatalogue\",\r\n \"showPredefinedBookmarks\",\r\n \"appTitle\",\r\n ]),\r\n themeProfile: function() {\r\n return this.$store.getters[\"getAddedMapProfile\"](this.selectedTheme);\r\n },\r\n showPredefinedBookmarks: function() {\r\n return process.env.VUE_APP_SHOW_PREDEFINED_BOOKMARKS === \"show\";\r\n },\r\n ...mapState([\"mapLoaded\", \"tabsAreOpen\", \"appHelpEmailSubject\"]),\r\n ...mapState([\"showImageGallery\"]),\r\n confirmGoToPreviousVersionDialogText: function() {\r\n if (this.$route.query.hasOwnProperty(\"p\")) {\r\n return (\r\n \"<p>Du prøver Ã¥ Ã¥pne et lagret kart som ble laget i forrige versjonen av løsningen. For Ã¥ Ã¥pne dette kartet mÃ¥ du gÃ¥ til forrige versjon.</p>\" +\r\n \"<a href='mailto:gisstotte@nve.no?Subject=\" +\r\n this.appHelpEmailSubject +\r\n \"&body=Jeg ønsker Ã¥ overføre kart med id \" +\r\n this.$route.query.p +\r\n \" til dagens versjon.' target='_top'>Send oss gjerne en epost</a> dersom du ønsker Ã¥ overføre kartet til dagens versjon av løsningen sÃ¥ hjelper vi deg med dette.\"\r\n );\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n showTabs: {\r\n set(showTabs) {\r\n this.setShowTabs(showTabs);\r\n },\r\n get() {\r\n return this.$store.state.showTabs;\r\n },\r\n },\r\n useMapMarginFix: function() {\r\n return this.showSideMenu && this.showAppDrawer;\r\n },\r\n mapHeight: {\r\n set(mapHeight) {\r\n this.setMapHeight(mapHeight);\r\n },\r\n get() {\r\n return this.$store.state.mapHeight;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n mapSplitPaneMinSize: 300,\r\n bottomTabsSplitPaneMinSize: 48,\r\n confirmGoToPreviousVersionDialogOpen: false,\r\n showTestWarningDialog: false,\r\n showProfileInfoDialog: false,\r\n };\r\n },\r\n mounted() {\r\n this.showTestWarningDialog =\r\n process.env.VUE_APP_SHOW_TEST_WARNING === \"true\";\r\n this.clearCurrentlyOpenedProject();\r\n String.prototype.hashCode = function() {\r\n let hash = 0,\r\n i,\r\n chr;\r\n if (this.length === 0) return hash;\r\n for (i = 0; i < this.length; i++) {\r\n chr = this.charCodeAt(i);\r\n hash = (hash << 5) - hash + chr;\r\n hash |= 0;\r\n }\r\n return hash;\r\n };\r\n\r\n if (this.mapLoaded) {\r\n if (this.id) {\r\n this.setShowAppDrawer(false);\r\n this.setShowSideMenu(false);\r\n this.removeAllMapProfiles();\r\n this.addMapProfilesAndAddedProfiles({\r\n id: this.id,\r\n showInfoMenu: true,\r\n });\r\n } else {\r\n this.getProjectByID(this.projectId).then((project) => {\r\n this.openSavedMap({\r\n map: project,\r\n allowSave: this.editHash === this.projectId.hashCode().toString(),\r\n });\r\n });\r\n }\r\n } else {\r\n this.initStore();\r\n }\r\n\r\n if (this.id) {\r\n this.setExplorerVisible(false);\r\n }\r\n },\r\n methods: {\r\n ...mapActions([\r\n \"initStore\",\r\n \"setShowAppDrawer\",\r\n \"setShowSideMenu\",\r\n \"enableSave\",\r\n \"disableSave\",\r\n \"setShowPredefinedBookmarks\",\r\n \"setShowCatalogue\",\r\n \"clearCurrentlyOpenedProject\",\r\n \"setHideWelcomeDialogFromLocalStorage\",\r\n \"setHide3dNavigationHelpDialogFromLocalStorage\",\r\n \"setStartupDialog\",\r\n \"setExplorerVisible\",\r\n ]),\r\n ...mapActions([\"hideExplorer\"]),\r\n showCatalogueDrawer() {\r\n this.setShowCatalogue(true);\r\n },\r\n showPredefinedBookmarksDrawer() {\r\n this.setShowPredefinedBookmarks(true);\r\n },\r\n openSavedMapInPreviousVersion() {\r\n window.location.href =\r\n process.env.VUE_APP_PREVIOUS_VERSION_URL + \"?p=\" + this.$route.query.p;\r\n },\r\n hideStartupDialog() {\r\n this.setStartupDialog(null);\r\n },\r\n openMetadataInPreviousVersion() {\r\n window.location.href =\r\n process.env.VUE_APP_PREVIOUS_VERSION_URL +\r\n this.$route.fullPath.substring(5);\r\n },\r\n goToOfficialVersion() {\r\n window.location.href = process.env.VUE_APP_OFFICIAL_VERSION_URL;\r\n },\r\n onDragEnd(size) {\r\n this.setMapHeight(size[0]);\r\n this.setBottomTabsHeight(size[1]);\r\n },\r\n },\r\n beforeDestroy() {\r\n this.removeAllMapProfiles();\r\n this.setIs3d(false);\r\n },\r\n created() {\r\n this.setHideWelcomeDialogFromLocalStorage();\r\n this.setHide3dNavigationHelpDialogFromLocalStorage();\r\n },\r\n};\r\n</script>\r\n<style>\r\n.drawer-button {\r\n margin-bottom: 10px;\r\n margin-top: 10px;\r\n}\r\n\r\n.drawer-icon {\r\n font-size: 22px !important;\r\n}\r\n\r\n.drawer-content {\r\n margin-left: 56px;\r\n}\r\n\r\n.drawer-icon-active {\r\n padding-left: 5px;\r\n margin-left: 14px;\r\n margin-right: 14px;\r\n margin-top: -15px;\r\n margin-bottom: 12px;\r\n border-bottom: 3px solid deepskyblue;\r\n}\r\n\r\ndiv.hideGutter div.gutter.gutter-vertical {\r\n display: none !important;\r\n}\r\n\r\n.the-split-panel {\r\n height: 100%;\r\n}\r\n\r\n.right-navigation-drawer {\r\n z-index: 9;\r\n background: #eceff1;\r\n}\r\n\r\n.map-container {\r\n position: relative;\r\n height: 100%;\r\n}\r\n\r\n.map-fix-margin {\r\n margin-left: 456px !important;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheMapPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheMapPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheMapPage.vue?vue&type=template&id=6db60cd7\"\nimport script from \"./TheMapPage.vue?vue&type=script&lang=js\"\nexport * from \"./TheMapPage.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheMapPage.vue?vue&type=style&index=0&id=6db60cd7&prod&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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-navigation-drawer',{attrs:{\"fixed\":\"\",\"app\":\"\",\"permanent\":\"\",\"stateless\":\"\"}},[_c('v-toolbar',{staticStyle:{\"height\":\"57px\"},attrs:{\"flat\":\"\",\"color\":\"primary white--text\"}},[_c('img',{staticStyle:{\"margin-top\":\"-10px\"},attrs:{\"alt\":\"NVE logo\",\"height\":\"40px\",\"src\":_vm.getImgUrl(_vm.logoImagePath)}}),_c('v-list',[_c('v-list-tile',{staticClass:\"primary\"},[_c('v-list-tile-title',{staticClass:\"title white--text\"},[_vm._v(\"\\n \"+_vm._s(_vm.appTitle)+\"\\n \")])],1)],1)],1),_c('v-divider'),_c('v-divider'),_c('v-list-group',{attrs:{\"value\":\"true\",\"role\":\"list\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-tile',[_c('v-list-tile-title',[_vm._v(\"Kategorier\")])],1)]},proxy:true}],null,false,4039114707)},[_vm._l((_vm.profileCategories),function(item){return [(\n !item.hasOwnProperty('internal') ||\n item.internal === false ||\n _vm.isConnectedToIntranet\n )?_c('v-list-tile',{key:item.title,on:{\"click\":function($event){_vm.selectedProfileCategory = item.title}}},[_c('v-list-tile-avatar',{attrs:{\"size\":\"30\"}},[_c('v-icon',{class:{\n 'active-category blue--text':\n _vm.selectedProfileCategory == item.title\n }},[_vm._v(_vm._s(item.icon))])],1),_c('v-list-tile-content',[_c('v-list-tile-title',{class:{\n 'active-category blue--text':\n _vm.selectedProfileCategory == item.title\n }},[_vm._v(_vm._s(item.title))])],1)],1):_vm._e()]})],2),_c('v-divider'),_c('v-list-group',{attrs:{\"value\":false,\"role\":\"list\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-tile',[_c('v-list-tile-title',[_vm._v(\"Lenker\")])],1)]},proxy:true}],null,false,1867673175)},_vm._l((_vm.externalLinks),function(item){return _c('v-list-tile',{key:item.title,attrs:{\"href\":item.url}},[_c('v-list-tile-content',{staticClass:\"pl-2\"},[_c('v-list-tile-title',[_vm._v(_vm._s(item.title))])],1)],1)}),1),_c('v-divider'),_c('v-divider'),_c('p',{staticStyle:{\"padding\":\"15px\",\"font-size\":\"12px\"}},[_vm._v(\"\\n NVEs kartdata distribueres i henhold til\\n \"),_c('a',{attrs:{\"href\":\"https://data.norge.no/nlod/no\"}},[_vm._v(\"Norsk lisens for offentlige data (NLOD).\")])])],1):_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"primary white--text\"}},[_c('img',{staticStyle:{\"margin-top\":\"0px\"},attrs:{\"alt\":\"NVE logo\",\"height\":\"40px\",\"src\":_vm.getImgUrl(_vm.logoImagePath)}}),_c('v-toolbar-title',{staticClass:\"headline ml-4\"},[_vm._v(_vm._s(_vm.appTitle))])],1),_c('v-content',[_c('div',[_c('profiles-list',{attrs:{\"show-download-action\":true,\"use-in-dialog\":false,\"selected-category\":_vm.selectedProfileCategory,\"open-map-on-click\":true}})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-navigation-drawer\r\n fixed\r\n app\r\n permanent\r\n stateless\r\n v-if=\"$vuetify.breakpoint.mdAndUp\"\r\n >\r\n <v-toolbar style=\"height: 57px;\" flat color=\"primary white--text\">\r\n <img\r\n alt=\"NVE logo\"\r\n height=\"40px\"\r\n style=\"margin-top: -10px;\"\r\n :src=\"getImgUrl(logoImagePath)\"\r\n />\r\n <v-list>\r\n <v-list-tile class=\"primary\">\r\n <v-list-tile-title class=\"title white--text\">\r\n {{ appTitle }}\r\n </v-list-tile-title>\r\n </v-list-tile>\r\n </v-list>\r\n </v-toolbar>\r\n <v-divider />\r\n <!-- <sign-in-sign-out /> -->\r\n <v-divider />\r\n <v-list-group value=\"true\" role=\"list\">\r\n <template v-slot:activator>\r\n <v-list-tile>\r\n <v-list-tile-title>Kategorier</v-list-tile-title>\r\n </v-list-tile>\r\n </template>\r\n\r\n <template v-for=\"item in profileCategories\">\r\n <v-list-tile\r\n v-if=\"\r\n !item.hasOwnProperty('internal') ||\r\n item.internal === false ||\r\n isConnectedToIntranet\r\n \"\r\n :key=\"item.title\"\r\n @click=\"selectedProfileCategory = item.title\"\r\n >\r\n <v-list-tile-avatar size=\"30\">\r\n <v-icon\r\n :class=\"{\r\n 'active-category blue--text':\r\n selectedProfileCategory == item.title\r\n }\"\r\n >{{ item.icon }}</v-icon\r\n >\r\n </v-list-tile-avatar>\r\n\r\n <v-list-tile-content>\r\n <v-list-tile-title\r\n :class=\"{\r\n 'active-category blue--text':\r\n selectedProfileCategory == item.title\r\n }\"\r\n >{{ item.title }}</v-list-tile-title\r\n >\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </template>\r\n </v-list-group>\r\n <v-divider />\r\n <v-list-group :value=\"false\" role=\"list\">\r\n <template v-slot:activator>\r\n <v-list-tile>\r\n <v-list-tile-title>Lenker</v-list-tile-title>\r\n </v-list-tile>\r\n </template>\r\n\r\n <v-list-tile\r\n v-for=\"item in externalLinks\"\r\n :key=\"item.title\"\r\n :href=\"item.url\"\r\n >\r\n <v-list-tile-content class=\"pl-2\">\r\n <v-list-tile-title>{{ item.title }}</v-list-tile-title>\r\n </v-list-tile-content>\r\n </v-list-tile>\r\n </v-list-group>\r\n\r\n <v-divider />\r\n\r\n <v-divider />\r\n <p style=\"padding: 15px; font-size: 12px;\">\r\n NVEs kartdata distribueres i henhold til\r\n <a href=\"https://data.norge.no/nlod/no\"\r\n >Norsk lisens for offentlige data (NLOD).</a\r\n >\r\n </p>\r\n </v-navigation-drawer>\r\n <v-toolbar v-else flat color=\"primary white--text\">\r\n <img\r\n alt=\"NVE logo\"\r\n height=\"40px\"\r\n style=\"margin-top: 0px;\"\r\n :src=\"getImgUrl(logoImagePath)\"\r\n /><v-toolbar-title class=\"headline ml-4\">{{ appTitle }}</v-toolbar-title>\r\n </v-toolbar>\r\n <v-content>\r\n <div>\r\n <profiles-list\r\n :show-download-action=\"true\"\r\n :use-in-dialog=\"false\"\r\n :selected-category=\"selectedProfileCategory\"\r\n :open-map-on-click=\"true\"\r\n />\r\n </div>\r\n </v-content>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from \"vuex\";\r\nexport default {\r\n name: \"TheCataloguePage\",\r\n components: {\r\n ProfilesList: () => import(\"@/components/ProfilesList\")\r\n },\r\n computed: {\r\n ...mapState([\r\n \"appTitle\",\r\n \"profileCategories\",\r\n \"externalLinks\",\r\n \"logoImagePath\",\r\n \"isConnectedToIntranet\"\r\n ])\r\n },\r\n methods: {\r\n getImgUrl(svgName) {\r\n let images = require.context(\"../../assets/\", false, /\\.(svg|png)$/);\r\n\r\n return images(\"./\" + svgName);\r\n }\r\n },\r\n data() {\r\n return {\r\n drawer: true,\r\n selectedProfileCategory: \"Alle\",\r\n testDialogActive: false\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n.active-category {\r\n font-weight: bolder;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheCataloguePage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheCataloguePage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheCataloguePage.vue?vue&type=template&id=fe43372e\"\nimport script from \"./TheCataloguePage.vue?vue&type=script&lang=js\"\nexport * from \"./TheCataloguePage.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheCataloguePage.vue?vue&type=style&index=0&id=fe43372e&prod&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 Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport TheMapPage from \"@/pages/MapPage/TheMapPage.vue\";\r\nimport TheMapCatalogue from \"@/pages/CataloguePage/TheCataloguePage.vue\";\r\n\r\nVue.use(VueRouter);\r\n\r\nexport default new VueRouter({\r\n base: \"/\",\r\n mode: \"history\",\r\n routes: [\r\n // { path: \"/\", component: TheMapCatalogue, name: \"hovedside\" },\r\n process.env.VUE_APP_USE_SINGLE_PROFILE\r\n ? {\r\n path: \"/\",\r\n redirect: {\r\n name: \"tema\",\r\n params: { id: process.env.VUE_APP_USE_SINGLE_PROFILE },\r\n },\r\n }\r\n : { path: \"/\", component: TheMapCatalogue, name: \"hovedside\" },\r\n { path: \"/link/:parameters?\", component: TheMapPage, name: \"link\" },\r\n { path: \"/map\", component: TheMapPage, name: \"kart\" },\r\n {\r\n path: \"/tema/:id\",\r\n component: TheMapPage,\r\n props: true,\r\n name: \"tema\",\r\n },\r\n {\r\n path: \"/prosjekt/:projectId/:editHash?\",\r\n component: TheMapPage,\r\n props: true,\r\n name: \"prosjekt\",\r\n },\r\n ],\r\n});\r\n","const moment = require(\"moment\");\r\nrequire(\"moment/locale/nb\");\r\nimport Vue from \"vue\";\r\nimport \"./plugins/vuetify\";\r\nimport Vuetify from \"vuetify/lib\";\r\nimport \"vuetify/src/stylus/app.styl\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport Clipboard from \"v-clipboard\";\r\nimport axios from \"axios\";\r\nimport VueAxios from \"vue-axios\";\r\nimport VueSplit from \"vue-split-panel\";\r\nimport RouterPrefetch from \"vue-router-prefetch\";\r\nimport \"@mdi/font/css/materialdesignicons.css\";\r\nimport VueCookies from \"vue-cookies\";\r\nimport VueTour from \"vue-tour\";\r\n\r\nrequire(\"vue-tour/dist/vue-tour.css\");\r\n\r\nVue.use(VueTour);\r\n// import VueIntro from \"vue-introjs\";\r\n// import \"intro.js/introjs.css\";\r\n\r\n// Vue.use(VueIntro);\r\nVue.use(VueCookies);\r\nVue.use(VueSplit);\r\nVue.use(require(\"vue-moment\"), {\r\n moment\r\n});\r\n\r\nVue.use(RouterPrefetch);\r\nVue.use(VueAxios, axios);\r\nVue.use(Clipboard);\r\nVue.use(Vuetify);\r\n\r\nVue.prototype.$eventHub = new Vue();\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","module.exports = __webpack_public_path__ + \"img/fotostrommen.785b60b8.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/aktsomhet.5d91062d.jpg\";","module.exports = __webpack_public_path__ + \"img/nasjonalramme.0a2f0c9f.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/verneplanforvassdrag.7efd026a.jpg\";","module.exports = __webpack_public_path__ + \"img/skredfaresoner.4bae6692.jpg\";","module.exports = __webpack_public_path__ + \"img/langtransportert_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/kast.df796554.jpg\";","module.exports = __webpack_public_path__ + \"img/flomsoneutkast.52db7499.jpg\";","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!./LayerQueryBuilder.vue?vue&type=style&index=0&id=56d3fd0e&prod&lang=css\"","module.exports = \"data:image/jpeg;base64,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\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItem.vue?vue&type=style&index=0&id=b3705884&prod&lang=scss\"","module.exports = __webpack_public_path__ + \"img/kvalitetselement_hydromorfologiske.c4bf1a24.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/vindressurser.5c89313e.jpg\";","module.exports = __webpack_public_path__ + \"img/jordbruk_paavirkning_hymo.af9f46d7.jpg\";","import axios from \"axios\";\r\nimport { loadModules } from \"esri-loader\";\r\n\r\nexport default class TableService {\r\n constructor() {}\r\n\r\n static queryArcGISServerLayer(url, options) {\r\n return loadModules([\"esri/core/urlUtils\"]).then(([urlUtils]) => { \r\n const proxyRule = urlUtils.getProxyRule(url);\r\n if (proxyRule) {\r\n url = proxyRule.proxyUrl + url;\r\n }\r\n return axios.get(url, options);\r\n\r\n });\r\n }\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/nettkonsesjoner.26cfd700.jpg\";","module.exports = __webpack_public_path__ + \"img/industri_paavirkning_utslipp.940425ab.jpg\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerInfoCard.vue?vue&type=style&index=0&id=56ed4589&prod&lang=scss\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/jordskredaktsomhet.abcf0b08.jpg\";","module.exports = __webpack_public_path__ + \"img/tilstand_biologiske_kvalitetselement.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/nettanlegg.80283dae.jpg\";","module.exports = __webpack_public_path__ + \"img/jordbruk_paavirkning_jordbearbeiding_og_husdyr.371179fb.jpg\";","module.exports = __webpack_public_path__ + \"img/snosteinskredaktsomhet.e2126386.jpg\";","module.exports = __webpack_public_path__ + \"img/kulturminner.22e83d65.jpg\";","module.exports = __webpack_public_path__ + \"img/mouse_left_button.d2d5897f.svg\";","module.exports = __webpack_public_path__ + \"img/kvikkleire.5a46c07f.jpg\";","module.exports = __webpack_public_path__ + \"img/ukjent_driver_med_paavirkningsgrad.3d4f2ade.jpg\";","module.exports = __webpack_public_path__ + \"img/skredhendelser.6b1c5c6b.jpg\";","module.exports = __webpack_public_path__ + \"img/fjellskredovervaakning.993e9feb.jpg\";","module.exports = __webpack_public_path__ + \"img/faresoner.2d300bb9.jpg\";","module.exports = __webpack_public_path__ + \"img/elvenett.508e1e31.jpg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.text)}}),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.confirm}},[_vm._v(\"\\n \"+_vm._s(_vm.confirmText)+\"\\n \")]),(_vm.showRejectButton)?_c('v-btn',{attrs:{\"aria-label\":\"Ikke bekreft\",\"flat\":\"\"},on:{\"click\":_vm.reject}},[_vm._v(\"\\n \"+_vm._s(_vm.rejectText)+\"\\n \")]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"active\" persistent width=\"500\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>\r\n {{ title }}\r\n </v-card-title>\r\n <v-card-text v-html=\"text\">\r\n <!-- {{ text }} -->\r\n </v-card-text>\r\n <v-divider></v-divider>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn flat @click=\"confirm\">\r\n {{ confirmText }}\r\n </v-btn>\r\n <v-btn aria-label=\"Ikke bekreft\" v-if=\"showRejectButton\" flat @click=\"reject\">\r\n {{ rejectText }}\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"ConfirmDialog\",\r\n data: () => ({\r\n dialog: false\r\n }),\r\n props: {\r\n active: Boolean,\r\n title: String,\r\n text: String,\r\n confirmText: String,\r\n rejectText: String,\r\n showRejectButton: {\r\n default: true,\r\n type: Boolean\r\n }\r\n },\r\n methods: {\r\n emitEvent(eventName) {\r\n this.$emit(eventName);\r\n },\r\n confirm() {\r\n this.emitEvent(\"dialog-confirmed\");\r\n },\r\n reject() {\r\n this.emitEvent(\"dialog-rejected\");\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=071a8316&scoped=true\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\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 \"071a8316\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/tverrprofil.c23bf3e4.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/jordbruk_smvf.c4bf1a24.jpg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"on\":on,\"click\":function($event){$event.stopPropagation();return _vm.toggleFavourite.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"color\":_vm.favourites.includes(_vm.layerId) ? 'yellow darken-3' : 'whitesmoke'}},[_vm._v(_vm._s(_vm.favourites.includes(_vm.layerId) ? \"star\" : \"star_border\"))])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.favourites.includes(_vm.layerId)\n ? \"Fjern fra favoritter\"\n : \"Legg til som favoritt\"))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-tooltip left>\r\n <template v-slot:activator=\"{ on }\">\r\n <v-btn @on=\"on\" @click.stop=\"toggleFavourite\" icon>\r\n <v-icon\r\n :color=\"\r\n favourites.includes(layerId) ? 'yellow darken-3' : 'whitesmoke'\r\n \"\r\n >{{ favourites.includes(layerId) ? \"star\" : \"star_border\" }}</v-icon\r\n >\r\n </v-btn>\r\n </template>\r\n <span>{{\r\n favourites.includes(layerId)\r\n ? \"Fjern fra favoritter\"\r\n : \"Legg til som favoritt\"\r\n }}</span>\r\n </v-tooltip>\r\n</template>\r\n\r\n<script>\r\nimport { mapActions, mapState } from \"vuex\";\r\nexport default {\r\n name: \"LayerFavouriteToggler\",\r\n computed: {\r\n ...mapState([\"favourites\"])\r\n },\r\n props: {\r\n layerId: String\r\n },\r\n methods: {\r\n ...mapActions([\"setSnack\", \"addFavourite\", \"removeFavourite\"]),\r\n toggleFavourite(evt) {\r\n evt.stopPropagation();\r\n\r\n if (this.favourites.includes(this.layerId)) {\r\n this.removeFavourite(this.layerId);\r\n } else {\r\n this.addFavourite(this.layerId);\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerFavouriteToggler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerFavouriteToggler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerFavouriteToggler.vue?vue&type=template&id=1e5cfc35\"\nimport script from \"./LayerFavouriteToggler.vue?vue&type=script&lang=js\"\nexport * from \"./LayerFavouriteToggler.vue?vue&type=script&lang=js\"\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","module.exports = __webpack_public_path__ + \"img/flomdatabase.52db7499.jpg\";","module.exports = __webpack_public_path__ + \"img/skogbruk_smvf.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/vannkraft_smvf.735d6175.jpg\";","module.exports = __webpack_public_path__ + \"img/nettanleggplus.80283dae.jpg\";","module.exports = __webpack_public_path__ + \"img/turisme_rekreasjon_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/forvaltningsomrader.cdd6cd19.jpg\";","module.exports = __webpack_public_path__ + \"img/hydrologiskedata.e3a86d2d.jpg\";","module.exports = __webpack_public_path__ + \"img/kvalitetselement_biologiske.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/kvikkleirerapport.5a46c07f.jpg\";","module.exports = __webpack_public_path__ + \"img/urbanutvikling_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/vannkraft.9c7374d6.jpg\";","module.exports = __webpack_public_path__ + \"img/vannkraft_med_paavirkningsgrad.735d6175.jpg\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayerListItemTocSublayer.vue?vue&type=style&index=0&id=f2cccdee&prod&lang=scss\"","module.exports = __webpack_public_path__ + \"img/bratthet.f2c46589.jpg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500px\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"\\n Endre navn/beskrivelse\\n \")]),_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":\"Tegnelagets navn\",\"full-width\":\"\",\"box\":\"\"},model:{value:(_vm.newLayerTitle),callback:function ($$v) {_vm.newLayerTitle=$$v},expression:\"newLayerTitle\"}}),_c('v-textarea',{attrs:{\"label\":\"Beskrivelse (valgfritt)\",\"maxlength\":\"500\",\"box\":\"\"},model:{value:(_vm.newLayerDescription),callback:function ($$v) {_vm.newLayerDescription=$$v},expression:\"newLayerDescription\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"flat\":\"\"},on:{\"click\":_vm.emitDialogClosedEvent}},[_vm._v(\"Avbryt\")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.newLayerTitle === '' || _vm.newLayerTitle == null,\"flat\":\"\"},on:{\"click\":_vm.updateLayerTitle}},[_vm._v(\"Ok\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"showDialog\" persistent max-width=\"500px\">\r\n <v-card>\r\n <v-card-title class=\"headline\" primary-title>\r\n Endre navn/beskrivelse\r\n </v-card-title>\r\n <v-card-text>\r\n <v-text-field\r\n label=\"Tegnelagets navn\"\r\n full-width\r\n box\r\n v-model=\"newLayerTitle\"\r\n ></v-text-field>\r\n\r\n <v-textarea\r\n label=\"Beskrivelse (valgfritt)\"\r\n v-model=\"newLayerDescription\"\r\n maxlength=\"500\"\r\n box\r\n ></v-textarea>\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer />\r\n <v-btn color=\"primary\" flat @click=\"emitDialogClosedEvent\"\r\n >Avbryt</v-btn\r\n >\r\n <v-btn\r\n color=\"primary\"\r\n :disabled=\"newLayerTitle === '' || newLayerTitle == null\"\r\n flat\r\n @click=\"updateLayerTitle\"\r\n >Ok</v-btn\r\n >\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { mapActions } from \"vuex\";\r\nexport default {\r\n data: function() {\r\n return {\r\n newLayerTitle: \"\",\r\n newLayerDescription: \"\",\r\n showDialog: false\r\n };\r\n },\r\n watch: {\r\n active: function(newVal) {\r\n if (newVal == true) {\r\n this.newLayerTitle = this.currentName;\r\n this.newLayerDescription = this.currentDescription;\r\n this.showDialog = true;\r\n }\r\n }\r\n },\r\n props: {\r\n layer: Object,\r\n currentName: String,\r\n currentDescription: String,\r\n active: Boolean\r\n },\r\n methods: {\r\n ...mapActions([\"updateMapProfileName\", \"updateMapProfileDescription\"]),\r\n emitDialogClosedEvent() {\r\n this.$emit(\"close-dialog\");\r\n this.showDialog = false;\r\n },\r\n updateLayerTitle: function() {\r\n this.updateMapProfileName({\r\n id: this.layer.id,\r\n newName: this.newLayerTitle\r\n });\r\n this.updateMapProfileDescription({\r\n id: this.layer.id,\r\n Temaforklaring: this.newLayerDescription\r\n });\r\n this.newLayerTitle = \"\";\r\n this.newLayerDescription = \"\";\r\n this.emitDialogClosedEvent();\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style></style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDrawingChangeLayerNameDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDrawingChangeLayerNameDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapDrawingChangeLayerNameDialog.vue?vue&type=template&id=5b6ae368\"\nimport script from \"./MapDrawingChangeLayerNameDialog.vue?vue&type=script&lang=js\"\nexport * from \"./MapDrawingChangeLayerNameDialog.vue?vue&type=script&lang=js\"\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","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!./OpenProjectDialog.vue?vue&type=style&index=0&id=668d2978&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/svekketis.f7fbadfe.jpg\";","module.exports = __webpack_public_path__ + \"img/flomhendelser.dec2a1ee.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/jordbruk_med_paavirkningsgrad.a2ed346f.jpg\";","module.exports = __webpack_public_path__ + \"img/flomvern_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/nn2000.76eea9ab.jpg\";","module.exports = __webpack_public_path__ + \"img/snoskredforsvaret.d3054ea8.jpg\";","module.exports = __webpack_public_path__ + \"img/skogbruk_med_paavirkningsgrad.c4bf1a24.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"img/fiskeri_akvakultur_paavirkning_biologiske.c4bf1a24.jpg\";","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!./TheLeftSidebar.vue?vue&type=style&index=0&id=c00b4b08&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/smakraft.65472697.jpg\";","module.exports = __webpack_public_path__ + \"img/flomskredaktsomhet.abcf0b08.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCABHAJYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCORzHk5AXHeoIdRguBAY7iKRZxuiKuCJBjOV9Rj0o1RS1hcgDJMTAD8K8D8J6J410nwr8PZQ1tdXFp4fmFraJpzwPbzfY1EaTO0rAncAp+Vec9Olc9Sq4O3Lc9XB4KGKpylKootbJ9fdk/wBEte59D1RvtWtbG8sbWe5SG4vXaO3jY8ysqF2A+iqx/CvA7KbxPfeHYkt9b1nfdX+lw3KILr7Rb7pwLlg8qDblDyi/Ku3IAzXSfGzTtdt28FN4eju7m6sZ7ktKpMk6x/YplZgzZHmEEhS3BcrnOah13yuXLtb8Wd6yiKxEaE6qV+bytyx5tb7Jt2++3Q9lX7opa8A1zWtbk1GT+y7zxEL8HTz4ft2jn+zT27CPzTcErgtkyCTzSGUAEYPWzb6P4k1PVdPe41zxFBFfapqkN1HHcGNI7aN5DbquB8g+VSHBDENjdtwAe31so/1e39eQv7H5YKpUqpL53+Hm29NP8Scelz3aivn2b/hMNa8N/bZNS1yy1Cz8NWtzElsxTfe73DM67fmbCjKH5Tu5U8Yv643iTQ7XU9PgvNWutOj1a2826mmnaZbZ7YNJtkjBkC+bjJT7u4gbQOD6xpflB5PZ8ntot329Lbd/iVl117HudNckDivIfCdnrmpeKPDyXusarcadb6bNcbozNBHNILhBEJd4DOQhI+bG4ZJB61X8VXXiOT4mT25v7zS7NZLM6a0S3LwzIT+/DJGhRiTuU7yNg2sMdTXttE+Xd2OdZZzVXSVRaJt6P+bltbe/V6XSu7O1j1+S6SOFpWkURoCWbsMdaojxNpraLb6v/aFuml3CRyxXkkgWNlkxsIY8fNuGPXIrzj4X6MdH8IeMNOEeoC8XVdUZor153yr3ErxMhkJBDIytlc5Jyec15l4bk8R2PgPTrPSZPETR22haamoQ6hBKot7xbi3UJAGUYAi87cEyu1UJ5OTLxDjZ8u6udtHJoVp1IKr8Moq7Vk0+vW3l3uu59M2+u2V1p899FdxyWkLSrJMp+VDGxWQH/dKsD9DVyzuY7y3jnicSwyKHR16MpGQRXzrqUOo2/h+5sbt9dsrOVtceBNJilLS3LXkhiDhFOQUbKhvkIJJzxWvYt4lj8UabbSXt5pkUEWniyRUuWikj8tPOVkRDGxLeYpLkFQFPHUzGu9Lrt+IVMlilKUKm3N9ydum76u2yue80VHD/AKsc5qSu0+XCiiigAooooAayk0myn0UCI/KC9ABStHuI4/Wn0UAR+SMg4GR0o8oVJRQMYI8UGPcafRQIbtpGjDEE80+igY3bgk01ow3OOakooAj8oDoB6Uqx7elPooARRtFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=\"","module.exports = __webpack_public_path__ + \"img/havvind.5c89313e.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","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!./TheAppDrawer.vue?vue&type=style&index=0&id=564d360a&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/mouse_right_button.671c6236.svg\";","module.exports = __webpack_public_path__ + \"img/fiskeriakvakultur_smvf.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/sikringstiltak.058d3a01.jpg\";","module.exports = __webpack_public_path__ + \"img/flomaktsomhet.52db7499.jpg\";","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!./LayerListItemToc.vue?vue&type=style&index=0&id=438589bd&prod&scoped=true&lang=css\"","import { mapState } from \"vuex\";\r\n// import TableService from \"@/services/table.service\";\r\n\r\nconst profilesMixin = {\r\n data: function() {\r\n return {\r\n categories: null,\r\n categoriesSorted: null\r\n };\r\n },\r\n computed: {\r\n ...mapState([\r\n \"profiles\",\r\n \"mapProfiles\",\r\n \"isConnectedToIntranet\",\r\n \"favourites\"\r\n ])\r\n },\r\n watch: {\r\n profiles() {\r\n this.getCategoriesSorted();\r\n this.loaded = true;\r\n }\r\n },\r\n methods: {\r\n getCategoriesSorted: function() {\r\n this.getCategories();\r\n const ordered = {};\r\n if (\r\n this.categories.hasOwnProperty(\"Favoritter\") &&\r\n Object.keys(this.categories[\"Favoritter\"]).length > 0\r\n ) {\r\n ordered[\"Favoritter\"] = this.categories[\"Favoritter\"];\r\n }\r\n\r\n Object.keys(this.categories)\r\n .sort()\r\n .forEach(key => {\r\n if (key !== \"Favoritter\") {\r\n ordered[key] = this.categories[key];\r\n }\r\n });\r\n\r\n if (this.useInDialog === false) {\r\n ordered[\"Mine kart\"] = this.savedAndSharedMaps;\r\n }\r\n\r\n this.categoriesSorted = ordered;\r\n },\r\n showMapDuringSearch: function(categoryName, title) {\r\n if (categoryName === \"Favoritter\") {\r\n return false;\r\n }\r\n return title.toLowerCase().includes(this.searchValue.toLocaleLowerCase());\r\n },\r\n getCategories: function() {\r\n let categories = {};\r\n\r\n let favouriteCategory = {};\r\n\r\n for (let key in this.profiles) {\r\n let profile = this.profiles[key];\r\n if (!categories[profile.category]) {\r\n categories[profile.category] = {};\r\n }\r\n\r\n categories[profile.category][key] = profile;\r\n\r\n if (this.favourites.includes(key)) {\r\n favouriteCategory[key] = profile;\r\n }\r\n }\r\n\r\n if (Object.keys(favouriteCategory).length > 0) {\r\n categories[\"Favoritter\"] = favouriteCategory;\r\n }\r\n\r\n if (!this.isConnectedToIntranet) {\r\n delete categories[\"Interne kart\"];\r\n }\r\n\r\n this.categories = categories;\r\n }\r\n },\r\n mounted: function() {\r\n this.getCategoriesSorted();\r\n }\r\n};\r\n\r\nexport default profilesMixin;\r\n","module.exports = __webpack_public_path__ + \"img/fiskeri_akvakultur_paavirkning_eutrofiering.c4bf1a24.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","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!./TheMapPage.vue?vue&type=style&index=0&id=6db60cd7&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/kvalitetselement_fysisk_kjemiske.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/vindkraftverk (1).4f2edea1.jpg\";","module.exports = __webpack_public_path__ + \"img/vannkraft_paavirkning_vannfoeringsregulering.aa038d1f.jpg\";","var map = {\n\t\"./mouse_left_button.svg\": \"882b\",\n\t\"./mouse_right_button.svg\": \"e1ed\",\n\t\"./nvelogo.svg\": \"f9a1\",\n\t\"./vann-nett.png\": \"03da\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"f22a\";","module.exports = __webpack_public_path__ + \"img/transport_smvf.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/steinsprangaktsomhet.e2126386.jpg\";","module.exports = __webpack_public_path__ + \"img/transport_paavirkning_vannuttak_hymo.d292a75d.jpg\";","module.exports = __webpack_public_path__ + \"img/fiskeri_akvakultur_med_paavirkningsgrad.b6163078.jpg\";","module.exports = __webpack_public_path__ + \"img/tilstand_fysisk_kjemiske_kvalitetselement.c4bf1a24.jpg\";","module.exports = __webpack_public_path__ + \"img/nvelogo.b7ace172.svg\";","module.exports = __webpack_public_path__ + \"img/placeholder.27c93897.jpg\";"],"sourceRoot":""}