photos/js/photos-src_patchedRequest_j...

3 lines
22 KiB
JavaScript

/*! For license information please see photos-src_patchedRequest_js-src_views_Tags_vue.js.LICENSE.txt */
(self.webpackChunkphotos=self.webpackChunkphotos||[]).push([["src_patchedRequest_js-src_views_Tags_vue"],{82223:(n,t,e)=>{const i=e(14601),a=i.prepareRequestOptions;i.prepareRequestOptions=function(n,t){t.cancelToken&&"object"==typeof t.cancelToken&&(n.cancelToken=t.cancelToken),a(n,t),t.method&&"string"==typeof t.method&&(n.method=t.method)},n.exports=i},81067:(n,t,e)=>{"use strict";e.d(t,{Z:()=>A});var i=e(48796),a=e.n(i),r=e(4820),o=e(84564),s=e.n(o),d=e(79753);a().getPatcher().patch("request",r.default);const c=(0,d.generateRemoteUrl)("dav"),l=a().createClient(c),A=(s()(c).pathname,l)},2161:(n,t,e)=>{"use strict";e.d(t,{N:()=>i});const i="\n\t<oc:fileid />\n\t<d:getlastmodified />\n\t<d:getetag />\n\t<d:getcontenttype />\n\t<d:getcontentlength />\n\t<nc:has-preview />\n\t<nc:file-metadata-size />\n\t<oc:favorite />\n\t<d:resourcetype />"},10369:(n,t,e)=>{"use strict";e.d(t,{Z:()=>s});var i=e(87537),a=e.n(i),r=e(23645),o=e.n(r)()(a());o.push([n.id,".file[data-v-b8db2226],.folder[data-v-b8db2226]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border-radius:var(--border-radius);overflow:hidden}.file .cover[data-v-b8db2226],.folder .cover[data-v-b8db2226]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-b8db2226],.file:active .cover[data-v-b8db2226],.file:hover .cover[data-v-b8db2226],.file:focus .cover[data-v-b8db2226],.folder.active .cover[data-v-b8db2226],.folder:active .cover[data-v-b8db2226],.folder:hover .cover[data-v-b8db2226],.folder:focus .cover[data-v-b8db2226]{opacity:.3}.file--clear.active .cover[data-v-b8db2226],.file--clear:active .cover[data-v-b8db2226],.file--clear:hover .cover[data-v-b8db2226],.file--clear:focus .cover[data-v-b8db2226],.folder--clear.active .cover[data-v-b8db2226],.folder--clear:active .cover[data-v-b8db2226],.folder--clear:hover .cover[data-v-b8db2226],.folder--clear:focus .cover[data-v-b8db2226]{opacity:.1}.fade-enter-active[data-v-b8db2226],.fade-leave-active[data-v-b8db2226]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-b8db2226],.fade-leave-to[data-v-b8db2226]{opacity:0}.folder-content[data-v-b8db2226]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-b8db2226]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-b8db2226]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-b8db2226]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-b8db2226]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-b8db2226]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-b8db2226]{width:100%;height:100%;object-fit:cover}.folder-name[data-v-b8db2226]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-b8db2226]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-b8db2226]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-b8db2226]{opacity:.3}.folder--clear .folder-name__name[data-v-b8db2226]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-b8db2226]{opacity:.3}.folder:not(.folder--clear):active .folder-name[data-v-b8db2226],.folder:not(.folder--clear):active .cover[data-v-b8db2226],.folder:not(.folder--clear):hover .folder-name[data-v-b8db2226],.folder:not(.folder--clear):hover .cover[data-v-b8db2226],.folder:not(.folder--clear):focus .folder-name[data-v-b8db2226],.folder:not(.folder--clear):focus .cover[data-v-b8db2226]{opacity:0}","",{version:3,sources:["webpack://./src/mixins/FileFolder.scss","webpack://./src/components/FolderTagPreview.vue"],names:[],mappings:"AAsBA,gDAEC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,wBAAA,CAAA,gBAAA,CACA,kCAAA,CACA,eAAA,CAEA,8DACC,SAAA,CAMA,UAAA,CACA,mBAAA,CACA,qDAAA,CACA,SAAA,CACA,uCAAA,CAOA,4SACC,UAAA,CAQD,oWACC,UAAA,CAKH,wEACC,qDAAA,CAGD,6DACC,SAAA,CCkFD,iCACC,iBAAA,CACA,YAAA,CACA,UAAA,CACA,WAAA,CAEA,yCACC,yBAAA,CACA,sBAAA,CAED,yCACC,yBAAA,CACA,0BAAA,CAED,yCACC,6BAAA,CACA,0BAAA,CACA,yDACC,kBAAA,CAGF,yCACC,6BAAA,CACA,0BAAA,CAED,qCACC,UAAA,CACA,WAAA,CAEA,gBAAA,CAMF,8BACC,iBAAA,CACA,SAAA,CACA,YAAA,CACA,eAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,qDAAA,CACA,SAAA,CACA,oCACC,UAAA,CACA,+BAAA,CACA,mBAAA,CAED,oCACC,eAAA,CACA,WAnBY,CAoBZ,cAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,kCAAA,CACA,0CAAA,CACA,cA1BY,CA2BZ,gBA3BY,CAmCZ,mDACC,UAAA,CAED,mDACC,4BAAA,CACA,gDAAA,CAQD,oDACC,UAAA,CAQA,gXAEC,SAAA",sourcesContent:["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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\n.file,\n.folder {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tuser-select: none;\n\tborder-radius: var(--border-radius);\n\toverflow: hidden;\n\n\t.cover {\n\t\tz-index: 2;\n\t\t// We want nice squares despite anything that is in it.\n\t\t// The .cover is what makes the exact square size of the grid.\n\t\t// We use padding-bottom because padding with percentage\n\t\t// always refers to the width. And we only want to fit\n\t\t// the css grid's width.\n\t\twidth: 100%;\n\t\tpadding-bottom: 100%;\n\t\ttransition: opacity var(--animation-quick) ease-in-out;\n\t\topacity: 0;\n\t\tbackground-color: var(--color-main-text);\n\t}\n\n\t&.active,\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\t.cover {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&--clear.active,\n\t&--clear:active,\n\t&--clear:hover,\n\t&--clear:focus {\n\t\t.cover {\n\t\t\topacity: .1;\n\t\t}\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity var(--animation-quick) ease-in-out;\n}\n\n.fade-enter, .fade-leave-to {\n\topacity: 0;\n}\n",'$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@import \'../mixins/FileFolder\';\n\n.folder-content {\n\tposition: absolute;\n\tdisplay: grid;\n\twidth: 100%;\n\theight: 100%;\n\t// folder layout if less than 4 pictures\n\t&--grid-1 {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: 1fr;\n\t}\n\t&--grid-2 {\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: 1fr 1fr;\n\t}\n\t&--grid-3 {\n\t\tgrid-template-columns: 1fr 1fr;\n\t\tgrid-template-rows: 1fr 1fr;\n\t\timg:first-child {\n\t\t\tgrid-column: span 2;\n\t\t}\n\t}\n\t&--grid-4 {\n\t\tgrid-template-columns: 1fr 1fr;\n\t\tgrid-template-rows: 1fr 1fr;\n\t}\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\tobject-fit: cover;\n\t}\n}\n\n$name-height: 1rem;\n\n.folder-name {\n\tposition: absolute;\n\tz-index: 3;\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\twidth: 100%;\n\theight: 100%;\n\ttransition: opacity var(--animation-quick) ease-in-out;\n\topacity: 1;\n\t&__icon {\n\t\theight: 40%;\n\t\tmargin-top: calc(30% - #{$name-height} / 2); // center name+icon\n\t\tbackground-size: 40%;\n\t}\n\t&__name {\n\t\toverflow: hidden;\n\t\theight: $name-height;\n\t\tpadding: 0 10px;\n\t\ttext-align: center;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-background);\n\t\ttext-shadow: 0 0 8px var(--color-main-text);\n\t\tfont-size: $name-height;\n\t\tline-height: $name-height;\n\t}\n}\n\n// Cover management empty/full\n.folder {\n\t// if no img, let\'s display the folder icon as default black\n\t&--clear {\n\t\t.folder-name__icon {\n\t\t\topacity: .3;\n\t\t}\n\t\t.folder-name__name {\n\t\t\tcolor: var(--color-main-text);\n\t\t\ttext-shadow: 0 0 8px var(--color-main-background);\n\t\t}\n\t}\n\n\t// show the cover as background\n\t// if there are pictures in it\n\t// so we can sho the folder+name above it\n\t&:not(.folder--clear) {\n\t\t.cover {\n\t\t\topacity: .3;\n\t\t}\n\n\t\t// hide everything but pictures\n\t\t// on hover/active/focus\n\t\t&:active,\n\t\t&:hover,\n\t\t&:focus {\n\t\t\t.folder-name,\n\t\t\t.cover {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const s=o},86370:(n,t,e)=>{"use strict";e.d(t,{Z:()=>s});var i=e(87537),a=e.n(i),r=e(23645),o=e.n(r)()(a());o.push([n.id,"@media(min-width: 0px)and (max-width: 400px){.grid-container[data-v-580f514c]{padding:0px 8px 256px 8px}}@media(min-width: 400px)and (max-width: 700px){.grid-container[data-v-580f514c]{padding:0px 8px 256px 8px}}@media(min-width: 700px)and (max-width: 1024px){.grid-container[data-v-580f514c]{padding:0px 44px 256px 44px}}@media(min-width: 1024px)and (max-width: 1280px){.grid-container[data-v-580f514c]{padding:0px 44px 256px 44px}}@media(min-width: 1280px)and (max-width: 1440px){.grid-container[data-v-580f514c]{padding:0px 66px 256px 66px}}@media(min-width: 1440px)and (max-width: 1600px){.grid-container[data-v-580f514c]{padding:0px 66px 256px 66px}}@media(min-width: 1600px)and (max-width: 2048px){.grid-container[data-v-580f514c]{padding:0px 66px 256px 66px}}@media(min-width: 2048px)and (max-width: 2560px){.grid-container[data-v-580f514c]{padding:0px 88px 256px 88px}}@media(min-width: 2560px)and (max-width: 3440px){.grid-container[data-v-580f514c]{padding:0px 88px 256px 88px}}@media(min-width: 3440px){.grid-container[data-v-580f514c]{padding:0px 88px 256px 88px}}","",{version:3,sources:["webpack://./src/mixins/GridSizes.scss","webpack://./src/views/Tags.vue"],names:[],mappings:"AAoCG,6CCsPH,iCAEE,yBAAA,CAAA,CDxPC,+CCsPH,iCAEE,yBAAA,CAAA,CDxPC,gDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CDxPC,iDCsPH,iCAEE,2BAAA,CAAA,CD5PC,0BC0PH,iCAEE,2BAAA,CAAA",sourcesContent:["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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@use 'sass:map';\n\n@mixin grid-sizes() {\n\t$previous: 0;\n\n\t@each $size, $config in $sizes {\n\t\t$count: map.get($config, 'count');\n\t\t$marginTop: map.get($config, 'marginTop');\n\t\t$marginW: map.get($config, 'marginW');\n\n\t\t@if $size == 'max' {\n\t\t\t@media (min-width: #{$previous}px) {\n\t\t\t\t@content($marginTop, $marginW);\n\t\t\t}\n\t\t} @else {\n\t\t\t@media (min-width: #{$previous}px) and (max-width: #{$size}px) {\n\t\t\t\t@content($marginTop, $marginW);\n\t\t\t}\n\t\t}\n\t\t$previous: $size;\n\t}\n}\n",'$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@import \'../mixins/GridSizes\';\n\n.grid-container {\n\t@include grid-sizes using ($marginTop, $marginW) {\n\t\tpadding: 0px #{$marginW}px 256px #{$marginW}px;\n\t}\n}\n'],sourceRoot:""}]);const s=o},88318:(n,e,i)=>{"use strict";i.d(e,{Z:()=>b});var a=i(79753);const r={name:"FolderTagPreview",props:{icon:{type:String,default:"icon-folder"},id:{type:Number,required:!0},name:{type:String,required:!0},path:{type:String,required:!0},fileList:{type:Array,default:()=>[]}},data:()=>({loaded:!1,failed:[]}),computed:{isEmpty(){return 0===this.previewList.length},ariaUuid(){return`folder-${this.id}`},ariaLabel(){return t("photos",'Open the "{name}" sub-directory',{name:this.name})},previewList(){return this.fileList.filter((n=>-1===this.failed.indexOf(n.fileid)))},to(){const n=/^\/?(.+)/i.exec(this.path)[1];return Object.assign({},this.$route,{params:{path:n.split("/")}})}},methods:{generateImgSrc(n){let{fileid:t,etag:e}=n;return(0,a.generateUrl)(`/core/preview?fileId=${t}&c=${e}&x=250&y=250&forceIcon=0&a=0`)},onPreviewFail(n){let{fileid:t}=n;this.failed.push(t)}}};var o=i(93379),s=i.n(o),d=i(7795),c=i.n(d),l=i(90569),A=i.n(l),p=i(3565),m=i.n(p),h=i(19216),g=i.n(h),f=i(44589),u=i.n(f),C=i(10369),v={};v.styleTagTransform=u(),v.setAttributes=m(),v.insert=A().bind(null,"head"),v.domAPI=c(),v.insertStyleElement=g();s()(C.Z,v);C.Z&&C.Z.locals&&C.Z.locals;const b=(0,i(51900).Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("router-link",{staticClass:"folder",class:{"folder--clear":n.isEmpty},attrs:{to:n.to,"aria-label":n.ariaLabel}},[e("transition",{attrs:{name:"fade"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:n.loaded,expression:"loaded"}],staticClass:"folder-content",class:"folder-content--grid-"+n.previewList.length,attrs:{role:"none"}},n._l(n.previewList,(function(t){return e("img",{key:t.fileid,attrs:{src:n.generateImgSrc(t),alt:""},on:{load:function(t){n.loaded=!0},error:function(e){return n.onPreviewFail(t)}}})})),0)]),n._v(" "),e("div",{staticClass:"folder-name"},[e("span",{staticClass:"folder-name__icon",class:[n.isEmpty?"icon-dark":"icon-white",n.icon],attrs:{role:"img"}}),n._v(" "),e("p",{staticClass:"folder-name__name",attrs:{id:n.ariaUuid}},[n._v("\n\t\t\t"+n._s(n.name)+"\n\t\t")])]),n._v(" "),e("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"b8db2226",null).exports},612:(n,t,e)=>{"use strict";e.r(t),e.d(t,{default:()=>N});var i=e(20629),a=e(29837),r=e(81067),o=e(99588);async function s(n){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const e=await r.Z.getDirectoryContents("/systemtags/",Object.assign({},{data:'<?xml version="1.0"?>\n\t\t\t<d:propfind xmlns:d="DAV:"\n\t\t\t\txmlns:oc="http://owncloud.org/ns">\n\t\t\t\t<d:prop>\n\t\t\t\t\t<oc:id />\n\t\t\t\t\t<oc:display-name />\n\t\t\t\t\t<oc:user-visible />\n\t\t\t\t\t<oc:user-assignable />\n\t\t\t\t\t<oc:can-assign />\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind>',details:!0},t));return e.data.map((n=>(0,o.AX)(n)))}var d=e(22200),c=e(2161),l=e(3301);async function A(n){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=Object.assign({method:"REPORT",data:`<?xml version="1.0"?>\n\t\t\t<oc:filter-files\n\t\t\t\txmlns:d="DAV:"\n\t\t\t\txmlns:oc="http://owncloud.org/ns"\n\t\t\t\txmlns:nc="http://nextcloud.org/ns"\n\t\t\t\txmlns:ocs="http://open-collaboration-services.org/ns">\n\t\t\t\t<d:prop>\n\t\t\t\t\t${c.N}\n\t\t\t\t</d:prop>\n\t\t\t\t<oc:filter-rules>\n\t\t\t\t\t<oc:systemtag>${n}</oc:systemtag>\n\t\t\t\t</oc:filter-rules>\n\t\t\t</oc:filter-files>`,details:!0},t);const e=`/files/${(0,d.getCurrentUser)().uid}`,i=await r.Z.getDirectoryContents(e,t);return i.data.map((n=>(0,o.AX)(n))).filter((n=>n.mime&&-1!==l.ZP.indexOf(n.mime))).map((n=>Object.assign({},n,{filename:n.filename.replace(e,"")})))}var p=e(66533),m=e(4615),h=e(88318),g=e(25108);const f={name:"Tag",components:{FolderTagPreview:h.Z},inheritAttrs:!1,props:{item:{type:Object,required:!0}},data:()=>({cancelRequest:null}),computed:{...(0,i.Se)(["files","tags"]),folderContent(){return this.tags[this.item.injected.id].files},fileList(){return this.folderContent?this.folderContent.map((n=>this.files[n])).filter((n=>!!n)).slice(0,4):[]}},beforeDestroy(){this.cancelRequest&&this.cancelRequest("Navigated away")},async created(){const{request:n,cancel:t}=(0,m.Z)(A);this.cancelRequest=t;try{const t=await n(this.item.injected.id);this.$store.dispatch("updateTag",{id:this.item.injected.id,files:t}),this.$store.dispatch("appendFiles",t)}catch(n){n.response&&n.response.status&&g.error("Failed to get folder content",this.item.injected.id,n.response)}finally{this.cancelRequest=null}}};var u=e(51900);const C=(0,u.Z)(f,(function(){var n=this,t=n.$createElement;return(n._self._c||t)("FolderTagPreview",{attrs:{id:n.item.injected.id,icon:"icon-tag",name:n.item.injected.displayName,path:n.item.injected.displayName,"file-list":n.fileList}})}),[],!1,null,null,null).exports;var v=e(98203),b=e(82390),x=e(85324),w=e(25108);const y={name:"Tags",components:{VirtualGrid:a.Z,EmptyContent:p.Z,Navigation:b.Z},mixins:[x.Z],props:{rootTitle:{type:String,required:!0},path:{type:String,default:""},loading:{type:Boolean,required:!0},isRoot:{type:Boolean,default:!0}},data:()=>({error:null,cancelRequest:null}),computed:{...(0,i.Se)(["files","tags","tagsNames"]),tagId(){return this.$store.getters.tagId(this.path)},tag(){return this.tags[this.tagId]},tagsList(){return Object.values(this.tagsNames).map((n=>this.tags[n]))},fileList(){return this.tag&&this.tag.files.map((n=>this.files[n])).filter((n=>!!n))},contentList(){return this.isRoot?this.tagsList.flatMap((n=>""===n.id?[]:[{id:`tag-${n.id}`,injected:{...n},width:256,height:256,columnSpan:1,renderComponent:C}])):this.fileList.map((n=>({id:`file-${n.fileid}`,injected:{...n,list:this.fileList},width:256,height:256,columnSpan:1,renderComponent:v.Z})))},isEmpty(){return this.isRoot?0===Object.keys(this.tagsNames).length:0===this.fileList.length}},watch:{async path(){this.tagId||await this.fetchRootContent(),this.isRoot||this.fetchContent()}},beforeDestroy(){this.cancelRequest&&this.cancelRequest("Navigated away")},async beforeMount(){this.tagId||await this.fetchRootContent(),this.isRoot||this.fetchContent()},methods:{async fetchRootContent(){this.cancelRequest&&this.cancelRequest("Changed folder"),OCA.Viewer.close(),this.tags[this.tagId]||this.$emit("update:loading",!0),this.error=null;const{request:n,cancel:t}=(0,m.Z)(s);this.cancelRequest=t;try{const t=await n();this.$store.dispatch("updateTags",t)}catch(n){w.error(n),this.error=!0}finally{this.$emit("update:loading",!1),this.cancelRequest=null}},async fetchContent(){this.cancelRequest&&this.cancelRequest(),OCA.Viewer.close(),this.tags[this.tagId]||this.$emit("update:loading",!0),this.error=null;const{request:n,cancel:t}=(0,m.Z)(A);this.cancelRequest=t;try{const t=await n(this.tagId);this.$store.dispatch("updateTag",{id:this.tagId,files:t}),this.$store.dispatch("appendFiles",t)}catch(n){w.error(n),this.error=!0}finally{this.$emit("update:loading",!1),this.cancelRequest=null}}}};var T=e(93379),$=e.n(T),k=e(7795),E=e.n(k),B=e(90569),R=e.n(B),_=e(3565),P=e.n(_),q=e(19216),D=e.n(q),W=e(44589),S=e.n(W),L=e(86370),Z={};Z.styleTagTransform=S(),Z.setAttributes=P(),Z.insert=R().bind(null,"head"),Z.domAPI=E(),Z.insertStyleElement=D();$()(L.Z,Z);L.Z&&L.Z.locals&&L.Z.locals;const N=(0,u.Z)(y,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return n.error?e("EmptyContent",[n._v("\n\t"+n._s(n.t("photos","An error occurred"))+"\n")]):n.loading?n._e():e("div",[e("Navigation",{key:"navigation",attrs:{basename:n.path,filename:"/"+n.path,"root-title":n.rootTitle}}),n._v(" "),n.isEmpty?e("EmptyContent",{key:"emptycontent",attrs:{"illustration-name":"empty"},scopedSlots:n._u([{key:"desc",fn:function(){return[n._v("\n\t\t\t"+n._s(n.t("photos","Photos with tags will show up here"))+"\n\t\t")]},proxy:!0}],null,!1,4132175345)},[n._v("\n\t\t"+n._s(n.t("photos","No tags yet"))+"\n\t\t")]):e("div",{staticClass:"grid-container"},[e("VirtualGrid",{ref:"virtualgrid",attrs:{items:n.contentList,"get-column-count":function(){return n.gridConfig.count},"get-grid-gap":function(){return n.gridConfig.gap}}})],1)],1)}),[],!1,null,"580f514c",null).exports},80950:()=>{},46601:()=>{},89214:()=>{},96419:()=>{},56353:()=>{},8623:()=>{},7748:()=>{},85568:()=>{},69386:()=>{},31616:()=>{},56619:()=>{},77108:()=>{},69862:()=>{},40964:()=>{}}]);
//# sourceMappingURL=photos-src_patchedRequest_js-src_views_Tags_vue.js.map?v=055ec454b0e4f18263d1