2 lines
6.0 KiB
JavaScript
2 lines
6.0 KiB
JavaScript
import{bm as I,_ as S,p as L,u as x,j as m,ah as E,c as o,cj as F,J as T,bc as w,d as h,b_ as b,e as y,cd as O,bg as R,H as k,C as J,bt as u,ch as A,I as H,az as N,bu as _,by as P}from"./bundle.2fc363c8.js";import{D as U}from"./bundle.cd3a355b.js";import{u as z}from"./bundle.0cd901a9.js";import{templateEntites as Q}from"./bundle.02095a8b.js";import"./bundle.9e9a3012.js";import"./bundle.124dc16d.js";const B=I(!1);function G({onImport:t}){const[c,n]=S(B),[e,s]=L.useState(""),{t:r}=x(),a=()=>{try{const l=JSON.parse(e);Object.hasOwn(l,"product")||(l.product=""),Object.hasOwn(l,"task")||(l.task=""),t(l),n(!1),s("")}catch(l){console.error(l),w.error()}};return m(E,{title:r("import_design"),visible:c,onClose:n,children:[o(F,{element:"textarea",onValueChange:l=>s(l)}),o(T,{onClick:a,children:r("import")})]})}function K(t){const c=h(),n=e=>{var s,r;return`#${e.number} (${c(e.amount,(s=e==null?void 0:e.client)==null?void 0:s.country_id,(r=e==null?void 0:e.client)==null?void 0:r.settings.currency_id)})`};return o(b,{inputOptions:{value:t.value??null},endpoint:y("/api/v1/invoices?include=client&filter_deleted_clients=true&status=active"),onChange:e=>e.resource&&t.onChange(e.resource),entryOptions:{id:"id",value:"id",label:"number",dropdownLabelFn:e=>n(e),inputLabelFn:e=>e?n(e):""},onDismiss:t.onClearButtonClick,errorMessage:t.errorMessage})}function W(t){const c=h(),n=e=>{var s,r;return`#${e.number} (${c(e.amount,(s=e==null?void 0:e.client)==null?void 0:s.country_id,(r=e==null?void 0:e.client)==null?void 0:r.settings.currency_id)})`};return o(b,{inputOptions:{value:t.value??null},endpoint:y("/api/v1/quotes?include=client&filter_deleted_clients=true&status=active"),onChange:e=>e.resource&&t.onChange(e.resource),entryOptions:{id:"id",value:"id",label:"number",dropdownLabelFn:e=>n(e),inputLabelFn:e=>e?n(e):""},onDismiss:t.onClearButtonClick,errorMessage:t.errorMessage})}function X(t){const c=h(),n=e=>{var s,r;return`#${e.number} (${c(e.amount,(s=e==null?void 0:e.client)==null?void 0:s.country_id,(r=e==null?void 0:e.client)==null?void 0:r.settings.currency_id)})`};return o(b,{inputOptions:{value:t.value??null},endpoint:y("/api/v1/credits?include=client&filter_deleted_clients=true&status=active"),onChange:e=>e.resource&&t.onChange(e.resource),entryOptions:{id:"id",value:"id",label:"number",dropdownLabelFn:e=>n(e),inputLabelFn:e=>e?n(e):""},onDismiss:t.onClearButtonClick,errorMessage:t.errorMessage})}function Y(t){const c=h(),n=e=>{var s,r;return`#${e.number} (${c(e.amount,(s=e==null?void 0:e.vendor)==null?void 0:s.country_id,(r=e==null?void 0:e.vendor)==null?void 0:r.currency_id)})`};return o(b,{inputOptions:{value:t.value??null},endpoint:y("/api/v1/purchase_orders?include=vendor&status=active"),onChange:e=>e.resource&&t.onChange(e.resource),entryOptions:{id:"id",value:"id",label:"number",dropdownLabelFn:e=>n(e),inputLabelFn:e=>e?n(e):""},onDismiss:t.onClearButtonClick,errorMessage:t.errorMessage})}function oe(){var p,v,M;const{t}=x(),c=O(),{errors:n,isFormBusy:e,shouldRenderHTML:s,setShouldRenderHTML:r,payload:a,setPayload:l}=c,[,$]=S(B),f=()=>{if(a.design){const i=new Blob([JSON.stringify(a.design.design)],{type:"text/plain"}),d=URL.createObjectURL(i),g=document.createElement("a");g.download=`${a.design.name}_${t("export").toLowerCase()}`,g.href=d,g.target="_blank",document.body.appendChild(g),g.click(),document.body.removeChild(g)}},V=L.useCallback(()=>{if(!navigator.clipboard)return f();a.design&&navigator.clipboard.writeText(JSON.stringify(a.design.design)).then(()=>w.success(R("copied_to_clipboard",{value:t("design").toLowerCase()}))).catch(()=>f())},[a.design]),{handlePropertyChange:C,handleResourceChange:j}=z({payload:a,setPayload:l});return m(k,{children:[o(G,{onImport:i=>C("design",i)}),m(J,{title:t("settings"),padding:"small",children:[o(u,{leftSide:t("name"),children:o(F,{value:(p=a.design)==null?void 0:p.name,onValueChange:i=>C("name",i),errorMessage:n==null?void 0:n.errors.name})}),(v=a.design)!=null&&v.is_template?o(u,{leftSide:t("resource"),children:Q.map(i=>{var d;return o(A,{label:t(i),value:i,onValueChange:(g,D)=>j(g,!!D),checked:(d=a.design)==null?void 0:d.entities.includes(i)},i)})}):null,o(u,{leftSide:t("design"),children:o(U,{onChange:i=>C("design",i.design),actionVisibility:!1,errorMessage:(n==null?void 0:n.errors["design.header"])||(n==null?void 0:n.errors["design.body"])||(n==null?void 0:n.errors["design.footer"])||(n==null?void 0:n.errors["design.includes"])})}),!((M=a.design)!=null&&M.is_template)&&m(k,{children:[o(u,{leftSide:t("entity"),children:m(H,{value:a.entity||"invoice",onValueChange:i=>l(d=>({...d,entity:i,entity_id:"-1"})),errorMessage:n==null?void 0:n.errors.entity,children:[o("option",{value:"invoice",children:t("invoice")}),o("option",{value:"quote",children:t("quote")}),o("option",{value:"credit",children:t("credit")}),o("option",{value:"purchase_order",children:t("purchase_order")})]})}),a.entity==="invoice"&&o(u,{leftSide:t("invoice"),children:o(K,{value:a.entity_id,onChange:i=>l(d=>({...d,entity_id:i.id||"-1"})),onClearButtonClick:()=>l(i=>({...i,entity_id:"-1"})),errorMessage:n==null?void 0:n.errors.entity_id})}),a.entity==="quote"&&o(u,{leftSide:t("quote"),children:o(W,{value:a.entity_id,onChange:i=>l(d=>({...d,entity_id:i.id||"-1"})),onClearButtonClick:()=>l(i=>({...i,entity_id:"-1"})),errorMessage:n==null?void 0:n.errors.entity_id})}),a.entity==="credit"&&o(u,{leftSide:t("credit"),children:o(X,{value:a.entity_id,onChange:i=>l(d=>({...d,entity_id:i.id||"-1"})),onClearButtonClick:()=>l(i=>({...i,entity_id:"-1"})),errorMessage:n==null?void 0:n.errors.entity_id})}),a.entity==="purchase_order"&&o(u,{leftSide:t("purchase_order"),children:o(Y,{value:a.entity_id,onChange:i=>l(d=>({...d,entity_id:i.id||"-1"})),onClearButtonClick:()=>l(i=>({...i,entity_id:"-1"})),errorMessage:n==null?void 0:n.errors.entity_id})})]}),o(N,{}),o(_,{href:"https://invoiceninja.github.io/en/custom-fields/",children:t("view_docs")}),o(_,{onClick:()=>$(!0),children:t("import")}),o(_,{onClick:V,children:t("export")}),o(u,{leftSide:t("html_mode"),children:o(P,{checked:s,onChange:i=>r(i),disabled:e})})]})]})}export{oe as default};
|