+import{G as T,H as F,_ as y,d as L,I as H,h as a,o as l,i as u,k as c,r as z,A as S,t as s,u as h,j as m,J as U,p as x,q as C,w as v,s as I,v as M,x as $,y as r,K as R,z as w,C as p,D as _,L as j}from"./_plugin-vue_export-helper-bi_Zh_8n.chunk.mjs";import{d as k,t as o,l as q}from"./logger-BdqqYjbj.chunk.mjs";const B={name:"HelpCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},E=["aria-hidden","aria-label"],G=["fill","width","height"],J={d:"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"},K={key:0};function Z(e,t,i,f,D,A){return l(),a("span",U(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon help-circle-icon",role:"img",onClick:t[0]||(t[0]=n=>e.$emit("click",n))}),[(l(),a("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[u("path",J,[i.title?(l(),a("title",K,s(i.title),1)):c("",!0)])],8,G))],16,E)}const O=y(B,[["render",Z]]);T(F);const P={class:"settings-section"},Q={class:"settings-section__name"},W=["aria-label","href","title"],X={key:0,class:"settings-section__desc"},Y=L({__name:"NcSettingsSection",props:{name:{},description:{default:""},docUrl:{default:""}},setup(e){const t=H("External documentation");return(i,f)=>(l(),a("div",P,[u("h2",Q,[S(s(i.name)+" ",1),i.docUrl?(l(),a("a",{key:0,"aria-label":h(t),class:"settings-section__info",href:i.docUrl,rel:"noreferrer nofollow",target:"_blank",title:h(t)},[m(O,{size:20})],8,W)):c("",!0)]),i.description?(l(),a("p",X,s(i.description),1)):c("",!0),z(i.$slots,"default",{},void 0,!0)]))}}),ee=y(Y,[["__scopeId","data-v-9cedb949"]]);async function g(e){try{return await x.put(C("/apps/files_downloadlimit/api/v1/limit"),{limit:e}),!0}catch(t){k.error("Failed to set default download limit",{error:t}),v(o("files_downloadlimit","Failed to set default download limit"))}return!1}async function ie(){try{return await x.delete(C("/apps/files_downloadlimit/api/v1/limit")),!0}catch(e){k.error("Failed to remove default download limit",{error:e}),v(o("files_downloadlimit","Failed to remove default download limit"))}return!1}const b=q("files_downloadlimit","default-download-limit",-1),te=L({name:"AdminSettings",components:{NcCheckboxRadioSwitch:M,NcSettingsSection:ee,NcTextField:I},data(){return{limit:Math.max(b,10),enableDefaultLimit:b!==-1,showLoading:!1,showSuccess:!1}},computed:{helperText(){return typeof this.limit=="number"&&this.limit<=0?o("files_downloadlimit","The minimum limit is 1"):""}},watch:{async limit(e){await g(e)&&(this.showSuccess=!0,window.setTimeout(()=>{this.showSuccess=!1},1e3))},async enableDefaultLimit(e,t){this.showLoading=!0;let i;e?i=await g(10):i=await ie(),i||(this.enableDefaultLimit=t),this.showLoading=!1}},methods:{t:o}}),le={class:"settings__placeholder"};function ae(e,t,i,f,D,A){const n=r("NcCheckboxRadioSwitch"),N=r("NcTextField"),V=r("NcSettingsSection");return l(),R(V,{name:e.t("files_downloadlimit","Download limit"),description:e.t("files_downloadlimit","Configure the default download limit for external shares.")},{default:w(()=>[m(n,{modelValue:e.enableDefaultLimit,"onUpdate:modelValue":t[0]||(t[0]=d=>e.enableDefaultLimit=d),loading:e.showLoading,type:"switch"},{default:w(()=>[S(s(e.t("files_downloadlimit","Default download limit for external shares")),1)]),_:1},8,["modelValue","loading"]),p(m(N,{modelValue:e.limit,"onUpdate:modelValue":t[1]||(t[1]=d=>e.limit=d),class:"settings__field",disabled:!e.enableDefaultLimit||e.showLoading,label:e.t("files_downloadlimit","Set default download limit"),type:"number",min:"1","helper-text":e.helperText,error:!!e.helperText,success:e.showSuccess},null,8,["modelValue","disabled","label","helper-text","error","success"]),[[_,e.enableDefaultLimit]]),p(u("div",le,null,512),[[_,!e.enableDefaultLimit]])]),_:1},8,["name","description"])}const se=$(te,[["render",ae],["__scopeId","data-v-e84629db"]]);j(se).mount("#admin-download-limit");
0 commit comments