import{b as P,x as J,v as K,r as f,j as k,o as _,k as g,t as n,u as t,e as b,w as V,g as I,c as T,l as Q,p as h,F as W,H as X,N as Y,h as Z}from"./runtime-dom.esm-bundler-CU8rrbZA.chunk.mjs";import{d as R,a as U}from"./index-JpgrUA2Z-BYgeawUc.chunk.mjs";import{t as e}from"./translation-DoG5ZELJ-Bni_xMHF.chunk.mjs";import{N as j}from"./mdi-Bm11w6Fn.chunk.mjs";import{N as $}from"./ContentCopy-Cq4ZC6ad.chunk.mjs";import{N}from"./logger-D3RVzcfQ-CklyzrxW.chunk.mjs";import{N as ee}from"./NcSelect-DLheQ2yp-CP6uPo1K.chunk.mjs";import{N as ae}from"./index--bLvrHeb.chunk.mjs";import{_ as te}from"./TrashCanOutline-B5FsJrKA.chunk.mjs";import{c as se,d as le,u as ie,a as oe,b as ue,l as x,f as re}from"./api-BBzfFEqa.chunk.mjs";import{a as ne,l as de}from"./index-DCpg1aui.chunk.mjs";import{N as me}from"./NcCheckboxRadioSwitch-BMsPx74L-CrcuxmoM.chunk.mjs";import"./index-BrC2bLMO.chunk.mjs";import"./createElementId-DhjFt1I9-C_WKCRq3.chunk.mjs";import"./index-Bndk0DrU.chunk.mjs";import"./NcNoteCard-Cok_4Fld-C71YD40i.chunk.mjs";import"./index-BT4ljBnH.chunk.mjs";import"./string_decoder-BO00msnV.chunk.mjs";import"./NcInputField-o5OFv3z6-DJtp_yB7.chunk.mjs";import"./index-CLPHpMLr.chunk.mjs";import"./NcPasswordField-uaMO2pdt-Bi58_jEx.chunk.mjs";import"./dav-SmFgKjZ4.chunk.mjs";import"./index-JSJM6V6X.chunk.mjs";import"./public-Sa--me8z.chunk.mjs";const ge=["disabled"],ce={id:"system-tag-form-heading"},ve={class:"system-tag-form__group"},ye={for:"system-tags-input"},pe={class:"system-tag-form__group"},be={for:"system-tag-name"},fe={class:"system-tag-form__group"},_e={for:"system-tag-level"},he={class:"system-tag-form__row"},Ve=P({__name:"SystemTagForm",props:{tags:{}},emits:["tag:created","tag:updated","tag:deleted"],setup(w,{emit:c}){const r=w,y=c,d=[{id:"Public",label:e("systemtags","Public")},{id:"Restricted",label:e("systemtags","Restricted")},{id:"Invisible",label:e("systemtags","Invisible")}],i=J("tagNameInput"),a=f(!1),o=f(""),u=f(""),p=f("Public"),l=f(null);K(l,s=>{u.value=s?s.displayName:"",p.value=s?F(s.userVisible,s.userAssignable):"Public"});const S=h(()=>l.value===null),D=h(()=>u.value===""),O=h(()=>u.value===""||l.value?.displayName===u.value&&F(l.value?.userVisible,l.value?.userAssignable)===p.value),z=h(()=>S.value?u.value===""&&p.value==="Public":l.value===null),L=h(()=>({Public:!0,Restricted:!0,Invisible:!1})[p.value]),M=h(()=>({Public:!0,Restricted:!1,Invisible:!1})[p.value]),A=h(()=>({displayName:u.value,userVisible:L.value,userAssignable:M.value}));function H(s){const m=r.tags.find(v=>v.id===s)||null;l.value=m}async function q(){if(S.value){await B();return}await E()}async function B(){const s={...le,...A.value};a.value=!0;try{const m=await se(s),v={...s,id:m};y("tag:created",v),R(e("systemtags","Created tag")),C()}catch{o.value=e("systemtags","Failed to create tag")}a.value=!1}async function E(){if(l.value===null)return;const s={...l.value,...A.value};a.value=!0;try{await ie(s),l.value=s,y("tag:updated",s),R(e("systemtags","Updated tag")),i.value?.focus()}catch{o.value=e("systemtags","Failed to update tag")}a.value=!1}async function G(){if(l.value!==null){a.value=!0;try{await oe(l.value),y("tag:deleted",l.value),R(e("systemtags","Deleted tag")),C()}catch{o.value=e("systemtags","Failed to delete tag")}a.value=!1}}function C(){l.value=null,o.value="",u.value="",p.value="Public",i.value?.focus()}function F(s,m){return{[[!0,!0].join(",")]:"Public",[[!0,!1].join(",")]:"Restricted",[[!1,!1].join(",")]:"Invisible"}[[s,m].join(",")]}return(s,m)=>(_(),k("form",{class:"system-tag-form",disabled:a.value,"aria-labelledby":"system-tag-form-heading",onSubmit:X(q,["prevent"]),onReset:C},[g("h4",ce,n(t(e)("systemtags","Create or edit tags")),1),g("div",ve,[g("label",ye,n(t(e)("systemtags","Search for a tag to edit")),1),b(t(ae),{modelValue:l.value,inputId:"system-tags-input",placeholder:t(e)("systemtags","Collaborative tags …"),fetchTags:!1,options:w.tags,multiple:!1,labelOutside:"","onUpdate:modelValue":H},{"no-options":V(()=>[I(n(t(e)("systemtags","No tags to select")),1)]),_:1},8,["modelValue","placeholder","options"])]),g("div",pe,[g("label",be,n(t(e)("systemtags","Tag name")),1),b(t(te),{id:"system-tag-name",ref:"tagNameInput",modelValue:u.value,"onUpdate:modelValue":m[0]||(m[0]=v=>u.value=v),error:!!o.value,helperText:o.value,labelOutside:""},null,8,["modelValue","error","helperText"])]),g("div",fe,[g("label",_e,n(t(e)("systemtags","Tag level")),1),b(t(ee),{modelValue:p.value,"onUpdate:modelValue":m[1]||(m[1]=v=>p.value=v),inputId:"system-tag-level",options:d,reduce:v=>v.id,clearable:!1,disabled:a.value,labelOutside:""},null,8,["modelValue","reduce","disabled"])]),g("div",he,[S.value?(_(),T(t(N),{key:0,type:"submit",disabled:D.value||a.value},{default:V(()=>[I(n(t(e)("systemtags","Create")),1)]),_:1},8,["disabled"])):(_(),k(W,{key:1},[b(t(N),{type:"submit",disabled:O.value||a.value},{default:V(()=>[I(n(t(e)("systemtags","Update")),1)]),_:1},8,["disabled"]),b(t(N),{disabled:a.value,onClick:G},{default:V(()=>[I(n(t(e)("systemtags","Delete")),1)]),_:1},8,["disabled"])],64)),b(t(N),{type:"reset",disabled:z.value||a.value},{default:V(()=>[I(n(t(e)("systemtags","Reset")),1)]),_:1},8,["disabled"]),a.value?(_(),T(t(j),{key:2,name:t(e)("systemtags","Loading …"),size:32},null,8,["name"])):Q("",!0)])],40,ge))}}),Ie=ne(Ve,[["__scopeId","data-v-88ba4be0"]]),Te={id:"system-tags-creation-control"},we={class:"inlineblock"},Ne={class:"settings-hint"},Re=P({__name:"SystemTagsCreationControl",setup(w){const c=f(de("systemtags","restrictSystemTagsCreationToAdmin",!1));async function r(d){try{const i=await ue(d);x.debug("updateSystemTagsDefault",{responseData:i}),y({isRestricted:d,status:i.ocs?.meta?.status})}catch(i){y({errorMessage:e("systemtags","Unable to update setting"),error:i})}}function y({isRestricted:d,status:i,errorMessage:a,error:o}){if(i==="ok"){c.value=!!d,R(d?e("systemtags","System tag creation is now restricted to administrators"):e("systemtags","System tag creation is now allowed for everybody"));return}a&&(U(a),x.error(a,{error:o}))}return(d,i)=>(_(),k("div",Te,[g("h4",we,n(t(e)("systemtags","System tag management")),1),g("p",Ne,n(t(e)("systemtags","If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files.")),1),b(t(me),{modelValue:c.value,"onUpdate:modelValue":[i[0]||(i[0]=a=>c.value=a),r],type:"switch"},{default:V(()=>[I(n(t(e)("systemtags","Restrict tag creation and editing to administrators")),1)]),_:1},8,["modelValue"])]))}}),Se=P({__name:"SystemTagsSection",setup(w){const c=f(!1),r=f([]);Y(async()=>{c.value=!0;try{r.value=await re()}catch(a){U(e("systemtags","Failed to load tags")),x.error("Failed to load tags",{error:a})}c.value=!1});function y(a){r.value.unshift(a)}function d(a){const o=r.value.findIndex(u=>u.id===a.id);r.value.splice(o,1),r.value.unshift(a)}function i(a){const o=r.value.findIndex(u=>u.id===a.id);r.value.splice(o,1)}return(a,o)=>(_(),T(t($),{name:t(e)("systemtags","Collaborative tags"),description:t(e)("systemtags","Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them.")},{default:V(()=>[b(Re),c.value?(_(),T(t(j),{key:0,name:t(e)("systemtags","Loading collaborative tags …"),size:32},null,8,["name"])):(_(),T(Ie,{key:1,tags:r.value,"onTag:created":y,"onTag:updated":d,"onTag:deleted":i},null,8,["tags"]))]),_:1},8,["name","description"]))}}),Ce=Z(Se);Ce.mount("#vue-admin-systemtags"); //# sourceMappingURL=systemtags-admin.mjs.map