PageSourceSearch

https://aesticoapp.web.app/assets/Templates-C3K_6jCD.js

js aesticoapp.web.app collected 2026-10-03 12:15:55 UTC 33,717 bytes, 2 lines download raw bytes

1import{M as ye,N as ke,aj as _e,X as Ce,b as e,a3 as Ve,bD as ct,P as Le,Q as je,ah as vt,aM as Oe,R as bt,S as ze,T as gt,U as wt,W as Ge,O as Xe,ak as re,bE as He,bu as yt,Y as We,Z as qe,_ as Ke,$ as kt,a0 as Ct,a1 as Ye,bi as Vt,a2 as $t,an as St,a4 as Ze,ba as Ut,r as D,b1 as xt,b6 as ht,z as O,bF as Ft,bG as It,aN as be,am as Tt,bH as Nt,d as Q,aK as Ne,aL as Dt,aE as Et,c as h,o as V,aS as K,w as t,m as Y,g as c,t as v,n as Z,a6 as De,f as E,p as P,q as A,aq as H,s as se,v as J,x as F,k as W,aO as Je,E as ee,F as $e,h as Qe,a as et,K as Se,e as g,G as T,y as ge,ay as R,C as At,aF as Bt,i as Rt,bI as ce,I as Pt,bw as Mt,bJ as Ee,aI as oe,L as Ae,bK as _t,j as Lt,V as jt,aP as q,aQ as ne,a7 as Ot,aR as Be,J as zt,ae as Gt,bL as Xt}from"./index-oAbYHWi7.js";import{F as we}from"./FileUploadArea-CuCA_-EG.js";import{V as ue}from"./VCheckbox-BM9zGx_Q.js";import{V as Ue}from"./VForm-v00TJPgg.js";import{u as tt,a as Ht,b as Wt}from"./roomElementTransfer-DrT17lH3.js";import{N as qt}from"./validation-DxGZQzqz.js";import{s as Kt}from"./showDeleteConfirmationDialog-BLPK0okc.js";import{u as Yt}from"./bauBitPro-4ubpRHVL.js";import{u as Zt}from"./bexio-CkfU5c13.js";import{u as Jt}from"./xflex-BgIgISya.js";import{I,u as Qt}from"./sia451-Dr2fS0G0.js";import{u as el}from"./winBau-C7FINGSR.js";import{D as tl}from"./DropdownButton-CJPkS7aE.js";import{_ as Re}from"./ControlWithLabel.vue_vue_type_script_setup_true_lang-Dc6TrKqp.js";import{V as ll}from"./VCombobox-Rs9e_9cV.js";import{s as al}from"./saveBlob-BzGtwWH1.js";import{V as Pe}from"./VTextarea-_Vnf9hIp.js";import"./createStoreFactory-DM4tYDh4.js";import"./index-BnA5oB3L.js";import"./v4-CtRu48qb.js";import"./useIntegrationDocument-BZZuJ9le.js";import"./filter-BYsLYIqy.js";const ol=ke({color:String,density:String,...Ve()},"VBannerActions"),nl=ye()({name:"VBannerActions",props:ol(),setup(a,r){let{slots:i}=r;return _e({VBtn:{color:a.color,density:a.density,slim:!0,variant:"text"}}),Ce(()=>{var s;return e("div",{class:["v-banner-actions",a.class],style:a.style},[(s=i.default)==null?void 0:s.call(i)])}),{}}}),sl=ct("v-banner-text"),il=ke({avatar:String,bgColor:String,color:String,icon:Ut,lines:String,stacked:Boolean,sticky:Boolean,text:String,...Ze(),...Ve(),...St(),...$t(),...Vt({mobile:null}),...Ye(),...Ct(),...kt(),...Ke(),...qe(),...We()},"VBanner"),rl=ye()({name:"VBanner",props:il(),setup(a,r){let{slots:i}=r;const{backgroundColorClasses:s,backgroundColorStyles:o}=Le(()=>a.bgColor),{borderClasses:d}=je(a),{densityClasses:m}=vt(a),{displayClasses:f,mobile:C}=Oe(a),{dimensionStyles:k}=bt(a),{elevationClasses:u}=ze(a),{locationStyles:p}=gt(a),{positionClasses:$}
vendor: 1,392 bytes, line 1
1=wt(a),{roundedClasses:y}=Ge(a),{themeClasses:M}=Xe(a),G=re(()=>a.color),_=re(()=>a.density);_e({VBannerActions:{color:G,density:_}}),Ce(()=>{const j=!!(a.text||i.text),B=!!(a.avatar||a.icon),te=!!(B||i.prepend);return e(a.tag,{class:["v-banner",{"v-banner--stacked":a.stacked||C.value,"v-banner--sticky":a.sticky,[`v-banner--${a.lines}-line`]:!!a.lines},M.value,s.value,d.value,m.value,f.value,u.value,$.value,y.value,a.class],style:[o.value,k.value,p.value,a.style],role:"banner"},{default:()=>{var le;return[te&&e("div",{key:"prepend",class:"v-banner__prepend"},[i.prepend?e(yt,{key:"prepend-defaults",disabled:!B,defaults:{VAvatar:{color:G.value,density:_.value,icon:a.icon,image:a.avatar}}},i.prepend):e(He,{key:"prepend-avatar",color:G.value,density:_.value,icon:a.icon,image:a.avatar},null)]),e("div",{class:"v-banner__content"},[j&&e(sl,{key:"text"},{default:()=>{var X;return[((X=i.text)==null?void 0:X.call(i))??a.text]}}),(le=i.default)==null?void 0:le.call(i)]),i.actions&&e(nl,{key:"actions"},i.actions)]}})})}}),ul=ke({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Ze(),...Ve(),...Ye(),...Nt(),...Ke(),...qe({tag:"footer"}),...We()},"VFooter"),dl=ye()({name:"VFooter",props:ul(),setup(a,r){let{slots:i}=r;const s=D(),{themeClasses:o}=Xe(a),{backgroundColorClasses:d,backgroundColorStyles:m}=Le(()=>a.color),{borderClasses:f}=je(a),{elevationClasses:C}
1=ze(a),{roundedClasses:k}=Ge(a),u=xt(32),{resizeRef:p}=ht(y=>{y.length&&(u.value=y[0].target.clientHeight)}),$=O(()=>a.height==="auto"?u.value:parseInt(a.height,10));return Ft(()=>a.app,()=>{const y=It({id:a.name,order:O(()=>parseInt(a.order,10)),position:re(()=>"bottom"),layoutSize:$,elementSize:O(()=>a.height==="auto"?void 0:$.value),active:re(()=>a.app),absolute:re(()=>a.absolute)});be(()=>{s.value=y.layoutItemStyles.value})}),Ce(()=>e(a.tag,{ref:p,class:["v-footer",o.value,d.value,f.value,C.value,k.value,a.class],style:[m.value,a.app?s.value:{height:Tt(a.height)},a.style]},i)),{}}}),ml={key:0,class:"font-weight-medium"},fl={key:1,class:"text-medium-emphasis"},pl=Q({__name:"FileUploadDialog",props:Ne({title:{},dataTypes:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:Ne(["selected","read"],["update:modelValue"]),setup(a,{emit:r}){const i=a,s=D(null),o=D(null),d=Dt(a,"modelValue");Et(d,k=>{k&&(s.value=null,o.value=null)});const m=r;function f(){s.value&&m("selected",s.value),o.value&&m("read",o.value),d.value=!1}function C(){d.value=!1}return(k,u)=>(V(),h(K,{modelValue:d.value,"onUpdate:modelValue":u[2]||(u[2]=p=>d.value=p),"max-width":"500px",persistent:""},{default:t(()=>[e(W,null,{default:t(()=>[e(Y,null,{default:t(()=>[c(v(k.$t("file-upload-dialog.title")),1)]),_:1}),e(Z,null,{default:t(()=>[De(k.$slots,"uploadAreaPrepend"),e(P,null,{default:t(()=>[e(A,null,{default:t(()=>[e(we,{"data-types":i.dataTypes,modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=p=>s.value=p),"read-content":"",onRead:u[1]||(u[1]=p=>o.value=p)},null,8,["data-types","modelValue"])]),_:1})]),_:1}),e(P,null,{default:t(()=>[e(A,null,{default:t(()=>[s.value?(V(),H("span",ml,v(s.value.name),1)):(V(),H("span",fl,v(k.$t("file-upload-dialog.no-file")),1))]),_:1})]),_:1}),s.value&&o.value?(V(),h(P,{key:0},{default:t(()=>[e(A,null,{default:t(()=>[c(v(k.$t("file-upload-dialog.data-loaded-message")),1)]),_:1})]),_:1})):E("",!0),De(k.$slots,"uploadAreaAppend")]),_:3}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:C},{default:t(()=>[c(v(k.$t("file-upload-dialog.cancel")),1)]),_:1}),e(F,{disabled:!s.value||!o.value,onClick:f,color:"secondary"},{default:t(()=>[c(v(k.$t("file-upload-dialog.confirm")),1)]),_:1},8,["disabled"])]),_:1})]),_:3})]),_:3},8,["modelValue"]))}}),cl=Q({__name:"XFlexImportOptions",emits:["cancel","submit"],setup(a,{emit:r}){const i=D(!1),s=r,o=D([]);function d(){const m={material:o.value.includes("material"),special:o.value.includes("special")};(m.material||m.special)&&s("submit",m)}return(m,f)=>(V(),h(W,null,{default:t(()=>[e(Ue,{modelValue:i.value,"onUpdate:modelValue":f[3]||(f[3]=C=>i.value=C)},{default:t(()=>[e(Y,null,{default:t(()=>[c(v(m.$t("integrations.xflex.price-list-import.title")),1)]),_:1}),e(Je,null,{default:t(()=>[c(v(m.$t("integrations.xflex.price-list-import.subtitle")),1)]),_:1}),e(Z,null,{default:t(()=>[e(ue,{modelValue:o.value,"onUpdate:modelValue":f[0]||(f[0]=C=>o.value=C),value:"material",label:m.$t("integrations.xflex.price-list-import.material")},null,8,["modelValue","label"]),e(ue,{modelValue:o.value,"onUpdate:modelValue":f[1]||(f[1]=C=>o.value=C),value:"special",label:m.$t("integrations.xflex.price-list-import.special")},null,8,["modelValue","label"])]),_:1}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:f[2]||(f[2]=()=>s("cancel"))},{default:t(()=>[c(v(m.$t("actions.abort")),1)]),_:1}),e(F,{onClick:d},{default:t(()=>[c(v(m.$t("integrations.xflex.price-list-import.submit")),1)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}});function me(a){let r="";const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=new Uint8Array(a),o=s.byteLength,d=o%3,m=o-d;let f,C,k,u,p;for(let $=0;$<m;$=$+3)p=s[$]<<16|s[$+1]<<8|s[$+2],f=(p&16515072)>>18,C=(p&258048)>>12,k=(p&4032)>>6,u=p&63,r+=i[f]+i[C]+i[k]+i[u];return d==1?(p=s[m],f=(p&252)>>2,C=(p&3)<<4,r+=i[f]+i[C]+"=="):d==2&&(p=s[m]<<8|s[m+1],f=(p&64512)>>10,C=(p&1008)>>4,k=(p&15)<<2,r+=i[f]+i[C]+i[k]+"="),r}async function vl(a,r,i,s,o){const d=ee(a,"importTemplates-templateFromExcel");
1if(r.type!=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")throw new I(o.t("templates.import.aestico.error.title"),o.t("templates.import.aestico.error.invalid-file-type").toString());try{return(await d({encodedFile:me(i),fileName:r.name||"",options:s})).data}catch(m){if(m instanceof $e){const f=m;if(f.code==="functions/invalid-argument"){const C=f.details;if(Array.isArray(C)){if(C[0].code==="invalid-file-type")throw new I(o.t("templates.import.aestico.error.title"),o.t("templates.import.aestico.error.invalid-file-type").toString());let k=o.t("templates.import.aestico.error.intro").toString()+" <ul>";for(const u of C)k+="<li>"+o.t("templates.import.aestico.error."+u.validationMessage,{rownumber:u.row,expected:u.expected}).toString()+" </li>";throw k+="</ul>",new I(o.t("templates.import.aestico.error.title"),k)}throw m}throw m}throw m}}function bl(a){return typeof a=="object"&&"details"in a&&typeof a.details=="object"&&a.details!==null&&"code"in a.details}function gl(a,r){var o,d;const i=r.t("integrations.bau-bit-pro.errors.catalog-import.title").toString();let s="";if(a.code==="missing-required-headers")s=r.t("integrations.bau-bit-pro.errors.catalog-import.missing-headers").toString();else if(a.code==="contains-sia-451-headers")s=r.t("integrations.bau-bit-pro.errors.catalog-import.is-sia451").toString();else if(a.code==="workstep-has-no-position-number")s=r.t("integrations.bau-bit-pro.errors.catalog-import.missing-position-number",{rows:((o=a==null?void 0:a.lineNumbers)==null?void 0:o.map(m=>m.toString()).join(", "))??""}).toString();else if(a.code==="duplicate-position-number")s=r.t("integrations.bau-bit-pro.errors.catalog-import.duplicate-position-number",{rows:((d=a.lineNumbers)==null?void 0:d.map(m=>m.toString()).join(", "))??""}).toString();else throw a;return{title:i,content:s}}async function wl(a,r,i,s){const o=ee(a,"importTemplates-templateFromBauBitPro");try{return(await o({encodedFile:me(i),fileName:r.name||""})).data}catch(d){if(d instanceof $e&&bl(d)){if(d.code==="functions/invalid-argument"){const{title:m,content:f}=gl(d.details,s);throw new I(m,f)}throw d}throw d}}async function yl(a,r){return(await ee(a,"quoteAdaptors-bexio-import-templateFromBexio")()).data}async function kl(a,r,i){return(await ee(a,"quoteAdaptors-xflex-importPriceList")(r)).data}async function Cl(a,r,i){try{return await i.importCrbxTemplate(a)}catch(s){if(s instanceof $e){const o=s;if(o.code==="functions/invalid-argument"){const d=o.details;if(Array.isArray(d)){if(d[0].code==="invalid-file-type")throw new I(r.t("templates.import.aestico.error.title"),r.t("templates.import.aestico.error.invalid-file-type").toString());let m=r.t("templates.import.aestico.error.intro").toString()+" <ul>";for(const f of d)m+="<li>"+r.t("templates.import.aestico.error."+f.validationMessage,{rownumber:f.row,expected:f.expected}).toString()+" </li>";throw m+="</ul>",new I(r.t("templates.import.aestico.error.title"),m)}throw s}throw s}throw s}}async function ve(a){const r=ee(a.firebaseFunctions,"importTemplates-templateFromAiestico",{timeout:18e4});try{if(a.isFollowup){if(a.isSatisfied)return(await r({isSatisfied:a.isSatisfied})).data;if(!a.followupInstruction)throw new Error("Follow-up instructions are missing");return(await r({isSatisfied:a.isSatisfied,selectedModel:a.selectedModel,followupInstruction:a.followupInstruction})).data}else{if(a.file.type!=="application/pdf"&&a.file.type!=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")throw new I("Invalid file type","Unsupported file type, this feature only supports PDF and Xls files");return(await r({encodedFile:me(a.fileContent),fileName:a.file.name??"untitled",selectedModel:a.selectedModel,additionalNote:a.additionalNote})).data}}catch(i){throw console.error(i),i}}async function Vl(a,r,i,s){if(r.size>5242880)throw new Error("File exceeds the maximum allowed size");const d=ee(a,"importTemplates-templateFromWinBau");try{return(await d({encodedFile:me(i),fileName:r.name||"winbauImport"})).data}catch(m){throw s.t("integrations.winBau.error"),m}}const $l=Q({__name:"AbacusImportOptions",emits:["cancel","submit"],setup(a,{emit:r}){const i=D(!1),s=r;return(o,d)=>(V(),h(Ue,{modelValue:i.value,"onUpdate:modelValue":d[1]||(d[1]=m=>i.value=m)},{default:t(()=>[e(W,null,{default:t(()=>[e(Y,null,{default:t(()=>
1[c(v(o.$t("integrations.abacus.price-list-import.title")),1)]),_:1}),e(Je,null,{default:t(()=>[c(v(o.$t("integrations.abacus.price-list-import.subtitle")),1)]),_:1}),e(Z,null,{default:t(()=>[e(we,{"data-types":["application/xml"],onRead:console.log},null,8,["onRead"]),e(we,{"data-types":["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],onRead:console.log},null,8,["onRead"])]),_:1}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:d[0]||(d[0]=()=>s("cancel"))},{default:t(()=>[c(v(o.$t("actions.abort")),1)]),_:1}),e(F,{onClick:o.onSubmit},{default:t(()=>[c(v(o.$t("integrations.xflex.price-list-import.submit")),1)]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),Sl={class:"text-secondary font-weight-bold"},Ul={class:"text-secondary font-weight-bold"},xl=Q({__name:"TransferPositions",emits:["complete"],setup(a,{emit:r}){const{t:i}=Qe(),s=r,o=tt(),d=O(()=>o.loading),m=O(()=>d.value||!o.canTransfer),f=O({get:()=>{var u;return((u=o.targetCategory)==null?void 0:u.Name)||o.newCategoryName||""},set:u=>{if(o.newCategoryName=null,o.targetCategory=null,u!=null)if(typeof u=="object")o.targetCategory=u;else{const p=o.availableCategories.find($=>u.trim()==$.Name);p?o.targetCategory=p:o.newCategoryName=u.trim()}}});async function C(u){try{await u(),ge.info(i("room-element-transfer.notification-success")),o.abort(),s("complete")}catch(p){console.error(p),ge.error(i("room-element-transfer.notification-error"))}}const k=O(()=>o.newCategoryName?o.newCategoryName:o.targetCategory?o.targetCategory.Name:"");return(u,p)=>{const $=et("i18n-t");return V(),h(W,{loading:d.value},{default:t(()=>[e(Y,null,{default:t(()=>[c(v(u.$t("room-element-transfer.title")),1)]),_:1}),e(Z,null,{default:t(()=>[e(P,null,{default:t(()=>[e(A,{cols:"12"},{default:t(()=>[e(Re,null,{default:t(()=>[e(Se,{modelValue:g(o).targetTemplateUUID,"onUpdate:modelValue":p[0]||(p[0]=y=>g(o).targetTemplateUUID=y),"hide-details":"",label:u.$t("room-element-transfer.destination-template"),items:g(o).possibleTargets,"item-title":"Name","item-value":"UUID",disabled:d.value},null,8,["modelValue","label","items","disabled"])]),_:1})]),_:1}),e(A,null,{default:t(()=>[e(Re,null,{default:t(()=>[e(ll,{modelValue:f.value,"onUpdate:modelValue":p[1]||(p[1]=y=>f.value=y),disabled:d.value,label:u.$t("room-element-transfer.destination-category"),items:g(o).availableCategories,"hide-details":"","item-title":"Name","auto-select-first":"exact",placeholder:u.$t("room-element-transfer.destination-category-placeholder")},null,8,["modelValue","disabled","label","items","placeholder"])]),_:1})]),_:1})]),_:1}),g(o).targetTemplateUUID&&k.value?(V(),h(P,{key:0},{default:t(()=>[e(A,{cols:"12"},{default:t(()=>[e($,{keypath:"room-element-transfer.destination-text.full",plural:g(o).selectedElements.length},{n:t(()=>[c(v(g(o).selectedElements.length),1)]),target:t(()=>[T("code",null,[T("span",Sl,v(g(o).targetTemplateName),1),p[5]||(p[5]=T("span",null,"/",-1)),T("span",Ul,v(k.value),1)])]),_:1},8,["plural"])]),_:1})]),_:1})):E("",!0)]),_:1}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:p[2]||(p[2]=y=>u.$emit("complete"))},{default:t(()=>[c(v(u.$t("actions.close")),1)]),_:1}),e(F,{disabled:m.value,onClick:p[3]||(p[3]=y=>C(g(o).moveElements))},{default:t(()=>[c(v(u.$t("room-element-transfer.move-positions")),1)]),_:1},8,["disabled"]),e(F,{color:"secondary",disabled:m.value,onClick:p[4]||(p[4]=y=>C(g(o).copyElements))},{default:t(()=>[c(v(u.$t("room-element-transfer.copy-positions")),1)]),_:1},8,["disabled"])]),_:1})]),_:1},8,["loading"])}}}),hl={key:0},Fl={key:1},Il=Q({__name:"UnitReportDialog",props:{title:{},used:{},created:{}},setup(a){const r=a;return(i,s)=>(V(),h(W,{title:r.title},{prepend:t(()=>[e(He,null,{default:t(()=>[e(R,{icon:"mdi-information-outline"})]),_:1})]),text:t(()=>[i.created.length?(V(),H("div",hl,v(i.$t("templates.import.aestico.unit-report.created",{created:r.created.join(", ")})),1)):E("",!0),i.used.length?(V(),H("div",Fl,v(i.$t("templates.import.aestico.unit-report.used",{used:r.used.join(", ")})),1)):E("",!0)]),actions:t(()=>[e(J),e(F,{onClick:s[0]||(s[0]=o=>i.$emit("closeDialog"))},{default:t(()=>s[1]||(s[1]=[c(" OK ")])),_:1})]),_:1},8,["title"]))}});function Tl(a){return(r,i)=>{try{const s=a(r),o=a(i);if(!s&&o)return-1;if(s&&!o)return 1;if(!s&&!o)return 0;const d=s,m=o,f=d.startsWith("_"),C=m.startsWith("_");if(f&&!C)return-1;if(!f&&C)return 1;const k=d,u=m,p=Math.min(k.length,u.length);for(let $=0;$<p;$++){const y=k.charCodeAt($),M=u.charCodeAt($);if(y!==M)return y-M}return k.length-u.length}catch{return 0}}}const Me=Q({__name:"AiesticoModels",props:{modelValue:{}},emits:["update:model-value","model-change"],setup(a,{emit:r}){const i=["gemini-2.5-flash","gemini-2.5-flash-lite-preview-06-17","gemini-2.5-pro","models/gemini-2.0-flash","models/gemini-2.0-flash-lite","models/gemini-1.5-flash-8b","gemini-embedding-exp-03-07"],s=r;function o(d){s("update:model-value",d),s("model-change",d)}return(d,m)=>(V(),h(Se,{items:i,"model-value":d.modelValue,"onUpdate:modelValue":o},null,8,["model-value"]))}}),Nl=["download","href"],Dl=["innerHTML"],El={class:"d-flex align-baseline"},Al={key:0,align:"center"},Bl={key:0,color:"goldenrod"},Rl={key:1,align:"center"},na=Q({__name:"Templates",setup(a){const r=Oe(),i=Yt(),s=Zt(),o=At(),d=Jt(),m=Qt();
1el();const f=Ht(),C=O(()=>f.items.toSorted(Tl(n=>n.Name))),{language:k}=Bt(),u=Qe(),p=u.t,$=Rt(),y=O(()=>f.selectedTemplate),M=tt(),G=D("");let _=D(null),j=D(!1),B=D("gemini-2.5-flash"),te=D(!1),le=D(""),X=D(!1),ie=D(null);be(()=>{f.items.length>0&&!$.currentRoute.value.params.id&&f.setSelectedTemplateGuid(f.items[0].UUID)}),be(()=>{y.value&&(M.targetTemplateUUID=y.value.UUID)});const U=D(null);async function lt(){y.value&&(U.value={action:"edit",uuid:y.value.UUID,name:y.value.Name,isCostReport:y.value.IsCostReport??!1})}async function at(){U.value={action:"create",name:u.t("templates.empty-template-name"),isCostReport:!1}}const fe=ce(!1,3e4);async function ot(){y.value&&(U.value={action:"clone",name:u.t("templates.clone-default-name",{name:y.value.Name}),isCostReport:y.value.IsCostReport})}async function nt(){try{if(U.value){if(U.value.action==="edit")await f.updateItem({Name:U.value.name,UUID:U.value.uuid,IsCostReport:U.value.isCostReport??!1});else if(U.value.action==="create"){const n={HasGroups:!0,DependsOn:[],Name:u.t("templates.empty-template-name"),RoomElementGroupsOrder:[],Subname:"",IsCostReport:U.value.isCostReport,Visibility:"Public",CreationSource:"WebApp"},l=await f.createItem({...n,Name:U.value.name}),{insertItem:N,stop:w}=Wt(l.DocumentReference,"RoomElementGroups");await N({Name:u.t("templates.new-group-name"),HasGroups:!1,RoomElementsOrder:[],Version:1},0),w(),f.setSelectedTemplateGuid(l.UUID)}else if(U.value.action==="clone"&&y.value){fe.value=!0;try{const n=await f.cloneTemplate(y.value,U.value.name);f.setSelectedTemplateGuid(n)}finally{fe.value=!1}}}else return}finally{U.value=null}}async function xe(n=!1){var N;if(!y.value)return;let l;n?l=!1:l=await Kt({dialogTitle:p("templates.delete.dialog-title"),dialogText:p("templates.delete.dialog-text",{name:(N=y.value)==null?void 0:N.Name})}),(l===!0||n===!0)&&(await f.deleteItem(y.value.UUID),await $.push({name:"templates"})),j.value===!0&&l===!0&&(j.value=!1)}const S=D(null),L=ce(!1,18e4),x=D(null),st=O(()=>{var l;const n=(l=S.value)==null?void 0:l.destination;return n==="aestico"||n==="baubit"||n==="winbau"||n==="sia451"||n==="aiestico"}),it=O(()=>{var n,l,N,w,z;return((n=S.value)==null?void 0:n.destination)==="sia451"?[".crbx","application/zip"]:((l=S.value)==null?void 0:l.destination)==="aestico"||((N=S.value)==null?void 0:N.destination)==="baubit"?[".xlsx",".xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]:((w=S.value)==null?void 0:w.destination)==="winbau"?[".xml","text/xml"]:((z=S.value)==null?void 0:z.destination)==="aiestico"?[".pdf","application/pdf"]:[]});async function rt(){if(!o.firebaseFunctions)throw new Error("Firebase functions not available");try{L.value=!0,x.value=null;const n=await yl(o.firebaseFunctions,u);await $.push({name:"template",params:{id:n.UUID}})}catch(n){console.error(n);const l=n;x.value=new I("Unknown error",l.toString())}finally{L.value=!1}}async function ut(n,l){var N;if(!o.firebaseFunctions)throw new Error("Firebase functions not available");try{L.value=!0,x.value=null;let w;const z={isFollowup:!1,firebaseFunctions:o.firebaseFunctions,file:n,fileContent:l,selectedModel:B.value??"gemini-2.5-flash-preview-05-20",additionalNote:ie.value??null};switch((N=S.value)==null?void 0:N.destination){case"aestico":{const ae=await vl(o.firebaseFunctions,n,l,S.value.options,u);w=ae.template,await Xt({title:"",text:"",dialogOptions:{persistent:!0,width:600},customComponent:{component:Il,props:{title:p("templates.import.aestico.success"),created:ae.unitReport.created.map(de=>de.Symbol),used:ae.unitReport.used}}});break}case"baubit":w=await wl(o.firebaseFunctions,n,l,u);break;case"winbau":w=await Vl(o.firebaseFunctions,n,l,u);break;case"sia451":w=(await Cl(n,u,m)).template;break;case"aiestico":w=await ve(z),j.value=!0,w.newModel&&(te.value=!0,le.value=w.newModel);break;default:throw new Error("Unknown import action")}await $.push({name:"template",params:{id:w.UUID}})}catch(w){w instanceof I?x.value=w:w instanceof Error?w.message==="File exceeds the maximum allowed size"?x.value=new I("",p("integrations.winBau.error.large-file")):x.value=new I("Unknown error",w.message):x.value=new I("Unknown error","Unknown error")}finally{L.value=!1,S.value=null}}async function he(n){n==="yes"?(_.value=!0,await Ie()):_.value=!1,j.value=!1}function Fe(n){B.value=n}async function Ie(){if(te.value=!1,x.value=null,!o.firebaseFunctions)throw new Error("Firebase functions not available");let n,l;try{L.value=!0,_.value===!1?(await xe(!0),n={isFollowup:!0,firebaseFunctions:o.firebaseFunctions,isSatisfied:!1,selectedModel:B.value??"gemini-2.5-flash-preview-05-20",followupInstruction:G.value},l=await ve(n),j.value=!0):(n={isFollowup:!0,firebaseFunctions:o.firebaseFunctions,isSatisfied:!0},l=await ve(n)),await $.push({name:"template",params:{id:l.UUID}}),l.newModel&&(te.value=!0,le.value=l.newModel)}catch{x.value=new I("Error while sending followup","Unknown error")}finally{_.value=null,L.value=!1,S.value=null}}async function dt(n){if(!o.firebaseFunctions)throw new Error("Firebase functions not available");if(n){L.value=!0,x.value=null;try{const l=await kl(o.firebaseFunctions,n,u);await $.push({name:"template",params:{id:l.UUID}})}catch(l){l instanceof I?x.value=l:l instanceof Error?x.value=new I("Unknown error",l.message):x.value=new I("Unknown error","Unknown error")}finally{L.value=!1,S.value=null}}else S.value=null}async function mt(){L.value=!0,x.value=null;try{await new Promise(n=>setTimeout(n,3e3))}catch(n){n instanceof I?x.value=n:n instanceof Error?x.value=new I("Unknown error",n.message):x.value=new I("Unknown error","Unknown error")}finally{L.value=!1,S.value=null}}const pe=ce(!1,3e4);async function ft(){pe.value=!0,ge.info(u.t("templates.exporting"));try{if(!y.value)return;const N=(await ee(o.firebaseFunctions,"export-templateAsExcel")({templateUUID:y.value.UUID})).data,w=await fetch(`data:${N.mime};base64,${N.content}`).then(z=>z.blob());al(w,N.fileName)}finally{pe.value=!1}}return(n,l)=>{const N=et("router-view");return V(),H(Gt,null,[g(f).items?(V(),h(P,{key:1,justify:"center"},{default:t(()=>[e(A,null,{default:t(()=>{var w,z,ae,de,Te;return[e(pl,{"model-value":st.value,"data-types":it.value,onRead:l[4]||(l[4]=b=>ut(b.file,b.content)),"onUpdate:modelValue":l[5]||(l[5]=b=>S.value=null)},Ee({_:2},[((w=S.value)==null?void 0:w.destination)==="aestico"?{name:"uploadAreaPrepend",fn:t(()=>[e(P,null,{default:t(()=>[e(A,null,{default:t(()=>[T("p",null,v(n.$t("templates.import.aestico.download-example.text")),1),T("p",null,[T("a",{download:n.$t("templates.import.aestico.file-name"),href:`/exampleLists/${g(k)}.xlsx`},v(n.$t("templates.import.aestico.url-text")),9,Nl)])]),_:1})]),_:1})]),key:"0"}:void 0,((z=S.value)==null?void 0:z.destination)==="aestico"?{name:"uploadAreaAppend",fn:t(()=>[e(P,null,{default:t(()=>[e(A,null,{default:t(()=>[e(ue,{modelValue:S.value.options.isCostReport,"onUpdate:modelValue":l[0]||(l[0]=b=>S.value.options.isCostReport=b),label:n.$t("templates.cost-report-switch"),"hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1})]),key:"1"}:void 0,((ae=S.value)==null?void 0:ae.destination)==="aiestico"?{name:"uploadAreaPrepend",fn:t(()=>[e(Me,{modelValue:g(B),"onUpdate:modelValue":l[1]||(l[1]=b=>oe(B)?B.value=b:B=b),onModelChange:Fe},null,8,["modelValue"]),g(X)?(V(),h(Pe,{key:0,name:"additionalNote",id:"additionalNote",modelValue:g(ie),"onUpdate:modelValue":l[2]||(l[2]=b=>oe(ie)?ie.value=b:ie=b)},null,8,["modelValue"])):E("",!0),e(ue,{label:"Add a specific note.",modelValue:g(X),"onUpdate:modelValue":l[3]||(l[3]=b=>oe(X)?X.value=b:X=b)},null,8,["modelValue"])]),key:"2"}:void 0]),1032,["model-value","data-types"]),e(K,{"max-width":"600","model-value":((de=S.value)==null?void 0:de.destination)==="xflex"},{default:t(()=>[e(cl,{onCancel:l[6]||(l[6]=b=>S.value=null),onSubmit:l[7]||(l[7]=b=>dt(b))})]),_:1},8,["model-value"]),e(K,{"max-width":"600","model-value":((Te=S.value)==null?void 0:Te.destination)==="abacus"},{default:t(()=>[e($l,{onCancel:l[8]||(l[8]=b=>S.value=null),onSubmit:l[9]||(l[9]=b=>
1mt())})]),_:1},8,["model-value"]),e(K,{"max-width":"600","model-value":g(L)||g(fe),persistent:"",fullscreen:g(r).xs.value},{default:t(()=>[e(W,null,{default:t(()=>[e(Y,null,{default:t(()=>[c(v(g(L)?n.$t("templates.importing"):n.$t("templates.cloning")),1)]),_:1}),e(Z,null,{default:t(()=>[e(Ae,null,{default:t(()=>[e(P,null,{default:t(()=>[e(A,{cols:"12"},{default:t(()=>[e(_t,{indeterminate:""})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value","fullscreen"]),e(K,{"model-value":x.value!==null,fullscreen:g(r).xs.value,"max-width":g(r).xs.value?void 0:600},{default:t(()=>[x.value?(V(),h(W,{key:0},{default:t(()=>[e(Y,null,{default:t(()=>[c(v(x.value.title),1)]),_:1}),e(Z,null,{default:t(()=>[e(Ae,null,{default:t(()=>[e(P,null,{default:t(()=>[e(A,{cols:"12"},{default:t(()=>[T("div",{innerHTML:x.value.text},null,8,Dl)]),_:1})]),_:1})]),_:1})]),_:1}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:l[10]||(l[10]=b=>x.value=null)},{default:t(()=>[c(v(n.$t("actions.close")),1)]),_:1})]),_:1})]),_:1})):E("",!0)]),_:1},8,["model-value","fullscreen","max-width"]),e(K,{"model-value":U.value!==null,"onUpdate:modelValue":l[15]||(l[15]=b=>U.value=b?U.value:null),"max-width":600},{default:t(()=>[e(Ue,{onSubmit:Lt(nt,["prevent"])},{default:t(()=>[U.value?(V(),h(W,{key:0},{default:t(()=>[e(Y,null,{default:t(()=>[c(v(n.$t(`templates.name-edit-dialog.title-${U.value.action}`)),1)]),_:1}),e(Z,null,{default:t(()=>[e(jt,{autofocus:"",onFocus:l[11]||(l[11]=b=>b.target.select()),modelValue:U.value.name,"onUpdate:modelValue":l[12]||(l[12]=b=>U.value.name=b),rules:[g(qt)],label:n.$t("templates.name"),required:""},null,8,["modelValue","rules","label"]),e(ue,{modelValue:U.value.isCostReport,"onUpdate:modelValue":l[13]||(l[13]=b=>U.value.isCostReport=b),label:n.$t("templates.cost-report.switch-label"),"hide-details":""},null,8,["modelValue","label"])]),_:1}),e(se,null,{default:t(()=>[e(J),e(F,{onClick:l[14]||(l[14]=b=>U.value=null)},{default:t(()=>[c(v(n.$t("actions.abort")),1)]),_:1}),e(F,{type:"submit",color:"secondary"},{default:t(()=>[c(v(n.$t("actions.save")),1)]),_:1})]),_:1})]),_:1})):E("",!0)]),_:1})]),_:1},8,["model-value"]),e(Se,{items:C.value||[],"item-value":"UUID","item-title":"Name","item-text":"",label:n.$t("templates.selector.label"),loading:g(f).loading,"model-value":g(f).selectedTemplate,"hide-details":"","menu-props":{closeOnContentClick:!0}},{selection:t(({item:b})=>[T("div",El,[b.raw.CreationSource==="CrbxFile"?(V(),h(R,{key:0,size:"1.5em",class:"mr-3"},{default:t(()=>l[28]||(l[28]=[c("$sia")])),_:1})):E("",!0),T("span",{class:Be({"font-weight-black":b.raw.CreationSource==="MobileApp"})},v(b.raw.Name),3)])]),item:t(({item:b,props:pt})=>[e(q,Ot({to:{name:"template",params:{id:b.raw.UUID}}},pt),Ee({title:t(()=>[T("span",{class:Be({"font-weight-black":b.raw.CreationSource==="MobileApp"})},v(b.title),3)]),_:2},[b.raw.CreationSource==="CrbxFile"?{name:"prepend",fn:t(()=>[e(R,null,{default:t(()=>l[29]||(l[29]=[c("$sia")])),_:1})]),key:"0"}:void 0]),1040,["to"])]),append:t(()=>[e(P,{align:"center"},{default:t(()=>[y.value?(V(),h(A,{key:0},{default:t(()=>[g(pe)?(V(),h(R,{key:0,icon:"$downloadLoop"})):(V(),h(R,{key:1,onClick:ft},{default:t(()=>l[30]||(l[30]=[c("mdi-microsoft-excel")])),_:1})),e(R,{icon:"$edit",onClick:lt},{default:t(()=>l[31]||(l[31]=[c(" $edit ")])),_:1}),e(R,{onClick:ot},{default:t(()=>l[32]||(l[32]=[c(" mdi-content-copy ")])),_:1}),e(R,{icon:"$delete",onClick:l[16]||(l[16]=b=>xe(!1))})]),_:1})):E("",!0),e(A,null,{default:t(()=>[e(tl,{label:n.$t("actions.add-service-list")},{default:t(()=>[e(q,{onClick:at},{prepend:t(()=>[e(R,null,{default:t(()=>l[33]||(l[33]=[c("mdi-plus-circle-outline")])),_:1})]),default:t(()=>[e(ne,null,{default:t(()=>[c(v(n.$t("templates.create-new-template")),1)]),_:1})]),_:1}),e(q,{onClick:l[17]||(l[17]=b=>S.value={destination:"aestico",options:{isCostReport:!1}})},{prepend:t(()=>[e(R,null,{default:t(()=>l[34]||(l[34]=[c("mdi-file-excel")])),_:1})]),default:t(()=>[e(ne,null,{default:t(()=>[c(v(n.$t("templates.upload-excel-template")),1)]),_:1})]),_:1}),g(s).isLinked?(V(),h(q,{key:0,onClick:rt},{prepend:t(()=>[e(R,null,{default:t(()=>l[35]||(l[35]=[c("mdi-plus-circle-outline")])),_:1})]),default:t(()=>[e(ne,null,{default:t(()=>
1[c(v(n.$t("integrations.bexio.actions.import-catalog")),1)]),_:1})]),_:1})):E("",!0),g(i).isLinked?(V(),h(q,{key:1,onClick:l[18]||(l[18]=b=>S.value={destination:"baubit"})},{prepend:t(()=>[e(R,null,{default:t(()=>l[36]||(l[36]=[c("mdi-file-excel")])),_:1})]),default:t(()=>[e(ne,null,{default:t(()=>[c(v(n.$t("integrations.bau-bit-pro.actions.import-catalog")),1)]),_:1})]),_:1})):E("",!0),g(m).isLinked?(V(),h(q,{key:2,onClick:l[19]||(l[19]=b=>S.value={destination:"sia451"})},{prepend:t(()=>[e(R,{icon:"$sia"})]),default:t(()=>[e(ne,null,{default:t(()=>[c(v(n.$t("templates.import-sia451")),1)]),_:1})]),_:1})):E("",!0),g(d).isLinked?(V(),h(q,{key:3,onClick:l[20]||(l[20]=b=>S.value={destination:"xflex"})},{prepend:t(()=>[e(R,null,{default:t(()=>l[37]||(l[37]=[c("mdi-plus-circle-outline")])),_:1})]),default:t(()=>[e(ne,null,{default:t(()=>[c(v(n.$t("integrations.xflex.actions.import-catalog")),1)]),_:1})]),_:1})):E("",!0)]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["items","label","loading","model-value"])]}),_:1})]),_:1})):(V(),h(P,{key:0},{default:t(()=>[e(A,{cols:"auto"},{default:t(()=>[e(Mt,{indeterminate:"",size:"64"})]),_:1})]),_:1})),e(P,null,{default:t(()=>[e(A,null,{default:t(()=>[g(j)?(V(),H("div",Al,[g(te)?(V(),H("h4",Bl," 📢Your followup prompt was too short for the selected model, automatically switched to another model: ' "+v(g(le))+" ' for this answer. ",1)):E("",!0),l[40]||(l[40]=T("h2",null,"Are you happy with the result?",-1)),l[41]||(l[41]=T("h3",null,"You can press No if you want to edit",-1)),e(F,{class:"mt-5 mr-2",color:"secondary",onClick:l[21]||(l[21]=w=>he("yes"))},{default:t(()=>l[38]||(l[38]=[c("Yes")])),_:1}),e(F,{class:"mt-5",color:"red",onClick:l[22]||(l[22]=w=>he("no"))},{default:t(()=>l[39]||(l[39]=[c("No")])),_:1})])):E("",!0),g(_)===!1?(V(),H("div",Rl,[l[44]||(l[44]=T("h3",null,"Please provide your follow-up instructions:",-1)),l[45]||(l[45]=T("h3",null,"Describe what should be changed.",-1)),l[46]||(l[46]=T("h5",null,"Provide as much details as possible for best outcome.",-1)),l[47]||(l[47]=T("h5",null,"If the current model's results aren't satisfying try another one.",-1)),e(Me,{class:"d-flex justify-center mt-2 mb-2",modelValue:g(B),"onUpdate:modelValue":l[23]||(l[23]=w=>oe(B)?B.value=w:B=w),onModelChange:Fe},null,8,["modelValue"]),e(Pe,{name:"followup",id:"followup",modelValue:G.value,"onUpdate:modelValue":l[24]||(l[24]=w=>G.value=w)},null,8,["modelValue"]),e(F,{class:"mr-2",color:"accent",justify:"center",onClick:l[25]||(l[25]=w=>{oe(_)?_.value=null:_=null,oe(j)?j.value=!0:j=!0})},{default:t(()=>l[42]||(l[42]=[c(" ask me again ")])),_:1}),e(F,{color:"secondary",justify:"center",disabled:!G.value.trim(),onClick:Ie},{default:t(()=>l[43]||(l[43]=[c(" Send ")])),_:1},8,["disabled"])])):E("",!0),e(N)]),_:1})]),_:1}),Pt(e(dl,{app:"",class:"pa-0"},{default:t(()=>[e(rl,{"bg-color":"secondary",lines:"two"},{actions:t(()=>[e(F,{onClick:l[26]||(l[26]=w=>g(M).abort())},{default:t(()=>[c(v(n.$t("actions.abort")),1)]),_:1}),e(F,{disabled:!g(M).selectedElements.length,onClick:l[27]||(l[27]=w=>g(M).deselectAll())},{default:t(()=>[c(v(n.$t("room-element-transfer.deselect-all")),1)]),_:1},8,["disabled"]),e(F,{color:"accent",disabled:g(M).selectedElements.length===0},{default:t(()=>[c(v(n.$t("room-element-transfer.transfer"))+" ",1),e(K,{"full-screen":g(r).xs.value,activator:"parent",width:"850px"},{default:t(({isActive:w})=>[e(xl,{onComplete:z=>w.value=!1},null,8,["onComplete"])]),_:1},8,["full-screen"])]),_:1},8,["disabled"])]),default:t(()=>[T("h4",null,v(n.$t("room-element-transfer.selected",g(M).selectedElements.length)),1)]),_:1})]),_:1},512),[[zt,g(M).wantsToTransfer]])],64)}}});export{na as default};
2//# sourceMappingURL=Templates-C3K_6jCD.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.