{"version":3,"sources":["webpack:///./src/components/ProfilesList.vue","webpack:///src/components/ProfilesList.vue","webpack:///./src/components/ProfilesList.vue?4bbc","webpack:///./src/components/ProfilesList.vue?51cc","webpack:///./src/components/ProfilesList.vue?258c"],"names":["callback","searchValue","expression","class","staticStyle","attrs","_l","_c","directives","name","_vm","scopedSlots","hover","rawName","value","onlyAllowAddingFromDialog","useInDialog","card","hasOwnProperty","on","openProfile","domProps","key","_ref2","_v","addedMapids","selectProfile","staticRenderFns","component"],"mappings":"0UAA6SA,W,MAA6BC,K,EAAgB,W,OAACC,QAAW,8BAAa,OAAI,cAAO,GAAUC,qBACjX,SAOfC,UAAY,GAAC,eAAa,GAAO,gCAACC,YAAM,QAAC,QAAe,MAAMC,CAAkD,MAAQC,EAAG,YAAeC,SAAU,SAAE,GAACC,EAAI,YAAO,G,WAC7JA,kBAGwN,GAAC,U,MAAKA,kMAAI,YAAUC,CAAqD,aAAW,Q,MAA0BC,C,WAAyB,K,MAAgC,EAARC,kBAAM,SAAD,K,OAAI,SAAU,C,WAAeJ,E,oBAAyBK,S,OAC9aJ,kBAD+bK,GACtb,EAAe,eACEC,IAApBC,EAAW,aACdC,MADuBF,iBACY,QAA9BG,oBAAwC,oBACxCA,G,WAOThB,gN,aAAumBG,EAAK,GAAC,4B,SAAC,Q,MAAyC,E,YAAY,O,IAACc,U,YAAY,G,MAAiB,EAAWC,M,OAAsB,UAAC,aAAIb,KAAG,OAAsBF,QAAM,SAAC,OAAQ,kBAAD,GAAC,kSAAgB,wlBAAyCA,IAAK,EAAC,E,MAAM,CAA8C,SAAWa,cAAe,YAEl4B,WAAoJG,IAAU,eAAuB,GAAkB,6B,CAIjK,SAAUC,CAAG,OAAI,MAAO,mB,CAKtC,EAAM,mB,EAA6D,OAAHC,GAAA,gBAAzD,SAAE,MAAC,CAACZ,oCAAoB,QAACW,IAAI,iBAAW,oDAAiB,uD,SAAI,C,UAAiC,6B,KAAuC,SAAS,iF,eAAkC,M,GAAK,OAAQ,sBAAgB,4E,YAA0B,I,YAASf,EAAG,KAA+C,gBAAG,GAAC,SAAS,GAAM,IAAC,EAAO,EAAKiB,GAAoKnB,MAAM,gBAAC,MAAQ,CAAiB,KAAWK,EAAIe,sBAAwB,GAAQ,KAAC,GAAG,6BAAK,GAAO,CAAkB,MAAWC,SAAiB,GAAO,uBAAwB,qDAAkB,UAAG,CAAChB,EAAG,OAAI,CAAK,EAAI,GAAE,gDAA2B,uFAAQ,MAAK,iBAAI,mCAAG,SACjzB,IACGiB,MAAoB,YAEPA,uBAAe,Q,4LCqGhC,GACA,uBACA,UACA,eACA,wBAEA,uBACA,OACA,uBACA,2BACA,oBACA,yBAEA,OACA,sBACA,4BAEA,oBACA,4BAEA,8BACA,4BAEA,iCACA,6BAGA,0CACA,yCACA,gBACA,WACA,wBACA,mBACA,eACA,YACA,wBACA,IACA,0BACA,oBACA,6BAEA,yBAEA,4BACA,gBACA,uCAEA,gCACA,CACA,4BACA,YACA,gBAEA,8BAKA,kCACA,kDAEA,sBACA,IACA,gCACA,SACA,YAGA,4BACA,oBACA,6BACA,uBAEA,oBACA,KACA,YACA,sCAGA,+BAIA,kCACA,wBAGA,kEAGA,8BACA,iBACA,0CACA,4BACA,cACA,YACA,2BAIA,0CACA,gBACA,YACA,mBACA,kBACA,gBACA,IACA,iBACA,gBACA,4BAEA,eACA,2CAGA,6BACA,SACA,6BACA,eACA,iCACA,WAIA,UAEA,uBAEA,IADA,SACA,kCACA,+BAEA,aC9QqV,I,wBCQjVC,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,KACA,MAIa,aAAAC,E,2CCnBf","file":"js/chunk-79c7ba97.b705db21.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('v-flex',[_c('v-text-field',{attrs:{\"single-line\":\"\",\"prepend-inner-icon\":\"search\",\"clearable\":\"\",\"hide-details\":\"\",\"aria-label\":\"Søk etter kart..\",\"placeholder\":\"Søk..\",\"box\":\"\"},model:{value:(_vm.searchValue),callback:function ($$v) {_vm.searchValue=$$v},expression:\"searchValue\"}})],1),_c('v-list',{class:[\n        _vm.useInDialog\n          ? _vm.$vuetify.breakpoint.smAndDown\n            ? 'profiles-list-dialog-mobile'\n            : 'profiles-list-dialog'\n          : _vm.$vuetify.breakpoint.smAndDown\n          ? 'profiles-list-fullscreen-mobile'\n          : 'profiles-list-fullscreen'\n      ],staticStyle:{\"overflow-y\":\"auto\"},attrs:{\"two-line\":\"\"}},[_vm._l((_vm.categoriesSorted),function(category,name){return [_c('v-subheader',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n            (name !== 'Ukategorisert' || _vm.useInDialog) &&\n              (_vm.searchValue == '' || _vm.searchValue == null) &&\n              (_vm.selectedCategory == 'Alle' || _vm.selectedCategory == name)\n          ),expression:\"\\n            (name !== 'Ukategorisert' || useInDialog) &&\\n              (searchValue == '' || searchValue == null) &&\\n              (selectedCategory == 'Alle' || selectedCategory == name)\\n          \"}],key:name},[_vm._v(_vm._s(name))]),_vm._l((category),function(card,key){return [_c('v-hover',{key:name + key,scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-list-tile',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                (name !== 'Ukategorisert' ||\n                  (_vm.useInDialog && card.onlyAllowAddingFromDialog)) &&\n                  (!card.hasOwnProperty('test') || card.test === false) &&\n                  (!card.hasOwnProperty('internal') ||\n                    card.internal === false ||\n                    _vm.isConnectedToIntranet) &&\n                  (_vm.selectedCategory == 'Alle' || _vm.selectedCategory == name) &&\n                  (_vm.searchValue == '' ||\n                    _vm.searchValue == null ||\n                    _vm.showMapDuringSearch(name, card.title))\n              ),expression:\"\\n                (name !== 'Ukategorisert' ||\\n                  (useInDialog && card.onlyAllowAddingFromDialog)) &&\\n                  (!card.hasOwnProperty('test') || card.test === false) &&\\n                  (!card.hasOwnProperty('internal') ||\\n                    card.internal === false ||\\n                    isConnectedToIntranet) &&\\n                  (selectedCategory == 'Alle' || selectedCategory == name) &&\\n                  (searchValue == '' ||\\n                    searchValue == null ||\\n                    showMapDuringSearch(name, card.title))\\n              \"}],key:name + key,attrs:{\"disabled\":_vm.addedMapids.includes(key),\"avatar\":\"\"},on:{\"click\":function($event){return _vm.openProfile(key, card)}}},[_c('v-list-tile-avatar',{attrs:{\"color\":\"grey lighten-2\"}},[(!card.isSavedOrSharedMap)?_c('img',{attrs:{\"alt\":'Bilde som representerer tema ' + card.title,\"src\":card.hasOwnProperty('smallImageUrl')\n                      ? card.smallImageUrl\n                      : _vm.getImgUrl(key)}}):_c('v-icon',[_vm._v(\"mdi-map\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(_vm._s(card.title))]),_c('v-list-tile-sub-title',{domProps:{\"innerHTML\":_vm._s(card.shortDescription)}})],1),(\n                  _vm.$vuetify.breakpoint.mdAndUp &&\n                    hover &&\n                    _vm.useInDialog === false\n                )?_c('v-list-tile-action',[_c('layer-favourite-toggler',{attrs:{\"layerId\":key}})],1):_vm._e(),(\n                  _vm.showDownloadAction &&\n                    _vm.$vuetify.breakpoint.mdAndUp &&\n                    !card.isSavedOrSharedMap &&\n                    hover\n                )?_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:{\"href\":_vm.getProfileDownloadUrl(key),\"icon\":\"\",\"disabled\":!card.canBeDownloaded},on:{\"click\":function($event){$event.stopPropagation();}}},on),[_c('v-icon',[_vm._v(\"mdi-download-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Åpne temaet i NVE sin nedlastingsportal\")])])],1):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-list-tile-action',[(_vm.openMapOnClick == false)?_c('v-btn',{attrs:{\"color\":\"grey lighten-2\",\"disabled\":_vm.addedMapids.includes(key),\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectProfile(key, card)}}},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"add\")])],1):_vm._e()],1):_vm._e()],1)}}],null,true)})]})]})],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div>\r\n    <div>\r\n      <v-flex>\r\n        <v-text-field\r\n          single-line\r\n          prepend-inner-icon=\"search\"\r\n          clearable\r\n          hide-details\r\n          aria-label=\"Søk etter kart..\"\r\n          placeholder=\"Søk..\"\r\n          box\r\n          v-model=\"searchValue\"\r\n        ></v-text-field>\r\n      </v-flex>\r\n\r\n      <v-list\r\n        style=\"overflow-y: auto; \"\r\n        :class=\"[\r\n          useInDialog\r\n            ? $vuetify.breakpoint.smAndDown\r\n              ? 'profiles-list-dialog-mobile'\r\n              : 'profiles-list-dialog'\r\n            : $vuetify.breakpoint.smAndDown\r\n            ? 'profiles-list-fullscreen-mobile'\r\n            : 'profiles-list-fullscreen'\r\n        ]\"\r\n        two-line\r\n      >\r\n        <template v-for=\"(category, name) in categoriesSorted\">\r\n          <v-subheader\r\n            v-show=\"\r\n              (name !== 'Ukategorisert' || useInDialog) &&\r\n                (searchValue == '' || searchValue == null) &&\r\n                (selectedCategory == 'Alle' || selectedCategory == name)\r\n            \"\r\n            :key=\"name\"\r\n            >{{ name }}</v-subheader\r\n          >\r\n\r\n          <template v-for=\"(card, key) in category\">\r\n            <v-hover :key=\"name + key\">\r\n              <v-list-tile\r\n                v-show=\"\r\n                  (name !== 'Ukategorisert' ||\r\n                    (useInDialog && card.onlyAllowAddingFromDialog)) &&\r\n                    (!card.hasOwnProperty('test') || card.test === false) &&\r\n                    (!card.hasOwnProperty('internal') ||\r\n                      card.internal === false ||\r\n                      isConnectedToIntranet) &&\r\n                    (selectedCategory == 'Alle' || selectedCategory == name) &&\r\n                    (searchValue == '' ||\r\n                      searchValue == null ||\r\n                      showMapDuringSearch(name, card.title))\r\n                \"\r\n                :key=\"name + key\"\r\n                :disabled=\"addedMapids.includes(key)\"\r\n                slot-scope=\"{ hover }\"\r\n                avatar\r\n                @click=\"openProfile(key, card)\"\r\n              >\r\n                <v-list-tile-avatar color=\"grey lighten-2\">\r\n                  <img :alt=\"'Bilde som representerer tema ' + card.title \"\r\n                    v-if=\"!card.isSavedOrSharedMap\"\r\n                    :src=\"\r\n                      card.hasOwnProperty('smallImageUrl')\r\n                        ? card.smallImageUrl\r\n                        : getImgUrl(key)\r\n                    \"\r\n                  />\r\n                  <v-icon v-else>mdi-map</v-icon>\r\n                </v-list-tile-avatar>\r\n\r\n                <v-list-tile-content>\r\n                  <v-list-tile-title>{{ card.title }}</v-list-tile-title>\r\n                  <v-list-tile-sub-title\r\n                    v-html=\"card.shortDescription\"\r\n                  ></v-list-tile-sub-title>\r\n                </v-list-tile-content>\r\n\r\n                <v-list-tile-action\r\n                  v-if=\"\r\n                    $vuetify.breakpoint.mdAndUp &&\r\n                      hover &&\r\n                      useInDialog === false\r\n                  \"\r\n                >\r\n                  <layer-favourite-toggler :layerId=\"key\" />\r\n                </v-list-tile-action>\r\n\r\n                <v-list-tile-action\r\n                  v-if=\"\r\n                    showDownloadAction &&\r\n                      $vuetify.breakpoint.mdAndUp &&\r\n                      !card.isSavedOrSharedMap &&\r\n                      hover\r\n                  \"\r\n                >\r\n                  <v-tooltip left>\r\n                    <template v-slot:activator=\"{ on }\">\r\n                      <v-btn\r\n                        v-on=\"on\"\r\n                        :href=\"getProfileDownloadUrl(key)\"\r\n                        @click.stop\r\n                        icon\r\n                        :disabled=\"!card.canBeDownloaded\"\r\n                      >\r\n                        <v-icon>mdi-download-outline</v-icon>\r\n                      </v-btn>\r\n                    </template>\r\n                    <span>Åpne temaet i NVE sin nedlastingsportal</span>\r\n                  </v-tooltip>\r\n                </v-list-tile-action>\r\n\r\n                <v-list-tile-action v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n                  <v-btn\r\n                    v-if=\"openMapOnClick == false\"\r\n                    color=\"grey lighten-2\"\r\n                    @click=\"selectProfile(key, card)\"\r\n                    :disabled=\"addedMapids.includes(key)\"\r\n                    icon\r\n                  >\r\n                    <v-icon color=\"primary\">add</v-icon>\r\n                  </v-btn>\r\n                </v-list-tile-action>\r\n              </v-list-tile>\r\n            </v-hover>\r\n          </template>\r\n        </template>\r\n      </v-list>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport LayerFavouriteToggler from \"@/components/LayerFavouriteToggler\";\r\nimport MappingMixin from \"@/mixins/mappingMixin\";\r\nimport ProfilesMixin from \"@/mixins/profilesMixin\";\r\nexport default {\r\n  data: () => ({\r\n    dialog: false,\r\n    searchValue: \"\",\r\n    savedAndSharedMaps: {}\r\n  }),\r\n  mixins: [MappingMixin, ProfilesMixin],\r\n  props: {\r\n    openMapOnClick: Boolean,\r\n    showDownloadAction: Boolean,\r\n    useInDialog: Boolean,\r\n    selectedCategory: String\r\n  },\r\n  watch: {\r\n    favourites() {\r\n      this.getCategoriesSorted();\r\n    },\r\n    profiles() {\r\n      this.getCategoriesSorted();\r\n    },\r\n    savedAndSharedMaps() {\r\n      this.getCategoriesSorted();\r\n    },\r\n    isConnectedToIntranet() {\r\n      this.getCategoriesSorted();\r\n    }\r\n  },\r\n  components: { LayerFavouriteToggler },\r\n  methods: {\r\n    ...mapActions([\r\n      \"setSnack\",\r\n      \"setSelectedMapProfile\",\r\n      \"addGraphicsLayer\",\r\n      \"activateTool\",\r\n      \"initStore\",\r\n      \"setExplorerVisible\"\r\n    ]),\r\n    openProfile(key, map) {\r\n      if (this.useInDialog) {\r\n        this.selectProfile(key, map);\r\n      } else {\r\n        if (map.isSavedOrSharedMap) {\r\n          //   this.$router.push(\"/prosjekt/\" + key + \"/\" + map.hash);\r\n          let routeData = this.$router.resolve({\r\n            name: \"prosjekt\",\r\n            params: { projectId: key, editHash: map.hash }\r\n          });\r\n          window.open(routeData.href, \"_self\");\r\n        } else {\r\n          let routeData = this.$router.resolve({\r\n            name: \"tema\",\r\n            params: { id: key }\r\n          });\r\n          window.open(routeData.href, \"_self\");\r\n          //   this.$router.push(\"/tema/\" + key);\r\n        }\r\n      }\r\n    },\r\n    getProfileDownloadUrl(id) {\r\n      return process.env.VUE_APP_DOWNLOAD_MAP_DATA_SERVICE_URL + id + \"&\";\r\n    },\r\n    getImgUrl(id) {\r\n      try {\r\n        return require(\"../assets/small/\" + id + \".jpg\");\r\n      } catch (e) {\r\n        require(\"../assets/small/\" + \"placeholder\" + \".jpg\");\r\n      }\r\n    },\r\n    selectProfile: function(name, item) {\r\n      if (item && this.mapLoaded) {\r\n        if (item.hasOwnProperty(\"graphics\")) {\r\n          this.addMapProfile(item);\r\n        } else {\r\n          this.addMapProfile({\r\n            id: name,\r\n            type: item.type,\r\n            showInfoMenu: this.sidebarHasOpened ? false : true\r\n          });\r\n\r\n          this.$emit(\"profile-added\");\r\n        }\r\n      }\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  },\r\n  mounted() {\r\n    this.initStore();\r\n    this.lastVisitedMaps.forEach(lastVisitedMap => {\r\n      this.savedAndSharedMaps[lastVisitedMap.id] = {\r\n        title: lastVisitedMap.title,\r\n        hash: lastVisitedMap.hash,\r\n        isSavedOrSharedMap: true\r\n      };\r\n    });\r\n  },\r\n  computed: {\r\n    ...mapState([\r\n      \"mapLoaded\",\r\n      \"sidebarHasOpened\",\r\n      \"lastVisitedMaps\",\r\n      \"favourites\"\r\n    ]),\r\n    explorerVisible: {\r\n      set(explorerVisible) {\r\n        this.setExplorerVisible(explorerVisible);\r\n      },\r\n      get() {\r\n        return this.$store.state.explorerVisible;\r\n      }\r\n    },\r\n    favouriteCategory() {\r\n      let favouriteCategory = {};\r\n      for (let category in this.categories) {\r\n        for (let profile in category) {\r\n          if (this.favourites.includes(profile.id)) {\r\n            favouriteCategory[profile.id] = profile;\r\n          }\r\n        }\r\n      }\r\n      return favouriteCategory;\r\n    },\r\n    addedMapids() {\r\n      let addedMapids = [];\r\n      for (let i = 0; i < this.mapProfiles.length; i++) {\r\n        addedMapids.push(this.mapProfiles[i].id);\r\n      }\r\n      return addedMapids;\r\n    }\r\n  }\r\n};\r\n</script>\r\n\r\n<style>\r\n.profiles-list-dialog {\r\n  max-height: calc(100vh - 400px);\r\n  min-height: calc(100vh - 400px);\r\n}\r\n.profiles-list-dialog-mobile {\r\n  max-height: calc(100vh - 250px);\r\n}\r\n.profiles-list-fullscreen {\r\n  max-height: calc(100vh - 61px);\r\n}\r\n\r\n.profiles-list-fullscreen-mobile {\r\n  max-height: calc(100vh - 109px);\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!./ProfilesList.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!./ProfilesList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProfilesList.vue?vue&type=template&id=e0b4ed82\"\nimport script from \"./ProfilesList.vue?vue&type=script&lang=js\"\nexport * from \"./ProfilesList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProfilesList.vue?vue&type=style&index=0&id=e0b4ed82&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","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!./ProfilesList.vue?vue&type=style&index=0&id=e0b4ed82&prod&lang=css\""],"sourceRoot":""}