PageSourceSearch

https://www.plcnextstore.com/_nuxt/BCUlscvn.js

js plcnextstore.com collected 2026-10-03 19:19:02 UTC 4,536 bytes, 2 lines download raw bytes

1import{N as R,A as b,w as A,cJ as T,cK as $,O,cL as z,d as H,a as K,h as C,cM as W,G as j,c as v,e as U,f as o,l as f,m as p,H as q,I as w,ae as F,n as _,x as G,p as u,q as J,t as Y,v as Q,K as X,y as I,z as S,cB as h,k as Z}from"./BA3nnhvB.js";import{u as P}from"./CAcw3JVX.js";import{S as ee}from"./DpjI143T.js";import{u as se}from"./BzAIxDSK.js";import"./CGZ01t69.js";import"./DOrWuuVC.js";import"./BmC6vdNi.js";import"./cWnGEcWf.js";import"./D_SYMX1i.js";const ae=R("appUsers",{state:()=>({}),getters:{},actions:{async getAppUsers(l){const{data:i,error:n}=await O(b(A(z({appId:l}))));return console.debug("getAppUsers: ",i,n),i||[]},async addAppUsers(l,i){const{data:n}=await b(A($(i,{appId:l})));console.debug("addAppUsers: ",n)},async removeAppUsers(l,i){const{data:n}=await b(A(T(i,{appId:l})));console.debug("addAppUsers: ",n)},clear(){this.$reset()}}});function re(l){return{userUuids:{}}}const te={userUuids:{}},ie={userUuids:"Developer Ids"},oe={class:"ps-lg-5 mb-3"},ue={class:"col-12"},le={key:0},ne={key:1},de={key:0},Ae=H({__name:"index",setup(l){const i=I(null),n=K(),V=S(()=>parseInt(n.params.appversionid,10)),M=se(),g=ae(),m=I([]),k=async(r=!1)=>{h().start();try{d.value=await M.getOrLoadAppVersionById(V.value,r),d.value?.appId&&(m.value=await g.getAppUsers(d.value?.appId))}finally{h().stop()}},d=I(void 0);C(V,async()=>{await k()},{immediate:!0});const N=W(),y=S(()=>N.companyMembers),L=[{key:"firstName",label:"First Name",sortable:!0},{key:"lastName",label:"Last Name",sortable:!0},{key:"email",label:"Email",sortable:!0},{key:"actions",label:"Access"}],x=(r,s)=>{const e=r,a=(s??"").trim().toLowerCase();return a?(e?.firstName??"").toLowerCase().includes(a)||(e?.lastName??"").toLowerCase().includes(a)||(e?.email??"").toLowerCase().includes(a):!0},B=r=>!!y.value.find(s=>s.userUuid===r)?.admin,c=S(()=>{const r={};return y.value?.forEach(s=>{s.userUuid&&(r[s.userUuid]=!1)}),m.value&&m.value.forEach(s=>{r[s]=!0}),{userUuids:r||{}}}),t=j({...c.value,userUuids:{...c.value.userUuids}});C(c,r=>{Object.assign(t,{...r,userUuids:{...c.value.userUuids}})},{immediate:!0});const D=async()=>{if(!d.value?.appId){console.warn("App ID is missing, cannot save app developers");return}const r=[],s=[];for(const e in t.userUuids)t.userUuids[e]&&!m.value.includes(e)&&r.push(e),!t.userUuids[e]&&m.value.includes(e)&&s.push(e);await Promise.all([g.removeAppUsers(d.value.appId,s),g.addAppUsers(d.value.appId,r)]),Z().addToastWithMessageAndTitle("Success","Save app developers","success"),await k(!0),i.value?.resetForm()};return P({title:"PLCnext Store | Edit App | Developers"}),(r,s)=>(v(),U("div",oe,[s[3]||(s[3]=o("div",{class:"row mb-3"},[o("div",{class:"col-12"},[o("h1",null,"Developers"),o("p",null,"You can grant your colleagues access to this app."),o("p",null,"A company admin is always assigned and cannot be removed.")])],-1)),f(X,{ref_key:"formRef",ref:i,modelValue:u(t),"onUpdate:modelValue":s[0]||(s[0]=e=>Q(t)?t.value=e:null),"initial-state":c.value,"reset-button-text":"Reset","validation-rules-function":()=>u(re)(u(t)),"field-labels-map":u(ie),"validation-messages":u(te),"saved-callback":D,"col-class":"col-12"},{userUuids:p(e=>[f(q,{id:"userUuids",name:"userUuids","v-field":e.vForm.userUuids,"validation-messages":e.validationMessages.userUuids,"field-errors":e.fieldErrors,class:w(e.getIsInvalidClass(e.vForm.userUuids))},{default:p(()=>[o("div",{class:w(["row mb-3",e.getIsInvalidClass(e.vForm.userUuids)])},[o("div",ue,[f(ee,{items:y.value,fields:L,"filter-fn":x,"initial-sort-by":[{key:"name",order:"asc"}]},{"cell(name)":p(a=>[_(Y(a.item.name),1)]),"cell(admin)":p(a=>[a.item.admin?(v(),U("span",le,"Admin")):(v(),U("span",ne,"User"))]),"cell(actions)":p(a=>[B(a.item.userUuid)?(v(),U("span",de,[f(F,{"model-value":!0,disabled:!0}),s[1]||(s[1]=_("Company Admin",-1))])):a.item.userUuid?(v(),G(F,{key:`${a.item.userUuid}_${u(t).userUuids[a.item.userUuid]}`,modelValue:u(t).userUuids[a.item.userUuid],"onUpdate:modelValue":E=>u(t).userUuids[a.item.userUuid]=E,class:w(`${e.getIsInvalidClass(e.vForm.userUuids[a.item.userUuid])} ${e.getIsInvalidClass(e.vForm.userUuids)}`)},null,8,["modelValue","onUpdate:modelValue","class"])):J("",!0)]),empty:p(()=>[...s[2]||(s[2]=[o("div",null,[o("span",null,"No members found.")],-1)])]),_:2},1032,["items"])])],2)]),_:2},1032,["v-field","validation-messages","field-errors","class"])]),_:1},8,["modelValue","initial-state","validation-rules-function","field-labels-map","validation-messages"])]))}});
1export{Ae as default};
2//# sourceMappingURL=BCUlscvn.js.map

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.