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

1 line
57 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-7ffa74.js?v=c0fcdedc21a50b1c4105","mappings":"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","sources":["webpack:///photos/node_modules/@nextcloud/sharing/dist/index.js","webpack:///photos/src/mixins/FetchCollectionContentMixin.js","webpack:///photos/src/views/SharedAlbumContent.vue?vue&type=style&index=0&id=50863a67&prod&lang=scss&scoped=true","webpack:///photos/node_modules/vue-material-design-icons/Close.vue","webpack:///photos/node_modules/vue-material-design-icons/Close.vue?vue&type=script&lang=js","webpack://photos/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack:///photos/node_modules/vue-material-design-icons/Close.vue?vue&type=template&id=75d4151a","webpack:///photos/node_modules/vue-material-design-icons/Delete.vue","webpack:///photos/node_modules/vue-material-design-icons/Delete.vue?vue&type=script&lang=js","webpack://photos/./node_modules/vue-material-design-icons/Delete.vue?92e1","webpack:///photos/node_modules/vue-material-design-icons/Delete.vue?vue&type=template&id=458c7ecb","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/PlayCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=script&lang=js","webpack://photos/./node_modules/vue-material-design-icons/PlayCircle.vue?0c26","webpack:///photos/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=template&id=34d1e782","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/SharedAlbumContent.vue?2ff2","webpack:///photos/src/views/SharedAlbumContent.vue","webpack:///photos/src/views/SharedAlbumContent.vue?vue&type=script&lang=js","webpack://photos/./src/views/SharedAlbumContent.vue?0470","webpack://photos/./src/views/SharedAlbumContent.vue?a937"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type = void 0;\nvar Type;\nexports.Type = Type;\n\n(function (Type) {\n Type[Type[\"SHARE_TYPE_USER\"] = 0] = \"SHARE_TYPE_USER\";\n Type[Type[\"SHARE_TYPE_GROUP\"] = 1] = \"SHARE_TYPE_GROUP\";\n Type[Type[\"SHARE_TYPE_LINK\"] = 3] = \"SHARE_TYPE_LINK\";\n Type[Type[\"SHARE_TYPE_EMAIL\"] = 4] = \"SHARE_TYPE_EMAIL\";\n Type[Type[\"SHARE_TYPE_REMOTE\"] = 6] = \"SHARE_TYPE_REMOTE\";\n Type[Type[\"SHARE_TYPE_CIRCLE\"] = 7] = \"SHARE_TYPE_CIRCLE\";\n Type[Type[\"SHARE_TYPE_GUEST\"] = 8] = \"SHARE_TYPE_GUEST\";\n Type[Type[\"SHARE_TYPE_REMOTE_GROUP\"] = 9] = \"SHARE_TYPE_REMOTE_GROUP\";\n Type[Type[\"SHARE_TYPE_ROOM\"] = 10] = \"SHARE_TYPE_ROOM\";\n Type[Type[\"SHARE_TYPE_DECK\"] = 12] = \"SHARE_TYPE_DECK\";\n})(Type || (exports.Type = Type = {}));\n//# sourceMappingURL=index.js.map","/**\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\nimport { mapActions } from 'vuex'\n\nimport { showError } from '@nextcloud/dialogs'\n\nimport AbortControllerMixin from './AbortControllerMixin.js'\nimport { fetchCollection, fetchCollectionFiles } from '../services/collectionFetcher.js'\nimport logger from '../services/logger.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\n\nexport default {\n\tname: 'FetchCollectionContentMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tloadingCollection: false,\n\t\t\tloadingCollectionFiles: false,\n\t\t\terrorFetchingCollection: null,\n\t\t\terrorFetchingCollectionFiles: null,\n\t\t}\n\t},\n\n\tmixins: [\n\t\tAbortControllerMixin,\n\t],\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t'appendFiles',\n\t\t\t'addCollections',\n\t\t\t'setCollectionFiles',\n\t\t]),\n\t\t/**\n\t\t * @param {string} collectionFileName\n\t\t * @param {string[]} [extraProps] - Extra properties to add to the DAV request.\n\t\t * @param {import('webdav').WebDAVClient} [client] - The DAV client to use.\n\t\t * @return {Promise<import('../services/collectionFetcher.js').Collection|null>}\n\t\t */\n\t\tasync fetchCollection(collectionFileName, extraProps, client) {\n\t\t\tif (this.loadingCollection) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingCollection = true\n\t\t\t\tthis.errorFetchingCollection = null\n\n\t\t\t\tconst collection = await fetchCollection(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tthis.addCollections({ collections: [collection] })\n\t\t\t\treturn collection\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollection = 404\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollection = error\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection', { error })\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch collection.'))\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollection = false\n\t\t\t}\n\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * @param {string} collectionFileName\n\t\t * @param {string[]} [extraProps] - Extra properties to add to the DAV request.\n\t\t * @param {import('webdav').WebDAVClient} [client] - The DAV client to use.\n\t\t * @param {((value: import('../services/collectionFetcher.js').CollectionFile, index: number, array: import('../services/collectionFetcher.js').CollectionFile[]) => any)[]} [mappers] - Callback that can transform files before they are appended.\n\t\t * @return {Promise<import('../services/collectionFetcher.js').CollectionFile[]>}\n\t\t */\n\t\tasync fetchCollectionFiles(collectionFileName, extraProps, client, mappers = []) {\n\t\t\tif (this.loadingCollectionFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingCollectionFiles = null\n\t\t\t\tthis.loadingCollectionFiles = true\n\n\t\t\t\tlet fetchedFiles = await fetchCollectionFiles(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tconst fileIds = fetchedFiles.map(file => file.fileid.toString())\n\n\t\t\t\tmappers.forEach(mapper => (fetchedFiles = fetchedFiles.map(mapper)))\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('setCollectionFiles', { collectionFileName, 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.errorFetchingCollectionFiles = 404\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollectionFiles = error\n\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch collections list.'))\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection files', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollectionFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\t},\n}\n","// 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-50863a67]{display:flex;flex-direction:column}.album__title[data-v-50863a67]{width:100%}.album__name[data-v-50863a67]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.album__location[data-v-50863a67]{margin-left:-4px;display:flex;color:var(--color-text-lighter)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/SharedAlbumContent.vue\"],\"names\":[],\"mappings\":\"AAEA,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.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 close-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,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CloseIcon\",\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!./Close.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=75d4151a\"\nimport script from \"./Close.vue?vue&type=script&lang=js\"\nexport * from \"./Close.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 render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon close-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,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\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 delete-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,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DeleteIcon\",\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!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=458c7ecb\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.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 render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon delete-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,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\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 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 render(){var _vm=this,_c=_vm._self._c;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()])])])\n}\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 render(){var _vm=this,_c=_vm._self._c;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()])])])\n}\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 play-circle-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=\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 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: \"PlayCircleIcon\",\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!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=34d1e782\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.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 render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-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\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\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 render(){var _vm=this,_c=_vm._self._c;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()])])])\n}\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 render(){var _vm=this,_c=_vm._self._c;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()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(true)?_c('CollectionContent',{ref:\"collectionContent\",attrs:{\"collection\":_vm.album,\"collection-file-ids\":_vm.albumFileIds,\"loading\":_vm.loadingCollection || _vm.loadingCollectionFiles,\"error\":_vm.errorFetchingCollection || _vm.errorFetchingCollectionFiles},scopedSlots:_vm._u([{key:\"header\",fn:function({selectedFileIds, resetSelection}){return _c('HeaderNavigation',{key:\"navigation\",attrs:{\"loading\":_vm.loadingCollectionFiles,\"params\":{ albumName: _vm.albumName },\"path\":'/' + _vm.albumName,\"title\":_vm.albumOriginalName},on:{\"refresh\":_vm.fetchAlbumContent}},[(_vm.album !== undefined && _vm.album.location !== '')?_c('div',{staticClass:\"album__location\",attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('MapMarker'),_vm._v(_vm._s(_vm.album.location)+\" ⸱ \"+_vm._s(_vm.t('photos', 'Shared by'))+\" \"),_c('NcUserBubble',{attrs:{\"display-name\":_vm.album.collaborators[0].label,\"user\":_vm.album.collaborators[0].id}})],1):_vm._e(),_vm._v(\" \"),_c('template',{slot:\"default\"},[(selectedFileIds.length > 0)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('photos', 'Unselect all')},on:{\"click\":resetSelection},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Close')]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Unselect all'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(_vm.album !== undefined)?_c('template',{slot:\"right\"},[(_vm.album.nbItems !== 0)?_c('NcButton',{attrs:{\"type\":\"secondary\",\"aria-label\":_vm.t('photos', 'Add photos to this album')},on:{\"click\":function($event){_vm.showAddPhotosModal = true}}},[_c('Plus',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', \"Add\"))+\"\\n\\t\\t\\t\\t\")],1):_vm._e(),_vm._v(\" \"),_c('NcActions',{attrs:{\"force-menu\":true,\"aria-label\":_vm.t('photos', 'Open actions menu')}},[(_vm.album.collaborators[0].type === _vm.collaboratorTypes.SHARE_TYPE_USER)?_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":_vm.handleDeleteAlbum}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Delete album'))+\"\\n\\t\\t\\t\\t\\t\\t\"),_c('Delete',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1):_vm._e(),_vm._v(\" \"),(selectedFileIds.length > 0)?[_c('NcActionSeparator'),_vm._v(\" \"),_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)}}],null,false,284801126)},[_vm._v(\" \"),(_vm.album !== undefined && _vm.album.nbItems === 0 && !(_vm.loadingCollectionFiles || _vm.loadingCollection))?_c('NcEmptyContent',{staticClass:\"album__empty\",attrs:{\"slot\":\"empty-content\",\"name\":_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',{staticClass:\"album__empty__button\",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):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.showAddPhotosModal)?_c('NcModal',{attrs:{\"size\":\"large\",\"name\":_vm.t('photos', 'Add photos to {albumName}', {albumName: _vm.albumOriginalName})},on:{\"close\":function($event){_vm.showAddPhotosModal = false}}},[(_vm.album !== undefined)?_c('FilesPicker',{attrs:{\"destination\":_vm.album.basename,\"blacklist-ids\":_vm.albumFileIds,\"loading\":_vm.loadingAddFilesToAlbum},on:{\"files-picked\":_vm.handleFilesPicked}}):_vm._e()],1):_vm._e()],1)\n}\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 v-if=\"true\"\n\t\t\tref=\"collectionContent\"\n\t\t\t:collection=\"album\"\n\t\t\t:collection-file-ids=\"albumFileIds\"\n\t\t\t:loading=\"loadingCollection || loadingCollectionFiles\"\n\t\t\t:error=\"errorFetchingCollection || errorFetchingCollectionFiles\">\n\t\t\t<!-- Header -->\n\t\t\t<HeaderNavigation key=\"navigation\"\n\t\t\t\tslot=\"header\"\n\t\t\t\tslot-scope=\"{selectedFileIds, resetSelection}\"\n\t\t\t\t:loading=\"loadingCollectionFiles\"\n\t\t\t\t:params=\"{ albumName }\"\n\t\t\t\t:path=\"'/' + albumName\"\n\t\t\t\t:title=\"albumOriginalName\"\n\t\t\t\t@refresh=\"fetchAlbumContent\">\n\t\t\t\t<div v-if=\"album !== undefined && album.location !== ''\" slot=\"subtitle\" class=\"album__location\">\n\t\t\t\t\t<MapMarker />{{ album.location }} ⸱ {{ t('photos', 'Shared by') }}&nbsp;<NcUserBubble :display-name=\"album.collaborators[0].label\" :user=\"album.collaborators[0].id\" />\n\t\t\t\t</div>\n\n\t\t\t\t<template slot=\"default\">\n\t\t\t\t\t<NcButton v-if=\"selectedFileIds.length > 0\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Unselect all')\"\n\t\t\t\t\t\t@click=\"resetSelection\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('photos', 'Unselect all') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-if=\"album !== undefined\" slot=\"right\">\n\t\t\t\t\t<NcButton v-if=\"album.nbItems !== 0\"\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Add photos to this album')\"\n\t\t\t\t\t\t@click=\"showAddPhotosModal = true\">\n\t\t\t\t\t\t<Plus slot=\"icon\" />\n\t\t\t\t\t\t{{ t('photos', \"Add\") }}\n\t\t\t\t\t</NcButton>\n\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 shared 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<NcActionButton v-if=\"album.collaborators[0].type === collaboratorTypes.SHARE_TYPE_USER\"\n\t\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t\t@click=\"handleDeleteAlbum\">\n\t\t\t\t\t\t\t{{ t('photos', 'Delete album') }}\n\t\t\t\t\t\t\t<Delete slot=\"icon\" />\n\t\t\t\t\t\t</NcActionButton>\n\n\t\t\t\t\t\t<template v-if=\"selectedFileIds.length > 0\">\n\t\t\t\t\t\t\t<NcActionSeparator />\n\n\t\t\t\t\t\t\t<!-- TODO: enable download on shared albums -->\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 v-if=\"album !== undefined && album.nbItems === 0 && !(loadingCollectionFiles || loadingCollection)\"\n\t\t\t\tslot=\"empty-content\"\n\t\t\t\t:name=\"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\tclass=\"album__empty__button\"\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\n\t\t<NcModal v-if=\"showAddPhotosModal\"\n\t\t\tsize=\"large\"\n\t\t\t:name=\"t('photos', 'Add photos to {albumName}', {albumName: albumOriginalName})\"\n\t\t\t@close=\"showAddPhotosModal = false\">\n\t\t\t<FilesPicker v-if=\"album !== undefined\"\n\t\t\t\t:destination=\"album.basename\"\n\t\t\t\t:blacklist-ids=\"albumFileIds\"\n\t\t\t\t:loading=\"loadingAddFilesToAlbum\"\n\t\t\t\t@files-picked=\"handleFilesPicked\" />\n\t\t</NcModal>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex'\n\nimport { NcActions, NcActionButton, NcButton, NcModal, NcEmptyContent, NcActionSeparator, NcUserBubble, isMobile } from '@nextcloud/vue'\nimport { Type } from '@nextcloud/sharing'\nimport { translate } from '@nextcloud/l10n'\n\nimport MapMarker from 'vue-material-design-icons/MapMarker.vue'\nimport Plus from 'vue-material-design-icons/Plus.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport ImagePlus from 'vue-material-design-icons/ImagePlus.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n// import Download from 'vue-material-design-icons/Download.vue'\n// import DownloadMultiple from 'vue-material-design-icons/DownloadMultiple.vue'\n\nimport FetchFilesMixin from '../mixins/FetchFilesMixin.js'\nimport FetchCollectionContentMixin from '../mixins/FetchCollectionContentMixin.js'\n\nimport CollectionContent from '../components/Collection/CollectionContent.vue'\nimport HeaderNavigation from '../components/HeaderNavigation.vue'\n// import ActionDownload from '../components/Actions/ActionDownload.vue'\nimport FilesPicker from '../components/FilesPicker.vue'\n\nexport default {\n\tname: 'SharedAlbumContent',\n\tcomponents: {\n\t\tMapMarker,\n\t\tPlus,\n\t\tClose,\n\t\t// Download,\n\t\t// DownloadMultiple,\n\t\tDelete,\n\t\tImagePlus,\n\t\tNcEmptyContent,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionSeparator,\n\t\tNcButton,\n\t\tNcModal,\n\t\tNcUserBubble,\n\t\tCollectionContent,\n\t\t// ActionDownload,\n\t\tFilesPicker,\n\t\tHeaderNavigation,\n\t},\n\n\tmixins: [\n\t\tFetchCollectionContentMixin,\n\t\tFetchFilesMixin,\n\t\tisMobile,\n\t],\n\n\tprops: {\n\t\talbumName: {\n\t\t\ttype: String,\n\t\t\tdefault: '/',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowAddPhotosModal: false,\n\t\t\tloadingCount: 0,\n\t\t\tloadingAddFilesToAlbum: false,\n\t\t\tcollaboratorTypes: Type,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t\t'sharedAlbumsFiles',\n\t\t]),\n\n\t\t/**\n\t\t * @return {import('../store/sharedAlbums.js').SharedAlbum|undefined} The album information for the current albumName.\n\t\t */\n\t\talbum() {\n\t\t\treturn this.$store.getters.getSharedAlbum(this.albumName)\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.$store.getters.getSharedAlbumFiles(this.albumName)\n\t\t},\n\n\t\t/**\n\t\t * @return {string} The album name without the userId between parentheses.\n\t\t */\n\t\talbumOriginalName() {\n\t\t\treturn this.albumName.replace(new RegExp(`\\\\(${this.album.collaborators[0].id}\\\\)$`), '')\n\t\t},\n\n\t\t/**\n\t\t * @return {string} The album's filename based on its name. Useful to fetch the location information and content.\n\t\t */\n\t\talbumFileName() {\n\t\t\treturn this.$store.getters.getSharedAlbumName(this.albumName)\n\t\t},\n\t},\n\n\tasync mounted() {\n\t\tthis.fetchAlbum()\n\t\tthis.fetchAlbumContent()\n\t},\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t'addFilesToCollection',\n\t\t\t'removeFilesFromCollection',\n\t\t\t'deleteCollection',\n\t\t]),\n\n\t\tasync fetchAlbum() {\n\t\t\tawait this.fetchCollection(\n\t\t\t\tthis.albumFileName,\n\t\t\t\t['<nc:location />', '<nc:dateRange />', '<nc:collaborators />']\n\t\t\t)\n\t\t},\n\n\t\tasync fetchAlbumContent() {\n\t\t\tawait this.fetchCollectionFiles(this.albumFileName)\n\t\t},\n\n\t\tasync handleFilesPicked(fileIds) {\n\t\t\tthis.showAddPhotosModal = false\n\t\t\tawait this.addFilesToCollection({ collectionFileName: this.album.filename, 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.removeFilesFromCollection({ collectionFileName: this.album.filename, fileIdsToRemove: fileIds })\n\t\t},\n\n\t\tasync handleDeleteAlbum() {\n\t\t\tawait this.deleteCollection({ collectionFileName: this.album.filename })\n\t\t\tthis.$router.push('/sharedalbums')\n\t\t},\n\n\t\tt: translate,\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!./SharedAlbumContent.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!./SharedAlbumContent.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.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbumContent.vue?vue&type=style&index=0&id=50863a67&prod&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.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbumContent.vue?vue&type=style&index=0&id=50863a67&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharedAlbumContent.vue?vue&type=template&id=50863a67&scoped=true\"\nimport script from \"./SharedAlbumContent.vue?vue&type=script&lang=js\"\nexport * from \"./SharedAlbumContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharedAlbumContent.vue?vue&type=style&index=0&id=50863a67&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50863a67\",\n null\n \n)\n\nexport default component.exports"],"names":["Type","exports","name","data","fetchSemaphore","SemaphoreWithPriority","loadingCollection","loadingCollectionFiles","errorFetchingCollection","errorFetchingCollectionFiles","mixins","AbortControllerMixin","methods","mapActions","async","collectionFileName","extraProps","client","this","collection","fetchCollection","signal","abortController","addCollections","collections","error","_error$response","response","status","logger","showError","t","mappers","arguments","length","undefined","fetchSemaphoreSymbol","acquire","fetchedFiles","fetchCollectionFiles","fileIds","map","file","fileid","toString","forEach","mapper","appendFiles","$store","commit","_error$response2","release","___CSS_LOADER_EXPORT___","push","module","id","emits","props","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","MapMarker","Plus","Close","Delete","ImagePlus","NcEmptyContent","NcActions","NcActionButton","NcActionSeparator","NcButton","NcModal","NcUserBubble","CollectionContent","FilesPicker","HeaderNavigation","FetchCollectionContentMixin","FetchFilesMixin","isMobile","albumName","showAddPhotosModal","loadingCount","loadingAddFilesToAlbum","collaboratorTypes","computed","mapGetters","album","getters","getSharedAlbum","albumFileIds","getSharedAlbumFiles","albumOriginalName","replace","RegExp","concat","collaborators","albumFileName","getSharedAlbumName","fetchAlbum","fetchAlbumContent","addFilesToCollection","filename","fileIdsToAdd","$refs","collectionContent","onUncheckFiles","removeFilesFromCollection","fileIdsToRemove","deleteCollection","$router","translate","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","ref","scopedSlots","_u","key","fn","_ref","selectedFileIds","resetSelection","location","slot","label","proxy","nbItems","SHARE_TYPE_USER","handleDeleteAlbum","handleRemoveFilesFromAlbum","basename","handleFilesPicked"],"sourceRoot":""}