1import{h as Pe,r as la,c as b,f as c,w as we,_ as h,a7 as sa,$ as o,L as F,n as r,K as P,a4 as U,U as na,u as f,a1 as g,a0 as k,aF as Ia,aG as ha,aa as ia,M as u,F as ba,a6 as Va,W as Qe,D as ze,R as Xe,O as Ke}from"./vue-datepicker-CpIdsRIT.js";import{u as da,V as xa}from"./filter-By8nmMDA.js";import{_ as Le}from"./CardContainer.vue_vue_type_script_setup_true_lang-BKfUFWAw.js";import{_ as $a}from"./EntityCountKpis.vue_vue_type_script_setup_true_lang-CI-QJyCT.js";import{a0 as La,a as Be,b as Ne,av as Fa,aw as Ua,v as ua,W as ma,V as M,n as Fe,bP as ca,aQ as be,D as Ve,aR as xe,C as qe,aS as $e,aT as ve,a$ as pa,bG as ka,bt as Ge,b1 as va,aH as Sa,aJ as Ca,aI as Da,y as Ga,q as Ta,t as Je,aj as Ye,bn as Ze,_ as Ea}from"./index-c2PABjuS.js";import{r as B}from"./ResolveErrorCode-_CDAcugR.js";import{V as fa,r as ga}from"./VForm-fG7fwhIC.js";import{u as Re}from"./lmraStore-UC2pyfkM.js";import{_ as Ue,l as Se}from"./ConfigurationWarnings-tSt44RXQ.js";import{u as Oe}from"./workItemStore-B0n58MtF.js";import{Q as Aa}from"./browser-qB8L6Zmy.js";import{V as Ce}from"./VTextField-CzBtTN-C.js";import{V as Me}from"./VSwitch-DckCpHw1.js";import{V as Te}from"./VAutocomplete-Cxtz8Npr.js";import{s as ea}from"./DataTableSorting-DDcS9sCQ.js";import{u as aa}from"./InfiniteListComposable-D1mDhAIs.js";import{V as qa,b as Ma,a as ta,c as ra}from"./VTabs-Ddd2B7iH.js";import{V as Ee}from"./VChip-zxhclFBY.js";import{V as oa}from"./VDataTableServer-sfveKKYy.js";import"./datefns-BAflKSlV.js";import"./KpiHint.vue_vue_type_script_setup_true_lang-DMkRINi8.js";import"./catalogStore-DWOHXgj6.js";import"./plotly-DsqdWQfm.js";import"./VCheckboxBtn-CaDiUy2q.js";import"./VSelect-DnH6Hc5K.js";import"./VDataTable-CzpP61RX.js";import"./VTable-CzfeRkJJ.js";const Pa=()=>({catalogId:null,name:"",analysisValidityInHours:1,analysisQuestionsCount:4,active:!0}),Ba={class:"flex justify-between items-center border-b px-2 py-3 mb-5"},Na={class:"flex items-center gap-5"},Ra={key:0},Oa=["src","alt"],_a={key:0,class:"flex items-center gap-2 px-2 text-sm"},ja={class:"font-medium"},Ha={key:1,class:"text-gray-500"},Qa={key:2,class:"flex flex-col gap-3 border-t mt-5 pt-5"},za=Pe({__name:"WorkAreaForm",props:{workArea:{type:Object,required:!0},assignedUsers:{type:Array},assignedGroups:{type:Array},canEditWorkArea:{type:Boolean,default:!0},canDeleteWorkArea:{type:Boolean,default:!1},isLastWorkArea:{type:Boolean,default:!1},assignedWorkItems:{type:Array}},emits:["cancel","update:assignedUsers","update:assignedGroups","update:assignedWorkItems","update:workArea"],setup(A,{emit:ne}){const s=A,K=ne,y=da(),_=La(),w=Re(),Z=Oe(),{notifyError:V,notifySuccess:E}=Be(),{t:x,locale:ie}=Ne(),G=la({name:s.workArea?.name??"",active:s.workArea?.active??!0}),We=b(()=>s.workArea?.lmraId?w.lmras?.find(a=>a.id===s.workArea.lmraId)?.name:void 0),de=b(()=>_.employeeSortBy),he=(a,i)=>Fa(a,i,de.value,ie.value),fe=b(()=>(y.users??[]).filter(a=>a.enabled||ee.value.includes(a.id)).slice().sort(he).map(a=>({title:Ua(a,de.value),value:a.id}))),ee=c(s.assignedUsers?.map(a=>a.id)??[]),Q=c(s.assignedUsers?.map(a=>a.id)??[]),ae=b(()=>(y.groups??[]).slice().sort((a,i)=>a.name.localeCompare(i.name,ie.value,{sensitivity:"base"})).map(a=>({title:a.name,value:a.id}))),j=c(s.assignedGroups?.map(a=>a.id)??[]),J=c(s.assignedGroups?.map(a=>a.id)??[]),oe=b(()=>Z.workItems?.filter(a=>!a.archived).map(a=>({title:a.name,value:a.id}))??[]),z=c(s.assignedWorkItems?.map(a=>a.id)??[]),te=c(s.assignedWorkItems?.map(a=>a.id)??[]);we(oe,a=>{if(!Z.workItems)return;const i=new Set(a.map(S=>S.value));z.value=z.value.filter(S=>i.has(S))},{immediate:!0});const ue=c(!1),Y=c(!1),le=c(!!s.workArea?.isDefault),ge=c(!1),me=b(()=>{if(s.isLastWorkArea)return x("App.WorkArea.WorkAreaForm.cannotDeleteLastWorkArea");if(s.workArea?.isDefault)return x("App.WorkArea.WorkAreaForm.cannotDeleteDefaultWorkArea")}),ce=()=>{Q.value=ee.value,J.value=j.value,te.value=z.value};we(()=>s.workArea?.isDefault,a=>{le.value=!!a});const se=async a=>{if(!s.workArea?.id||a===null){le.value=!!s.workArea?.isDefault;return}ge.value=!0;try{await y.setWorkAreaDefault(s.workArea.id,a),K("update:workArea",{...s.workArea,isDefault:a}),E(x("App.WorkArea.WorkAreaForm.defaultWorkAreaSaveSuccess"))}catch(i){le.value=!!s.workArea?.isDefault,V(x(B(i,"App.WorkArea.WorkAreaForm.defaultWorkAreaSaveError")))}finally{ge.value=!1}},Ae=async()=>
1{if(G){Y.value=!0;try{let a;if(!s.workArea?.id)a=await y.createWorkArea(G);else{a=await y.updateWorkArea({id:s.workArea.id,name:G.name,active:G.active});try{const i=j.value.filter(e=>!J.value.includes(e)).map(e=>y.groups.find(W=>W.id===e)).map(e=>y.addGroupToWorkArea(s.workArea,e)),S=J.value.filter(e=>!j.value.includes(e)).map(e=>y.groups.find(W=>W.id===e)).map(e=>y.removeGroupFromWorkArea(s.workArea,e)),d=ee.value.filter(e=>!Q.value.includes(e)).map(e=>y.users.find(W=>W.id===e)).map(e=>y.addUserToWorkArea(s.workArea,e)),C=Q.value.filter(e=>!ee.value.includes(e)).map(e=>y.users.find(W=>W.id===e)).map(e=>y.removeUserFromWorkArea(s.workArea,e)),D=z.value.filter(e=>!te.value.includes(e)).map(e=>Z.addWorkItemToWorkArea(s.workArea.id,e)),H=te.value.filter(e=>!z.value.includes(e)).map(e=>Z.removeWorkItemFromWorkArea(s.workArea.id,e));await Promise.all([...i,...S]),await Promise.all([...d,...C,...D,...H]);const[O,t,l]=await Promise.all([y.fetchWorkAreaUsers(s.workArea),y.fetchWorkAreaGroups(s.workArea),Z.fetchWorkAreaWorkItems(s.workArea.id)]);ee.value=O.map(e=>e.id),j.value=t.map(e=>e.id),z.value=l.map(e=>e.id),ce(),K("update:assignedUsers",O),K("update:assignedGroups",t),K("update:assignedWorkItems",l)}catch(i){V(x(B(i,"App.WorkArea.WorkAreaForm.assignmentGenericError")))}}ce(),K("update:workArea",a),E(x("App.WorkArea.WorkAreaForm.saveSuccess"))}catch(a){V(x(B(a,"App.WorkArea.WorkAreaForm.genericSaveError")))}Y.value=!1}},pe=c(!1),n=c(!1),p=c(null),q=c(null),m=b(()=>s.workArea?.id?`safeos://lmra?workareaId=${s.workArea.id}`:""),$=b(()=>G.name||s.workArea?.name||""),v=b(()=>{const a=[x("App.WorkArea.WorkAreaForm.qrTitle")];return $.value&&a.push(`${x("App.WorkArea.WorkAreaForm.qrCaptionWorkArea")}: ${$.value}`),a.join(" - ")}),N=()=>pe.value=!0,I=()=>pe.value=!1,X=a=>new Promise((i,S)=>{const d=new Image;d.crossOrigin="anonymous",d.onload=()=>i(d),d.onerror=()=>S(new Error(`Failed to load image: ${a}`)),d.src=a}),R=(a,i,S)=>{const d=i.split(" "),C=[];let D="";const H=()=>{D.trim().length>0&&C.push(D.trim()),D=""};for(const O of d){const t=D?`${D} ${O}`:O;if(a.measureText(t).width<=S){D=t;continue}if(D)H(),D=O;else{let l="";for(const e of O){const W=l+e;a.measureText(W).width>S&&l?(C.push(l),l=e):l=W}l&&C.push(l)}}return H(),C},ke="/logo-full.svg",re=async a=>{const[i,S]=await Promise.all([X(ke),X(a)]),d=360,C=20,D=200,H=34,O=12,t=256,l=12,e=18,W=document.createElement("canvas"),T=W.getContext("2d");if(!T)return null;const ye=Math.max(1,Math.min(2,window.devicePixelRatio||1));W.width=Math.round(d*ye),T.font="14px sans-serif";const _e=[`${x("App.WorkArea.WorkAreaForm.qrCaptionWorkArea")}: ${$.value||"-"}`].flatMap(De=>R(T,De,d-C*2)),je=C+H+O+t+l+_e.length*e+C;W.height=Math.round(je*ye),T.setTransform(ye,0,0,ye,0,0),T.fillStyle="#FFFFFF",T.fillRect(0,0,d,je);let Ie=C;const wa=i.width/i.height,He=Math.min(D,Math.round(H*wa)),Wa=(d-He)/2;T.imageSmoothingEnabled=!0,T.drawImage(i,Wa,Ie,He,H),Ie+=H+O;const ya=(d-t)/2;T.imageSmoothingEnabled=!1,T.drawImage(S,ya,Ie,t,t),Ie+=t+l,T.fillStyle="#111111",T.font="14px sans-serif",T.textAlign="center",T.textBaseline="top",T.imageSmoothingEnabled=!0;for(const De of _e)T.fillText(De,d/2,Ie),Ie+=e;return W.toDataURL("image/png")};we(n,async a=>{if(!a){p.value=null,q.value=null;return}if(m.value)try{p.value=await Aa.toDataURL(m.value,{margin:1,width:256}),q.value=await re(p.value)}catch{V(x("App.WorkArea.WorkAreaForm.qrGenerateError"))}});const L=async()=>{Y.value=!0;try{await y.deleteWorkArea(s.workArea),E(x("App.WorkArea.WorkAreaForm.deleteSuccess")),K("cancel")}catch(a){V(x(B(a,"App.WorkArea.WorkAreaForm.genericDeleteError")))}Y.value=!1,I()};return(a,i)=>{const S=ia("router-link");return u(),h(fa,{modelValue:ue.value,"onUpdate:modelValue":i[11]||(i[11]=d=>ue.value=d),class:"flex flex-col gap-3",onSubmit:sa(Ae,["prevent"])},{default:o(()=>[F("div",Ba,[na((u(),P("i",{class:"p-1 rounded-full cursor-pointer",onClick:i[0]||(i[0]=d=>a.$emit("cancel"))},[r(ua,{"svg-path":f(ma),class:"text-error"},null,8,["svg-path"])])),[[va]]),F("div",Na,[A.workArea?.id?(u(),h(M,{key:0,variant:"text",onClick:i[1]||(i[1]=d=>n.value=!0)},{default:o(()=>[r(Fe,{icon:f(ca)},null,8,["icon"])]),_:1})):U("",!0),A.workArea?.id?(u(),h(be,{key:1,modelValue:n.value,"onUpdate:modelValue":i[3]||(i[3]=d=>n.value=d),"max-width":"400px"},{default:o(()=>[r(Ve,null,{default:o(()=>[r(xe,{class:"text-h5 text-wrap"},{default:o(()=>
1[g(k(a.$t("App.WorkArea.WorkAreaForm.qrTitle")),1)]),_:1}),r(qe,{class:"flex flex-col items-center gap-4"},{default:o(()=>[q.value||p.value?(u(),P("div",Ra,[F("img",{src:q.value??p.value,alt:v.value,class:"mx-auto max-w-full"},null,8,Oa)])):U("",!0)]),_:1}),r($e,null,{default:o(()=>[r(M,{variant:"text",onClick:i[2]||(i[2]=d=>n.value=!1)},{default:o(()=>[g(k(a.$t("General.cancel")),1)]),_:1}),r(ve),q.value?(u(),h(M,{key:0,variant:"text",href:q.value,download:"workarea-qr.png",tag:"a"},{default:o(()=>[g(k(a.$t("App.WorkArea.WorkAreaForm.qrDownload")),1)]),_:1},8,["href"])):U("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])):U("",!0),A.workArea?.id?(u(),h(be,{key:2,modelValue:pe.value,"onUpdate:modelValue":i[4]||(i[4]=d=>pe.value=d),"max-width":"500px"},{activator:o(({props:d})=>[r(xa,{text:me.value,disabled:!me.value},{activator:o(({props:C})=>[F("span",Ia(ha(C)),[r(M,{loading:Y.value,variant:"text",disabled:!A.canDeleteWorkArea||!!me.value},{default:o(()=>[r(Fe,{icon:f(pa),color:"error",onClick:N},null,8,["icon"])]),_:1},8,["loading","disabled"])],16)]),_:1},8,["text","disabled"])]),default:o(()=>[r(Ve,null,{default:o(()=>[r(xe,{class:"text-h5 text-wrap"},{default:o(()=>[g(k(a.$t("App.WorkArea.WorkAreaForm.deleteConfirmText")),1)]),_:1}),r($e,null,{default:o(()=>[r(ve),r(M,{variant:"text",onClick:I},{default:o(()=>[g(k(a.$t("General.cancel")),1)]),_:1}),r(M,{color:"error",onClick:L},{default:o(()=>[g(k(a.$t("General.confirm")),1)]),_:1}),r(ve)]),_:1})]),_:1})]),_:1},8,["modelValue"])):U("",!0),r(M,{color:"success",loading:Y.value,disabled:!A.canEditWorkArea||!ue.value,type:"submit"},{default:o(()=>[g(k(a.$t(A.workArea?.id?"General.save":"General.create")),1)]),_:1},8,["loading","disabled"])])]),r(Ce,{modelValue:G.name,"onUpdate:modelValue":i[5]||(i[5]=d=>G.name=d),label:a.$t("General.name"),type:"text",color:"secondary","prepend-inner-icon":f(ka),rules:[f(ga)],variant:"outlined","hide-details":"auto",required:""},null,8,["modelValue","label","prepend-inner-icon","rules"]),A.workArea?.id?(u(),P("div",_a,[F("span",ja,k(a.$t("App.Lmra.title"))+":",1),We.value?(u(),h(S,{key:0,to:{name:"lmra"},class:"text-secondary underline"},{default:o(()=>[g(k(We.value),1)]),_:1})):(u(),P("span",Ha,k(a.$t("App.Lmra.noLmraAssigned")),1)),r(Ue,{warnings:f(Se)(A.workArea)},null,8,["warnings"])])):U("",!0),r(Me,{modelValue:G.active,"onUpdate:modelValue":i[6]||(i[6]=d=>G.active=d),color:"secondary",inset:"","hide-details":"auto",label:a.$t("App.WorkArea.WorkAreaForm.active"),disabled:!A.canEditWorkArea},null,8,["modelValue","label","disabled"]),A.workArea?.id?(u(),h(Me,{key:1,modelValue:le.value,"onUpdate:modelValue":[i[7]||(i[7]=d=>le.value=d),se],color:"secondary",inset:"","hide-details":"auto",label:a.$t("App.WorkArea.WorkAreaForm.defaultWorkArea"),disabled:!A.canEditWorkArea||ge.value},null,8,["modelValue","label","disabled"])):U("",!0),A.workArea?.id?(u(),P("div",Qa,[r(Te,{modelValue:ee.value,"onUpdate:modelValue":i[8]||(i[8]=d=>ee.value=d),items:fe.value,label:a.$t("App.WorkArea.WorkAreaForm.assignedUsers"),color:"secondary","prepend-inner-icon":f(Ge),variant:"outlined","hide-details":"auto",multiple:""},null,8,["modelValue","items","label","prepend-inner-icon"]),r(Te,{modelValue:j.value,"onUpdate:modelValue":i[9]||(i[9]=d=>j.value=d),items:ae.value,label:a.$t("App.WorkArea.WorkAreaForm.assignedGroups"),color:"secondary","prepend-inner-icon":f(Ge),variant:"outlined","hide-details":"auto",multiple:""},null,8,["modelValue","items","label","prepend-inner-icon"]),r(Te,{modelValue:z.value,"onUpdate:modelValue":i[10]||(i[10]=d=>z.value=d),items:oe.value,label:a.$t("App.WorkArea.WorkAreaForm.assignedWorkItems"),color:"secondary","prepend-inner-icon":f(Ge),variant:"outlined","hide-details":"auto",multiple:""},null,8,["modelValue","items","label","prepend-inner-icon"])])):U("",!0)]),_:1},8,["modelValue"])}}}),Xa=()=>({catalogId:null,name:"",analysisQuestionsCount:4,analysisValidityInHours:10,active:!0}),Ka={class:"flex justify-between items-center border-b px-2 py-3 mb-5"},Ja={class:"flex items-center gap-5"},Ya={class:"mb-3"},Za={key:0},et=["src","alt"],at={key:0,class:"flex items-center gap-2 px-2 text-sm"},tt={class:"font-medium"},rt={key:1,class:"text-gray-500"},ot=Pe({__name:"WorkItemForm",props:{workItem:{type:Object,required:!0},workAreasForItem:{type:Array,default:()=>[]},canEditWorkItem:{type:Boolean,default:!0},canDeleteWorkItem:{type:Boolean,default:!0}},emits:["cancel","update:workItem"],setup(A,{emit:ne}){const s=A,K=ne,y=Oe(),_=Re(),{notifyError:w,notifySuccess:Z}=Be(),{t:V}=Ne(),E=la({name:s.workItem?.name??"",active:s.workItem?.active??!0}),x=b(()=>s.workItem?.lmraId?_.lmras?.find(n=>n.id===s.workItem.lmraId)?.name:void 0),ie=c(!1),G=c(!1),We=async()=>
1{if(E){G.value=!0;try{let n;s.workItem?.id?n=await y.updateWorkItem({id:s.workItem.id,name:E.name,active:E.active}):n=await y.createWorkItem(E),K("update:workItem",n),Z(V("App.WorkItem.WorkItemForm.saveSuccess"))}catch(n){Ga(n)&&n.response?.status===403&&n.response.data?.message?w(n.response.data.message):w(V(B(n,"App.WorkItem.WorkItemForm.genericSaveError")))}G.value=!1}},de=c(!1),he=()=>de.value=!0,fe=()=>de.value=!1,ee=async()=>{G.value=!0;try{await y.deleteWorkItem(s.workItem),Z(V("App.WorkItem.WorkItemForm.deleteSuccess")),K("cancel")}catch(n){w(V(B(n,"App.WorkItem.WorkItemForm.genericDeleteError")))}G.value=!1,fe()},Q=c(!1),ae=c(!1),j=c(null),J=c(null),oe=c(null),z=b(()=>!s.workItem?.id||!oe.value?"":`safeos://lmra?workareaId=${oe.value}&workitemId=${s.workItem.id}`),te=b(()=>s.workAreasForItem.find(p=>p.id===oe.value)?.name??""),ue=b(()=>E.name||s.workItem?.name||""),Y=b(()=>{const n=[V("App.WorkItem.WorkItemForm.qrTitle")];return te.value&&n.push(`${V("App.WorkItem.WorkItemForm.qrCaptionWorkArea")}: ${te.value}`),ue.value&&n.push(`${V("App.WorkItem.WorkItemForm.qrCaptionWorkItem")}: ${ue.value}`),n.join(" - ")}),le=b(()=>!!s.workItem?.id&&s.workAreasForItem.length>0),ge=()=>{le.value&&(s.workAreasForItem.length===1?(oe.value=s.workAreasForItem[0].id,ae.value=!0):Q.value=!0)},me=n=>{oe.value=n,Q.value=!1,ae.value=!0},ce=n=>new Promise((p,q)=>{const m=new Image;m.crossOrigin="anonymous",m.onload=()=>p(m),m.onerror=()=>q(new Error(`Failed to load image: ${n}`)),m.src=n}),se=(n,p,q)=>{const m=p.split(" "),$=[];let v="";const N=()=>{v.trim().length>0&&$.push(v.trim()),v=""};for(const I of m){const X=v?`${v} ${I}`:I;if(n.measureText(X).width<=q){v=X;continue}if(v)N(),v=I;else{let R="";for(const ke of I){const re=R+ke;n.measureText(re).width>q&&R?($.push(R),R=ke):R=re}R&&$.push(R)}}return N(),$},Ae="/logo-full.svg",pe=async n=>{const[p,q]=await Promise.all([ce(Ae),ce(n)]),m=360,$=20,v=200,N=34,I=12,X=256,R=12,ke=18,re=document.createElement("canvas"),L=re.getContext("2d");if(!L)return null;const a=Math.max(1,Math.min(2,window.devicePixelRatio||1));re.width=Math.round(m*a),L.font="14px sans-serif";const i=[`${V("App.WorkItem.WorkItemForm.qrCaptionWorkArea")}: ${te.value||"-"}`,`${V("App.WorkItem.WorkItemForm.qrCaptionWorkItem")}: ${ue.value||"-"}`].flatMap(t=>se(L,t,m-$*2)),S=$+N+I+X+R+i.length*ke+$;re.height=Math.round(S*a),L.setTransform(a,0,0,a,0,0),L.fillStyle="#FFFFFF",L.fillRect(0,0,m,S);let d=$;const C=p.width/p.height,D=Math.min(v,Math.round(N*C)),H=(m-D)/2;L.imageSmoothingEnabled=!0,L.drawImage(p,H,d,D,N),d+=N+I;const O=(m-X)/2;L.imageSmoothingEnabled=!1,L.drawImage(q,O,d,X,X),d+=X+R,L.fillStyle="#111111",L.font="14px sans-serif",L.textAlign="center",L.textBaseline="top",L.imageSmoothingEnabled=!0;for(const t of i)L.fillText(t,m/2,d),d+=ke;return re.toDataURL("image/png")};return we(ae,async n=>{if(!n){j.value=null,J.value=null;return}if(z.value)try{j.value=await Aa.toDataURL(z.value,{margin:1,width:256}),J.value=await pe(j.value)}catch{w(V("App.WorkItem.WorkItemForm.qrGenerateError"))}}),(n,p)=>{const q=ia("router-link");return u(),h(fa,{modelValue:ie.value,"onUpdate:modelValue":p[8]||(p[8]=m=>ie.value=m),class:"flex flex-col gap-3",onSubmit:sa(We,["prevent"])},{default:o(()=>[F("div",Ka,[na((u(),P("i",{class:"p-1 rounded-full cursor-pointer",onClick:p[
10]||(p[0]=m=>n.$emit("cancel"))},[r(ua,{"svg-path":f(ma),class:"text-error"},null,8,["svg-path"])])),[[va]]),F("div",Ja,[le.value?(u(),h(M,{key:0,variant:"text",onClick:ge},{default:o(()=>[r(Fe,{icon:f(ca)},null,8,["icon"])]),_:1})):U("",!0),A.workItem?.id&&A.workAreasForItem.length>1?(u(),h(be,{key:1,modelValue:Q.value,"onUpdate:modelValue":p[2]||(p[2]=m=>Q.value=m),"max-width":"400px"},{default:o(()=>[r(Ve,null,{default:o(()=>[r(xe,{class:"text-h5 text-wrap"},{default:o(()=>[g(k(n.$t("App.WorkItem.WorkItemForm.qrSelectWorkAreaTitle")),1)]),_:1}),r(qe,null,{default:o(()=>[F("p",Ya,k(n.$t("App.WorkItem.WorkItemForm.qrSelectWorkAreaInfo")),1),r(Sa,null,{default:o(()=>[(u(!0),P(ba,null,Va(A.workAreasForItem,m=>(u(),h(Ca,{key:m.id,onClick:$=>me(m.id),class:"cursor-pointer"},{default:o(()=>[r(Da,null,{default:o(()=>[g(k(m.name),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),r($e,null,{default:o(()=>[r(ve),r(M,{variant:"text",onClick:p[1]||(p[1]=m=>Q.value=!1)},{default:o(()=>[g(k(n.$t("General.cancel")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])):U("",!0),A.workItem?.id?(u(),h(be,{key:2,modelValue:ae.value,"onUpdate:modelValue":p[4]||(p[4]=m=>ae.value=m),"max-width":"400px"},{default:o(()=>[r(Ve,null,{default:o(()=>[r(xe,{class:"text-h5 text-wrap"},{default:o(()=>[g(k(n.$t("App.WorkItem.WorkItemForm.qrTitle")),1)]),_:1}),r(qe,{class:"flex flex-col items-center gap-4"},{default:o(()=>[J.value||j.value?(u(),P("div",Za,[F("img",{src:J.value??j.value,alt:Y.value,class:"mx-auto max-w-full"},null,8,et)])):U("",!0)]),_:1}),r($e,null,{default:o(()=>[r(M,{variant:"text",onClick:p[3]||(p[3]=m=>ae.value=!1)},{default:o(()=>[g(k(n.$t("General.cancel")),1)]),_:1}),r(ve),J.value?(u(),h(M,{key:0,variant:"text",href:J.value,download:"workitem-qr.png",tag:"a"},{default:o(()=>[g(k(n.$t("App.WorkItem.WorkItemForm.qrDownload")),1)]),_:1},8,["href"])):U("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])):U("",!0),A.workItem?.id?(u(),h(be,{key:3,modelValue:de.value,"onUpdate:modelValue":p[5]||(p[5]=m=>de.value=m),"max-width":"500px"},{activator:o(({props:m})=>[r(M,{loading:G.value,variant:"text",disabled:!A.canDeleteWorkItem},{default:o(()=>[r(Fe,{icon:f(pa),color:"error",onClick:he},null,8,["icon"])]),_:1},8,["loading","disabled"])]),default:o(()=>[r(Ve,null,{default:o(()=>[r(xe,{class:"text-h5 text-wrap"},{default:o(()=>[g(k(n.$t("App.WorkItem.WorkItemForm.deleteConfirmText")),1)]),_:1}),r($e,null,{default:o(()=>[r(ve),r(M,{variant:"text",onClick:fe},{default:o(()=>[g(k(n.$t("General.cancel")),1)]),_:1}),r(M,{color:"error",onClick:ee},{default:o(()=>[g(k(n.$t("General.confirm")),1)]),_:1}),r(ve)]),_:1})]),_:1})]),_:1},8,["modelValue"])):U("",!0),r(M,{color:"success",loading:G.value,disabled:!A.canEditWorkItem||!ie.value,type:"submit"},{default:o(()=>[g(k(n.$t(A.workItem?.id?"General.save":"General.create")),1)]),_:1},8,["loading","disabled"])])]),r(Ce,{modelValue:E.name,"onUpdate:modelValue":p[6]||(p[6]=m=>E.name=m),label:n.$t("General.name"),type:"text",color:"secondary","prepend-inner-icon":f(ka),rules:[f(ga)],variant:"outlined","hide-details":"auto",required:""},null,8,["modelValue","label","prepend-inner-icon","rules"]),A.workItem?.id?(u(),P("div",at,[F("span",tt,k(n.$t("App.Lmra.title"))+":",1),x.value?(u(),h(q,{key:0,to:{name:"lmra"},class:"text-secondary underline"},{default:o(()=>[g(k(x.value),1)]),_:1})):(u(),P("span",rt,k(n.$t("App.Lmra.noLmraAssigned")),1)),r(Ue,{warnings:f(Se)(A.workItem)},null,8,["warnings"])])):U("",!0),r(Me,{modelValue:E.active,"onUpdate:modelValue":p[7]||(p[7]=m=>E.active=m),color:"secondary",inset:"","hide-details":"auto",label:n.$t("App.WorkItem.WorkItemForm.active"),disabled:!A.canEditWorkItem},null,8,["modelValue","label","disabled"])]),_:1},8,["modelValue"])}}}),lt={class:"flex items-center justify-between border-b px-2 py-3 mb-2"},st={class:"inline-flex items-center"},nt={key:1,class:"text-gray-400"},it=["title"],dt={key:0,class:"flex justify-center py-3"},ut={key:1,class:"text-center py-2 text-xs text-gray-400"},mt={class:"flex items-center justify-between border-b px-2 py-3 mb-2"},ct={class:"inline-flex items-center"},pt={key:1,class:"text-gray-400"},kt=["title"],vt={key:0,class:"flex justify-center py-3"},ft={key:1,class:"text-center py-2 text-xs text-gray-400"},gt=Pe({__name:"WorkAreas",setup(A){const ne=Ta(),s=da(),K=Re(),y=Oe(
1),{notifyError:_}=Be(),{t:w,locale:Z}=Ne(),V=c("workAreas"),E=c([]),x=c([]),{items:ie,total:G,loading:We,isLoadingMore:de,hasMore:he,search:fe,sentinel:ee,reset:Q}=aa(t=>s.fetchWorkAreasPage(t)),{items:ae,total:j,loading:J,isLoadingMore:oe,hasMore:z,search:te,sentinel:ue,reset:Y}=aa(t=>y.fetchWorkItemsPage(t)),le=b(()=>[{title:w("General.name"),align:"start",key:"name"},{title:w("App.WorkArea.WorkAreaList.default"),align:"start",key:"isDefault"},{title:w("App.Lmra.title"),align:"start",key:"lmraName"},{title:w("App.WorkArea.WorkAreaList.numberOfAssignedUsers"),align:"start",key:"numberOfUsers"},{title:w("App.WorkArea.WorkAreaList.numberOfAssignedGroups"),align:"start",key:"numberOfGroups"},{title:w("App.WorkArea.WorkAreaList.numberOfAssignedWorkItems"),align:"start",key:"numberOfWorkItems"},{title:w("App.WorkArea.WorkAreaForm.assignedWorkItems"),align:"start",key:"assignedWorkItemsPreview"}]),ge=b(()=>[{title:w("General.name"),align:"start",key:"name"},{title:w("App.Lmra.title"),align:"start",key:"lmraName"},{title:w("App.WorkArea.WorkAreaList.title"),align:"start",key:"assignedWorkAreasPreview"}]),me=c(new Map),ce=c(new Map),se=c(new Map),Ae=c(new Map),pe=t=>t?K.lmras?.find(l=>l.id===t)?.name:void 0,n=b(()=>ie.value.map(t=>({...t,numberOfUsers:t.numberOfUsers??0,numberOfGroups:t.numberOfGroups??0,numberOfWorkItems:se.value.has(t.id)?se.value.get(t.id)?.length??0:t.numberOfWorkItems??0,lmraName:pe(t.lmraId),assignedWorkItemsPreview:(se.value.get(t.id)??[]).map(l=>l?.name).filter(l=>typeof l=="string"&&l.length>0).join(", ")}))),p=b(()=>ae.value.map(t=>({...t,lmraName:pe(t.lmraId),assignedWorkAreasPreview:(Ae.value.get(t.id)??[]).map(l=>l?.name).filter(l=>typeof l=="string"&&l.length>0).join(", ")}))),q=b(()=>ea(n.value,E.value)),m=b(()=>ea(p.value,x.value)),$=c(null),v=c(null),N=c(null),I=c(null),X=b(()=>I.value?.id?Ae.value.get(I.value.id)??[]:[]);we($,async t=>{const l=t?.[0];if(!l){v.value=null;return}const e=ie.value.find(W=>W.id===l)??null;if(!e){v.value=null;return}try{const[W,T,ye]=await Promise.all([s.fetchWorkAreaUsers(e),s.fetchWorkAreaGroups(e),y.fetchWorkAreaWorkItems(l)]);me.value.set(l,W),ce.value.set(l,T),se.value.set(l,ye)}catch(W){_(w(B(W,"App.WorkArea.WorkAreaList.tableLoadingError")))}v.value=e});const R=c(!1);we(v,t=>setTimeout(()=>R.value=!!t,t?0:300));const ke=()=>v.value=Pa(),re=async t=>{v.value=t;try{await Q(),t?.id&&($.value=[t.id])}catch(l){_(w(B(l,"App.WorkArea.WorkAreaList.tableLoadingError")))}},L=async()=>{$.value=null,v.value=null;try{await Q()}catch(t){_(w(B(t,"App.WorkArea.WorkAreaList.tableLoadingError")))}},a=()=>{N.value=null,I.value=Xa()},i=async t=>{I.value=t;try{await Y(),t?.id&&(N.value=[t.id])}catch(l){_(w(B(l,"App.WorkItem.WorkItemList.tableLoadingError")))}},S=async()=>{I.value=null;try{await Y()}catch(t){_(w(B(t,"App.WorkItem.WorkItemList.tableLoadingError")))}};we(N,async t=>{const l=t?.[0];if(!l){I.value=null;return}const e=ae.value.find(W=>W.id===l)??null;if(!e){I.value=null;return}try{const W=await y.fetchWorkItemWorkAreas(l);Ae.value.set(l,W)}catch(W){_(w(B(W,"App.WorkItem.WorkItemList.tableLoadingError")))}I.value=e}),Qe(async()=>{try{await Promise.all([Q(),Y(),K.fetchLmras(),s.fetchUsers(),s.fetchGroups()])}catch(t){_(w(B(t,"App.WorkArea.WorkAreaList.tableLoadingError")))}});const d=c(!0),C=c(!0),D=c(!0),H=c(!1),O=c(!1);return Qe(async()=>{try{d.value=await ne.hasPermission("basic_plus","can_create_workspaces","operational supervisor"),d.value&&(H.value=await ne.isLimitReached("workarea"),O.value=await ne.isLimitReached("workitem"))}catch(t){_(w(B(t,"App.rolesRights.permissionCheckError")))}try{C.value=await ne.hasPermission("basic","can_edit_workspaces","operational supervisor")}catch(t){_(w(B(t,"App.rolesRights.permissionCheckError")))}try{D.value=await ne.hasPermission("basic_plus","can_delete_workspaces","operational supervisor")}catch(t){_(w(B(t,"App.rolesRights.permissionCheckError")))}}),(t,l)=>(u(),P("div",null,[r($a,{class:"mb-4"}),r(qa,{modelValue:V.value,"onUpdate:modelValue":l[0]||(l[0]=e=>V.value=e),color:"secondary","data-tour":"workareas-tabs"},{default:o(()=>[r(ta,{value:"workAreas"},{default:o(()=>[g(k(t.$t("App.WorkArea.WorkAreaList.title")),1)]),_:1}),r(ta,{value:"workItems"},{default:o(()=>[g(k(t.$t("App.WorkItem.WorkItemList.title")),1)]),_:1})]),_:1},8,["modelValue"]),r(Ma,{modelValue:V.value,"onUpdate:modelValue":l[10]||(l[10]=e=>V.value=e),class:"mt-4"},{default:o(()=>[r(ra,{value:"workAreas"},{default:o(()=>[F("div",{class:Ke(["grid grid-cols-1 gap-4",{"md:grid-cols-2":R.value}])},[r(Le,null,{default:o(()=>[(u(),h(oa,{headers:le.value,items:q.value,"items-length":f(G),loading:f(We),"item-value":"id","loading-text":t.$t("App.WorkArea.WorkAreaList.tableLoadingText"),hover:!0,"no-data-text":t.$t("App.WorkArea.WorkAreaList.tableNoDataText"),"show-select":"","select-strategy":"single",modelValue:$.value,"onUpdate:modelValue":l[2]||(l[2]=e=>$.value=e),"sort-by":E.value,"onUpdate:sortBy":l[3]||(l[3]=e=>E.value=e),key:f(Z),"hide-default-footer":""},{top:o(()=>
1[F("div",lt,[r(M,{color:"secondary","prepend-icon":f(Ye),variant:"elevated",style:{"background-image":"linear-gradient(45deg,#d73625,#F78361)!important"},"data-tour":"workareas-new",onClick:ke,disabled:!d.value||!!H.value||!!v.value},{default:o(()=>[g(k(t.$t("App.WorkArea.WorkAreaList.new")),1)]),_:1},8,["prepend-icon","disabled"]),r(ve),r(Ce,{modelValue:f(fe),"onUpdate:modelValue":l[1]||(l[1]=e=>ze(fe)?fe.value=e:null),label:t.$t("General.search"),"prepend-inner-icon":f(Ze),variant:"outlined",density:"compact",color:"secondary",flat:"","hide-details":""},null,8,["modelValue","label","prepend-inner-icon"])])]),"item.name":o(({item:e})=>[F("span",st,[g(k(e.name)+" ",1),r(Ue,{warnings:f(Se)(e)},null,8,["warnings"])])]),"item.lmraName":o(({item:e})=>[e.lmraName?(u(),h(Ee,{key:0,color:"text"},{default:o(()=>[g(k(e.lmraName),1)]),_:2},1024)):(u(),P("span",nt,"â"))]),"item.isDefault":o(({item:e})=>[e.isDefault?(u(),h(Ee,{key:0,color:"secondary",variant:"outlined"},{default:o(()=>[g(k(t.$t("App.WorkArea.WorkAreaList.default")),1)]),_:1})):U("",!0)]),"item.assignedWorkItemsPreview":o(({item:e})=>[F("span",{class:"assignment-preview",title:e.assignedWorkItemsPreview||""},k(e.assignedWorkItemsPreview||"â"),9,it)]),bottom:o(()=>[F("div",{ref_key:"workAreaSentinel",ref:ee,class:"h-1"},null,512),f(de)?(u(),P("div",dt,[r(Je,{indeterminate:"",size:"24",color:"primary"})])):!f(he)&&n.value.length>0?(u(),P("div",ut,k(t.$t("General.allLoaded")),1)):U("",!0)]),_:1},8,["headers","items","items-length","loading","loading-text","no-data-text","modelValue","sort-by"]))]),_:1}),r(Xe,{"enter-from-class":"opacity-0 transform translate-x-10","enter-active-class":"transition-all duration-300 ease-in","enter-to-class":"opacity-100","leave-active-class":"transition-all translate-x-10 duration-300 ease-out","leave-to-class":"opacity-0"},{default:o(()=>[v.value?(u(),h(Le,{key:0,class:"p-3 sticky top-16 self-start"},{default:o(()=>[(u(),h(za,{"work-area":v.value,"onUpdate:workArea":re,"assigned-users":v.value?.id?me.value?.get(v.value.id):void 0,"onUpdate:assignedUsers":l[4]||(l[4]=e=>v.value?.id?me.value?.set(v.value.id,e):null),"assigned-groups":v.value?.id?ce.value?.get(v.value.id):void 0,"onUpdate:assignedGroups":l[5]||(l[5]=e=>v.value?.id?ce.value?.set(v.value.id,e):null),"assigned-work-items":v.value?.id?se.value?.get(v.value.id):void 0,"onUpdate:assignedWorkItems":l[6]||(l[6]=e=>v.value?.id?se.value?.set(v.value.id,e):null),key:v.value?.id,onCancel:L,"can-edit-work-area":C.value,"can-delete-work-area":D.value,"is-last-work-area":n.value.length<=1},null,8,["work-area","assigned-users","assigned-groups","assigned-work-items","can-edit-work-area","can-delete-work-area","is-last-work-area"]))]),_:1})):U("",!0)]),_:1})],2)]),_:1}),r(ra,{value:"workItems"},{default:o(()=>[F("div",{class:Ke(["grid grid-cols-1 gap-4",{"md:grid-cols-2":!!I.value}])},[r(Le,{class:"p-3"},{default:o(()=>[(u(),h(oa,{headers:ge.value,items:m.value,"items-length":f(j),loading:f(J),"item-value":"id","loading-text":t.$t("App.WorkItem.WorkItemList.tableLoadingText"),hover:!0,"no-data-text":t.$t("App.WorkItem.WorkItemList.tableNoDataText"),"show-select":"","select-strategy":"single",modelValue:N.value,"onUpdate:modelValue":l[8]||(l[8]=e=>N.value=e),"sort-by":x.value,"onUpdate:sortBy":l[9]||(l[9]=e=>x.value=e),key:`workitems-${f(Z)}`,"hide-default-footer":""},{top:o(()=>[F("div",mt,[r(M,{color:"secondary","prepend-icon":f(Ye),variant:"elevated",style:{"background-image":"linear-gradient(45deg,#d73625,#F78361)!important"},onClick:a,disabled:!d.value||!!O.value||!!I.value},{default:o(()=>[g(k(t.$t("App.WorkItem.WorkItemList.new")),1)]),_:1},8,["prepend-icon","disabled"]),r(ve),r(Ce,{modelValue:f(te),"onUpdate:modelValue":l[7]||(l[7]=e=>ze(te)?te.value=e:null),label:t.$t("General.search"),"prepend-inner-icon":f(Ze),variant:"outlined",density:"compact",color:"secondary",flat:"","hide-details":""},null,8,["modelValue","label","prepend-inner-icon"])])]),"item.name":o(({item:e})=>[F("span",ct,[g(k(e.name)+" ",1),r(Ue,{warnings:f(Se)(e)},null,8,["warnings"])])]),"item.lmraName":o(({item:e})=>[e.lmraName?(u(),h(Ee,{key:0,color:"text"},{default:o(()=>[g(k(e.lmraName),1)]),_:2},1024)):(u(),P("span",pt,"â"))]),"item.assignedWorkAreasPreview":o(({item:e})=>[F("span",{class:"assignment-preview",title:e.assignedWorkAreasPreview||""},k(e.assignedWorkAreasPreview||"â"),9,kt)]),bottom:o(()=>[F("div",{ref_key:"workItemSentinel",ref:ue,class:"h-1"},null,512),f(oe)?(u(),P("div",vt,[r(Je,{indeterminate:"",size:"24",color:"primary"})])):!f(z)&&p.value.length>0?(u(),P("div",ft,k(t.$t("General.allLoaded")),1)):U("",!0)]),_:1},8,["headers","items","items-length","loading","loading-text","no-data-text","modelValue","sort-by"]))]),_:1}),r(Xe,{"enter-from-class":"opacity-0 transform translate-x-10","enter-active-class":"transition-all duration-300 ease-in","enter-to-class":"opacity-100","leave-active-class":"transition-all translate-x-10 duration-300 ease-out","leave-to-class":"opacity-0"},{default:o(()=>[I.value?(u(),h(Le,{key:0,class:"p-3 sticky top-16 self-start"},{default:o(()=>[r(ot,{"work-item":I.value,"work-areas-for-item":X.value,"onUpdate:workItem":i,onCancel:S,"can-edit-work-item":C.value,"can-delete-work-item":D.value},null,8,["work-item","work-areas-for-item","can-edit-work-item","can-delete-work-item"])]),_:1})):U("",!0)]),_:1})],2)]),_:1})]),_:1},8,["modelValue"])]))}}),jt=Ea(gt,[["__scopeId","data-v-82557ab3"]]);export{jt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.