1import{z as D,a as I,L as R,J as T,ac as F,k as o,m as l,F as k,l as e,t as n,q as V,j as t,e as f,f as N,x as g,P as L,ah as q,R as M,v as h,y as A,ae as U,V as z,aa as W,ab as X,n as S,U as E,O as Y,r as P,af as Z,E as x,N as ee,an as te}from"./DxL57_PK.js";import{a as G,_ as j}from"./Dt0Toc5c.js";import{c as ae,d as oe,g as se}from"./Ber1M1ZB.js";import{_ as ne}from"./DJRNRs7F.js";import{_ as le}from"./DV-HJXbl.js";const ie={id:"contact-list-label",class:"h4"},ce={class:"table-responsive",tabindex:"0",role:"region","aria-labelledby":"contact-list-label"},re={class:"table","aria-describedby":"contact-list-label"},de={scope:"col"},ue={scope:"col"},ve={scope:"col",class:"text-center align-middle"},me={scope:"col"},fe={class:"align-middle"},he={class:"align-middle"},_e={class:"align-middle"},pe={class:"text-center d-flex justify-content-center align-middle"},ye={key:0,class:"form-check"},$e=["id","aria-label","checked","disabled","onClick"],be={class:"align-middle"},ke=["onUpdate:modelValue","aria-label"],ge=["value"],we={key:1,class:"m-0"},Ce={class:"align-middle"},Ne=["disabled","onClick"],Le=D({__name:"list",props:{levelOptions:{type:Array,required:!0},loading:{type:Boolean,default:!1}},setup(y){const{locale:$,t:r}=I(),{user:u}=R(T()),v=F(),c=y,C=A(()=>u.value.customer.contactList??[]),b=A(()=>u.value.contact.rights?.editContactPersons??!1),d=a=>c.levelOptions?c.levelOptions.find(m=>m.id===a)?.title[$.value]??a:"",O=async a=>{try{await ae({code:a.code,level:a.level,login:a.login}),v.add(r("save_successful"),U.SUCCESS)}catch{v.add(r("save_failed"),U.DANGER)}};return(a,_)=>{const m=z,p=G,w=j;return o(),l(k,null,[e("h2",ie,n(a.$t("customer_contacts")),1),e("div",ce,[e("table",re,[e("thead",null,[e("tr",null,[_[0]||(_[0]=e("th",{scope:"col"},"ID",-1)),e("th",de,n(a.$t("name")),1),e("th",ue,n(a.$t("email")),1),e("th",ve,n(a.$t("login_allowed")),1
1),e("th",me,n(a.$t("rights_level")),1),_[1]||(_[1]=e("th",{scope:"col"},null,-1))])]),e("tbody",null,[(o(!0),l(k,null,V(t(C),s=>(o(),l("tr",{key:s.code},[e("td",fe,n(s.code),1),e("td",he,n(s.name),1),e("td",_e,n(s.email),1),e("td",pe,[t(u).contact.rights?.editLoginRight&&t(u).contact.code!==s.code?(o(),l("div",ye,[e("input",{id:`login-selecter-${s.code}`,class:"form-check-input",type:"checkbox","aria-label":`${a.$t("login_allowed")}: ${s.name}`,checked:s.login,disabled:y.loading,onClick:i=>s.login=!s.login},null,8,$e)])):(o(),l(k,{key:1},[s.login?(o(),f(m,{key:0,icon:"fas fa-check text-success"})):(o(),f(m,{key:1,icon:"fas fa-times text-danger"}))],64))]),e("td",be,[y.loading?(o(),f(w,{key:0},{default:N(()=>[g(p,{type:t(b)&&t(u).contact.code!==s.code?"input":"text"},null,8,["type"])]),_:2},1024)):(o(),l(k,{key:1},[t(b)&&t(u).contact.code!==s.code?L((o(),l("select",{key:0,"onUpdate:modelValue":i=>s.level=i,class:"form-control","aria-label":`${a.$t("rights_level")}: ${s.name}`},[(o(!0),l(k,null,V(y.levelOptions,i=>(o(),l("option",{key:i.id,value:i.id},n(i.title[t($)]??i.id),9,ge))),128))],8,ke)),[[q,s.level]]):(o(),l("p",we,n(d(s.level)),1))],64))]),e("td",Ce,[t(b)&&t(u).contact.code!==s.code?(o(),l("button",{key:0,class:"btn btn-outline-primary btn-block",type:"button",disabled:y.loading,onClick:M(i=>O(s),["prevent"])},n(a.$t("save")),9,Ne)):h("",!0)])]))),128))])])])],64)}}}),Ae={class:"card"},Ue={class:"card-body"},Oe={class:"container-fluid"},Se={class:"row"},Ve={class:"col-12 col-sm-6"},Pe={class:"col-12 col-sm-6"},De=["value"],Ie={key:0,class:"alert alert-info"},Ee={key:1,type:"submit",class:"btn btn-secondary"},Fe=D({__name:"addNew",props:{levelOptions:{type:Array,required:!0}},setup(y){const{locale:$,t:r}=I(),{required:u,email:v}=W(),c=P(!1),C=P(),b=F(),d=Z({firstName:"",lastName:"",email:"",level:""}),a=X({firstName:{required:u,$autoDirty:!0},lastName:{required:u,$autoDirty:!0},email:{required:u,email:v,$autoDirty:!0},level:{required:u,$autoDirty:!0}},d,{$scope:!1}),_=async()=>{if(a.value.$touch(),!a.value.$invalid)try{await oe(d),b.add(r("save_successful"),U.SUCCESS),C.value?.reset()}catch{b.add(r("save_failed"),U.DANGER)}finally{c.value=!1}};return(m,p)=>{const w=ne,s=le;return o(),l("div",Ae,[e("div",Ue,[e("div",Oe,[e("form",{ref_key:"newContactForm",ref:C,onSubmit:M(_,["prevent"])},[e("div",Se,[e("div",Ve,[g(w,{label:m.$t("first_name"),"validation-handler":t(a).firstName},{default:N(()=>[L(e("input",{id:"newContactFirstName","onUpdate:modelValue":p[0]||(p[0]=i=>t(d).firstName=i),type:"text",class:S(["form-control mb-1",{"is-valid":!t(a).firstName.$invalid,"is-invalid":t(a).firstName.$invalid&&t(a).firstName.$dirty}])},null,2),[[E,t(d).firstName]])]),_:1},8,["label","validation-handler"])]),e("div",Pe,[g(w,{label:m.$t("last_name"),"validation-handler":t(a).lastName},{default:N(()=>[L(e("input",{id:"newContactLastName","onUpdate:modelValue":p[1]||(p[1]=i=>t(d).lastName=i),type:"text",class:S(["form-control",{"is-valid":!t(a).lastName.$invalid,"is-invalid":t(a).lastName.$invalid&&t(a).lastName.$dirty}])},null,2),[[E,t(d).lastName]])]),_:1},8,["label","validation-handler"])])]),g(w,{label:m.$t("email"),"validation-handler":t(a).email},{default:N(()=>[L(e("input",{id:"newContactEmail","onUpdate:modelValue":p[2]||(p[2]=i=>t(d).email=i),type:"email",class:S(["form-control",{"is-valid":!t(a).email.$invalid,"is-invalid":t(a).email.$invalid&&t(a).email.$dirty}])},null,2),[[E,t(d).email]])]),_:1},8,["label","validation-handler"]),g(w,{label:m.$t("rights_level"),"validation-handler":t(a).level},{default:N(()=>[L(e("select",{id:"newContactLevel","onUpdate:modelValue":p[3]||(p[3]=i=>t(d).level=i),class:S(["form-control",{"is-valid":!t(a).level.$invalid,"is-invalid":t(a).level.$invalid&&t(a).level.$dirty}])},[(o(!0),l(k,null,V(y.levelOptions,i=>(o(),l("option",{key:i.id,value:i.id},n(i.title[t($)]??i.id),9,De))),128))],2),[[q,t(d).level]])]),_:1},8,["label","validation-handler"]),t(c)?(o(),l("div",Ie,[g(s),Y(" "+n(m.$t("loading"))+"... ",1)])):(o(),l("button",Ee,n(m.$t("add")),1))],544)])])])}}}),Be={class:"table"},Re={class:"sr-only"},Te=D({__name:"infoChart",props:{levelOptions:{type:Array,required:!0}},setup(y){const{locale:$}=I();return(r,u)=>{const v=z;
1return o(),l("table",Be,[e("caption",Re,n(r.$t("v1.views.user.contact.infochart.caption")),1),e("thead",null,[e("tr",null,[e("th",null,n(r.$t("v1.views.user.contact.infochart.title")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.editLogin")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.editCustomerInfo")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.editAddressbook")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.editContacts")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.viewAllOrders")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.viewAllContacts")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.usePriceLists")),1),e("th",null,n(r.$t("v1.views.user.contact.infochart.allowOrder")),1)])]),e("tbody",null,[(o(!0),l(k,null,V(y.levelOptions,c=>(o(),l("tr",{key:c.id},[e("td",null,n(c.title[t($)]??c.id),1),e("td",null,[c.editLoginRight?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.editCustomerInfo?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.editAddressBook?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.editContactPersons?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.viewOnlyOwnOrders?h("",!0):(o(),f(v,{key:0,icon:"fa fa-check"}))]),e("td",null,[c.viewContactPersons?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.usePriceLists?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)]),e("td",null,[c.order?(o(),f(v,{key:0,icon:"fa fa-check"})):h("",!0)])]))),128))])])}}}),qe={class:"action-buttons d-flex mb-3"},Me=["aria-label"],ze={key:2,class:"alert alert-warning"},Ge=D({__name:"contact",setup(y){const{t:$,te:r}=I(),{user:u}=R(T()),v=F(),{data:c,error:C,pending:b}=x("contactLevels",()=>se(),{lazy:!0}),d=A(()=>Array.isArray(c.value)?c.value:[]),O=A(()=>d.value.length>0);ee(C,s=>{s&&(console.error("Failed to load contact levels",s),v.add(r("v1.views.user.contact.levels.loadingFailed")?$("v1.views.user.contact.levels.loadingFailed"):$("v1.views.error.genericMessage"),U.DANGER))},{immediate:!0});const a=P(!1),_=P(!1),m=A(()=>u.value.contact.rights?.editContactPersons??!1),p=()=>{a.value=!a.value,_.value=!1},w=()=>{_.value=!_.value,a.value=!1};return(s,i)=>{const J=Le,B=G,H=j,K=Fe,Q=Te;return o(),l(k,null,[g(J,{"level-options":t(d),loading:t(b)},null,8,["level-options","loading"]),t(b)?(o(),f(H,{key:0,direction:"row",class:"mb-3"},{default:N(()=>[g(B,{type:"button"}),t(m)?(o(),f(B,{key:0,type:"button"})):h("",!0)]),_:1})):t(O)?(o(),l(k,{key:1},[e("div",qe,[e("button",{type:"button",class:"btn btn-secondary",onClick:p},n(s.$t("v1.views.user.contact.viewInfoChart")),1),t(m)?(o(),l("button",{key:0,type:"button",class:"btn btn-secondary",onClick:w},n(s.$t("v1.views.user.contact.addNew")),1)):h("",!0)]),t(_)?(o(),f(K,{key:0,"level-options":t(d)},null,8,["level-options"])):h("",!0),t(a)?(o(),l("div",{key:1,class:"table-responsive",tabindex:"0",role:"region","aria-label":s.$t("v1.views.user.contact.infochart.caption")},[g(Q,{"level-options":t(d)},null,8,["level-options"])],8,Me)):h("",!0)],64)):(o(),l("div",ze,n(s.$t("v1.views.user.contact.levels.infoNotAvailable")),1))],64)}}}),We=te(Ge,[["__scopeId","data-v-6af58e99"]]);export{We 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.