photos/js/photos-node_modules_vue-mat...

1 line
36 KiB
Plaintext

{"version":3,"file":"photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-2ca5cc.js?v=7f513eac25711a65b6e3","mappings":"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","sources":["webpack:///photos/src/views/PublicAlbumContent.vue?vue&type=style&index=0&id=4a84a7c8&lang=scss&scoped=true&","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/MapMarker.vue?eeb6","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue?vue&type=template&id=325b1348&","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/PackageVariant.vue?692c","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue?vue&type=template&id=9a5ab29c&","webpack:///photos/node_modules/vue-material-design-icons/Plus.vue","webpack:///photos/node_modules/vue-material-design-icons/Plus.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Plus.vue?80b4","webpack:///photos/node_modules/vue-material-design-icons/Plus.vue?vue&type=template&id=968bec46&","webpack:///photos/node_modules/vue-material-design-icons/Video.vue","webpack:///photos/node_modules/vue-material-design-icons/Video.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Video.vue?28ad","webpack:///photos/node_modules/vue-material-design-icons/Video.vue?vue&type=template&id=12752490&","webpack:///photos/src/views/PublicAlbumContent.vue?vue&type=template&id=4a84a7c8&scoped=true&","webpack:///photos/src/views/PublicAlbumContent.vue","webpack:///photos/src/views/PublicAlbumContent.vue?vue&type=script&lang=js&","webpack://photos/./src/views/PublicAlbumContent.vue?fcca","webpack://photos/./src/views/PublicAlbumContent.vue?4404"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".album[data-v-4a84a7c8]{display:flex;flex-direction:column}.album__title[data-v-4a84a7c8]{width:100%}.album__name[data-v-4a84a7c8]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.album__location[data-v-4a84a7c8]{margin-left:-4px;display:flex;color:var(--color-text-lighter)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/PublicAlbumContent.vue\"],\"names\":[],\"mappings\":\"AAkTA,wBACC,YAAA,CACA,qBAAA,CAEA,+BACC,UAAA,CAGD,8BACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAGD,kCACC,gBAAA,CACA,YAAA,CACA,+BAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.album {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__title {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__location {\\n\\t\\tmargin-left: -4px;\\n\\t\\tdisplay: flex;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon map-marker-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MapMarkerIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MapMarker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MapMarker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapMarker.vue?vue&type=template&id=325b1348&\"\nimport script from \"./MapMarker.vue?vue&type=script&lang=js&\"\nexport * from \"./MapMarker.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon map-marker-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon package-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PackageVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PackageVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PackageVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PackageVariant.vue?vue&type=template&id=9a5ab29c&\"\nimport script from \"./PackageVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./PackageVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon package-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon plus-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlusIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=968bec46&\"\nimport script from \"./Plus.vue?vue&type=script&lang=js&\"\nexport * from \"./Plus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon plus-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon video-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"VideoIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Video.vue?vue&type=template&id=12752490&\"\nimport script from \"./Video.vue?vue&type=script&lang=js&\"\nexport * from \"./Video.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon video-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CollectionContent',{ref:\"collectionContent\",attrs:{\"collection\":_vm.album,\"collection-file-ids\":_vm.albumFileIds,\"semaphore\":_vm.semaphore,\"loading\":_vm.loadingAlbum || _vm.loadingFiles,\"error\":_vm.errorFetchingAlbum || _vm.errorFetchingFiles},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selectedFileIds = ref.selectedFileIds;\nreturn (_vm.albumOriginalName !== '')?_c('HeaderNavigation',{key:\"navigation\",attrs:{\"loading\":_vm.loadingAlbum || _vm.loadingFiles,\"params\":{ token: _vm.token },\"path\":\"/\",\"root-title\":_vm.albumOriginalName,\"title\":_vm.albumOriginalName},on:{\"refresh\":_vm.fetchAlbumContent}},[(_vm.album.location !== '')?_c('div',{staticClass:\"album__location\",attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('MapMarker'),_vm._v(_vm._s(_vm.album.location)+\"\\n\\t\\t\\t\")],1):_vm._e(),_vm._v(\" \"),(_vm.album !== undefined)?_c('template',{slot:\"right\"},[_c('NcActions',{attrs:{\"force-menu\":true,\"aria-label\":_vm.t('photos', 'Open actions menu')}},[(selectedFileIds.length > 0)?[_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.handleRemoveFilesFromAlbum(selectedFileIds)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Remove selection from album'))+\"\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('Close',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1)]:_vm._e()],2)],1):_vm._e()],2):_vm._e()}}],null,true)},[_vm._v(\" \"),_c('NcEmptyContent',{staticClass:\"album__empty\",attrs:{\"slot\":\"empty-content\",\"title\":_vm.t('photos', 'This album does not have any photos or videos yet!')},slot:\"empty-content\"},[_c('ImagePlus',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\" \"),_c('NcButton',{attrs:{\"slot\":\"action\",\"type\":\"primary\",\"aria-label\":_vm.t('photos', 'Add photos to this album')},on:{\"click\":function($event){_vm.showAddPhotosModal = true}},slot:\"action\"},[_c('Plus',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', \"Add\"))+\"\\n\\t\\t\\t\")],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n -\n - @author Louis Chemineau <louis@chmn.me>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div>\n\t\t<CollectionContent ref=\"collectionContent\"\n\t\t\t:collection=\"album\"\n\t\t\t:collection-file-ids=\"albumFileIds\"\n\t\t\t:semaphore=\"semaphore\"\n\t\t\t:loading=\"loadingAlbum || loadingFiles\"\n\t\t\t:error=\"errorFetchingAlbum || errorFetchingFiles\">\n\t\t\t<!-- Header -->\n\t\t\t<HeaderNavigation v-if=\"albumOriginalName !== ''\"\n\t\t\t\tkey=\"navigation\"\n\t\t\t\tslot=\"header\"\n\t\t\t\tslot-scope=\"{selectedFileIds}\"\n\t\t\t\t:loading=\"loadingAlbum || loadingFiles\"\n\t\t\t\t:params=\"{ token }\"\n\t\t\t\tpath=\"/\"\n\t\t\t\t:root-title=\"albumOriginalName\"\n\t\t\t\t:title=\"albumOriginalName\"\n\t\t\t\t@refresh=\"fetchAlbumContent\">\n\t\t\t\t<div v-if=\"album.location !== ''\" slot=\"subtitle\" class=\"album__location\">\n\t\t\t\t\t<MapMarker />{{ album.location }}\n\t\t\t\t</div>\n\t\t\t\t<template v-if=\"album !== undefined\" slot=\"right\">\n\t\t\t\t\t<NcActions :force-menu=\"true\" :aria-label=\"t('photos', 'Open actions menu')\">\n\t\t\t\t\t\t<!-- TODO: enable download on public albums -->\n\t\t\t\t\t\t<!-- <ActionDownload v-if=\"albumFileIds.length > 0\"\n\t\t\t\t\t\t\t:selected-file-ids=\"albumFileIds\"\n\t\t\t\t\t\t\t:title=\"t('photos', 'Download all files in album')\">\n\t\t\t\t\t\t\t<DownloadMultiple slot=\"icon\" />\n\t\t\t\t\t\t</ActionDownload> -->\n\n\t\t\t\t\t\t<template v-if=\"selectedFileIds.length > 0\">\n\t\t\t\t\t\t\t<!-- TODO: enable download on public albums -->\n\t\t\t\t\t\t\t<!-- <NcActionSeparator />\n\n\t\t\t\t\t\t\t<ActionDownload :selected-file-ids=\"selectedFileIds\" :title=\"t('photos', 'Download selected files')\">\n\t\t\t\t\t\t\t\t<Download slot=\"icon\" />\n\t\t\t\t\t\t\t</ActionDownload> -->\n\n\t\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t\t\t\t@click=\"handleRemoveFilesFromAlbum(selectedFileIds)\">\n\t\t\t\t\t\t\t\t{{ t('photos', 'Remove selection from album') }}\n\t\t\t\t\t\t\t\t<Close slot=\"icon\" />\n\t\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActions>\n\t\t\t\t</template>\n\t\t\t</HeaderNavigation>\n\n\t\t\t<!-- No content -->\n\t\t\t<NcEmptyContent slot=\"empty-content\"\n\t\t\t\t:title=\"t('photos', 'This album does not have any photos or videos yet!')\"\n\t\t\t\tclass=\"album__empty\">\n\t\t\t\t<ImagePlus slot=\"icon\" />\n\n\t\t\t\t<NcButton slot=\"action\"\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t:aria-label=\"t('photos', 'Add photos to this album')\"\n\t\t\t\t\t@click=\"showAddPhotosModal = true\">\n\t\t\t\t\t<Plus slot=\"icon\" />\n\t\t\t\t\t{{ t('photos', \"Add\") }}\n\t\t\t\t</NcButton>\n\t\t\t</NcEmptyContent>\n\t\t</CollectionContent>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex'\nimport { createClient, getPatcher } from 'webdav'\n\nimport MapMarker from 'vue-material-design-icons/MapMarker'\nimport Plus from 'vue-material-design-icons/Plus'\nimport ImagePlus from 'vue-material-design-icons/ImagePlus'\nimport Close from 'vue-material-design-icons/Close'\n// import Download from 'vue-material-design-icons/Download'\n// import DownloadMultiple from 'vue-material-design-icons/DownloadMultiple'\n\nimport { NcActions, NcActionButton, NcButton, NcEmptyContent, /** NcActionSeparator, */ isMobile } from '@nextcloud/vue'\nimport { showError } from '@nextcloud/dialogs'\nimport axios from '@nextcloud/axios'\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nimport FetchFilesMixin from '../mixins/FetchFilesMixin.js'\nimport AbortControllerMixin from '../mixins/AbortControllerMixin.js'\nimport CollectionContent from '../components/Collection/CollectionContent.vue'\nimport HeaderNavigation from '../components/HeaderNavigation.vue'\n// import ActionDownload from '../components/Actions/ActionDownload.vue'\nimport { fetchAlbum, fetchAlbumContent } from '../services/Albums.js'\nimport logger from '../services/logger.js'\n\nconst publicRootPath = 'dav'\n\n// force our axios\nconst patcher = getPatcher()\npatcher.patch('request', axios)\n\n// init webdav client on default dav endpoint\nconst remote = generateRemoteUrl(publicRootPath)\nconst publicRemote = remote\n\nexport default {\n\tname: 'PublicAlbumContent',\n\tcomponents: {\n\t\tMapMarker,\n\t\tPlus,\n\t\tClose,\n\t\t// Download,\n\t\t// DownloadMultiple,\n\t\tImagePlus,\n\t\tNcEmptyContent,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\t// NcActionSeparator,\n\t\tNcButton,\n\t\tCollectionContent,\n\t\t// ActionDownload,\n\t\tHeaderNavigation,\n\t},\n\n\tmixins: [\n\t\tFetchFilesMixin,\n\t\tAbortControllerMixin,\n\t\tisMobile,\n\t],\n\n\tprops: {\n\t\ttoken: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowAddPhotosModal: false,\n\t\t\tloadingAlbum: false,\n\t\t\terrorFetchingAlbum: null,\n\t\t\tloadingCount: 0,\n\t\t\tloadingAddFilesToAlbum: false,\n\t\t\talbumOriginalName: '',\n\t\t\tpublicClient: createClient(publicRemote, {\n\t\t\t\tusername: this.token,\n\t\t\t\tpassword: null,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t\t'publicAlbums',\n\t\t\t'publicAlbumsFiles',\n\t\t]),\n\n\t\t/**\n\t\t * @return {object} The album information for the current albumName.\n\t\t */\n\t\talbum() {\n\t\t\treturn this.publicAlbums[this.albumName] || {}\n\t\t},\n\n\t\t/**\n\t\t * @return {string} The album's name is the token.\n\t\t */\n\t\talbumName() {\n\t\t\treturn this.token\n\t\t},\n\n\t\t/**\n\t\t * @return {string[]} The list of files for the current albumName.\n\t\t */\n\t\talbumFileIds() {\n\t\t\treturn this.publicAlbumsFiles[this.albumName] || []\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.fetchAlbumInfo()\n\t\tawait this.fetchAlbumContent()\n\t},\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t'appendFiles',\n\t\t\t'addPublicAlbums',\n\t\t\t'addFilesToPublicAlbum',\n\t\t\t'removeFilesFromPublicAlbum',\n\t\t]),\n\n\t\tasync fetchAlbumInfo() {\n\t\t\tif (this.loadingAlbum) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingAlbum = true\n\t\t\t\tthis.errorFetchingAlbum = null\n\n\t\t\t\tconst album = await fetchAlbum(\n\t\t\t\t\t`/photospublic/${this.token}`,\n\t\t\t\t\tthis.abortController.signal,\n\t\t\t\t\t'<nc:original-name />',\n\t\t\t\t\tthis.publicClient,\n\t\t\t\t)\n\t\t\t\tthis.addPublicAlbums({ collections: [album] })\n\t\t\t\tthis.albumOriginalName = album.originalName\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingAlbum = 404\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingAlbum = error\n\t\t\t\tlogger.error('[PublicAlbumContent] Error fetching album', { error })\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch album.'))\n\t\t\t} finally {\n\t\t\t\tthis.loadingAlbum = false\n\t\t\t}\n\t\t},\n\n\t\tasync fetchAlbumContent() {\n\t\t\tif (this.loadingFiles || this.showEditAlbumForm) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst semaphoreSymbol = await this.semaphore.acquire(() => 0, 'fetchFiles')\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingFiles = null\n\t\t\t\tthis.loadingFiles = true\n\t\t\t\tthis.semaphoreSymbol = semaphoreSymbol\n\n\t\t\t\tconst fetchedFiles = await fetchAlbumContent(\n\t\t\t\t\t`/photospublic/${this.token}`,\n\t\t\t\t\tthis.abortController.signal,\n\t\t\t\t\tthis.publicClient,\n\t\t\t\t)\n\n\t\t\t\tconst fileIds = fetchedFiles\n\t\t\t\t\t.map(file => file.fileid.toString())\n\n\t\t\t\tthis.appendFiles(fetchedFiles)\n\n\t\t\t\tif (fetchedFiles.length > 0) {\n\t\t\t\t\tawait this.$store.commit('addFilesToPublicAlbum', { collectionId: this.albumName, fileIdsToAdd: fileIds })\n\t\t\t\t}\n\n\t\t\t\treturn fetchedFiles\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingFiles = error\n\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch albums list.'))\n\t\t\t\tlogger.error('[PublicAlbumContent] Error fetching album files', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingFiles = false\n\t\t\t\tthis.semaphore.release(semaphoreSymbol)\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\n\t\tasync handleFilesPicked(fileIds) {\n\t\t\tthis.showAddPhotosModal = false\n\t\t\tawait this.addFilesToPublicAlbum({ collectionId: this.albumName, fileIdsToAdd: fileIds })\n\t\t\t// Re-fetch album content to have the proper filenames.\n\t\t\tawait this.fetchAlbumContent()\n\t\t},\n\n\t\tasync handleRemoveFilesFromAlbum(fileIds) {\n\t\t\tthis.$refs.collectionContent.onUncheckFiles(fileIds)\n\t\t\tawait this.removeFilesFromPublicAlbum({ collectionId: this.albumName, fileIdsToRemove: fileIds })\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.album {\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__title {\n\t\twidth: 100%;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__location {\n\t\tmargin-left: -4px;\n\t\tdisplay: flex;\n\t\tcolor: var(--color-text-lighter);\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=style&index=0&id=4a84a7c8&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=style&index=0&id=4a84a7c8&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PublicAlbumContent.vue?vue&type=template&id=4a84a7c8&scoped=true&\"\nimport script from \"./PublicAlbumContent.vue?vue&type=script&lang=js&\"\nexport * from \"./PublicAlbumContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PublicAlbumContent.vue?vue&type=style&index=0&id=4a84a7c8&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 \"4a84a7c8\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_h","$createElement","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","patch","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","ref","album","albumFileIds","semaphore","loadingAlbum","loadingFiles","errorFetchingAlbum","errorFetchingFiles","scopedSlots","_u","key","fn","selectedFileIds","albumOriginalName","token","fetchAlbumContent","location","slot","undefined","t","length","handleRemoveFilesFromAlbum","showAddPhotosModal"],"sourceRoot":""}