import{_ as F,o as h,X as y,a7 as a,a as i,w as s,a6 as V,ab as f,a5 as d,U as c,a9 as p,W as b,aP as C,aQ as x,aT as v,Y as O,Z as N,bF as L,S as j,a8 as z}from"./app-014d9ed9.js";import{Q as _}from"./QForm.8d79ab03.js";import{Q}from"./QTooltip.9d840032.js";import{Q as S}from"./QImg.91aecb73.js";import{a as k,Q as w,c as $}from"./QItemLabel.b6dd3adb.js";import{Q as g}from"./QSelect.d7ce3d4c.js";import{Q as B}from"./QBadge.718e7c58.js";import{Q as M}from"./QMarkupTable.ba6854cc.js";import{B as A}from"./BasicDialog.9dd9de92.js";import{e as R}from"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const q={anim:{lib:"",dict:"",text:"",timeOut:null},accept:[],reward:""},P={name:"ItemCreate",data(){return{externalHosting:R,defaults:["shouldclose","type","description","weight","label","unique","useable","image","name","combinable"],pendingSave:!1,item:{shouldClose:!1,type:"item",description:"",weight:0,label:"",unique:!1,useable:!1,image:"",name:""},customVars:[],itemTypes:["item","weapon"],items:[],itemImages:[],itemsReward:[],itemsAccept:[""],imageAccept:[""],combinable:q}},computed:{getRewardLabel(){const e=this.items.find(t=>t.value===this.combinable.reward);return e?e.label:this.combinable.reward}},methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e){const t=this.customVars.indexOf(e);t>-1&&this.$q.dialog({component:A,componentProps:{title:this.$i18n.t("components.item.deleteHeader"),message:this.$i18n.t("components.item.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(t,1)})},triggerFileSelect(){this.$refs.image.value=null,this.$refs.image.click()},uploadImage(e){if(!this.$refs.image.value)return;const t=e.target.files[0];let n=new FormData;n.set("file",t),n.set("name",t.name),this.$axios.post("/api/items/icon-upload",n).then(r=>{if(!r.data.resCode){const u=r.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${u}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.item.uploadedImage")}),this.itemImages=Object.freeze(r.data.images),this.item.image=r.data.filename})},trySave(){this.$refs.itemForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.item.msg.error.missingFields",{name:this.item.name})});return}this.$refs.customVarForm.validate().then(t=>{if(!t){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.item.msg.error.uniqueVars")});return}this.customVars.forEach(n=>{!n.name||(this.item[n.name]=this.isNumeric(n.value)?Number(n.value):this.isBoolean(n.value))}),this.pendingSave=!0,Object.entries(this.combinable).sort().toString()!==Object.entries(q).sort().toString()&&(this.item.combinable=this.combinable),this.$axios.post("/api/items/create",this.item).then(n=>{if(this.pendingSave=!1,!n.data.resCode){const o=n.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${o}`,{name:this.item.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"dev-item-list"})}).catch(()=>{})})})},filterAccept(e,t){const n=e.toLowerCase();this.itemsAccept=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(n)>-1)),t()},filterImage(e,t){const n=e.toLowerCase();this.imageAccept=Object.freeze(this.itemImages.filter(r=>r.toLowerCase().indexOf(n)>-1)),t()},filterReward(e,t){const n=e.toLowerCase();this.itemsReward=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(n)>-1)),t()}},mounted(){this.$axios.get("/api/items/list").then(e=>{const t=e.data.items,n=e.data.images;if(!t||!n){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.items=Object.freeze(t),this.itemImages=Object.freeze(n),this.item.combinable?this.combinable=this.item.combinable:this.combinable=JSON.parse(JSON.stringify(q))}).catch(e=>{console.error(e)})}},T={class:"row"},D={class:"col-12"},H={class:"q-ma-sm row"},E={class:"text-h6"},J={class:"row full-width justify-center q-mt-md"},W={class:"q-pa-sm",style:{border:"solid 2px var(--q-primary)",height:"140px",width:"150px"}},X={class:"absolute-full flex flex-center text-main"},Y={class:"row q-mt-md"},Z={class:"row q-mt-md"},G={class:"row q-mt-md"},K={class:"col-12"},ee={class:"q-ma-sm row"},te={class:"row"},le={class:"text-h6"},ie={class:"text-caption text-sub"},oe={class:"q-ml-auto"},se={style:{width:"30px"},class:"text-right vertical-middle"},ae={class:"col-12"},ne={class:"q-ma-sm row"},me={class:"text-h6"},re={class:"text-caption text-sub"},ue={class:"text-main"},ce={class:"col-12"},de={class:"q-ma-sm row justify-end"};function pe(e,t,n,r,o,u){return h(),y("div",T,[a("div",D,[a("div",H,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",E,c(e.$t("components.itemCreate.new"))+":",1)]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(_,{ref:"itemForm"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.item.name,"onUpdate:modelValue":t[0]||(t[0]=l=>o.item.name=l),onChange:t[1]||(t[1]=l=>{o.item.name=l.toLowerCase()}),"lazy-rules":"",rules:[l=>l&&l.length>0||e.$t("rules.required"),l=>l&&!/\s/.test(l)||e.$t("rules.noSpace")],label:e.$t("components.item.name")},null,8,["input-style","modelValue","rules","label"])]),_:1},512),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.item.label,"onUpdate:modelValue":t[2]||(t[2]=l=>o.item.label=l),label:e.$t("components.item.label")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.item.description,"onUpdate:modelValue":t[3]||(t[3]=l=>o.item.description=l),label:e.$t("components.item.desc")},null,8,["input-style","modelValue","label"]),a("input",{ref:"image",type:"file",onInput:t[4]||(t[4]=(...l)=>u.uploadImage&&u.uploadImage(...l)),hidden:"",accept:"image/png, image/jpeg"},null,544),i(g,{label:e.$t("components.item.image"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:o.item.image,"onUpdate:modelValue":t[5]||(t[5]=l=>o.item.image=l),options:o.imageAccept,"popup-content-class":"bg-secondary text-main","use-input":"","input-class":"text-main",onFilter:u.filterImage},{after:s(()=>[i(f,{"text-color":"main",square:"",color:"primary",icon:"file_upload",onClick:u.triggerFileSelect},{default:s(()=>[i(Q,null,{default:s(()=>[b(c(e.$t("components.item.uploadNew")),1)]),_:1})]),_:1},8,["onClick"])]),option:s(l=>[i(k,C(x(l.itemProps)),{default:s(()=>[i(w,{avatar:""},{default:s(()=>[i(S,{src:`${o.externalHosting.backend}/public/inventory/icons/${l.opt}`,"spinner-color":"primary",fit:"contain"},null,8,["src"])]),_:2},1024),i(w,null,{default:s(()=>[i($,{class:"text-main"},{default:s(()=>[b(c(l.opt),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","onFilter"]),a("div",J,[a("div",W,[i(S,{src:`${o.externalHosting.backend}/public/inventory/icons/${o.item.image}`,class:"full-height","spinner-color":"main"},{error:s(()=>[a("div",X,c(e.$t("components.item.imageNotFound")),1)]),_:1},8,["src"])])])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:o.item.weight,"onUpdate:modelValue":t[6]||(t[6]=l=>o.item.weight=l),modelModifiers:{number:!0},label:e.$t("components.item.weight")},null,8,["input-style","modelValue","label"]),i(g,{label:e.$t("components.item.type"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:o.item.type,"onUpdate:modelValue":t[7]||(t[7]=l=>o.item.type=l),options:o.itemTypes,"popup-content-class":"bg-secondary text-main"},{selected:s(()=>[i(B,{color:o.item.type==="item"?"primary":"negative"},{default:s(()=>[b(c(o.item.type),1)]),_:1},8,["color"])]),_:1},8,["label","modelValue","options"]),a("div",Y,[i(v,{modelValue:o.item.useable,"onUpdate:modelValue":t[8]||(t[8]=l=>o.item.useable=l),label:e.$t("components.item.useable")},null,8,["modelValue","label"])]),a("div",Z,[i(v,{modelValue:o.item.unique,"onUpdate:modelValue":t[9]||(t[9]=l=>o.item.unique=l),label:e.$t("components.item.unique")},null,8,["modelValue","label"])]),a("div",G,[i(v,{modelValue:o.item.shouldClose,"onUpdate:modelValue":t[10]||(t[10]=l=>o.item.shouldClose=l),label:e.$t("components.item.shouldClose")},null,8,["modelValue","label"])])]),_:1})]),_:1})])]),a("div",K,[a("div",ee,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",te,[a("div",null,[a("div",le,c(e.$t("components.item.customVariables")),1),a("div",ie,c(e.$t("components.item.customVarSub")),1)]),a("div",oe,[i(f,{"text-color":"main",color:"primary",label:e.$t("components.item.addCustomVar"),onClick:u.addCustomVar},null,8,["label","onClick"])])])]),_:1}),i(d,{class:"col-12"},{default:s(()=>[i(_,{ref:"customVarForm"},{default:s(()=>[i(M,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:s(()=>[a("tbody",null,[(h(!0),y(O,null,N(o.customVars,(l,I)=>(h(),y("tr",{key:`${I}-customVar`},[a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:l.name,"onUpdate:modelValue":m=>l.name=m,label:e.$t("components.item.customVarName"),"lazy-rules":"",rules:[m=>m&&m.length>0||e.$t("rules.required"),m=>m&&!/\s/.test(m)||e.$t("rules.noSpace"),m=>m&&o.customVars.filter(U=>U.name===m).length<=1||e.$t("rules.unique"),m=>m&&!o.defaults.includes(m.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,label:e.$t("components.item.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),a("td",se,[i(f,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:m=>u.removeVar(l)},{default:s(()=>[i(Q,null,{default:s(()=>[b(c(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),a("div",ae,[a("div",ne,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",me,c(e.$t("components.item.combinability")),1),a("div",re,c(e.$t("components.item.combinabSub")),1)]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(g,{ref:"accept",label:e.$t("components.item.combinable.accept"),color:"primary","label-color":"primary",filled:"",multiple:"",modelValue:o.combinable.accept,"onUpdate:modelValue":t[11]||(t[11]=l=>o.combinable.accept=l),options:o.itemsAccept,"popup-content-class":"bg-secondary text-main","use-input":"","use-chips":"","emit-value":"","input-class":"text-main",onFilter:u.filterAccept},null,8,["label","modelValue","options","onFilter"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(g,{class:"text-main",label:e.$t("components.item.combinable.reward"),color:"primary","label-color":"primary",filled:"",modelValue:o.combinable.reward,"onUpdate:modelValue":t[13]||(t[13]=l=>o.combinable.reward=l),options:o.itemsReward,"popup-content-class":"bg-secondary text-main","use-input":"","emit-value":"","input-class":"text-main","input-debounce":"0",onFilter:u.filterReward},L({selected:s(()=>[a("div",ue,c(u.getRewardLabel),1)]),option:s(l=>[i(k,C(x(l.itemProps)),{default:s(()=>[i(w,null,{default:s(()=>[i($,{class:"text-main"},{default:s(()=>[b(c(l.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:2},[o.combinable.reward?{name:"append",fn:s(()=>[i(j,{name:"cancel",onClick:t[12]||(t[12]=z(l=>o.combinable.reward="",["stop","prevent"])),class:"cursor-pointer text-primary"})]),key:"0"}:void 0]),1032,["label","modelValue","options","onFilter"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.text,"onUpdate:modelValue":t[14]||(t[14]=l=>o.combinable.anim.text=l),label:e.$t("components.item.combinable.text")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",class:"q-mt-md",modelValue:o.combinable.anim.timeOut,"onUpdate:modelValue":t[15]||(t[15]=l=>o.combinable.anim.timeOut=l),modelModifiers:{number:!0},label:e.$t("components.item.combinable.timeOut")},null,8,["input-style","modelValue","label"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.lib,"onUpdate:modelValue":t[16]||(t[16]=l=>o.combinable.anim.lib=l),label:e.$t("components.item.combinable.lib")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.dict,"onUpdate:modelValue":t[17]||(t[17]=l=>o.combinable.anim.dict=l),label:e.$t("components.item.combinable.dict")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),a("div",ce,[a("div",de,[i(f,{"text-color":"main",loading:o.pendingSave,color:"primary",onClick:u.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const Se=F(P,[["render",pe]]);export{Se as default};