forked from Simnation/Main
1 line
9.2 KiB
JavaScript
1 line
9.2 KiB
JavaScript
import{_ as S,o as g,X as p,a7 as s,a as t,w as r,a6 as _,ab as h,r as N,a5 as u,U as m,a9 as f,Y as y,Z as v,W as V,S as I,aT as U,bG as B,bH as Q}from"./app-014d9ed9.js";import{Q as $}from"./QForm.8d79ab03.js";import{Q as C}from"./QTooltip.9d840032.js";import{Q as x}from"./QMarkupTable.ba6854cc.js";import{B as q}from"./BasicDialog.9dd9de92.js";import{S as O,m as F}from"./move.a5bc0ce3.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";const j={name:"GangCreate",data(){return{defaults:["name","grades","label"],customVars:[],sortable:null,pendingSave:!1,gang:{name:"",grades:{},label:""},gangGrades:[]}},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 l=this.customVars.indexOf(e);l>-1&&this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(l,1)})},removeNode(e){e.parentElement!==null&&e.parentElement.removeChild(e)},insertNodeAt(e,l,o){const d=o===0?e.children[0]:e.children[o-1].nextSibling;e.insertBefore(l,d)},buildGangGrade(e){let l=[];for(const[o,d]of Object.entries(e))l.push({name:d.name,isboss:d.isboss?d.isboss:!1});return l},updateBoss(){},addGrade(){this.gangGrades.push({name:"",isboss:!1})},removeGrade(e){const l=this.gangGrades.indexOf(e);l>-1&&this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteGradeMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.gangGrades.splice(l,1)})},trySave(){this.$refs.gangForm.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.gang.msg.error.missingFields")});return}this.$refs.customVarForm.validate().then(l=>{if(!l){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.uniqueVars")});return}this.customVars.forEach(d=>{!d.name||(this.gang[d.name]=this.isNumeric(d.value)?Number(d.value):this.isBoolean(d.value))});let o={};for(const[d,i]of Object.entries(this.gangGrades)){if(!i.name)continue;const c=Object.keys(o).length;i.isboss?o[c]={name:i.name,isboss:!0}:o[c]={name:i.name}}if(Object.keys(o).length===0){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.gradeNeeded")});return}this.pendingSave=!0,this.gang.grades=o,this.$axios.post("/api/gangs/create",this.gang).then(d=>{if(this.pendingSave=!1,!d.data.resCode){const c=d.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.gang.msg.error.${c}`,{name:this.gang.name})});return}Object.keys(o).length!==this.gangGrades.length&&(this.gangGrades=this.buildGangGrade(this.gang.grades)),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-gang-list"})}).catch(d=>{})})})}},mounted(){const e=this.$el.querySelector(".q-table > draggable"),l=this;this.sortable=O.create(e,{handle:".drag-handle",animation:150,onEnd(o){o.oldIndex!==o.newIndex&&(l.removeNode(o.item),l.insertNodeAt(o.from,o.item,o.oldIndex),F(l.gangGrades,o.oldIndex,o.newIndex))}})},beforeUnmount(){this.sortable.destroy()}},w=e=>(B("data-v-bd31e4ed"),e=e(),Q(),e),E={class:"row"},M={class:"col-12"},T={class:"q-ma-sm row"},z={class:"text-h6"},A={class:"col-12"},H={class:"q-ma-sm row"},L={class:"row"},D={class:"text-h6"},P={class:"text-caption text-sub"},W={class:"q-ml-auto"},X={style:{width:"30px"},class:"text-right vertical-middle"},Y={class:"col-12"},Z={class:"q-ma-sm row"},J={class:"row"},K={class:"text-h6"},R={class:"text-caption text-sub"},ee={class:"q-ml-auto"},se=w(()=>s("th",{class:"text-left",style:{width:"30px"}},null,-1)),te={class:"text-left",style:{"min-width":"280px"}},ae={class:"text-center",style:{"min-width":"30px"}},le=w(()=>s("th",{class:"text-right",style:{width:"30px"}},null,-1)),ne={class:"text-left"},oe={class:"text-center vertical-middle"},re={class:"text-right vertical-middle"},ie={class:"col-12"},de={class:"q-ma-sm row justify-end"};function ce(e,l,o,d,i,c){const G=N("draggable");return g(),p("div",E,[s("div",M,[s("div",T,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",z,m(e.$t("components.gangCreate.new"))+":",1)]),_:1}),t(u,{class:"col-12 col-md-6"},{default:r(()=>[t($,{ref:"gangForm"},{default:r(()=>[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:i.gang.name,"onUpdate:modelValue":l[0]||(l[0]=a=>i.gang.name=a),onChange:l[1]||(l[1]=a=>{i.gang.name=a.toLowerCase()}),label:e.$t("components.gang.name"),rules:[a=>a&&a.length>0||e.$t("rules.required"),a=>a&&!/\s/.test(a)||e.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"])]),_:1},512)]),_:1}),t(u,{class:"col-12 col-md-6"},{default:r(()=>[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:i.gang.label,"onUpdate:modelValue":l[2]||(l[2]=a=>i.gang.label=a),label:e.$t("components.gang.label")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),s("div",A,[s("div",H,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",L,[s("div",null,[s("div",D,m(e.$t("components.gang.customVariables")),1),s("div",P,m(e.$t("components.gang.customVarSub")),1)]),s("div",W,[t(h,{"text-color":"main",color:"primary",label:e.$t("components.gang.addCustomVar"),onClick:c.addCustomVar},null,8,["label","onClick"])])])]),_:1}),t(u,{class:"col-12"},{default:r(()=>[t($,{ref:"customVarForm"},{default:r(()=>[t(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[s("tbody",null,[(g(!0),p(y,null,v(i.customVars,(a,b)=>(g(),p("tr",{key:`${b}-customVar`},[s("td",null,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.name,"onUpdate:modelValue":n=>a.name=n,label:e.$t("components.gang.customVarName"),"lazy-rules":"",rules:[n=>n&&n.length>0||e.$t("rules.required"),n=>n&&!/\s/.test(n)||e.$t("rules.noSpace"),n=>n&&i.customVars.filter(k=>k.name===n).length<=1||e.$t("rules.unique"),n=>n&&!i.defaults.includes(n.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),s("td",null,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,label:e.$t("components.gang.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),s("td",X,[t(h,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeVar(a)},{default:r(()=>[t(C,null,{default:r(()=>[V(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),s("div",Y,[s("div",Z,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",J,[s("div",null,[s("div",K,m(e.$t("components.gang.grades")),1),s("div",R,m(e.$t("components.gang.gradesSub")),1)]),s("div",ee,[t(h,{"text-color":"main",color:"primary",label:e.$t("components.gang.addGrade"),onClick:c.addGrade},null,8,["label","onClick"])])])]),_:1}),t(u,{class:"col-12"},{default:r(()=>[t(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[s("thead",null,[s("tr",null,[se,s("th",te,m(e.$t("components.gang.headers.name")),1),s("th",ae,m(e.$t("components.gang.headers.isboss")),1),le])]),t(G,{modelValue:i.gangGrades,"onUpdate:modelValue":l[3]||(l[3]=a=>i.gangGrades=a),style:{display:"table-row-group"},tag:"tbody"},{default:r(()=>[(g(!0),p(y,null,v(i.gangGrades,(a,b)=>(g(),p("tr",{class:"grade-table",key:`${a.isboss}-${b}`},[s("td",null,[t(I,{name:"fas fa-bars",class:"drag-handle"})]),s("td",ne,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",label:e.$t("components.gang.headers.name"),modelValue:a.name,"onUpdate:modelValue":n=>a.name=n},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),s("td",oe,[t(U,{onClick:n=>c.updateBoss(a,b),modelValue:a.isboss,"onUpdate:modelValue":n=>a.isboss=n},null,8,["onClick","modelValue","onUpdate:modelValue"])]),s("td",re,[t(h,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeGrade(a)},{default:r(()=>[t(C,null,{default:r(()=>[V(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),s("div",ie,[s("div",de,[t(h,{"text-color":"main",loading:i.pendingSave,color:"primary",onClick:c.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const ve=S(j,[["render",ce],["__scopeId","data-v-bd31e4ed"]]);export{ve as default};
|