Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".download-summary[data-v-039613d8]{display:flex;align-items:flex-start;padding:8px 0;margin-bottom:calc(var(--default-grid-baseline) * 2);color:var(--color-text-maxcontrast)}.download-summary__icon[data-v-039613d8]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:2px;opacity:.5}.download-summary__text[data-v-039613d8]{padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity[data-v-ced8713d]{display:flex;flex-direction:column;overflow:hidden;height:100%}.activity__actions[data-v-ced8713d]{display:flex;flex-direction:column;width:100%}.activity__list[data-v-ced8713d]{flex-grow:1;overflow:scroll}.activity__empty-content[data-v-ced8713d]{height:100%}[data-v-ced8713d] .empty-content__icon span{background-size:64px;width:64px;height:64px}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
import{l as R}from"./activity-sidebar.mjs";import{b as A,h as G,j as I,g as j,m as D}from"./_plugin-vue_export-helper-Bh7BnaRM.chunk.mjs";import{d as b,x as V,g as E,B as M,y as T,c as o,a as i,a1 as p,M as h,m as n,E as g,e as S,f as u,t as B,l as H,b as r,h as y,F as v,L as k,n as q}from"./translation-DoG5ZELJ-CVc24Etc.chunk.mjs";import{N as F,_ as O,A as W}from"./ActivityComponent.vue_vue_type_script_setup_true_lang-7KL0e597.chunk.mjs";import{l as f}from"./logger-1JHA8kGV.chunk.mjs";import{g as U,a as z,b as Z}from"./api-mFrM-9qG.chunk.mjs";import"./preload-helper-DxYC2qmj.chunk.mjs";import"./index-NjYp13Ld.chunk.mjs";var w;(function(t){t[t.User=0]="User",t[t.Group=1]="Group",t[t.Link=3]="Link",t[t.Email=4]="Email",t[t.Remote=6]="Remote",t[t.Team=7]="Team",t[t.Guest=8]="Guest",t[t.RemoteGroup=9]="RemoteGroup",t[t.Room=10]="Room",t[t.Deck=12]="Deck",t[t.FederatedGroup=14]="FederatedGroup",t[t.ScienceMesh=15]="ScienceMesh"})(w||(w={}));const $=b({__name:"ActivitySidebarPlugin",props:{plugin:{},node:{}},emits:["reload-activities"],setup(t,{emit:e}){const a=t,s=e,c=E();return V(()=>a.plugin.mount(c.value,{node:a.node,context:M()?.proxy??void 0,reload:()=>s("reload-activities")})),T(()=>a.plugin.unmount()),(_,d)=>(i(),o("div",{ref_key:"attachTarget",ref:c},null,512))}}),J='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-download-circle" viewBox="0 0 24 24"><path d="M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M8 17H16V15H8V17M16 10H13.5V6H10.5V10H8L12 14L16 10Z" /></svg>',K=b({name:"DownloadSummary",components:{NcIconSvgWrapper:A},props:{fileId:{type:Number,required:!0}},data(){return{totalCount:0,monthlyCount:0,downloadSVG:J}},computed:{summaryText(){return this.monthlyCount>0&&this.monthlyCount<this.totalCount?p("activity","Downloaded %n time (%s in the last 30 days)","Downloaded %n times (%s in the last 30 days)",this.totalCount,[String(this.monthlyCount)]):p("activity","Downloaded %n time","Downloaded %n times",this.totalCount)}},watch:{fileId:{immediate:!0,handler(){this.fetchCounts()}}},methods:{async fetchCounts(){if(this.fileId){this.totalCount=0,this.monthlyCount=0;try{const t=await G.get(I("apps/activity/api/v2/activity/downloads/count"),{params:{format:"json",object_type:"files",object_id:this.fileId}});this.totalCount=t.data.ocs.data.total,this.monthlyCount=t.data.ocs.data.last30d}catch(t){f.error("Failed to fetch download counts",{error:t})}}},t:h,n:p}}),Q={key:0,class:"download-summary"},X={class:"download-summary__icon"},Y={class:"download-summary__text"};function tt(t,e,a,s,c,_){const d=n("NcIconSvgWrapper");return t.totalCount>0?(i(),o("div",Q,[S("span",X,[u(d,{svg:t.downloadSVG,size:20},null,8,["svg"])]),S("span",Y,B(t.summaryText),1)])):g("",!0)}const it=j(K,[["render",tt],["__scopeId","data-v-039613d8"]]),et=b({name:"ActivityTab",components:{ActivityComponent:O,DownloadSummary:it,NcEmptyContent:F,NcIconSvgWrapper:A,NcLoadingIcon:D,ActivitySidebarPlugin:$},props:{node:{type:Object,required:!0},folder:{type:Object,required:!1,default:void 0},view:{type:Object,required:!1,default:void 0}},expose:["update"],data(){return{error:"",loading:!0,activities:[],lightningBoltSVG:R,sidebarPlugins:[]}},computed:{hasPublicLink(){return Object.values(this.node?.attributes?.["share-types"]??{}).flat().includes(w.Link)}},watch:{node:{immediate:!0,async handler(){await this.update()}}},async mounted(){this.node&&await this.update()},methods:{async update(){this.sidebarPlugins=[];const t=Z();t.length>0&&H(()=>{this.sidebarPlugins=t}),this.resetState(),await this.getActivities()},async getActivities(){try{this.loading=!0;const t=await this.processActivities(await this.loadRealActivities()),e=await z({node:this.node});this.activities=[...t,...e].sort((a,s)=>s.timestamp-a.timestamp)}catch(t){this.error=h("activity","Unable to load the activity list"),f.error("Error loading the activity list",{error:t})}finally{this.loading=!1}},resetState(){this.loading=!0,this.error="",this.activities=[]},async loadRealActivities(){try{const{data:t}=await G.get(I("apps/activity/api/v2/activity/filter"),{params:{format:"json",object_type:"files",object_id:this.node.fileid}});return t.ocs.data}catch(t){if(t.response!==void 0&&t.response.status===304)return[];throw t}},processActivities(t){t=t.map(a=>new W(a)),f.debug(`Processed ${t.length} activity(ies)`,{activities:t,node:this.node});const e=U();return t.filter(a=>!e||e.every(s=>s(a)))},t:h}}),at={key:0,class:"activity__actions"},ot={key:4,class:"activity__list"};function st(t,e,a,s,c,_){const d=n("NcIconSvgWrapper"),m=n("NcEmptyContent"),L=n("ActivitySidebarPlugin"),N=n("DownloadSummary"),P=n("NcLoadingIcon"),x=n("ActivityComponent");return i(),o("div",{class:q([{"icon-loading":t.loading},"activity"])},[t.error||!t.node?(i(),r(m,{key:0,name:t.error},{icon:y(()=>[u(d,{svg:t.lightningBoltSVG},null,8,["svg"])]),_:1},8,["name"])):(i(),o(v,{key:1},[t.sidebarPlugins.length>0?(i(),o("div",at,[(i(!0),o(v,null,k(t.sidebarPlugins,(l,C)=>(i(),r(L,{key:C,plugin:l,node:t.node,onReloadActivities:e[0]||(e[0]=nt=>t.getActivities())},null,8,["plugin","node"]))),128))])):g("",!0),t.hasPublicLink&&t.node.fileid?(i(),r(N,{key:1,"file-id":t.node.fileid},null,8,["file-id"])):g("",!0),t.loading?(i(),r(m,{key:2,class:"activity__empty-content",name:t.t("activity","Loading activities")},{icon:y(()=>[u(P)]),_:1},8,["name"])):t.activities.length===0?(i(),r(m,{key:3,class:"activity__empty-content",name:t.t("activity","No activity yet")},{icon:y(()=>[u(d,{svg:t.lightningBoltSVG},null,8,["svg"])]),_:1},8,["name"])):(i(),o("ul",ot,[(i(!0),o(v,null,k(t.activities,l=>(i(),r(x,{key:l.id,activity:l,"show-previews":!1,onReload:e[1]||(e[1]=C=>t.getActivities())},null,8,["activity"]))),128))]))],64))],2)}const vt=j(et,[["render",st],["__scopeId","data-v-ced8713d"]]);export{vt as default};
//# sourceMappingURL=ActivityTab-BTlVt9wy.chunk.mjs.map
import{l as R}from"./activity-sidebar.mjs";import{b as A,h as G,j as I,g as j,m as D}from"./_plugin-vue_export-helper-sbA8WRVq.chunk.mjs";import{d as b,x as V,g as E,B as M,y as T,c as o,a as i,a1 as p,M as h,m as n,E as g,e as S,f as u,t as B,l as H,b as r,h as y,F as v,L as k,n as q}from"./translation-DoG5ZELJ-t7PDQEiQ.chunk.mjs";import{N as F,_ as O,A as W}from"./ActivityComponent.vue_vue_type_script_setup_true_lang-DI37ilQM.chunk.mjs";import{l as f}from"./logger-1JHA8kGV.chunk.mjs";import{g as U,a as z,b as Z}from"./api-mFrM-9qG.chunk.mjs";import"./preload-helper-DxYC2qmj.chunk.mjs";import"./index-NjYp13Ld.chunk.mjs";var w;(function(t){t[t.User=0]="User",t[t.Group=1]="Group",t[t.Link=3]="Link",t[t.Email=4]="Email",t[t.Remote=6]="Remote",t[t.Team=7]="Team",t[t.Guest=8]="Guest",t[t.RemoteGroup=9]="RemoteGroup",t[t.Room=10]="Room",t[t.Deck=12]="Deck",t[t.FederatedGroup=14]="FederatedGroup",t[t.ScienceMesh=15]="ScienceMesh"})(w||(w={}));const $=b({__name:"ActivitySidebarPlugin",props:{plugin:{},node:{}},emits:["reload-activities"],setup(t,{emit:e}){const a=t,s=e,c=E();return V(()=>a.plugin.mount(c.value,{node:a.node,context:M()?.proxy??void 0,reload:()=>s("reload-activities")})),T(()=>a.plugin.unmount()),(_,d)=>(i(),o("div",{ref_key:"attachTarget",ref:c},null,512))}}),J='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-download-circle" viewBox="0 0 24 24"><path d="M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M8 17H16V15H8V17M16 10H13.5V6H10.5V10H8L12 14L16 10Z" /></svg>',K=b({name:"DownloadSummary",components:{NcIconSvgWrapper:A},props:{fileId:{type:Number,required:!0}},data(){return{totalCount:0,monthlyCount:0,downloadSVG:J}},computed:{summaryText(){return this.monthlyCount>0&&this.monthlyCount<this.totalCount?p("activity","Downloaded %n time (%s in the last 30 days)","Downloaded %n times (%s in the last 30 days)",this.totalCount,[String(this.monthlyCount)]):p("activity","Downloaded %n time","Downloaded %n times",this.totalCount)}},watch:{fileId:{immediate:!0,handler(){this.fetchCounts()}}},methods:{async fetchCounts(){if(this.fileId){this.totalCount=0,this.monthlyCount=0;try{const t=await G.get(I("apps/activity/api/v2/activity/downloads/count"),{params:{format:"json",object_type:"files",object_id:this.fileId}});this.totalCount=t.data.ocs.data.total,this.monthlyCount=t.data.ocs.data.last30d}catch(t){f.error("Failed to fetch download counts",{error:t})}}},t:h,n:p}}),Q={key:0,class:"download-summary"},X={class:"download-summary__icon"},Y={class:"download-summary__text"};function tt(t,e,a,s,c,_){const d=n("NcIconSvgWrapper");return t.totalCount>0?(i(),o("div",Q,[S("span",X,[u(d,{svg:t.downloadSVG,size:20},null,8,["svg"])]),S("span",Y,B(t.summaryText),1)])):g("",!0)}const it=j(K,[["render",tt],["__scopeId","data-v-039613d8"]]),et=b({name:"ActivityTab",components:{ActivityComponent:O,DownloadSummary:it,NcEmptyContent:F,NcIconSvgWrapper:A,NcLoadingIcon:D,ActivitySidebarPlugin:$},props:{node:{type:Object,required:!0},folder:{type:Object,required:!1,default:void 0},view:{type:Object,required:!1,default:void 0}},expose:["update"],data(){return{error:"",loading:!0,activities:[],lightningBoltSVG:R,sidebarPlugins:[]}},computed:{hasPublicLink(){return Object.values(this.node?.attributes?.["share-types"]??{}).flat().includes(w.Link)}},watch:{node:{immediate:!0,async handler(){await this.update()}}},async mounted(){this.node&&await this.update()},methods:{async update(){this.sidebarPlugins=[];const t=Z();t.length>0&&H(()=>{this.sidebarPlugins=t}),this.resetState(),await this.getActivities()},async getActivities(){try{this.loading=!0;const t=await this.processActivities(await this.loadRealActivities()),e=await z({node:this.node});this.activities=[...t,...e].sort((a,s)=>s.timestamp-a.timestamp)}catch(t){this.error=h("activity","Unable to load the activity list"),f.error("Error loading the activity list",{error:t})}finally{this.loading=!1}},resetState(){this.loading=!0,this.error="",this.activities=[]},async loadRealActivities(){try{const{data:t}=await G.get(I("apps/activity/api/v2/activity/filter"),{params:{format:"json",object_type:"files",object_id:this.node.fileid}});return t.ocs.data}catch(t){if(t.response!==void 0&&t.response.status===304)return[];throw t}},processActivities(t){t=t.map(a=>new W(a)),f.debug(`Processed ${t.length} activity(ies)`,{activities:t,node:this.node});const e=U();return t.filter(a=>!e||e.every(s=>s(a)))},t:h}}),at={key:0,class:"activity__actions"},ot={key:4,class:"activity__list"};function st(t,e,a,s,c,_){const d=n("NcIconSvgWrapper"),m=n("NcEmptyContent"),L=n("ActivitySidebarPlugin"),N=n("DownloadSummary"),P=n("NcLoadingIcon"),x=n("ActivityComponent");return i(),o("div",{class:q([{"icon-loading":t.loading},"activity"])},[t.error||!t.node?(i(),r(m,{key:0,name:t.error},{icon:y(()=>[u(d,{svg:t.lightningBoltSVG},null,8,["svg"])]),_:1},8,["name"])):(i(),o(v,{key:1},[t.sidebarPlugins.length>0?(i(),o("div",at,[(i(!0),o(v,null,k(t.sidebarPlugins,(l,C)=>(i(),r(L,{key:C,plugin:l,node:t.node,onReloadActivities:e[0]||(e[0]=nt=>t.getActivities())},null,8,["plugin","node"]))),128))])):g("",!0),t.hasPublicLink&&t.node.fileid?(i(),r(N,{key:1,"file-id":t.node.fileid},null,8,["file-id"])):g("",!0),t.loading?(i(),r(m,{key:2,class:"activity__empty-content",name:t.t("activity","Loading activities")},{icon:y(()=>[u(P)]),_:1},8,["name"])):t.activities.length===0?(i(),r(m,{key:3,class:"activity__empty-content",name:t.t("activity","No activity yet")},{icon:y(()=>[u(d,{svg:t.lightningBoltSVG},null,8,["svg"])]),_:1},8,["name"])):(i(),o("ul",ot,[(i(!0),o(v,null,k(t.activities,l=>(i(),r(x,{key:l.id,activity:l,"show-previews":!1,onReload:e[1]||(e[1]=C=>t.getActivities())},null,8,["activity"]))),128))]))],64))],2)}const vt=j(et,[["render",st],["__scopeId","data-v-ced8713d"]]);export{vt as default};
//# sourceMappingURL=ActivityTab-Vm2uSJQq.chunk.mjs.map

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/activity-adminSettings.mjs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import{M as n,m as a,b as r,a as u,h as m,f as p,i as N,t as w,X as f}from"./translation-DoG5ZELJ-CVc24Etc.chunk.mjs";import{m as g,a as A,N as h,A as C,s as y}from"./settings-store-IZNSaH3n.chunk.mjs";import{g as v,A as _}from"./_plugin-vue_export-helper-Bh7BnaRM.chunk.mjs";import"./index-NjYp13Ld.chunk.mjs";import"./index-C1xmmKTZ-B58fR9pK.chunk.mjs";import"./logger-1JHA8kGV.chunk.mjs";const k={name:"AdminSettings",components:{NcCheckboxRadioSwitch:_,NcSettingsSection:h},computed:{...A({emailEnabled:"emailEnabled"}),settingDescription(){return this.emailEnabled?n("activity","Choose for which activities you want to get an email or push notification."):n("activity","Choose for which activities you want to get a push notification.")}},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings/admin"})},methods:{...g(["setEndpoint","toggleEmailEnabled"]),t:n}};function x(e,t,E,b,S,i){const o=a("NcCheckboxRadioSwitch"),s=a("NcSettingsSection");return u(),r(s,{name:i.t("activity","Notification")},{default:m(()=>[p(o,{type:"checkbox",modelValue:e.emailEnabled,"onUpdate:modelValue":[t[0]||(t[0]=c=>e.emailEnabled=c),t[1]||(t[1]=c=>e.toggleEmailEnabled({emailEnabled:c}))]},{default:m(()=>[N(w(i.t("activity","Enable notification emails")),1)]),_:1},8,["modelValue"])]),_:1},8,["name"])}const D=v(k,[["render",x]]),V={name:"DefaultActivitySettings",components:{ActivityGrid:C,NcSettingsSection:h},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings/admin"})},methods:{...g(["setEndpoint"]),t:n}};function G(e,t,E,b,S,i){const o=a("ActivityGrid"),s=a("NcSettingsSection");return u(),r(s,{name:i.t("activity","Default settings"),description:i.t("activity","Configure the default notification settings for new accounts.")},{default:m(()=>[p(o)]),_:1},8,["name","description"])}const R=v(V,[["render",G]]),d=f(D);d.use(y),d.mount("#activity-admin-settings");const l=f(R);l.use(y),l.mount("#activity-default-settings");
import{M as n,m as a,b as r,a as u,h as m,f as p,i as N,t as w,X as f}from"./translation-DoG5ZELJ-t7PDQEiQ.chunk.mjs";import{m as g,a as A,N as h,A as C,s as y}from"./settings-store-DMVZI6s2.chunk.mjs";import{g as v,A as _}from"./_plugin-vue_export-helper-sbA8WRVq.chunk.mjs";import"./index-NjYp13Ld.chunk.mjs";import"./index-C1xmmKTZ-JNFzaoVm.chunk.mjs";import"./logger-1JHA8kGV.chunk.mjs";const k={name:"AdminSettings",components:{NcCheckboxRadioSwitch:_,NcSettingsSection:h},computed:{...A({emailEnabled:"emailEnabled"}),settingDescription(){return this.emailEnabled?n("activity","Choose for which activities you want to get an email or push notification."):n("activity","Choose for which activities you want to get a push notification.")}},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings/admin"})},methods:{...g(["setEndpoint","toggleEmailEnabled"]),t:n}};function x(e,t,E,b,S,i){const o=a("NcCheckboxRadioSwitch"),s=a("NcSettingsSection");return u(),r(s,{name:i.t("activity","Notification")},{default:m(()=>[p(o,{type:"checkbox",modelValue:e.emailEnabled,"onUpdate:modelValue":[t[0]||(t[0]=c=>e.emailEnabled=c),t[1]||(t[1]=c=>e.toggleEmailEnabled({emailEnabled:c}))]},{default:m(()=>[N(w(i.t("activity","Enable notification emails")),1)]),_:1},8,["modelValue"])]),_:1},8,["name"])}const D=v(k,[["render",x]]),V={name:"DefaultActivitySettings",components:{ActivityGrid:C,NcSettingsSection:h},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings/admin"})},methods:{...g(["setEndpoint"]),t:n}};function G(e,t,E,b,S,i){const o=a("ActivityGrid"),s=a("NcSettingsSection");return u(),r(s,{name:i.t("activity","Default settings"),description:i.t("activity","Configure the default notification settings for new accounts.")},{default:m(()=>[p(o)]),_:1},8,["name","description"])}const R=v(V,[["render",G]]),d=f(D);d.use(y),d.mount("#activity-admin-settings");const l=f(R);l.use(y),l.mount("#activity-default-settings");
//# sourceMappingURL=activity-adminSettings.mjs.map
2 changes: 1 addition & 1 deletion js/activity-app.mjs

Large diffs are not rendered by default.

Loading
Loading