{"version":3,"sources":["webpack:///./src/pages/MapPage/Tools/Layers/LayerCatalogue.vue","webpack:///src/pages/MapPage/Tools/Layers/LayerCatalogue.vue","webpack:///./src/pages/MapPage/Tools/Layers/LayerCatalogue.vue?fa50","webpack:///./src/pages/MapPage/Tools/Layers/LayerCatalogue.vue?ee58"],"names":["model","callback","showCatalogue","expression","_c","staticStyle","attrs","_vm","search","staticClass","key","_ref","children","_ref2","item","_s","_v","staticRenderFns","component"],"mappings":"oPAAiN,W,IAAe,O,EAAkB,EAAO,MAAC,G,OAAa,UAACA,YAAM,c,MAAM,CAAqBC,4B,MAA6BC,oBAAiB,MAAC,GAACC,SAAW,GAAe,aAAIC,eAAe,GAACC,MAAW,c,MAA8B,CAAgC,QAAU,cAAI,qBAACC,EAAM,iBAAU,6BAAgBA,GAAK,OAAC,C,YAAQ,CAAG,0BAAG,uBAAC,SAAC,UAAQC,KAAyB,MAAK,CAA4HD,KAAM,K,CAAiC,SAAO,C,MAAQ,CAAI,S,GAAmC,CAAe,QAAY,sBAA6BN,GAAK,OAAC,qF,MAAM,CAAcC,MAAQ,wB,KAAqBO,GAAU,IAAC,GAACL,cAAW,GAAQ,kBAAIC,UAAO,GAACK,aAAY,4BAA4IA,OAAsBJ,QAAY,OAAC,kBAAqB,GAAC,SAAS,GAAyC,uBAAQ,MAAQ,CAAO,kDAAG,CAACD,EAAG,mFAAa,UAACK,YAAY,UAAOH,YAAM,CAAC,aAAY,SAAQ,4BAAmB,aAAaE,Q,MAA0B,CAAoC,gB,CAAsBE,EAAG,OAAU,C,YAAI,O,MAAwB,C,YAAHC,Q,gBAAkBC,GAA+K,gBAAE,gBAAC,GAACF,MAAI,EAAO,yB,YAAoB,EAADG,GAAA,CAAJC,C,IAAQ,U,GAA+CL,SAAW,GAAS,IAAGF,EAAOA,EAAIQ,KAAgCT,EAAM,O,MAAC,YAAY,qJ,yBAA4CC,G,IAA2B,S,MAAC,iCAAE,YAAY,UAACE,QAAY,4BAAU,MAAMO,CAA2B,cAAW,GAAG,CAC36D,sBACGC,OAAe,EAAK,kB,qHCsGxB,GACA,sBACA,gBACA,0CACA,6DACA,6BACA,wCACA,MACA,iCACA,MACA,iCACA,OACA,iCACA,QAKA,eACA,gBACA,0BAEA,eACA,2CAIA,gBACA,OACA,2BACA,QACA,YACA,YAGA,OACA,0BACA,kBACA,+DACA,iBAGA,4BACA,+DACA,iBAGA,yCACA,2EACA,+BACA,2BAEA,wBACA,iCACA,oCACA,wDAEA,iDACA,KACA,0BACA,oCACA,OACA,KACA,QACA,aAEA,wBAGA,uCACA,sBACA,MACA,6BAGA,QACA,sBACA,uDAEA,mBAIA,WAGA,SAMA,OAHA,uBACA,2DACA,KACA,KAIA,sBCxMoY,I,YCOhYC,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,KACA,MAIa,aAAAC,E","file":"js/chunk-2d22c92d.36aa4418.js","sourcesContent":["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.showCatalogue),callback:function ($$v) {_vm.showCatalogue=$$v},expression:\"showCatalogue\"}},[_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(\"Kartkatalog\")]),_c('v-spacer')],1),_c('v-text-field',{attrs:{\"label\":\"Søk i kartkatalogen..\",\"flat\":\"\",\"box\":\"\",\"single-line\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"clear-icon\":\"mdi-close-circle-outline\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('p',{staticClass:\"secondary pl-3 pr-4 pt-2 pb-2 mb-0\"},[_vm._v(\"\\n    Dra kartlag fra kartkatalogen og slipp i kartet for å legge til.\\n  \")]),_c('v-sheet',{staticClass:\"mx-auto\",staticStyle:{\"overflow-y\":\"scroll\",\"height\":\"calc(100% - 158px)\",\"overflow-x\":\"auto\"},attrs:{\"height\":\"100%\"}},[_c('v-treeview',{staticClass:\"pa-2\",attrs:{\"item-text\":\"title\",\"return-object\":\"\",\"search\":_vm.search,\"open-on-click\":\"\",\"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',[_vm._v(\"\\n          mdi-layers-outline\\n        \")])]}},{key:\"label\",fn:function({ item }){return [(item.children)?_c('label',[_c('span',{staticClass:\"body-1\"},[_vm._v(_vm._s(item.title))])]):_c('label',{attrs:{\"draggable\":\"\"},on:{\"dragstart\":function($event){return _vm.startDrag($event, item)}}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.title))])])]}}])})],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=\"showCatalogue\"\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>Kartkatalog</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 i kartkatalogen..\"\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% - 158px); 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        item-text=\"title\"\r\n        return-object\r\n        :search=\"search\"\r\n        open-on-click\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>\r\n            mdi-layers-outline\r\n          </v-icon>\r\n          <!-- </draggable> -->\r\n        </template>\r\n\r\n        <template v-slot:label=\"{ item }\">\r\n          <!-- <draggable\r\n            :list=\"categoriesSortedAsArray\"\r\n            @end=\"checkEnd\"\r\n            :item-id=\"item.id\"\r\n            :sort=\"false\"\r\n          > -->\r\n          <label v-if=\"item.children\">\r\n            <span class=\"body-1\">{{ item.title }}</span>\r\n          </label>\r\n          <label v-else draggable @dragstart=\"startDrag($event, item)\">\r\n            <span class=\"caption\">{{ item.title }}</span>\r\n          </label>\r\n          <!-- </draggable> -->\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 { mapState, mapActions } from \"vuex\";\r\nimport ProfilesMixin from \"@/mixins/profilesMixin\";\r\nexport default {\r\n  name: \"LayerCatalogue\",\r\n  mixins: [ProfilesMixin],\r\n  computed: {\r\n    ...mapState([\"selectedTheme\", \"favourites\", \"extent\"]),\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    showCatalogue: {\r\n      set(showCatalogue) {\r\n        this.setShowCatalogue(showCatalogue);\r\n      },\r\n      get() {\r\n        return this.$store.state.showCatalogue;\r\n      }\r\n    }\r\n  },\r\n  data: function() {\r\n    return {\r\n      categoriesSortedAsArray: [],\r\n      test: [],\r\n      search: null,\r\n      loaded: false\r\n    };\r\n  },\r\n  watch: {\r\n    showCatalogue(newVal) {\r\n      if (newVal && !this.loaded) {\r\n        this.categoriesSortedAsArray = this.getCategoriesSortedAsArray();\r\n        this.loaded = true;\r\n      }\r\n    },\r\n    categoriesSorted() {\r\n      this.categoriesSortedAsArray = this.getCategoriesSortedAsArray();\r\n      this.loaded = true;\r\n    }\r\n  },\r\n  methods: {\r\n    ...mapActions([\"addFavourite\", \"removeFavourite\", \"setShowCatalogue\"]),\r\n    hideCatalogueDrawer() {\r\n      this.setShowCatalogue(false);\r\n    },\r\n    startDrag: (evt, item) => {\r\n      evt.dataTransfer.dropEffect = \"move\";\r\n      evt.dataTransfer.effectAllowed = \"move\";\r\n      evt.dataTransfer.setData(\"mapProfile\", JSON.stringify(item));\r\n    },\r\n    getCategoriesSortedAsArray: function() {\r\n      let categoriesSortedAsArray = [];\r\n      if (this.categoriesSorted) {\r\n        for (let key in this.categoriesSorted) {\r\n          let treeNode = {\r\n            id: key,\r\n            title: key,\r\n            children: []\r\n          };\r\n          if (key === \"Ukategorisert\") {\r\n            continue;\r\n          }\r\n          for (let subKey in this.categoriesSorted[key]) {\r\n            let child = {\r\n              id: subKey,\r\n              ...this.categoriesSorted[key][subKey]\r\n            };\r\n            if (\r\n              !child.test &&\r\n              (key !== \"Ukategorisert\" ||\r\n                this.categoriesSorted[key][subKey].onlyAllowAddingFromDialog)\r\n            ) {\r\n              treeNode.children.push(child);\r\n            }\r\n          }\r\n\r\n          categoriesSortedAsArray.push(treeNode);\r\n        }\r\n\r\n        return categoriesSortedAsArray;\r\n        // return this.categoriesSorted;\r\n      } else {\r\n        setTimeout(() => {\r\n          this.categoriesSortedAsArray = this.getCategoriesSortedAsArray();\r\n        }, 1000);\r\n        return categoriesSortedAsArray;\r\n      }\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!./LayerCatalogue.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!./LayerCatalogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LayerCatalogue.vue?vue&type=template&id=486ec536\"\nimport script from \"./LayerCatalogue.vue?vue&type=script&lang=js\"\nexport * from \"./LayerCatalogue.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"],"sourceRoot":""}