3 lines
24 KiB
JavaScript
3 lines
24 KiB
JavaScript
import"./index-XmYygNaN.chunk.mjs";import{V as F,t as v,_ as x,g as H,J as w,S as Z,d as V,T as ee,U as te}from"./vue.runtime.esm-Ct3_M7aQ.chunk.mjs";import{U as re,g as ie}from"./index-DdKmqUaK-BlSvvbCn.chunk.mjs";import{N as oe}from"./NcEmptyContent-C3BLUUdi.chunk.mjs";import{j as T,k as ne,h as q,l as j,f as ae}from"./index-BMeBqg0T.chunk.mjs";import{n as R,F as B}from"./icons-VGG7keIQ.chunk.mjs";import{L as se}from"./video-rmrjCz0n.chunk.mjs";import{A as K}from"./AbortControllerMixin-KqbYNBDv.chunk.mjs";import{H as le}from"./HeaderNavigation-Drss-bOM.chunk.mjs";import{f as de}from"./fileFetcher-EOUUgMjG.chunk.mjs";import"./preload-helper-Dh9HmuEY.chunk.mjs";import"./index-_ghYQSTa.chunk.mjs";import"./useHotKey-CXYH7Vg8.chunk.mjs";import"./NcActionButton-CuVNJJtW-78GF8FR5.chunk.mjs";import"./NcProgressBar-DegJ2JjE-FoyaEkrc.chunk.mjs";import"./index-VV9wNENq.chunk.mjs";import"./dialog-DMSB8C_5.chunk.mjs";var ce=Object.defineProperty,ue=Object.defineProperties,fe=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,N=(e,t,r)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t)=>{for(var r in t||(t={}))he.call(t,r)&&N(e,r,t[r]);if(W)for(var r of W(t))pe.call(t,r)&&N(e,r,t[r]);return e},I=(e,t)=>ue(e,fe(t));function _(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_=function(t){return typeof t}:_=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(e)}function me(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ge(e){return we(e)||ye(e)||ve()}function we(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function ye(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function ve(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function be(){return typeof Reflect<"u"&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys}function Ce(e,t){L(e,t),Object.getOwnPropertyNames(t.prototype).forEach(function(r){L(e.prototype,t.prototype,r)}),Object.getOwnPropertyNames(t).forEach(function(r){L(e,t,r)})}function L(e,t,r){var i=r?Reflect.getOwnMetadataKeys(t,r):Reflect.getOwnMetadataKeys(t);i.forEach(function(o){var s=r?Reflect.getOwnMetadata(o,t,r):Reflect.getOwnMetadata(o,t);r?Reflect.defineMetadata(o,s,e,r):Reflect.defineMetadata(o,s,e)})}var Oe={__proto__:[]},_e=Oe instanceof Array;function E(e){return function(t,r,i){var o=typeof t=="function"?t:t.constructor;o.__decorators__||(o.__decorators__=[]),typeof i!="number"&&(i=void 0),o.__decorators__.push(function(s){return e(s,r,i)})}}function Fe(e){var t=_(e);return e==null||t!=="object"&&t!=="function"}function je(e,t){var r=t.prototype._init;t.prototype._init=function(){var s=this,l=Object.getOwnPropertyNames(e);if(e.$options.props)for(var n in e.$options.props)e.hasOwnProperty(n)||l.push(n);l.forEach(function(a){Object.defineProperty(s,a,{get:function(){return e[a]},set:function(d){e[a]=d},configurable:!0})})};var i=new t;t.prototype._init=r;var o={};return Object.keys(i).forEach(function(s){i[s]!==void 0&&(o[s]=i[s])}),o}var $=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function A(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t.name=t.name||e._componentTag||e.name;var r=e.prototype;Object.getOwnPropertyNames(r).forEach(function(n){if(n!=="constructor"){if($.indexOf(n)>-1){t[n]=r[n];return}var a=Object.getOwnPropertyDescriptor(r,n);a.value!==void 0?typeof a.value=="function"?(t.methods||(t.methods={}))[n]=a.value:(t.mixins||(t.mixins=[])).push({data:function(){return me({},n,a.value)}}):(a.get||a.set)&&((t.computed||(t.computed={}))[n]={get:a.get,set:a.set})}}),(t.mixins||(t.mixins=[])).push({data:function(){return je(this,e)}});var i=e.__decorators__;i&&(i.forEach(function(n){return n(t)}),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),s=o instanceof F?o.constructor:F,l=s.extend(t);return Se(l,e,s),be()&&Ce(l,e),l}var Re={prototype:!0,arguments:!0,callee:!0,caller:!0};function Se(e,t,r){Object.getOwnPropertyNames(t).forEach(function(i){if(!Re[i]){var o=Object.getOwnPropertyDescriptor(e,i);if(!(o&&!o.configurable)){var s=Object.getOwnPropertyDescriptor(t,i);if(!_e){if(i==="cid")return;var l=Object.getOwnPropertyDescriptor(r,i);if(!Fe(s.value)&&l&&l.value===s.value)return}Object.defineProperty(e,i,s)}}})}function Y(e){return typeof e=="function"?A(e):function(t){return A(t,e)}}Y.registerHooks=function(e){$.push.apply($,ge(e))};function De(e){return typeof e!="function"||!e.managed&&!e.managedReactive}function Le(e){var t=function(){var r=this,i=typeof e=="function"?e.call(this):e;i=Object.create(i||null),i[y]=Object.create(this[y]||{});for(var o in t.managed)i[t.managed[o]]=this[o];var s=function(n){i[t.managedReactive[n]]=l[n],Object.defineProperty(i[y],t.managedReactive[n],{enumerable:!0,configurable:!0,get:function(){return r[n]}})},l=this;for(var o in t.managedReactive)s(o);return i};return t.managed={},t.managedReactive={},t}var y="__reactiveInject__";function $e(e){Array.isArray(e.inject)||(e.inject=e.inject||{},e.inject[y]={from:y,default:{}})}var xe=typeof Reflect<"u"&&typeof Reflect.getMetadata<"u";function Ee(e,t,r){if(xe&&!Array.isArray(e)&&typeof e!="function"&&!e.hasOwnProperty("type")&&typeof e.type>"u"){var i=Reflect.getMetadata("design:type",t,r);i!==Object&&(e.type=i)}}function h(e){return e===void 0&&(e={}),function(t,r){Ee(e,t,r),E(function(i,o){(i.props||(i.props={}))[o]=e})(t,r)}}function b(e){return E(function(t,r){var i=t.provide;$e(t),De(i)&&(i=t.provide=Le(i)),i.managedReactive[r]=r})}function ze(e,t){t===void 0&&(t={});var r=t.deep,i=r===void 0?!1:r,o=t.immediate,s=o===void 0?!1:o;return E(function(l,n){typeof l.watch!="object"&&(l.watch=Object.create(null));var a=l.watch;typeof a[e]=="object"&&!Array.isArray(a[e])?a[e]=[a[e]]:typeof a[e]>"u"&&(a[e]=[]),a[e].push({handler:n,deep:i,immediate:s})})}const Me=(e,t)=>e>720&&t>480?10:5,Pe=e=>Math.floor(e/250),Te=e=>Math.round(e*1.5),We=(e,t,r)=>{const i=e/t;return Math.round(r*i)},G=(e,...t)=>{e&&console.debug(...t)};var Ne=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,u=(e,t,r,i)=>{for(var o=i>1?void 0:i?ke(t,r):t,s=e.length-1,l;s>=0;s--)(l=e[s])&&(o=(i?l(t,r,o):l(o))||o);return i&&o&&Ne(t,r,o),o};let c=class extends F{constructor(){super(...arguments),this.updateLock=!1,this.bottomReached=!1,this.ref=null,this.containerData={windowSize:{height:0,width:0},windowScroll:{x:0,y:0},elementWindowOffset:0,elementSize:{height:0,width:0}}}get loadingBatch(){return this.loader&&this.updateLock}get configData(){return this.computeConfigData(this.containerData,this.items)}get layoutData(){return this.computeLayoutData(this.configData)}get renderData(){return this.computeRenderData(this.configData,this.containerData,this.layoutData)}mounted(){var e;this.ref=this.$refs.virtualGrid,this.initiliazeGrid(),window.addEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).addEventListener("scroll",this.scroll)}beforeDestroy(){var e;window.removeEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).removeEventListener("scroll",this.scroll)}onScrollElementChanged(e,t){(t??window).removeEventListener("scroll",this.scroll),(e??window).addEventListener("scroll",this.scroll)}resize(){this.loadMoreData()}scroll(){this.loadMoreData()}initiliazeGrid(){this.computeContainerData(),this.$nextTick(async()=>{this.loadMoreData()})}loadMoreData(){this.loadMoreDataAsync().catch(e=>{e&&console.error("Fail to load next data batch",e)}).then()}async loadMoreDataAsync(){this.computeContainerData();const e=this.containerData.windowScroll.y+this.containerData.windowSize.height,t=Math.max(0,this.containerData.elementWindowOffset+this.containerData.elementSize.height-this.updateTriggerMargin);!this.bottomReached&&e>=t&&!this.updateLock&&(this.updateLock=!0,G(this.debug,"Loading next batch"),await this.updateFunction()&&(G(this.debug,"Bottom reached"),this.bottomReached=!0),this.updateLock=!1,await this.loadMoreDataAsync())}computeContainerData(){if(this.ref===null)return;const e=this.getWindowSize(),t=this.getWindowScroll(),r=this.getElementOffset(this.ref),i=this.getElementSize(this.ref);this.containerData={windowSize:e,windowScroll:t,elementWindowOffset:r,elementSize:i}}computeConfigData(e,t){if(e===null||t===null)return{windowMargin:0,gridGap:0,columnCount:1,entries:[]};const r=e.elementSize?e.elementSize.width:0,i=this.getWindowMargin(e.windowSize.height),o=this.getGridGap(r,e.windowSize.height),s=this.getColumnCount(r),l=this.getColumnWidth(s,o,r),n=t.map(a=>{if(!a.width)return a;const d=l*a.columnSpan+o*(a.columnSpan-1);return I(k({},a),{height:this.getItemRatioHeight(a.height,a.width,d),width:d})});return{windowMargin:i,gridGap:o,columnCount:s,entries:n}}computeLayoutData(e){if(e===null)return{cells:[],totalHeight:0};let t=1,r=0,i=0,o=0;const s=e.entries.map((n,a)=>{const{columnCount:d,gridGap:g}=e;let f=n.columnSpan,p=n.height;f<1&&(f=d);const m=(a+o)%d;n.newRow&&m!==0&&(o+=d-m);const z=a+o,S=z%d+1,D=Math.floor(z/d)+1;if(S+f>d+1){const P=S+f-d-1,Q=P/f;p=p*(1-Q),f-=P}f>1&&(o+=f-1),D!==t&&(t=D,r+=i+g,i=0);const X=r,M=Math.round(p);return i=Math.max(i,M),I(k({},n),{columnNumber:S,rowNumber:D,offset:X,height:M,columnSpan:f})}),l=r+i;return{cells:s,totalHeight:l}}computeRenderData(e,t,r){if(r===null||e===null)return{cellsToRender:[],firstRenderedRowNumber:0,firstRenderedRowOffset:0};const i=[];let o=null,s=null;if(t.elementWindowOffset!==null){const l=t.elementWindowOffset;for(const n of r.cells){const a=l+n.offset,d=a+n.height,g=t.windowScroll.y,f=g+t.windowSize.height,p=g-e.windowMargin,m=f+e.windowMargin;a>m||d<p||(o===null&&(o=n.rowNumber),n.rowNumber===o&&(s=s?Math.min(s,n.offset):n.offset),i.push(n))}}return{cellsToRender:i,firstRenderedRowNumber:o,firstRenderedRowOffset:s}}getColumnWidth(e,t,r){if(e===null||t===null||r===null)return 0;const i=(e-1)*t;return Math.round((r-i)/e)}getGridRowStart(e,t){if(t===null)return;const r=t.firstRenderedRowNumber!==null?t.firstRenderedRowNumber-1:0;return`${e.rowNumber-r}`}resetGrid(){this.bottomReached=!1,this.loadMoreData()}isSameElementSize(e,t){return e.width===t.width&&e.height===t.height}getWindowSize(){return{width:window.innerWidth,height:window.innerHeight}}getElementSize(e){const t=e.getBoundingClientRect();return{width:t.width,height:t.height}}isSameElementScroll(e,t){return e.x===t.x&&e.y===t.y}getWindowScroll(){return{x:window.scrollX,y:window.scrollY}}getElementOffset(e){return window.scrollY+e.getBoundingClientRect().top}};u([h({required:!0})],c.prototype,"items",2),u([h({default:()=>()=>!0})],c.prototype,"updateFunction",2),u([h({default:()=>Me})],c.prototype,"getGridGap",2),u([h({default:()=>Pe})],c.prototype,"getColumnCount",2),u([h({default:()=>Te})],c.prototype,"getWindowMargin",2),u([h({default:()=>We})],c.prototype,"getItemRatioHeight",2),u([h({default:null})],c.prototype,"scrollElement",2),u([h({default:500})],c.prototype,"updateTriggerMargin",2),u([h({default:null})],c.prototype,"loader",2),u([h({default:!1})],c.prototype,"debug",2),u([b()],c.prototype,"updateLock",2),u([b()],c.prototype,"bottomReached",2),u([b()],c.prototype,"ref",2),u([b()],c.prototype,"containerData",2),u([ze("scrollElement")],c.prototype,"onScrollElementChanged",1),c=u([Y({name:"VirtualGrid"})],c);var Ie=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{ref:"virtualGrid",style:{boxSizing:"border-box",height:e.layoutData.totalHeight+"px",paddingTop:e.renderData!==null&&e.renderData.firstRenderedRowOffset!==null?e.renderData.firstRenderedRowOffset+"px":"0px"}},[r("div",{staticClass:"grid",style:{display:"-ms-grid",display:"grid","align-items":"center","grid-template-columns":"repeat("+e.configData.columnCount+", 1fr)",gap:e.configData.gridGap+"px"}},e._l(e.renderData.cellsToRender,function(i){return r("div",{key:i.id,staticClass:"grid-item-wrapper",style:{height:i.height+"px","grid-column-start":i.columnNumber,"grid-column-end":i.columnNumber+i.columnSpan,"grid-row-start":e.getGridRowStart(i,e.renderData)}},[r(i.renderComponent,e._g({tag:"component",attrs:{item:i}},e.$listeners))],1)}),0),r(e.loadingBatch&&e.loader,{tag:"component"})],1)},Ae=[];function Ge(e,t,r,i,o,s,l,n){var a=typeof e=="function"?e.options:e;t&&(a.render=t,a.staticRenderFns=r,a._compiled=!0);var d;if(o&&(d=o),d)if(a.functional){a._injectStyles=d;var g=a.render;a.render=function(p,m){return d.call(m),g(p,m)}}else{var f=a.beforeCreate;a.beforeCreate=f?[].concat(f,d):[d]}return{exports:e,options:a}}const U={};var Ue=Ge(c,Ie,Ae,!1,He);function He(e){for(let t in U)this[t]=U[t]}var Ve=function(){return Ue.exports}();const qe={name:"FileLegacy",inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{loaded:!1,error:!1}},computed:{ariaUuid(){return`image-${this.item.injected.fileid}`},ariaLabel(){return v("photos",'Open the full size "{name}" image',{name:this.item.injected.basename})},isImage(){return this.item.injected.mime.startsWith("image")},decodedEtag(){return this.item.injected.etag.replace(""","").replace(""","")},src(){return x(`/core/preview?fileId=${this.item.injected.fileid}&c=${this.decodedEtag}&x=250&y=250&forceIcon=0&a=${this.croppedLayout?"0":"1"}`)},croppedLayout(){return this.$store.state.userConfig.croppedLayout}},beforeDestroy(){this.$refs.src=""},methods:{openViewer(){window.OCA.Viewer.open({fileInfo:T(this.item.injected),list:this.item.injected.list.map(e=>T(e))})},onLoad(){this.loaded=!0},onError(){this.error=!0},t:v}};var Be=function(){var e=this,t=e._self._c;return t("a",{staticClass:"file",class:{"file--cropped":e.croppedLayout},attrs:{href:e.item.injected.source,"aria-label":e.ariaLabel},on:{click:function(r){return r.preventDefault(),e.openViewer.apply(null,arguments)}}},[e.item.injected.mime.includes("video")&&e.item.injected.hasPreview?t("div",{staticClass:"icon-video-white"}):e._e(),t("transition-group",{staticClass:"transition-group",attrs:{name:"fade"}},[e.error?e._e():t("img",{key:`${e.item.injected.basename}-img`,ref:"img",attrs:{src:e.src,alt:e.item.injected.basename,"aria-describedby":e.ariaUuid},on:{load:e.onLoad,error:e.onError}}),!e.loaded||e.error?t("svg",{key:`${e.item.injected.basename}-svg`,attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"url(#placeholder__gradient)"}},[e.isImage?t("use",{attrs:{href:"#placeholder--img"}}):t("use",{attrs:{href:"#placeholder--video"}})]):e._e()]),t("p",{staticClass:"hidden-visually",attrs:{id:e.ariaUuid}},[e._v(e._s(e.item.injected.basename))]),t("div",{staticClass:"cover",attrs:{role:"none"}})],1)},Ke=[],Ye=R(qe,Be,Ke,!1,null,"6f079611");const Je=Ye.exports,Xe={name:"FolderTagPreview",components:{FolderOutline:B,RouterLink:se},props:{name:{type:String,required:!0},path:{type:String,default:""},fileList:{type:Array,default:()=>[]}},data(){return{failed:[]}},computed:{isEmpty(){return this.previewList.length===0},ariaLabel(){return v("photos",'Open the "{name}" folder',{name:this.name})},previewList(){return this.fileList.filter(e=>this.failed.indexOf(e.fileid)===-1)},previewUrl(){if(this.previewList.length===0)return null;const{fileid:e,etag:t}=this.previewList.at(-1);return x(`/core/preview?fileId=${e}&c=${t}&x=250&y=250&forceIcon=0&a=0`)},toLink(){const e=`/files/${H()?.uid}`;let t=this.path.replace(new RegExp(`^${e}`),"");return t=/^\/?(.+)/i.exec(t)[1],{...this.$route,params:{path:t.split("/")}}}},methods:{onPreviewFail({fileid:e}){this.failed.push(e)},t:v}};var Qe=function(){var e=this,t=e._self._c;return t("RouterLink",{staticClass:"folder",attrs:{to:e.toLink,"aria-label":e.ariaLabel}},[e.previewUrl?t("img",{staticClass:"folder__image",attrs:{src:e.previewUrl,alt:""},on:{error:function(r){return e.onPreviewFail(e.file)}}}):t("span",{staticClass:"folder__image folder__image--placeholder"},[t("FolderOutline",{staticClass:"folder__icon",attrs:{size:96,"fill-color":"var(--color-primary-element)"}})],1),t("span",{staticClass:"folder__details"},[t("FolderOutline"),t("span",{staticClass:"folder__title"},[e._v(e._s(e.name))])],1)])},Ze=[],et=R(Xe,Qe,Ze,!1,null,"0660a5ac");const tt=et.exports;async function J(e="/",t={}){const r=x(`/apps/photos/api/v1/${t.shared?"shared":"albums"}`),i=(await ne.get(r+e,t)).data.map(n=>({...n,filename:`${w}${n.filename}`,source:decodeURI(Z+`${w}${n.filename}`)}));let o;const s=[],l=[];for(const n of i)n.filename===`${w}${e}`?o=n:n.type!=="file"?s.push(n):q.indexOf(n.mime)>-1&&l.push(n);return{folder:o,folders:s,files:l}}const rt=V({name:"FolderComponent",components:{FolderTagPreview:tt},mixins:[K],inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{previewFolder:this.item.injected.fileid}},computed:{files(){return this.$store.state.folders.files},subFolders(){return this.$store.state.folders.subFolders},folders(){return this.$store.state.folders.folders},folderContent(){return this.folders[this.item.injected.fileid]},previewFiles(){const e=this.folders[this.previewFolder],t=e?e.map(r=>this.files[r]).slice(0,4):[];if(t.length===0&&this.subFolders[this.previewFolder]&&this.previewFolder===this.item.injected.fileid){const r=this.subFolders[this.previewFolder][0];this.updatePreviewFolder(r),this.folders[this.previewFolder]||this.getFolderData(this.files[this.previewFolder].filename)}return t}},async created(){this.folderContent||await this.getFolderData(this.item.injected.filename)},methods:{async getFolderData(e){try{const t=`/files/${H()?.uid}`,r=e.replace(new RegExp(`^${t}`),""),{folder:i,folders:o,files:s}=await J(r,{shared:this.item.injected.showShared,signal:this.abortController.signal});this.$store.dispatch("updateFolders",{fileid:i?.fileid,files:s,folders:o}),this.$store.dispatch("updateFoldersFiles",{folder:i,files:s,folders:o})}catch(t){j.error("Failed to get folder content",{error:t,filename:e})}},updatePreviewFolder(e){this.previewFolder=e}}});var it=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("FolderTagPreview",{attrs:{id:e.item.injected.fileid,name:e.item.injected.basename.toString(),path:e.item.injected.filename,"file-list":e.previewFiles}})},ot=[],nt=R(rt,it,ot,!1,null,"d58b828a");const at=nt.exports,C={400:{marginTop:66,marginW:8,count:3,folderCount:1},700:{marginTop:66,marginW:8,count:4,folderCount:1},1024:{marginTop:66,marginW:44,count:5,folderCount:2},1280:{marginTop:66,marginW:44,count:4,folderCount:2},1440:{marginTop:88,marginW:66,count:5,folderCount:3},1600:{marginTop:88,marginW:66,count:6,folderCount:4},2048:{marginTop:88,marginW:66,count:7,folderCount:4},2560:{marginTop:88,marginW:88,count:8,folderCount:6},3440:{marginTop:88,marginW:88,count:9,folderCount:8},max:{marginTop:88,marginW:88,count:10,folderCount:10}},O=new F({data(){return{gridConfig:C.max}},watch:{gridConfig(e){this.$emit("changed",e)}},created(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize(){const e=Object.keys(C).map(t=>Number.parseInt(t)).find(t=>t>document.documentElement.clientWidth);this.gridConfig=C[e]||C.max}}}),st=V({data(){return{gridConfig:{}}},created(){O.$on("changed",this.handleGridConfigChange),j.debug("Grid config",{gridConfig:O.gridConfig}),this.gridConfig=O.gridConfig},beforeDestroy(){O.$off("changed",this.handleGridConfigChange)},methods:{handleGridConfigChange(e){this.gridConfig=e}}}),lt={name:"FoldersView",components:{FolderOutline:B,HeaderNavigation:le,NcEmptyContent:oe,NcLoadingIcon:ae,UploadPicker:re,VirtualGrid:Ve},mixins:[K,st],props:{rootTitle:{type:String,required:!0},path:{type:String,default:"/"},showShared:{type:Boolean,default:!1}},data(){return{error:null,allowedMimes:q,initializing:!0,loading:!1,appContent:document.getElementById("app-content-vue"),uploader:ie()}},computed:{files(){return this.$store.state.folders.files},folders(){return this.$store.state.folders.folders},folderId(){return this.$store.state.folders.paths[this.path]},folder(){return this.files[this.folderId]},folderAsFolder(){if(this.folder)return new ee({...this.folder,permissions:te(this.folder.permissions),owner:null})},folderContent(){return this.folders[this.folderId]||[]},fileList(){return this.folderContent&&this.folderContent.map(e=>this.files[e]).filter(e=>!!e)},subFolders(){return this.folderId&&this.files[this.folderId]&&this.$store.state.folders.subFolders[this.folderId]},folderList(){return this.subFolders&&this.subFolders.map(e=>this.files[e]).filter(e=>!!e)},contentList(){const e=this.folderList&&this.folderList.map(r=>({id:`folder-${r.fileid}`,injected:{...r,showShared:this.showShared},width:232,height:280,columnSpan:1,renderComponent:at})),t=this.fileList?.map(r=>({id:`file-${r.fileid}`,injected:{...r,list:this.fileList},width:256,height:256,columnSpan:1,renderComponent:Je}));return[...e||[],...t||[]]},isEmpty(){return!this.haveFiles&&!this.haveFolders},haveFiles(){return!!this.fileList&&this.fileList.length!==0},haveFolders(){return!!this.folderList&&this.folderList.length!==0}},watch:{path(){this.fetchFolderContent()},showShared(){this.fetchFolderContent()}},beforeMount(){this.fetchFolderContent()},methods:{onRefresh(){this.fetchFolderContent()},async fetchFolderContent(){this.error=null,this.loading=!0,window.OCA?.Viewer?.close?.(),window.OCA?.Files?.Sidebar?.close?.(),(!this.files[this.folderId]||!this.folders[this.folderId])&&(this.initializing=!0);try{const{folder:e,folders:t,files:r}=await J(this.path,{shared:this.showShared,signal:this.abortController.signal});this.$store.dispatch("addPath",{path:this.path,fileid:e?.fileid}),this.$store.dispatch("updateFolders",{fileid:e?.fileid,files:r,folders:t}),this.$store.dispatch("updateFoldersFiles",{folder:e,files:r,folders:t})}catch(e){e?.response&&e.response.status&&(e.response.status===404?(this.error=404,setTimeout(()=>{this.$router.push({name:this.$route.name??void 0})},3e3)):this.error=e),j.error("Error fetching album data",{error:e})}finally{this.loading=!1,this.initializing=!1}},async onUpload(e){const t=e.source.split(w).pop(),r=await de(w+t);if(r===null){j.error("Failed to fetch file",{relPath:t});return}const i={fileid:r.fileid,basename:r.basename,etag:r.attributes.etag,filename:r.root+r.path,source:r.source,lastmod:r.mtime?.getTime(),mime:r.mime,size:r.size,type:"file",permissions:"",hasPreview:r.attributes.hasPreview};this.$store.dispatch("appendFoldersFiles",[i]),this.$store.dispatch("addFilesToFolder",{fileid:this.folderId,files:[i]})},t:v}};var dt=function(){var e=this,t=e._self._c;return e.error===404?t("NcEmptyContent",{attrs:{name:e.t("photos","This folder does not exist")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):e.error?t("NcEmptyContent",{attrs:{name:e.t("photos","An error occurred")}}):e.initializing?t("NcEmptyContent",{attrs:{name:e.t("photos","Loading folders …")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcLoadingIcon")]},proxy:!0}])}):e.initializing?e._e():t("div",[t("HeaderNavigation",{key:"navigation",class:{"photos-navigation--uploading":e.uploader.queue?.length>0},attrs:{loading:e.loading,path:e.path,title:e.folder?.basename?.toString?.()||e.rootTitle,"root-title":e.rootTitle},on:{refresh:e.onRefresh}},[t("UploadPicker",{attrs:{accept:e.allowedMimes,destination:e.folderAsFolder,multiple:!0},on:{uploaded:e.onUpload}})],1),e.isEmpty?t("NcEmptyContent",{key:"emptycontent",attrs:{name:e.t("photos","No photos in here")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):t("div",{staticClass:"grid-container",class:{"grid-container--folders":e.haveFolders}},[t("VirtualGrid",{ref:"virtualgrid",attrs:{items:e.contentList,"scroll-element":e.appContent,"get-column-count":()=>e.haveFolders?e.gridConfig.folderCount:e.gridConfig.count,"get-grid-gap":()=>e.haveFolders?16:8}})],1)],1)},ct=[],ut=R(lt,dt,ct,!1,null,"96fe4494");const Lt=ut.exports;export{Lt as default};
|
|
//# sourceMappingURL=FoldersView-Dj623CV_.chunk.mjs.map
|