import{d as oe,aM as G,c as te,r as T,o as de,L as Q,A as k,Q as g,R as $,h as C,f as r,w as n,g as a,O as j,l as o,j as m,t as i,ac as E,S as A,ag as p,aa as J,af as D,e as F,z as b,aS as K,W as N,b as P,F as ne,p as ie,M as se,N as ue,G as R,_ as re,k as M,V as h,U as S,B as me}from"./main-BhFWIRV_.js";import{u as pe,_ as fe}from"./useModelEditorFunctions-Du2kfr61.js";import{_ as be}from"./PropertiesEditor.vue_vue_type_script_setup_true_lang-nI_GsYpC.js";import{_ as Ve}from"./FdcSearchDialog.vue_vue_type_script_setup_true_lang-C-bx54-t.js";import{o as ve}from"./fdc-CkSQIsAv.js";import{_ as Ue}from"./HierarchyEditor.vue_vue_type_script_setup_true_lang-VFBtIeub.js";import{a as ge,V as y,b as $e,c as I}from"./VTabs-BQFRhgOd.js";import{V as Ce}from"./VTextarea-Dyu7dPGe.js";import"./DeleteConfirmDialog.vue_vue_type_script_setup_true_lang-C6y9GBNB.js";import"./VListItemAction-BR9wagZD.js";const Fe={key:0},he={key:1},Te=oe({__name:"FoodEditor",props:{item:{type:{},required:!1,default:null},itemId:{type:[Number,String],required:!1,default:void 0},itemDefaults:{type:{},required:!1,default:{}},dialog:{type:Boolean,default:!1}},emits:["create","save","delete","close","changedState"],setup(z,{emit:X}){const V=z,B=X,{setupState:Y,deleteObject:Z,saveObject:H,isUpdate:v,editingObjName:c,loading:u,editingObj:t,editingObjChanged:O,modelClass:W}=pe("Food",B);G([()=>V.item,()=>V.itemId],()=>{q()});const _=te(()=>{let d="";return t.value.propertiesFoodAmount&&(d+=t.value.propertiesFoodAmount),t.value.propertiesFoodUnit&&(d+=" "+t.value.propertiesFoodUnit.name),d}),U=T("food"),f=T([]),w=T(!1),x=G(U,(d,l,e)=>{d=="conversions"&&(le(),x())});de(()=>{q()});function q(){Y(V.item,V.itemId,{newItemFunction:()=>{t.value.propertiesFoodAmount=100,t.value.propertiesFoodUnit=Q().defaultUnitObj!=null?Q().defaultUnitObj:{name:"g"}},itemDefaults:V.itemDefaults})}async function ee(){const d=new k;f.value.forEach(l=>{l.id?d.apiUnitConversionUpdate({id:l.id,unitConversion:l}).catch(e=>{g().addError($.UPDATE_ERROR,e)}):d.apiUnitConversionCreate({id:l.id,unitConversion:l}).catch(e=>{g().addError($.CREATE_ERROR,e)})})}function le(){new k().apiUnitConversionList({foodId:t.value.id}).then(l=>{f.value=l.results}).catch(l=>{g().addError($.FETCH_ERROR,l)})}function L(d,l=!1){f.value=f.value.filter(e=>e!==e),l&&d.id&&new k().apiUnitConversionDestroy({id:d.id}).catch(s=>{g().addError($.DELETE_ERROR,s)})}function ae(){let d=new k;t.value.fdcId&&H().then(()=>{u.value=!0,d.apiFoodFdcCreate({id:t.value.id,food:t.value}).then(l=>{t.value=l}).catch(l=>{g().addError($.UPDATE_ERROR,l)}).finally(()=>{u.value=!1,O.value=!1})})}return(d,l)=>(r(),C(fe,{loading:o(u),dialog:z.dialog,onSave:l[27]||(l[27]=e=>{o(H)(),ee()}),onDelete:o(Z),onClose:l[28]||(l[28]=e=>{B("close"),O.value=!1}),"is-update":o(v)(),"is-changed":o(O),"model-class":o(W),"object-name":o(c)(),"editing-object":o(t)},{default:n(()=>[a(j,{class:"pa-0"},{default:n(()=>[a(ge,{modelValue:U.value,"onUpdate:modelValue":l[0]||(l[0]=e=>U.value=e),disabled:o(u),grow:""},{default:n(()=>[a(y,{value:"food"},{default:n(()=>[m(i(d.$t("Food")),1)]),_:1}),a(y,{value:"properties",disabled:!o(v)()},{default:n(()=>[m(i(d.$t("Properties")),1)]),_:1},8,["disabled"]),a(y,{value:"conversions",disabled:!o(v)()},{default:n(()=>[m(i(d.$t("Conversion")),1)]),_:1},8,["disabled"]),a(y,{value:"hierarchy",disabled:!o(v)()},{default:n(()=>[m(i(d.$t("Hierarchy")),1)]),_:1},8,["disabled"]),a(y,{value:"misc",disabled:!o(v)()},{default:n(()=>[m(i(d.$t("Miscellaneous")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])]),_:1}),a(j,null,{default:n(()=>[a($e,{modelValue:U.value,"onUpdate:modelValue":l[24]||(l[24]=e=>U.value=e)},{default:n(()=>[a(I,{value:"food"},{default:n(()=>[a(E,{disabled:o(u)},{default:n(()=>[a(A,{label:d.$t("Name"),modelValue:o(t).name,"onUpdate:modelValue":l[1]||(l[1]=e=>o(t).name=e)},null,8,["label","modelValue"]),a(A,{label:d.$t("Plural"),modelValue:o(t).pluralName,"onUpdate:modelValue":l[2]||(l[2]=e=>o(t).pluralName=e)},null,8,["label","modelValue"]),a(Ce,{label:d.$t("Description"),modelValue:o(t).description,"onUpdate:modelValue":l[3]||(l[3]=e=>o(t).description=e)},null,8,["label","modelValue"]),a(p,{label:d.$t("Category"),modelValue:o(t).supermarketCategory,"onUpdate:modelValue":l[4]||(l[4]=e=>o(t).supermarketCategory=e),model:"SupermarketCategory","allow-create":"","append-to-body":""},null,8,["label","modelValue"])]),_:1},8,["disabled"])]),_:1}),a(I,{value:"properties"},{default:n(()=>[a(J,{icon:"$help"},{default:n(()=>[m(i(d.$t("PropertiesFoodHelp")),1)]),_:1}),a(E,{disabled:o(u),class:"mt-5"},{default:n(()=>[a(D,{label:d.$t("FDC_ID"),modelValue:o(t).fdcId,"onUpdate:modelValue":l[8]||(l[8]=e=>o(t).fdcId=e),precision:0,"control-variant":"hidden",clearable:""},{"append-inner":n(()=>[o(t).fdcId==null?(r(),C(b,{key:0,icon:"$search",size:"small",density:"compact",variant:"plain",onClick:l[5]||(l[5]=e=>w.value=!0)})):F("",!0),o(t).fdcId?(r(),C(b,{key:1,onClick:l[6]||(l[6]=e=>ae()),icon:"fa-solid fa-arrows-rotate",size:"small",density:"compact",variant:"plain"})):F("",!0),o(t).fdcId?(r(),C(b,{key:2,onClick:l[7]||(l[7]=e=>o(ve)(o(t).fdcId)),href:`https://fdc.nal.usda.gov/food-details/${o(t).fdcId}/nutrients`,target:"_blank",icon:"fa-solid fa-arrow-up-right-from-square",size:"small",variant:"plain"},null,8,["href"])):F("",!0)]),_:1},8,["label","modelValue"]),a(D,{label:d.$t("Properties_Food_Amount"),modelValue:o(t).propertiesFoodAmount,"onUpdate:modelValue":l[9]||(l[9]=e=>o(t).propertiesFoodAmount=e),precision:2},null,8,["label","modelValue"]),a(p,{label:d.$t("Properties_Food_Unit"),modelValue:o(t).propertiesFoodUnit,"onUpdate:modelValue":l[10]||(l[10]=e=>o(t).propertiesFoodUnit=e),model:"Unit"},null,8,["label","modelValue"]),a(be,{modelValue:o(t),"onUpdate:modelValue":l[11]||(l[11]=e=>K(t)?t.value=e:null),"amount-for":_.value},null,8,["modelValue","amount-for"]),a(N,{style:{"margin-top":"80px"}})]),_:1},8,["disabled"])]),_:1}),a(I,{value:"conversions"},{default:n(()=>[a(J,{icon:"$help"},{default:n(()=>[m(i(d.$t("ConversionsHelp")),1)]),_:1}),a(E,{disabled:o(u),class:"mt-5"},{default:n(()=>[a(b,{color:"create",onClick:l[12]||(l[12]=e=>f.value.push({food:o(t)})),"prepend-icon":"$create"},{default:n(()=>[m(i(d.$t("Add")),1)]),_:1}),(r(!0),P(ne,null,ie(f.value,e=>(r(),C(se,{class:"mt-2",border:"",dense:""},{default:n(()=>[a(ue,null,{default:n(()=>[e.baseUnit?(r(),P("span",Fe,i(e.baseAmount)+" "+i(e.baseUnit.name),1)):F("",!0),a(R,{size:"x-small",icon:"fa-solid fa-arrows-left-right",class:"me-2 ms-2"}),e.convertedUnit?(r(),P("span",he,i(e.convertedAmount)+" "+i(e.convertedUnit.name),1)):F("",!0),a(b,{color:"delete",class:"float-right d-none d-md-block",onClick:s=>L(e,!0)},{default:n(()=>[a(R,{icon:"$delete"})]),_:2},1032,["onClick"]),a(b,{color:"edit",class:"float-right d-md-none"},{default:n(()=>[a(R,{icon:"$edit"}),a(re,{model:"UnitConversion",item:e,onDelete:s=>L(e,!1),"disabled-fields":["food"]},null,8,["item","onDelete"])]),_:2},1024)]),_:2},1024),a(j,{class:"d-none d-md-block"},{default:n(()=>[a(M,{dense:""},{default:n(()=>[a(h,{md:"6"},{default:n(()=>[a(D,{label:d.$t("Amount"),step:10,modelValue:e.baseAmount,"onUpdate:modelValue":s=>e.baseAmount=s,"control-variant":"stacked",precision:3,"hide-details":""},null,8,["label","modelValue","onUpdate:modelValue"])]),_:2},1024),a(h,{md:"6"},{default:n(()=>[a(p,{modelValue:e.baseUnit,"onUpdate:modelValue":s=>e.baseUnit=s,model:"Unit","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),a(M,{dense:""},{default:n(()=>[a(h,{cols:"12",class:"text-center"},{default:n(()=>[a(R,{icon:"fa-solid fa-arrows-up-down",class:"mt-4 mb-4"})]),_:1})]),_:1}),a(M,{dense:""},{default:n(()=>[a(h,{md:"6"},{default:n(()=>[a(D,{label:d.$t("Amount"),step:10,modelValue:e.convertedAmount,"onUpdate:modelValue":s=>e.convertedAmount=s,"control-variant":"stacked",precision:3},null,8,["label","modelValue","onUpdate:modelValue"])]),_:2},1024),a(h,{md:"6"},{default:n(()=>[a(p,{modelValue:e.convertedUnit,"onUpdate:modelValue":s=>e.convertedUnit=s,model:"Unit"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),256))]),_:1},8,["disabled"]),a(N,{style:{"margin-top":"80px"}})]),_:1}),a(I,{value:"hierarchy"},{default:n(()=>[a(Ue,{modelValue:o(t),"onUpdate:modelValue":l[13]||(l[13]=e=>K(t)?t.value=e:null),model:o(W).model.name},null,8,["modelValue","model"]),a(S,{label:d.$t("substitute_siblings"),hint:d.$t("substitute_siblings_help"),modelValue:o(t).substituteSiblings,"onUpdate:modelValue":l[14]||(l[14]=e=>o(t).substituteSiblings=e),"persistent-hint":""},null,8,["label","hint","modelValue"]),a(S,{label:d.$t("substitute_children"),hint:d.$t("substitute_children_help"),modelValue:o(t).substituteChildren,"onUpdate:modelValue":l[15]||(l[15]=e=>o(t).substituteChildren=e),"persistent-hint":""},null,8,["label","hint","modelValue"]),a(p,{model:"FoodInheritField",modelValue:o(t).inheritFields,"onUpdate:modelValue":l[16]||(l[16]=e=>o(t).inheritFields=e),label:d.$t("InheritFields"),hint:d.$t("InheritFields_help"),mode:"tags"},null,8,["modelValue","label","hint"]),a(p,{model:"FoodInheritField",modelValue:o(t).childInheritFields,"onUpdate:modelValue":l[17]||(l[17]=e=>o(t).childInheritFields=e),label:d.$t("ChildInheritFields"),hint:d.$t("ChildInheritFields_help"),mode:"tags"},null,8,["modelValue","label","hint"]),a(N,{style:{"margin-top":"100px"}})]),_:1}),a(I,{value:"misc"},{default:n(()=>[a(E,{disabled:o(u),class:"mt-5"},{default:n(()=>[a(p,{model:"Recipe",modelValue:o(t).recipe,"onUpdate:modelValue":l[18]||(l[18]=e=>o(t).recipe=e),label:d.$t("Recipe")},null,8,["modelValue","label"]),a(A,{label:d.$t("Website"),modelValue:o(t).url,"onUpdate:modelValue":l[19]||(l[19]=e=>o(t).url=e)},null,8,["label","modelValue"]),a(S,{label:d.$t("OnHand"),hint:d.$t("OnHand_help"),modelValue:o(t).foodOnhand,"onUpdate:modelValue":l[20]||(l[20]=e=>o(t).foodOnhand=e),"persistent-hint":""},null,8,["label","hint","modelValue"]),a(S,{label:d.$t("Ignore_Shopping"),hint:d.$t("ignore_shopping_help"),modelValue:o(t).ignoreShopping,"onUpdate:modelValue":l[21]||(l[21]=e=>o(t).ignoreShopping=e),"persistent-hint":""},null,8,["label","hint","modelValue"]),a(me,{class:"mt-2 mb-2"}),a(p,{model:"Food",modelValue:o(t).substitute,"onUpdate:modelValue":l[22]||(l[22]=e=>o(t).substitute=e),label:d.$t("Substitutes"),hint:d.$t("substitute_help"),mode:"tags"},null,8,["modelValue","label","hint"]),a(A,{label:d.$t("Open_Data_Slug"),hint:d.$t("open_data_help_text"),"persistent-hint":"",modelValue:o(t).openDataSlug,"onUpdate:modelValue":l[23]||(l[23]=e=>o(t).openDataSlug=e),disabled:""},null,8,["label","hint","modelValue"])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(Ve,{modelValue:w.value,"onUpdate:modelValue":l[25]||(l[25]=e=>w.value=e),onSelected:l[26]||(l[26]=e=>{o(t).fdcId=e})},null,8,["modelValue"])]),_:1},8,["loading","dialog","onDelete","is-update","is-changed","model-class","object-name","editing-object"]))}});export{Te as default};