nextcloud/dist/files-sidebar.js
nextcloud-command 742f8717e3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 22:55:26 +00:00

2 lines
No EOL
12 KiB
JavaScript

(()=>{var e,t={91028(e,t,o){"use strict";var i=o(10810),d=o(61338),n=o(35810),r=o(85471);const s=(0,o(35947).YK)().setApp("files").detectUser().build();var a=o(21777),l=o(63814),c=o(9487),u=o(44719),p=o(70970);const v=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],f={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"};function h(){return(0,c.f)()?`/files/${(0,c.G)()}`:`/files/${(0,a.HW)()?.uid}`}const b=h();function g(){const e=(0,l.dC)("dav");return(0,c.f)()?e.replace("remote.php","public.php"):e}const w=g();const m=new n.vd({id:0,source:g()+h(),root:h(),owner:(0,a.HW)()?.uid||null,permissions:n.aX.NONE}),y=(0,i.nY)("active",()=>{const e=(0,r.IJ)(),t=(0,r.KR)(),o=(0,r.IJ)(),i=(0,r.KR)(m);function a(e){t.value&&t.value.source===e.source&&(t.value=void 0)}function l(e=null){s.debug("Setting active view",{view:e}),o.value=e??void 0,t.value=void 0}return(0,r.wB)(t,()=>{"number"==typeof t.value?.fileid&&t.value.fileid!==i.value?.fileid&&(s.debug("Updating active fileid in URL query",{fileid:t.value.fileid}),window.OCP.Files.Router.goToRoute(null,{...window.OCP.Files.Router.params,fileid:String(t.value.fileid)},{...window.OCP.Files.Router.query},!0))}),function(){const e=(0,n.bh)();l(e.active),(0,d.B1)("files:node:deleted",a),e.addEventListener("updateActive",e=>{l(e.detail)})}(),{activeAction:e,activeFolder:i,activeNode:t,activeView:o}}),N=function(e=w,t={}){const o=(0,u.UU)(e,{headers:t});function i(e){o.setHeaders({...t,"X-Requested-With":"XMLHttpRequest",requesttoken:e??""})}return(0,a.zo)(i),i((0,a.do)()),(0,u.Gu)().patch("fetch",(e,t)=>{const o=t.headers;return o?.method&&(t.method=o.method,delete o.method),fetch(e,t)}),o}();async function P(e){const t=`<?xml version="1.0"?>\n\t\t<d:propfind ${p.s.davNamespaces??={...f},Object.keys(p.s.davNamespaces).map(e=>`xmlns:${e}="${p.s.davNamespaces?.[e]}"`).join(" ")}>\n\t\t\t<d:prop>\n\t\t\t\t${p.s.davProperties??=[...v],p.s.davProperties.map(e=>`<${e} />`).join(" ")}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;return function(e,t=b,o=w){let i=(0,a.HW)()?.uid;if((0,c.f)())i=i??"anonymous";else if(!i)throw new Error("No user id found");const d=e.props,n=function(e=""){let t=p.P.NONE;return e?(e.includes("G")&&(t|=p.P.READ),e.includes("W")&&(t|=p.P.WRITE),e.includes("CK")&&(t|=p.P.CREATE),e.includes("NV")&&(t|=p.P.UPDATE),e.includes("D")&&(t|=p.P.DELETE),e.includes("R")&&(t|=p.P.SHARE),t):t}(d?.permissions),r=String(d?.["owner-id"]||i),s=d.fileid||0,l=new Date(Date.parse(e.lastmod)),u=new Date(Date.parse(d.creationdate)),v={id:s,source:`${o}${e.filename}`,mtime:isNaN(l.getTime())||0===l.getTime()?void 0:l,crtime:isNaN(u.getTime())||0===u.getTime()?void 0:u,mime:e.mime||"application/octet-stream",displayname:void 0!==d.displayname?String(d.displayname):void 0,size:d?.size||Number.parseInt(d.getcontentlength||"0"),status:s<0?p.c.FAILED:void 0,permissions:n,owner:r,root:t,attributes:{...e,...d,hasPreview:d?.["has-preview"]}};return delete v.attributes?.props,"file"===e.type?new p.a(v):new p.b(v)}((await N.stat(`${h()}${e}`,{details:!0,data:t})).data)}var R=o(71225);function C(...e){const t=(0,i.nY)("files",{state:()=>({files:{},roots:{}}),getters:{getNode:e=>t=>e.files[t],getNodes:e=>t=>t.map(t=>e.files[t]).filter(Boolean),getNodesById:e=>t=>Object.values(e.files).filter(e=>e.fileid===t),getRoot:e=>t=>e.roots[t]},actions:{getDirectoryByPath(e,t){const o=function(...e){const t=C(...e),o=(0,i.nY)("paths",{state:()=>({paths:{}}),getters:{getPath:e=>(t,o)=>{if(e.paths[t])return e.paths[t][o]}},actions:{addPath(e){this.paths[e.service]||r.Ay.set(this.paths,e.service,{}),r.Ay.set(this.paths[e.service],e.path,e.source)},deletePath(e,t){this.paths[e]&&r.Ay.delete(this.paths[e],t)},onCreatedNode(e){const t=(0,n.bh)()?.active?.id||"files";e.fileid?(e.type===n.pt.Folder&&this.addPath({service:t,path:e.path,source:e.source}),this.addNodeToParentChildren(e)):s.error("Node has no fileid",{node:e})},onDeletedNode(e){const t=(0,n.bh)()?.active?.id||"files";e.type===n.pt.Folder&&this.deletePath(t,e.path),this.deleteNodeFromParentChildren(e)},onMovedNode({node:e,oldSource:t}){const o=(0,n.bh)()?.active?.id||"files";if(e.type===n.pt.Folder){const i=Object.entries(this.paths[o]).find(([,e])=>e===t);i?.[0]&&this.deletePath(o,i[0]),this.addPath({service:o,path:e.path,source:e.source})}const i=new n.ZH({source:t,owner:e.owner,mime:e.mime,root:e.root});this.deleteNodeFromParentChildren(i),this.addNodeToParentChildren(e)},deleteNodeFromParentChildren(e){const o=(0,n.bh)()?.active?.id||"files",i=(0,R.pD)(e.source),d="/"===e.dirname?t.getRoot(o):t.getNode(i);if(d){const t=new Set(d._children??[]);return t.delete(e.source),r.Ay.set(d,"_children",[...t.values()]),void s.debug("Children updated",{parent:d,node:e,children:d._children})}s.debug("Parent path does not exists, skipping children update",{node:e})},addNodeToParentChildren(e){const o=(0,n.bh)()?.active?.id||"files",i=(0,R.pD)(e.source),d="/"===e.dirname?t.getRoot(o):t.getNode(i);if(d){const t=new Set(d._children??[]);return t.add(e.source),r.Ay.set(d,"_children",[...t.values()]),void s.debug("Children updated",{parent:d,node:e,children:d._children})}s.debug("Parent path does not exists, skipping children update",{node:e})}}})(...e);return o._initialized||((0,d.B1)("files:node:created",o.onCreatedNode),(0,d.B1)("files:node:deleted",o.onDeletedNode),(0,d.B1)("files:node:moved",o.onMovedNode),o._initialized=!0),o}();let a;if(t&&"/"!==t){const i=o.getPath(e,t);i&&(a=this.getNode(i))}else a=this.getRoot(e);return a},getNodesByPath(e,t){const o=this.getDirectoryByPath(e,t);return(o?._children??[]).map(e=>this.getNode(e)).filter(Boolean)},updateNodes(e){const t=e.reduce((e,t)=>t.fileid?(e[t.source]=t,e):(s.error("Trying to update/set a node without fileid",{node:t}),e),{});r.Ay.set(this,"files",{...this.files,...t})},deleteNodes(e){e.forEach(e=>{e.source&&r.Ay.delete(this.files,e.source)})},setRoot({service:e,root:t}){r.Ay.set(this.roots,e,t)},onDeletedNode(e){this.deleteNodes([e])},onCreatedNode(e){this.updateNodes([e])},onMovedNode({node:e,oldSource:t}){e.fileid?(r.Ay.delete(this.files,t),this.updateNodes([e])):s.error("Trying to update/set a node without fileid",{node:e})},async onUpdatedNode(e){if(!e.fileid)return void s.error("Trying to update/set a node without fileid",{node:e});const t=this.getNodesById(e.fileid);if(t.length>1)return await Promise.all(t.map(e=>P(e.path))).then(this.updateNodes),void s.debug(t.length+" nodes updated in store",{fileid:e.fileid});1!==t.length||e.source!==t[0].source?P(e.path).then(e=>this.updateNodes([e])):this.updateNodes([e])},onAddFavorite(e){const t=this.getNode(e.source);t&&r.Ay.set(t.attributes,"favorite",1)},onRemoveFavorite(e){const t=this.getNode(e.source);t&&r.Ay.set(t.attributes,"favorite",0)}}}),o=t(...e);return o._initialized||((0,d.B1)("files:node:created",o.onCreatedNode),(0,d.B1)("files:node:deleted",o.onDeletedNode),(0,d.B1)("files:node:updated",o.onUpdatedNode),(0,d.B1)("files:node:moved",o.onMovedNode),(0,d.B1)("files:favorites:added",o.onAddFavorite),(0,d.B1)("files:favorites:removed",o.onRemoveFavorite),o._initialized=!0),o}const _=(0,i.nY)("sidebar",()=>{const e=(0,r.KR)(),t=(0,r.KR)(!1),o=y(),i=(0,r.EW)(()=>t.value?o.activeNode:void 0),a=(0,r.EW)(()=>!!(i.value&&o.activeFolder&&o.activeView)),l=(0,r.EW)(()=>{if(a.value)return{node:i.value,folder:o.activeFolder,view:o.activeView}}),c=(0,r.EW)(()=>l.value?h(l.value):[]),u=(0,r.EW)(()=>l.value?f(l.value):[]);function p(d,n){if(!(d&&o.activeFolder&&o.activeView))throw s.debug("sidebar: cannot open sidebar because the active folder or view is not set.",{node:d,activeFolder:o.activeFolder,activeView:o.activeView}),new Error("Cannot open sidebar because the active folder or view is not set.");if(t.value&&i.value?.source===d.source)return s.debug("sidebar: already open for current node"),void(n&&(s.debug("sidebar: already open for current node - switching tab",{tabId:n}),b(n)));const r=f({node:d,folder:o.activeFolder,view:o.activeView});n&&!r.find(({id:e})=>e===n)?(s.warn(`sidebar: cannot open tab '${n}' because it is not available for the current context.`),e.value=r[0]?.id):e.value=n??r[0]?.id,s.debug(`sidebar: opening for ${d.displayname}`,{node:d}),o.activeNode=d,t.value=!0}function v(){t.value=!1}function f(e){let t=(0,n.Dn)();return e&&(t=t.filter(t=>void 0===t.enabled||t.enabled(e))),t.sort((e,t)=>e.order-t.order)}function h(e){let t=(0,n._2)();return e&&(t=t.filter(t=>void 0===t.enabled||t.enabled(e))),t.sort((e,t)=>e.order-t.order)}function b(t){if(!u.value.find(({id:e})=>e===t))throw new Error(`Cannot set sidebar tab '${t}' because it is not available for the current context.`);e.value=t}(0,d.B1)("files:node:updated",e=>{e.source===i.value?.source&&(o.activeNode=e)}),(0,d.B1)("files:node:deleted",e=>{e.fileid===i.value?.fileid&&v()}),(0,d.B1)("viewer:sidebar:open",({source:e})=>{const t=C().getNode(e);t?(s.debug("sidebar: opening for node from Viewer.",{node:t}),p(t)):s.error(`sidebar: cannot open for node '${e}' because it was not found in the current view.`)});let g=!1;return(0,d.B1)("files:list:updated",()=>{g||(g=!0,window.OCP.Files.Router._router.afterEach((e,t)=>{t.query&&"opendetails"in t.query&&e.query&&!("opendetails"in e.query)&&(s.debug('sidebar: closing because "opendetails" query parameter was removed from URL.'),v())}))}),(0,r.wB)(t,e=>{const t={...window.OCP?.Files?.Router?.params??{}},i={...window.OCP?.Files?.Router?.query??{}};s.debug("sidebar: current node changed: "+(e?"open":"closed"),{query:i,params:t,node:o.activeNode}),!e&&"opendetails"in i&&(delete i.opendetails,window.OCP.Files.Router.goToRoute(null,t,i,!0)),e&&!("opendetails"in i)&&window.OCP.Files.Router.goToRoute(null,t,{...i,opendetails:"true"},!0)}),{activeTab:e,currentActions:c,currentContext:l,currentNode:i,currentTabs:u,hasContext:a,isOpen:(0,r.tB)(t),open:p,close:v,getActions:h,getTabs:f,setActiveTab:b}});window.OCA.Files??={},window.OCA.Files._sidebar=()=>_((window._nc_files_pinia||(window._nc_files_pinia=(0,i.Ey)()),window._nc_files_pinia))},63779(){},77199(){}},o={};function i(e){var d=o[e];if(void 0!==d)return d.exports;var n=o[e]={id:e,loaded:!1,exports:{}};return t[e].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=t,e=[],i.O=(t,o,d,n)=>{if(!o){var r=1/0;for(c=0;c<e.length;c++){for(var[o,d,n]=e[c],s=!0,a=0;a<o.length;a++)(!1&n||r>=n)&&Object.keys(i.O).every(e=>i.O[e](o[a]))?o.splice(a--,1):(s=!1,n<r&&(r=n));if(s){e.splice(c--,1);var l=d();void 0!==l&&(t=l)}}return t}n=n||0;for(var c=e.length;c>0&&e[c-1][2]>n;c--)e[c]=e[c-1];e[c]=[o,d,n]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.e=()=>Promise.resolve(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=4763,(()=>{i.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={4763:0};i.O.j=t=>0===e[t];var t=(t,o)=>{var d,n,[r,s,a]=o,l=0;if(r.some(t=>0!==e[t])){for(d in s)i.o(s,d)&&(i.m[d]=s[d]);if(a)var c=a(i)}for(t&&t(o);l<r.length;l++)n=r[l],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(c)},o=globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),i.nc=void 0;var d=i.O(void 0,[4208],()=>i(91028));d=i.O(d)})();
//# sourceMappingURL=files-sidebar.js.map?v=db0c6c4224aae6026a35