mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
1 line
48 KiB
Plaintext
1 line
48 KiB
Plaintext
{"version":3,"sources":["webpack:///./src/views/Catalog.vue?c7a3","webpack:///./src/components/Metadata.vue?3b73","webpack:///src/components/Metadata.vue","webpack:///./src/components/Metadata.vue?ac3f","webpack:///./src/components/Metadata.vue?62d1","webpack:///src/views/Catalog.vue","webpack:///./src/views/Catalog.vue?adf9","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./src/views/Catalog.vue?3cd1","webpack:///./src/views/Catalog.vue?1ad9","webpack:///./src/components/Metadata.vue?f4c4"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","status","error","length","_e","_v","staticClass","_l","project","key","identifier","ref","id","refInFor","on","$event","loadMap","capabilities","wmsOutputCrsList","includes","_s","title","description","scopedSlots","_u","fn","_g","model","value","callback","$$v","$set","expression","staticStyle","show","name","params","projectId","staticRenderFns","entry","uniqueKey","_f","item","metadata","contacts","contact","cv","ce","address","av","ae","links","link","url","wfsLayerIds","props","Object","filters","camelTitle","str","i","charAt","toUpperCase","slice","join","data","uuidv4","component","VCard","VCardText","VList","VListItem","VListItemContent","VListItemGroup","VListItemTitle","VTab","VTabItem","VTabs","components","LMap","LTileLayer","Metadata","Error","computed","$store","state","catalog","commit","created","dispatch","methods","map","setView","jl","getBounds","getCenter","fitBounds","layers","Utils","transparent","format","baseMixins","mixins","directives","ClickOutside","dark","disabled","fullscreen","light","maxWidth","type","String","default","noClickAnimation","origin","persistent","retainFocus","scrollable","transition","width","activatedBy","animate","animateTimeout","isActive","stackMinZIndex","classes","contentClasses","hasActivator","Boolean","$slots","$scopedSlots","watch","$attrs","hasOwnProperty","beforeMount","beforeDestroy","window","unbind","animateClick","closeConditional","target","e","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","hideScroll","document","bind","onClickOutside","onKeydown","getOpenDependents","activator","onFocusin","getOpenDependentElements","some","el","focusable","querySelectorAll","genContent","showLazyContent","root","class","role","tabindex","keydown","style","zIndex","genTransition","appear","genInnerContent","handler","include","transformOrigin","undefined","h","attach","VAlert","VApp","VAppBar","VBtn","VCardActions","VCardSubtitle","VCardTitle","VCol","VContainer","VDialog","VDivider","VFooter","VIcon","VMain","VOverlay","VProgressCircular","VRow","VSpacer","VToolbarTitle","VToolbar"],"mappings":"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","file":"js/chunk-e7ca2a40.c6c8ec03.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"catalog\"}},[(_vm.status == \"loading\" && _vm.error.length == 0)?_c('v-overlay',{attrs:{\"light\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"lime\",\"size\":\"64\"}})],1):_vm._e(),_c('v-app-bar',{attrs:{\"app\":\"\",\"dense\":\"\",\"hide-on-scroll\":\"\",\"color\":\"green\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(\"QGIS Server Catalog\")]),_c('v-spacer')],1),_c('v-main',[(_vm.catalog)?_c('v-container',{staticClass:\"fill-height\",attrs:{\"id\":\"catalog\",\"fluid\":\"\"}},[(_vm.error.length > 0 || _vm.status == \"empty\")?_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.error.length > 0)?_c('Error',{attrs:{\"error\":_vm.error}}):_vm._e(),(_vm.status == \"empty\")?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_c('h2',[_vm._v(\"This QGIS Server catalog does not contain any project.\")]),_c('p',[_vm._v(\" The projects (.QGS and .QGZ files) are searched in directories set by the environment variable \"),_c('code',[_vm._v(\"QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES\")]),_vm._v(\" (multiple paths can be specified by joining them with \"),_c('code',[_vm._v(\"||\")]),_vm._v(\"). \")]),_c('p',[_vm._v(\" Example: \"),_c('br'),_c('code',[_vm._v(\"QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/path/to/my/projects||/another_path/to/my/projects\")])]),_c('p',[_vm._v(\" Postgres projects are searched in the connections set by the environment variable \"),_c('code',[_vm._v(\"QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS\")]),_vm._v(\" (multiple connections can be specified by joining them with \"),_c('code',[_vm._v(\"||\")]),_vm._v(\"). \")]),_c('p',[_vm._v(\" Example: \"),_c('br'),_c('code',[_vm._v(\"QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS=postgresql://myusername:mypassword@myhost:myport?sslmode=disable&dbname=mydatabase&schema=public\")])])]):_vm._e()],1)],1):_vm._e(),(_vm.catalog)?_vm._l((_vm.catalog),function(project){return _c('v-card',{key:project.identifier,staticClass:\"mx-auto mb-4\",attrs:{\"max-width\":\"800\",\"min-width\":\"400\"}},[_c('l-map',{ref:'mapid-' + project.id,refInFor:true,on:{\"ready\":function($event){return _vm.loadMap(project, $event)}}},[(\n project.capabilities.wmsOutputCrsList.includes('EPSG:3857')\n )?_c('l-tile-layer',{attrs:{\"url\":\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"}}):_vm._e()],1),_c('v-card-title',[_vm._v(_vm._s(project.title))]),(project.description)?_c('v-card-subtitle',{staticClass:\"description\"},[_vm._v(_vm._s(project.description))]):_vm._e(),_c('v-card-actions',[_c('v-dialog',{staticClass:\"metadata\",attrs:{\"scrollable\":\"\",\"max-width\":\"800px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"color\":\"orange\",\"text\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-information\")]),_vm._v(\"Metadata \")],1)]}}],null,true),model:{value:(project.show),callback:function ($$v) {_vm.$set(project, \"show\", $$v)},expression:\"project.show\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(project.title))]),_c('v-divider'),_c('v-card-text',{staticStyle:{\"height\":\"300px\"}},[_c('Metadata',{attrs:{\"project\":project}})],1),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){project.show = false}}},[_vm._v(\"Close\")])],1)],1)],1),_c('v-btn',{attrs:{\"color\":\"orange\",\"text\":\"\",\"to\":{ name: 'map', params: { projectId: project.id } }}},[_c('v-icon',[_vm._v(\"mdi-map\")]),_vm._v(\"Browse \")],1)],1)],1)}):_vm._e()],2):_vm._e()],1),_c('v-footer',{attrs:{\"color\":\"lime\",\"app\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tabs',[_c('v-tab',{attrs:{\"href\":(\"#general-\" + (_vm.project.id))}},[_vm._v(\"General\")]),_c('v-tab-item',{attrs:{\"value\":(\"general-\" + (_vm.project.id))}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',[_vm._l((_vm.project.metadata),function(value,entry){return [(entry == 'categories' || entry == 'history')?[(value.length)?[_c('dt',{key:_vm.uniqueKey(entry + 'k')},[_vm._v(_vm._s(_vm._f(\"camelTitle\")(entry)))]),_c('dd',{key:_vm.uniqueKey(entry + 'v')},_vm._l((value),function(item){return _c('ul',{key:_vm.uniqueKey(item)},[_c('li',{key:_vm.uniqueKey(item)},[_vm._v(_vm._s(item))])])}),0)]:_vm._e()]:(entry != 'links' && entry != 'contacts' && value )?[_c('dt',{key:_vm.uniqueKey(entry)},[_vm._v(_vm._s(_vm._f(\"camelTitle\")(entry)))]),_c('dd',{key:_vm.uniqueKey(value)},[_vm._v(_vm._s(value))])]:_vm._e()]})],2)],1)],1),(_vm.project.metadata.contacts.length > 0)?[_c('v-tab',{attrs:{\"href\":(\"#contacts-\" + (_vm.project.id))}},[_vm._v(\"Contacts\")]),(_vm.project.metadata.contacts)?_c('v-tab-item',{attrs:{\"value\":(\"contacts-\" + (_vm.project.id))}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',[_vm._l((_vm.project.metadata.contacts),function(contact){return [_c('h5',{key:_vm.uniqueKey(contact.name)},[_vm._v(_vm._s(contact.name))]),_c('dl',{key:_vm.uniqueKey(contact.name)},[_vm._l((contact),function(cv,ce){return [(ce != 'addresses' && ce != 'name' && cv )?[_c('dt',{key:_vm.uniqueKey(ce)},[_vm._v(_vm._s(_vm._f(\"camelTitle\")(ce)))]),_c('dd',{key:_vm.uniqueKey(cv)},[_vm._v(_vm._s(cv))])]:_vm._e()]})],2),_vm._l((contact.addresses),function(address){return [_c('dl',{key:_vm.uniqueKey(address.name),staticClass:\"address\"},[_vm._l((address),function(av,ae){return [(av)?[_c('dt',{key:_vm.uniqueKey(ae)},[_vm._v(_vm._s(_vm._f(\"camelTitle\")(ae)))]),_c('dd',{key:_vm.uniqueKey(av)},[_vm._v(_vm._s(av))])]:_vm._e()]})],2)]})]})],2)],1)],1):_vm._e()]:_vm._e(),(_vm.project.metadata.links.length > 0)?[_c('v-tab',{attrs:{\"href\":(\"#links-\" + (_vm.project.id))}},[_vm._v(\"Links\")]),(_vm.project.metadata.links)?_c('v-tab-item',{attrs:{\"value\":(\"links-\" + (_vm.project.id))}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',_vm._l((_vm.project.metadata.links),function(link){return _c('ul',{key:_vm.uniqueKey(link.url)},[_c('li',[_c('a',{attrs:{\"href\":link.url}},[_vm._v(_vm._s(link.name))]),_vm._v(\" — \"+_vm._s(link.description)+\" \")])])}),0)],1)],1):_vm._e()]:_vm._e(),_c('v-tab',{attrs:{\"href\":(\"#services-\" + (_vm.project.id))}},[_vm._v(\"Services\")]),_c('v-tab-item',{attrs:{\"value\":(\"services-\" + (_vm.project.id))}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',[_c('v-list',[_c('v-list-item-group',[(_vm.project.capabilities.wfsLayerIds.length)?[_c('v-list-item',{attrs:{\"href\":'./project/' + _vm.project.id + '/wfs3'}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"OAPIF/WFS3\")])],1)],1),_c('v-list-item',{attrs:{\"href\":'./project/' + _vm.project.id + '/?SERVICE=WFS&REQUEST=GetCapabilities'}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"WFS GetCapabilities\")])],1)],1)]:_vm._e(),_c('v-list-item',{attrs:{\"href\":'./project/' + _vm.project.id + '/?SERVICE=WMS&REQUEST=GetCapabilities'}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"WMS GetCapabilities\")])],1)],1)],2)],1)],1)],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Metadata\n *\n * Author: elpaso@itopen.it\n * Date: 2020-06-30\n * Copyright: Copyright 2020, ItOpen\n *\n * This program is free software; you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation; either version 2 of the License, or\n * (at your option) any later version.\n *\n */\n<template>\n <v-tabs>\n <v-tab :href=\"`#general-${project.id}`\">General</v-tab>\n <v-tab-item :value=\"`general-${project.id}`\">\n <v-card flat tile>\n <v-card-text>\n <template v-for=\"(value, entry) in project.metadata\">\n <template v-if=\"entry == 'categories' || entry == 'history'\">\n <template v-if=\"value.length\">\n <dt :key=\"uniqueKey(entry + 'k')\">{{ entry|camelTitle }}</dt>\n <dd :key=\"uniqueKey(entry + 'v')\">\n <ul v-for=\"item in value\" :key=\"uniqueKey(item)\">\n <li :key=\"uniqueKey(item)\">{{ item }}</li>\n </ul>\n </dd>\n </template>\n </template>\n\n <template v-else-if=\"entry != 'links' && entry != 'contacts' && value \">\n <dt :key=\"uniqueKey(entry)\">{{ entry|camelTitle }}</dt>\n <dd :key=\"uniqueKey(value)\">{{ value }}</dd>\n </template>\n </template>\n </v-card-text>\n </v-card>\n </v-tab-item>\n\n <template v-if=\"project.metadata.contacts.length > 0\">\n <v-tab :href=\"`#contacts-${project.id}`\">Contacts</v-tab>\n\n <v-tab-item :value=\"`contacts-${project.id}`\" v-if=\"project.metadata.contacts\">\n <v-card flat tile>\n <v-card-text>\n <template v-for=\"contact in project.metadata.contacts\">\n <h5 :key=\"uniqueKey(contact.name)\">{{ contact.name }}</h5>\n <dl :key=\"uniqueKey(contact.name)\">\n <template v-for=\"(cv, ce) in contact\">\n <template v-if=\"ce != 'addresses' && ce != 'name' && cv \">\n <dt :key=\"uniqueKey(ce)\">{{ ce|camelTitle }}</dt>\n <dd :key=\"uniqueKey(cv)\">{{ cv }}</dd>\n </template>\n </template>\n </dl>\n <template v-for=\"address in contact.addresses\">\n <dl class=\"address\" :key=\"uniqueKey(address.name)\">\n <template v-for=\"(av, ae) in address\">\n <template v-if=\"av\">\n <dt :key=\"uniqueKey(ae)\">{{ ae|camelTitle }}</dt>\n <dd :key=\"uniqueKey(av)\">{{ av }}</dd>\n </template>\n </template>\n </dl>\n </template>\n </template>\n </v-card-text>\n </v-card>\n </v-tab-item>\n </template>\n\n <template v-if=\"project.metadata.links.length > 0\">\n <v-tab :href=\"`#links-${project.id}`\">Links</v-tab>\n\n <v-tab-item :value=\"`links-${project.id}`\" v-if=\"project.metadata.links\">\n <v-card flat tile>\n <v-card-text>\n <ul v-for=\"link in project.metadata.links\" :key=\"uniqueKey(link.url)\">\n <li>\n <a :href=\"link.url\">{{ link.name }}</a>\n — {{ link.description }}\n </li>\n </ul>\n </v-card-text>\n </v-card>\n </v-tab-item>\n </template>\n\n <v-tab :href=\"`#services-${project.id}`\">Services</v-tab>\n <v-tab-item :value=\"`services-${project.id}`\">\n <v-card flat tile>\n <v-card-text>\n <v-list>\n <v-list-item-group>\n <template v-if=\"project.capabilities.wfsLayerIds.length\">\n <v-list-item :href=\"'./project/' + project.id + '/wfs3'\">\n <v-list-item-content>\n <v-list-item-title>OAPIF/WFS3</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n\n <v-list-item\n :href=\"'./project/' + project.id + '/?SERVICE=WFS&REQUEST=GetCapabilities'\"\n >\n <v-list-item-content>\n <v-list-item-title>WFS GetCapabilities</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n </template>\n\n <v-list-item\n :href=\"'./project/' + project.id + '/?SERVICE=WMS&REQUEST=GetCapabilities'\"\n >\n <v-list-item-content>\n <v-list-item-title>WMS GetCapabilities</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n </v-list-item-group>\n </v-list>\n </v-card-text>\n </v-card>\n </v-tab-item>\n </v-tabs>\n</template>\n\n\n<script>\nconst uuidv4 = require(\"uuid/v4\");\n\nexport default {\n props: {\n project: Object\n },\n filters: {\n camelTitle(str) {\n str = str\n .replace(/([A-Z])/g, \" $1\")\n .toLowerCase()\n .split(\" \");\n for (let i = 0; i < str.length; i++) {\n str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1);\n }\n return str.join(\" \");\n }\n },\n data() {\n return {\n uniqueKey(value) {\n return uuidv4() + value;\n }\n };\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\ndt {\n font-weight: bold;\n}\n</style>\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!./Metadata.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!./Metadata.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Metadata.vue?vue&type=template&id=3899b65a&scoped=true&\"\nimport script from \"./Metadata.vue?vue&type=script&lang=js&\"\nexport * from \"./Metadata.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Metadata.vue?vue&type=style&index=0&id=3899b65a&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 \"3899b65a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VList,VListItem,VListItemContent,VListItemGroup,VListItemTitle,VTab,VTabItem,VTabs})\n","<template>\n <v-app id=\"catalog\">\n <v-overlay light v-if=\"status == `loading` && error.length == 0\">\n <v-progress-circular\n indeterminate\n color=\"lime\"\n size=\"64\"\n ></v-progress-circular>\n </v-overlay>\n <v-app-bar app dense hide-on-scroll color=\"green\" dark>\n <v-toolbar-title>QGIS Server Catalog</v-toolbar-title>\n <v-spacer></v-spacer>\n </v-app-bar>\n <v-main>\n <v-container id=\"catalog\" class=\"fill-height\" fluid v-if=\"catalog\">\n <v-row align=\"center\" v-if=\"error.length > 0 || status == `empty`\">\n <v-col cols=\"12\">\n <Error v-if=\"error.length > 0\" :error=\"error\" />\n <v-alert type=\"warning\" v-if=\"status == `empty`\">\n <h2>This QGIS Server catalog does not contain any project.</h2>\n <p>\n The projects (.QGS and .QGZ files) are searched in directories\n set by the environment variable\n <code>QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES</code>\n (multiple paths can be specified by joining them with\n <code>||</code>).\n </p>\n <p>\n Example:\n <br />\n <code\n >QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/path/to/my/projects||/another_path/to/my/projects</code\n >\n </p>\n <p>\n Postgres projects are searched in the connections set by the\n environment variable\n <code>QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS</code>\n (multiple connections can be specified by joining them with\n <code>||</code>).\n </p>\n <p>\n Example:\n <br />\n <code\n >QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS=postgresql://myusername:mypassword@myhost:myport?sslmode=disable&dbname=mydatabase&schema=public</code\n >\n </p>\n </v-alert>\n </v-col>\n </v-row>\n\n <template v-if=\"catalog\">\n <v-card\n class=\"mx-auto mb-4\"\n max-width=\"800\"\n min-width=\"400\"\n :key=\"project.identifier\"\n v-for=\"project in catalog\"\n >\n <l-map\n :ref=\"'mapid-' + project.id\"\n @ready=\"loadMap(project, $event)\"\n >\n <l-tile-layer\n url=\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"\n v-if=\"\n project.capabilities.wmsOutputCrsList.includes('EPSG:3857')\n \"\n ></l-tile-layer>\n </l-map>\n <v-card-title>{{ project.title }}</v-card-title>\n <v-card-subtitle class=\"description\" v-if=\"project.description\">{{\n project.description\n }}</v-card-subtitle>\n\n <v-card-actions>\n <v-dialog\n class=\"metadata\"\n scrollable\n v-model=\"project.show\"\n max-width=\"800px\"\n >\n <template v-slot:activator=\"{ on }\">\n <v-btn color=\"orange\" text v-on=\"on\">\n <v-icon>mdi-information</v-icon>Metadata\n </v-btn>\n </template>\n <v-card>\n <v-card-title>{{ project.title }}</v-card-title>\n <v-divider></v-divider>\n <v-card-text style=\"height: 300px\">\n <Metadata :project=\"project\" />\n </v-card-text>\n <v-divider></v-divider>\n <v-card-actions>\n <v-btn\n color=\"blue darken-1\"\n text\n @click=\"project.show = false\"\n >Close</v-btn\n >\n </v-card-actions>\n </v-card>\n </v-dialog>\n\n <v-btn\n color=\"orange\"\n text\n :to=\"{ name: 'map', params: { projectId: project.id } }\"\n >\n <v-icon>mdi-map</v-icon>Browse\n </v-btn>\n </v-card-actions>\n </v-card>\n </template>\n </v-container>\n </v-main>\n <v-footer color=\"lime\" app>\n <!-- your logo/ad here -->\n </v-footer>\n </v-app>\n</template>\n\n<script>\nimport { LMap, LTileLayer } from \"vue2-leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport { latLng, Polygon } from \"leaflet\";\nimport WMS from \"leaflet-wms/leaflet.wms.js\";\nimport Metadata from \"@/components/Metadata.vue\";\nimport Error from \"@/components/Error.vue\";\nimport Utils from \"@/js/Utils.js\";\n\nexport default {\n name: \"Catalog\",\n components: {\n LMap,\n LTileLayer,\n Metadata,\n Error,\n },\n computed: {\n status() {\n return this.$store.state.status;\n },\n catalog() {\n return this.$store.state.catalog;\n },\n error() {\n let error = this.$store.state.error;\n this.$store.commit(\"clearError\");\n return error;\n },\n },\n created() {\n if (!this.catalog.length) {\n this.$store.dispatch(\"setStatus\", `loading`);\n this.$store.dispatch(\"getCatalog\");\n }\n },\n methods: {\n loadMap(project, map) {\n let west = project.geographic_extent[0];\n let south = project.geographic_extent[1];\n let east = project.geographic_extent[2];\n let north = project.geographic_extent[3];\n let p1 = new latLng(south, west);\n let p2 = new latLng(north, west);\n let p3 = new latLng(north, east);\n let p4 = new latLng(south, east);\n let polygonPoints = [p1, p2, p3, p4];\n let jl = new Polygon(polygonPoints, { fill: false }).addTo(map);\n map.setView(jl.getBounds().getCenter());\n if (\n jl.getBounds().getEast() != jl.getBounds().getWest() &&\n jl.getBounds().getNorth() != jl.getBounds().getSouth()\n ) {\n map.fitBounds(jl.getBounds());\n }\n\n WMS.overlay(`./project/${project.id}/?`, {\n layers: Utils.getAllLayers(project),\n transparent: true,\n format: \"image/png\",\n }).addTo(map);\n },\n },\n};\n</script>\n\n<style scoped>\n.leaflet-container {\n height: 20rem;\n}\n.card-footer .btn {\n margin-right: 0.5em;\n}\n\nh4.loading {\n margin-top: 0.35em;\n}\n\n.metadata {\n z-index: 1001;\n}\n.v-footer {\n height: 1.5rem;\n}\n</style>\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!./Catalog.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!./Catalog.vue?vue&type=script&lang=js&\"","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","import { render, staticRenderFns } from \"./Catalog.vue?vue&type=template&id=603d1f06&scoped=true&\"\nimport script from \"./Catalog.vue?vue&type=script&lang=js&\"\nexport * from \"./Catalog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Catalog.vue?vue&type=style&index=0&id=603d1f06&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 \"603d1f06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VApp,VAppBar,VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCol,VContainer,VDialog,VDivider,VFooter,VIcon,VMain,VOverlay,VProgressCircular,VRow,VSpacer,VToolbarTitle})\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.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!./Catalog.vue?vue&type=style&index=0&id=603d1f06&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.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!./Catalog.vue?vue&type=style&index=0&id=603d1f06&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.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!./Metadata.vue?vue&type=style&index=0&id=3899b65a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.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!./Metadata.vue?vue&type=style&index=0&id=3899b65a&lang=scss&scoped=true&\""],"sourceRoot":""} |