Files
dockerStuff/config/tandoor/staticfiles/vue3/assets/IngredientEditorPage-C6Hu5jvm.bebf63f7116b.js
2025-11-16 21:46:46 +00:00

2 lines
8.2 KiB
JavaScript

import{d as X,u as Y,b8 as Z,r as m,o as ee,A as V,Q as y,R as _,h as $,w as n,K as ae,g as a,N as le,j as s,t as u,O as te,k as M,V as w,ag as R,z as f,G as E,H as B,x as O,y as v,_ as I,e as D,M as z,ba as ne,S as oe,af as de,i as j,b as ie,p as ue,F as se,f as b}from"./main-BhFWIRV_.js";import{_ as re}from"./ClosableHelpAlert.vue_vue_type_script_setup_true_lang-Bq7D6yIF.js";import{_ as A}from"./DeleteConfirmDialog.vue_vue_type_script_setup_true_lang-C6y9GBNB.js";import{_ as H}from"./ModelMergeDialog.vue_vue_type_script_setup_true_lang-BaAGJhdt.js";import{V as me}from"./VDataTableServer-PUUq4Eqa.js";const pe=["colspan"],$e=X({__name:"IngredientEditorPage",setup(fe){const{t:k}=Y(),p=Z("history",{}),c=m([]),W=[{title:k("Amount"),key:"amount",minWidth:"120px",cellProps:{class:"pr-0"}},{title:k("Unit"),key:"unit",minWidth:"120px",cellProps:{class:"pr-0"}},{title:k("Food"),key:"food",minWidth:"120px",cellProps:{class:"pr-0"}},{title:k("Note"),key:"note",minWidth:"120px",cellProps:{class:"pr-0"}},{key:"action",width:"1%",noBreak:!0,align:"end"}],C=m(1),F=m(25),L=m(0),P=m(!1),g=m(!0),o=m(null),d=m(null);m(!1),ee(()=>{x()});function G(){c.value.forEach(t=>{t.changed&&S(t)})}function S(t){let l=new V;t.loading=!0,l.apiIngredientUpdate({id:t.id,ingredient:t}).then(e=>{}).catch(e=>{y().addError(_.UPDATE_ERROR,e)}).finally(()=>{t.loading=!1,t.changed=!1})}function q(t){let l=new V;t.loading=!0,l.apiIngredientDestroy({id:t.id}).then(e=>{c.value=c.value.filter(i=>i.id!=t.id)}).catch(e=>{y().addError(_.DELETE_ERROR,e)}).finally(()=>{t.loading=!1})}function x(){let t=new V,l=[];g.value=!0,p.food_id&&!Number.isNaN(p.food_id)&&l.push(t.apiFoodRetrieve({id:Number(p.food_id)}).then(e=>{o.value=e})),p.unit_id&&!Number.isNaN(p.unit_id)&&l.push(t.apiUnitRetrieve({id:Number(p.unit_id)}).then(e=>{d.value=e})),Promise.allSettled(l).then(()=>{g.value=!1,(p.food_id||p.unit_id)&&r()})}function r(){T({page:C.value,itemsPerPage:F.value})}function T({page:t,itemsPerPage:l,search:e,sortBy:i,groupBy:U}){if(!o.value&&!d.value){c.value=[];return}let J=new V;P.value=!0;let N={page:t,pageSize:l};o.value&&(N.food=o.value.id),d.value&&(N.unit=d.value.id),J.apiIngredientList(N).then(h=>{c.value=h.results,L.value=h.count}).catch(h=>{y().addError(_.FETCH_ERROR,h)}).finally(()=>{P.value=!1})}function K(){let t=new V;o.value&&(g.value=!0,t.apiFoodDestroy({id:o.value.id}).then(l=>{o.value=null,r()}).catch(l=>{y().addError(_.DELETE_ERROR,l)}).finally(()=>{g.value=!1}))}function Q(){let t=new V;d.value&&(g.value=!0,t.apiUnitDestroy({id:d.value.id}).then(l=>{d.value=null,r()}).catch(l=>{y().addError(_.DELETE_ERROR,l)}).finally(()=>{g.value=!1}))}return(t,l)=>(b(),$(ae,null,{default:n(()=>[a(z,{loading:g.value},{default:n(()=>[a(le,null,{default:n(()=>[s(u(t.$t("Ingredient Editor")),1)]),_:1}),a(te,null,{default:n(()=>[a(M,null,{default:n(()=>[a(w,null,{default:n(()=>[a(re,{class:"mb-2",text:t.$t("IngredientEditorHelp")},null,8,["text"])]),_:1})]),_:1}),a(M,null,{default:n(()=>[a(w,{cols:"12",md:"6"},{default:n(()=>[a(R,{model:"Food",modelValue:o.value,"onUpdate:modelValue":[l[4]||(l[4]=e=>o.value=e),l[5]||(l[5]=e=>r())],"append-to-body":""},{append:n(()=>[a(f,{icon:"",variant:"plain"},{default:n(()=>[a(E,{icon:"$menu"}),a(B,{activator:"parent"},{default:n(()=>[a(O,{density:"compact"},{default:n(()=>[a(v,{link:"","prepend-icon":"$edit",disabled:!o.value},{default:n(()=>[s(u(t.$t("Edit"))+" ",1),a(I,{model:"Food",item:o.value,activator:"parent",onSave:l[0]||(l[0]=e=>{o.value=e}),onDelete:l[1]||(l[1]=e=>{o.value=null,r()})},null,8,["item"])]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"fa-solid fa-arrows-to-dot",disabled:!o.value},{default:n(()=>[s(u(t.$t("Merge"))+" ",1),a(H,{source:[o.value],model:"Food",onChange:l[2]||(l[2]=e=>{o.value=e,r()})},null,8,["source"])]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"$automation",disabled:!o.value},{default:n(()=>[s(u(t.$t("Automate"))+" ",1),o.value?(b(),$(I,{key:0,model:"Automation",activator:"parent","item-defaults":{param1:o.value.name,type:"FOOD_ALIAS"}},null,8,["item-defaults"])):D("",!0)]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"$delete",disabled:!o.value},{default:n(()=>[s(u(t.$t("Delete"))+" ",1),o.value?(b(),$(A,{key:0,"model-name":t.$t("Food"),"object-name":o.value.name,onDelete:l[3]||(l[3]=e=>K())},null,8,["model-name","object-name"])):D("",!0)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),a(f,{icon:"fa-solid fa-carrot",to:{name:"ModelListPage",params:{model:"food"}},variant:"plain"})]),_:1},8,["modelValue"])]),_:1}),a(w,{cols:"12",md:"6"},{default:n(()=>[a(R,{model:"Unit",modelValue:d.value,"onUpdate:modelValue":[l[10]||(l[10]=e=>d.value=e),l[11]||(l[11]=e=>r())],"append-to-body":""},{append:n(()=>[a(f,{icon:"",variant:"plain"},{default:n(()=>[a(E,{icon:"$menu"}),a(B,{activator:"parent"},{default:n(()=>[a(O,{density:"compact"},{default:n(()=>[a(v,{link:"","prepend-icon":"$edit",disabled:!d.value},{default:n(()=>[s(u(t.$t("Edit"))+" ",1),a(I,{model:"Unit",item:d.value,activator:"parent",onSave:l[6]||(l[6]=e=>{d.value=e}),onDelete:l[7]||(l[7]=e=>{d.value=null,r()})},null,8,["item"])]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"fa-solid fa-arrows-to-dot",disabled:!d.value},{default:n(()=>[s(u(t.$t("Merge"))+" ",1),a(H,{source:[d.value],model:"Unit",onChange:l[8]||(l[8]=e=>{d.value=e,r()})},null,8,["source"])]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"$automation",disabled:!d.value},{default:n(()=>[s(u(t.$t("Automate"))+" ",1),d.value?(b(),$(I,{key:0,model:"Automation",activator:"parent","item-defaults":{param1:d.value.name,type:"UNIT_ALIAS"}},null,8,["item-defaults"])):D("",!0)]),_:1},8,["disabled"]),a(v,{link:"","prepend-icon":"$delete",disabled:!d.value},{default:n(()=>[s(u(t.$t("Delete"))+" ",1),d.value?(b(),$(A,{key:0,"model-name":t.$t("Unit"),"object-name":d.value.name,onDelete:l[9]||(l[9]=e=>Q())},null,8,["model-name","object-name"])):D("",!0)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),a(f,{icon:"fa-solid fa-scale-balanced",to:{name:"ModelListPage",params:{model:"unit"}},variant:"plain"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["loading"]),a(z,{class:"mt-2"},{default:n(()=>[a(me,{"onUpdate:options":T,items:c.value,"items-length":L.value,"items-per-page":F.value,headers:W,expanded:c.value.flatMap(e=>e.id),page:C.value,loading:P.value,"disable-sort":""},{"header.action":n(({column:e})=>[a(f,{size:"small",color:"save",onClick:l[12]||(l[12]=i=>G())},{default:n(()=>[a(E,{icon:"$save"})]),_:1})]),"expanded-row":n(({columns:e,item:i})=>[j("tr",null,[j("td",{colspan:e.length},[(b(!0),ie(se,null,ue(i.usedInRecipes,U=>(b(),$(f,{variant:"outlined",color:"secondary",target:"_blank",to:{name:"RecipeViewPage",params:{id:U.id}}},{default:n(()=>[s(u(U.name)+" (#"+u(U.id)+") ",1)]),_:2},1032,["to"]))),256))],8,pe)])]),"item.amount":n(({item:e})=>[a(de,{label:t.$t("Amount"),modelValue:e.amount,"onUpdate:modelValue":[i=>e.amount=i,i=>e.changed=!0],inset:"","control-variant":"stacked","hide-details":"",min:0,density:"compact",precision:2},null,8,["label","modelValue","onUpdate:modelValue"])]),"item.unit":n(({item:e})=>[a(R,{model:"Unit",modelValue:e.unit,"onUpdate:modelValue":[i=>e.unit=i,i=>e.changed=!0],density:"compact","hide-details":"","allow-create":"","append-to-body":""},null,8,["modelValue","onUpdate:modelValue"])]),"item.food":n(({item:e})=>[a(R,{model:"Food",modelValue:e.food,"onUpdate:modelValue":[i=>e.food=i,i=>e.changed=!0],density:"compact","hide-details":"","allow-create":"","append-to-body":""},null,8,["modelValue","onUpdate:modelValue"])]),"item.note":n(({item:e})=>[a(oe,{modelValue:e.note,"onUpdate:modelValue":[i=>e.note=i,i=>e.changed=!0],label:t.$t("Note"),density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),"item.action":n(({item:e})=>[a(ne,{density:"comfortable"},{default:n(()=>[a(f,{size:"small",color:"save",loading:e.loading,onClick:i=>S(e),disabled:!e.changed},{default:n(()=>[a(E,{icon:"$save"})]),_:2},1032,["loading","onClick","disabled"]),a(f,{size:"small",color:"delete",loading:e.loading},{default:n(()=>[a(E,{icon:"$delete"}),a(A,{"model-name":t.$t("Ingredient"),onDelete:i=>q(e)},null,8,["model-name","onDelete"])]),_:2},1032,["loading"])]),_:2},1024)]),_:1},8,["items","items-length","items-per-page","expanded","page","loading"])]),_:1})]),_:1}))}});export{$e as default};