import{useApi as e,defineModule as a}from"@directus/extensions-sdk";import{defineComponent as t,ref as l,onMounted as n,resolveComponent as i,resolveDirective as s,openBlock as d,createBlock as r,withCtx as c,createVNode as u,createElementBlock as o,Fragment as v,renderList as m,createElementVNode as p,createTextVNode as f,toDisplayString as g,createCommentVNode as y,withDirectives as b}from"vue";var h=Object.defineProperty,x=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,k=(e,a,t)=>a in e?h(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;const F={class:"content-wrapper"},V={key:1,class:"empty-state"},C={key:2},O={class:"header"},j={class:"header-left"},S={class:"title"},z={class:"subtitle"},A={class:"header-right"},B={class:"details-grid"},N={class:"detail-item"},T={class:"value"},U=["href"],E={key:1},P={class:"detail-item"},I={class:"value"},W={class:"drawer-content"},M={class:"form-section"},$={class:"field"},q={class:"field"},G={class:"field"},H={class:"field"},K={class:"drawer-actions"};var L=t({__name:"module",setup(a){const t=e(),h=l([]),L=l(null),Z=l(null),D=l(!1),J=l(!1),Q=l(!1),R=l({id:null,name:"",industry:"",website:"",address:""});async function X(){try{const e=await t.get("/items/companies",{params:{sort:"name"}});h.value=e.data.data}catch(e){console.error("Failed to fetch companies:",e)}}function Y(){Q.value=!1,R.value={id:null,name:"",industry:"",website:"",address:""},J.value=!0}function ee(){Q.value=!0,R.value=((e,a)=>{for(var t in a||(a={}))w.call(a,t)&&k(e,t,a[t]);if(x)for(var t of x(a))_.call(a,t)&&k(e,t,a[t]);return e})({},L.value),J.value=!0}async function ae(){if(R.value.name){D.value=!0;try{Q.value?(await t.patch(`/items/companies/${R.value.id}`,R.value),Z.value={type:"success",message:"Firma aktualisiert!"}):(await t.post("/items/companies",R.value),Z.value={type:"success",message:"Firma angelegt!"}),J.value=!1,await X(),Q.value&&(L.value=h.value.find(e=>e.id===R.value.id))}catch(e){Z.value={type:"danger",message:e.message}}finally{D.value=!1}}else Z.value={type:"danger",message:"Firmenname ist erforderlich."}}async function te(){if(confirm("Soll diese Firma wirklich gelöscht werden?"))try{await t.delete(`/items/companies/${L.value.id}`),Z.value={type:"success",message:"Firma gelöscht."},L.value=null,await X()}catch(e){Z.value={type:"danger",message:e.message}}}return n(X),(e,a)=>{const t=i("v-icon"),l=i("v-list-item-icon"),n=i("v-text-overflow"),x=i("v-list-item-content"),w=i("v-list-item"),_=i("v-divider"),k=i("v-list"),X=i("v-notice"),le=i("v-button"),ne=i("v-info"),ie=i("v-input"),se=i("v-textarea"),de=i("v-drawer"),re=i("private-view"),ce=s("tooltip");return d(),r(re,{title:"Company Manager"},{navigation:c(()=>[u(k,{nav:""},{default:c(()=>[u(w,{onClick:Y,clickable:""},{default:c(()=>[u(l,null,{default:c(()=>[u(t,{name:"add",color:"var(--theme--primary)"})]),_:1}),u(x,null,{default:c(()=>[u(n,{text:"Neue Firma anlegen"})]),_:1})]),_:1}),u(_),(d(!0),o(v,null,m(h.value,e=>{var a;return d(),r(w,{key:e.id,active:(null==(a=L.value)?void 0:a.id)===e.id,class:"company-item",clickable:"",onClick:a=>function(e){L.value=e}(e)},{default:c(()=>[u(l,null,{default:c(()=>[u(t,{name:"business"})]),_:1}),u(x,null,{default:c(()=>[u(n,{text:e.name},null,8,["text"])]),_:2},1024)]),_:2},1032,["active","onClick"])}),128))]),_:1})]),default:c(()=>[p("div",F,[Z.value?(d(),r(X,{key:0,type:Z.value.type,onClose:a[0]||(a[0]=e=>Z.value=null),dismissible:""},{default:c(()=>[f(g(Z.value.message),1)]),_:1},8,["type"])):y("v-if",!0),L.value?(d(),o("div",C,[p("header",O,[p("div",j,[p("h1",S,g(L.value.name),1),p("p",z,g(L.value.industry||"Keine Branche angegeben"),1)]),p("div",A,[b((d(),r(le,{secondary:"",rounded:"",icon:"",onClick:ee},{default:c(()=>[u(t,{name:"edit"})]),_:1})),[[ce,"Firma bearbeiten"]]),b((d(),r(le,{danger:"",rounded:"",icon:"",onClick:te},{default:c(()=>[u(t,{name:"delete"})]),_:1})),[[ce,"Firma löschen"]])])]),u(_),p("div",B,[p("div",N,[a[10]||(a[10]=p("span",{class:"label"},"Website",-1)),p("p",T,[L.value.website?(d(),o("a",{key:0,href:L.value.website,target:"_blank"},g(L.value.website),9,U)):(d(),o("span",E,"---"))])]),p("div",P,[a[11]||(a[11]=p("span",{class:"label"},"Adresse",-1)),p("p",I,g(L.value.address||"---"),1)])])])):(d(),o("div",V,[u(ne,{title:"Firma auswählen",icon:"business",center:""},{default:c(()=>[a[8]||(a[8]=f(" Wähle eine Firma in der Navigation aus oder ",-1)),u(le,{"x-small":"",onClick:Y},{default:c(()=>[...a[7]||(a[7]=[f("erstelle eine neue Firma",-1)])]),_:1}),a[9]||(a[9]=f(". ",-1))]),_:1})]))]),u(de,{modelValue:J.value,"onUpdate:modelValue":a[5]||(a[5]=e=>J.value=e),title:Q.value?"Firma bearbeiten":"Neue Firma anlegen",icon:"business",onCancel:a[6]||(a[6]=e=>J.value=!1)},{default:c(()=>[p("div",W,[p("div",M,[p("div",$,[a[12]||(a[12]=p("span",{class:"label"},"Firmenname",-1)),u(ie,{modelValue:R.value.name,"onUpdate:modelValue":a[1]||(a[1]=e=>R.value.name=e),placeholder:"z.B. Schmidt GmbH",autofocus:""},null,8,["modelValue"])]),p("div",q,[a[13]||(a[13]=p("span",{class:"label"},"Branche",-1)),u(ie,{modelValue:R.value.industry,"onUpdate:modelValue":a[2]||(a[2]=e=>R.value.industry=e),placeholder:"z.B. IT-Services"},null,8,["modelValue"])]),p("div",G,[a[14]||(a[14]=p("span",{class:"label"},"Website",-1)),u(ie,{modelValue:R.value.website,"onUpdate:modelValue":a[3]||(a[3]=e=>R.value.website=e),placeholder:"https://..."},null,8,["modelValue"])]),p("div",H,[a[15]||(a[15]=p("span",{class:"label"},"Adresse",-1)),u(se,{modelValue:R.value.address,"onUpdate:modelValue":a[4]||(a[4]=e=>R.value.address=e),placeholder:"Straße, PLZ Ort"},null,8,["modelValue"])])]),p("div",K,[u(le,{primary:"",block:"",loading:D.value,onClick:ae},{default:c(()=>[...a[16]||(a[16]=[f(" Firma speichern ",-1)])]),_:1},8,["loading"])])])]),_:1},8,["modelValue","title"])]),_:1})}}}),Z=[],D=[];!function(e,a){if(e&&"undefined"!=typeof document){var t,l=!0===a.prepend?"prepend":"append",n=!0===a.singleTag,i="string"==typeof a.container?document.querySelector(a.container):document.getElementsByTagName("head")[0];if(n){var s=Z.indexOf(i);-1===s&&(s=Z.push(i)-1,D[s]={}),t=D[s]&&D[s][l]?D[s][l]:D[s][l]=d()}else t=d();65279===e.charCodeAt(0)&&(e=e.substring(1)),t.styleSheet?t.styleSheet.cssText+=e:t.appendChild(document.createTextNode(e))}function d(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),a.attributes)for(var t=Object.keys(a.attributes),n=0;n{const t=e.__vccOpts||e;for(const[e,l]of a)t[e]=l;return t})(L,[["__scopeId","data-v-dcdc5867"],["__file","module.vue"]])}]});export{J as default};