UNPKG

yekonga-server

Version:
2 lines (1 loc) 13.3 kB
import{H as i,P as e,p as s,b as t,g as o,o as r,c as n,m as a,q as l,n as u,v as d,h as c,x as m,t as h,B as p,D as f,F as P,s as b,j as w,k as v}from"./vendor.38a5f540.js";import{u as y}from"./index.esm.ef3672ff.js";const g={name:"AuthProfileGroupFormComponent",components:{},setup:function(){return{v$:y()}},computed:i({currentUser:"user"}),props:{oneLine:Boolean,authProfileGroupId:String},watch:{authProfileGroupId:function(i,e){this.resetForm(i,!1)},"$route.params.authProfileGroupId":function(i,e){this.resetForm(i,!1)},form:{deep:!0,handler:function(i){this.uuid?window.VueStorage.setValue("createAuthProfileGroupFormData",i):window.VueStorage.setValue("editAuthProfileGroupFormData",i)}}},data:()=>({locationPickerKey:window.VueStorage.uuid(),formQuery:"{authProfileGroupId,name,description,authProfileGroupPermissions {\n authPermissionId\n }}",formRelatedQuery:"",uuid:null,isEditing:!1,isEditable:!0,loading:!1,processingSubmit:!1,formStatus:!0,submitStatus:null,showProfileFormModal:!1,permissions:{},selectedPermissions:[],form:{name:null,description:null}}),created(){this.uuid=this.$route.params.authProfileGroupId,this.authProfileGroupId&&!this.uuid&&(this.uuid=this.authProfileGroupId),this.fetchPermissions(),this.initData()},mounted(){},validations:()=>({form:{name:{required:e},description:{required:e}}}),methods:{onEdit(){this.isEditable=!this.isEditable},addPermission(i){if(this.isEditable)if(this.selectedPermissions.includes(i)){var e=this.selectedPermissions.indexOf(i);this.selectedPermissions.splice(e,1)}else this.selectedPermissions.push(i)},addPermissionAll(){this.selectedPermissions=[];for(const i in this.permissions)for(const e of this.permissions[i])this.selectedPermissions.push(e.authPermissionId)},addPermissionGroup(i){var e=this.permissions[i];for(const t of e){var s=t.authPermissionId;this.selectedPermissions.includes(s)||this.selectedPermissions.push(t.authPermissionId)}},removePermissionAll(){this.selectedPermissions=[]},removePermissionGroup(i){var e=this.permissions[i];for(const o of e){var s=o.authPermissionId;if(this.selectedPermissions.includes(s)){var t=this.selectedPermissions.indexOf(s);this.selectedPermissions.splice(t,1)}}},addBatchAction(i){let e=[];for(const s in this.permissions)for(const t of this.permissions[s])t.name==i&&e.push(t.authPermissionId);for(const s of e)this.selectedPermissions.includes(s)||this.selectedPermissions.push(s)},removeBatchAction(i){let e=[];for(const t in this.permissions)for(const s of this.permissions[t])s.name==i&&e.push(s.authPermissionId);for(const t of e)if(this.selectedPermissions.includes(t)){var s=this.selectedPermissions.indexOf(t);this.selectedPermissions.splice(s,1)}},fetchPermissions:async function(){var i=await window.ajaxGraphql("query {\n result:authPermissions {\n authPermissionId\n namespace\n group\n name\n description\n isVisible\n }\n }",null);if(i&&i.result)for(let e of i.result)Array.isArray(this.permissions[e.group])||(this.permissions[e.group]=[]),this.permissions[e.group].push(e)},fetchJson:async function(i=!1){i||(this.loading=!0),this.isEditable=!1;var e=await window.ajaxGraphql(`query {authProfileGroup(where:{authProfileGroupId:{equalTo:"${this.uuid}"}})${this.formQuery},${this.formRelatedQuery}}`,null);if(e.authProfileGroup){var s=e.authProfileGroup;for(const i in this.form)Object.prototype.hasOwnProperty.call(this.form,i)&&"uuid"!=i&&"id"!=i&&(this.form[i]=s[i]);if(Array.isArray(s.authProfileGroupPermissions))for(const i of s.authProfileGroupPermissions)this.selectedPermissions.push(i.authPermissionId);this.$emit("update",s),setTimeout((()=>{window.VueStorage.setValue("editAuthProfileGroupFormData",null),window.VueStorage.setValue("editAuthProfileGroupFormDataId",null)}),1e3)}this.loading=!1},initData:async function(){if(this.uuid){this.isEditing=!0;let i=window.VueStorage.getValue("editAuthProfileGroupFormData"),e=window.VueStorage.getValue("editAuthProfileGroupFormDataId");if(i)if(e==this.uuid){if(await window.customConfirm(this.$t("authProfileGroup.alertContinueWhereLeft"))&&e)return void(this.form=i)}else if(e&&await window.customConfirm(this.$t("authProfileGroup.alertContinueWhereLeft")))return this.uuid=e,void(this.form=i);this.fetchJson(!1)}else{let i=window.VueStorage.getValue("createAuthProfileGroupFormData");i&&(await window.customConfirm(this.$t("authProfileGroup.alertContinueWhereLeft"))&&(this.form=i),window.VueStorage.setValue("createAuthProfileGroupFormData",null))}},onSubmit:async function(i){var e=window.copyObject(this.form);if(this.processingSubmit=!0,this.formStatus=!0,this.v$.$touch(),e.authProfileGroupPermissions=this.selectedPermissions.map((i=>({authPermissionId:i}))),this.v$.$invalid)console.error(this.v$.form),setTimeout((()=>{this.submitStatus="ERROR",this.formStatus=!1,this.processingSubmit=!1}),500);else{var s=`mutation ($input:[AuthProfileGroupInput!]) {authProfileGroup:createAuthProfileGroup(input:$input){success,message,data${this.formQuery},${this.formRelatedQuery}}}`;this.isEditing?s=`mutation ($input:AuthProfileGroupInput!) {authProfileGroup:updateAuthProfileGroup(where:{authProfileGroupId:{equalTo:"${this.uuid}"}},input:$input){status,message,data${this.formQuery},${this.formRelatedQuery}}}`:e=[e];var t=await window.ajaxGraphql(s,{input:e});if(t&&t.authProfileGroup){var o=t.authProfileGroup;this.isEditing=!0,!this.uuid&&o.data&&o.data.authProfileGroupId&&(this.uuid=o.data.authProfileGroupId),this.submitStatus="OK",this.formStatus=!0,this.resetForm(this.uuid,!0)}else this.submitStatus="ERROR",this.formStatus=!1;this.processingSubmit=!1}},resetForm:function(i,e){if(this.processingSubmit=!1,this.locationPickerKey=window.VueStorage.uuid(),this.v$.$reset(),this.uuid=i,this.uuid)this.isEditing=!0,this.fetchJson(e);else{for(const i in this.form)Object.prototype.hasOwnProperty.call(this.form,i)&&(this.form[i]=null);window.VueStorage.setValue("createAuthProfileGroupFormData",null),this.isEditing=!1,setTimeout((()=>{this.submitStatus=null,this.formStatus=!1}),3e3)}},update(){this.$emit("update",this.authProfileGroup)}}};s("data-v-0f03b9a2");const k={key:0,class:"text-primary"},G=["placeholder"],$={key:0,class:"invalid-feedback"},A={key:0},S={key:0,class:"invalid-feedback"},C={class:"clearfix mb-3"},I={class:"d-flex justify-content-between separator pb-2"},x={class:"h5 col"},B=m(" Permissions "),E={key:0,class:"col text-end"},V={class:"btn-group"},F=c("button",{class:"btn btn-outline-primary dropdown-toggle py-0 px-2",type:"button",id:"dropdownMenuBatchAdd","data-bs-toggle":"dropdown","aria-expanded":"false"}," Batch add ",-1),D={class:"dropdown-menu rounded-0","aria-labelledby":"dropdownMenuBatchAdd"},R={class:"btn-group ms-2"},q=c("button",{class:"btn btn-outline-dark dropdown-toggle py-0 px-2",type:"button",id:"dropdownMenuBatchRemove","data-bs-toggle":"dropdown","aria-expanded":"false"}," Batch remove ",-1),L={class:"dropdown-menu rounded-0","aria-labelledby":"dropdownMenuBatchRemove"},O={class:"row"},j={class:"h6 text-primary"},Q=["onClick"],M=[c("i",{class:"ye ye-plus"},null,-1)],T=["onClick"],_=[c("i",{class:"ye ye-minus"},null,-1)],J=["onClick"],K=["checked"],U=["for"];t(),g.render=function(i,e,s,t,y,g){o("processing-alert");const W=o("processing-block"),H=o("submit-button");return o("processing"),r(),n("div",{class:d(["needs-validation",{"was-validated":null!=y.submitStatus}]),novalidate:""},[(y.processingSubmit,l("",!0)),y.loading?(r(),a(W,{key:1})):l("",!0),y.loading?l("",!0):(r(),n("form",{key:2,class:"form",onSubmit:e[23]||(e[23]=u(((...i)=>g.onSubmit&&g.onSubmit(...i)),["prevent"]))},[i.$isPermitted("authProfileGroup.field.name")?(r(),n("div",{key:0,class:d(["form-group form-custom-style mb-3",{"is-invalid":i.v$.form.name.$error,row:s.oneLine}])},[c("label",{class:d(["form-label mb-1",{"col-sm-4 col-form-label text-end":s.oneLine}])},[m(h(i.$t("authProfileGroup.name"))+": ",1),y.isEditable?l("",!0):(r(),n("span",k,h(y.form.name),1))],2),y.isEditable?(r(),n("div",{key:0,class:d({col:s.oneLine})},[p(c("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=e=>i.v$.form.name.$model=e),class:"form-control",placeholder:i.$t("authProfileGroup.name")},null,8,G),[[f,i.v$.form.name.$model]]),i.v$.form.name.$error?(r(),n("div",$,h(i.$t("authProfileGroup.nameRequired")),1)):l("",!0)],2)):l("",!0)],2)):l("",!0),i.$isPermitted("authProfileGroup.field.description")?(r(),n("div",{key:1,class:d(["form-group form-custom-style mb-3",{"is-invalid":i.v$.form.description.$error,row:s.oneLine}])},[c("label",{class:d(["form-label mb-1",{"col-sm-4 col-form-label text-end":s.oneLine}])},[m(h(i.$t("authProfileGroup.description"))+": ",1),y.isEditable?l("",!0):(r(),n("span",A,h(y.form.description),1))],2),y.isEditable?(r(),n("div",{key:0,class:d({col:s.oneLine})},[p(c("textarea",{class:"form-control rounded-0","onUpdate:modelValue":e[1]||(e[1]=e=>i.v$.form.description.$model=e)},null,512),[[f,i.v$.form.description.$model]]),i.v$.form.description.$error?(r(),n("div",S,h(i.$t("authProfileGroup.descriptionRequired")),1)):l("",!0)],2)):l("",!0)],2)):l("",!0),c("div",C,[c("div",I,[c("div",x,[B,y.isEditable?(r(),n(P,{key:0},[c("span",{onClick:e[2]||(e[2]=i=>g.addPermissionAll()),class:"btn btn-outline-dark py-0 px-2 me-2"},"Add"),c("span",{onClick:e[3]||(e[3]=i=>g.removePermissionAll()),class:"btn btn-outline-primary py-0 px-2"},"Remove all")],64)):l("",!0)]),y.isEditable?(r(),n("div",E,[c("div",V,[F,c("ul",D,[c("li",null,[c("span",{onClick:e[4]||(e[4]=i=>g.addBatchAction("create")),class:"dropdown-item",href:"#"},"Create")]),c("li",null,[c("span",{onClick:e[5]||(e[5]=i=>g.addBatchAction("edit")),class:"dropdown-item",href:"#"},"Edit")]),c("li",null,[c("span",{onClick:e[6]||(e[6]=i=>g.addBatchAction("import")),class:"dropdown-item",href:"#"},"Import")]),c("li",null,[c("span",{onClick:e[7]||(e[7]=i=>g.addBatchAction("information")),class:"dropdown-item",href:"#"},"View info")]),c("li",null,[c("span",{onClick:e[8]||(e[8]=i=>g.addBatchAction("delete")),class:"dropdown-item",href:"#"},"Delete")]),c("li",null,[c("span",{onClick:e[9]||(e[9]=i=>g.addBatchAction("list")),class:"dropdown-item",href:"#"},"See list")]),c("li",null,[c("span",{onClick:e[10]||(e[10]=i=>g.addBatchAction("download")),class:"dropdown-item",href:"#"},"Download")]),c("li",null,[c("span",{onClick:e[11]||(e[11]=i=>g.addBatchAction("summary")),class:"dropdown-item",href:"#"},"Summary")]),c("li",null,[c("span",{onClick:e[12]||(e[12]=i=>g.addBatchAction("action")),class:"dropdown-item",href:"#"},"Actions")])])]),c("div",R,[q,c("ul",L,[c("li",null,[c("span",{onClick:e[13]||(e[13]=i=>g.removeBatchAction("create")),class:"dropdown-item",href:"#"},"Create")]),c("li",null,[c("span",{onClick:e[14]||(e[14]=i=>g.removeBatchAction("edit")),class:"dropdown-item",href:"#"},"Edit")]),c("li",null,[c("span",{onClick:e[15]||(e[15]=i=>g.removeBatchAction("import")),class:"dropdown-item",href:"#"},"Import")]),c("li",null,[c("span",{onClick:e[16]||(e[16]=i=>g.removeBatchAction("information")),class:"dropdown-item",href:"#"},"View info")]),c("li",null,[c("span",{onClick:e[17]||(e[17]=i=>g.removeBatchAction("delete")),class:"dropdown-item",href:"#"},"Delete")]),c("li",null,[c("span",{onClick:e[18]||(e[18]=i=>g.removeBatchAction("list")),class:"dropdown-item",href:"#"},"See list")]),c("li",null,[c("span",{onClick:e[19]||(e[19]=i=>g.removeBatchAction("download")),class:"dropdown-item",href:"#"},"Download")]),c("li",null,[c("span",{onClick:e[20]||(e[20]=i=>g.removeBatchAction("summary")),class:"dropdown-item",href:"#"},"Summary")]),c("li",null,[c("span",{onClick:e[21]||(e[21]=i=>g.removeBatchAction("action")),class:"dropdown-item",href:"#"},"Actions")])])])])):l("",!0)]),c("div",O,[(r(!0),n(P,null,b(y.permissions,((i,e)=>(r(),n("div",{class:"col-4 pt-3",key:e},[c("div",j,[m(h(e)+" ",1),y.isEditable?(r(),n(P,{key:0},[c("span",{onClick:i=>g.addPermissionGroup(e),class:"btn btn-outline-dark py-0 px-2 me-2"},M,8,Q),c("span",{onClick:i=>g.removePermissionGroup(e),class:"btn btn-outline-primary py-0 px-2"},_,8,T)],64)):l("",!0)]),(r(!0),n(P,null,b(i,((i,e)=>(r(),n(P,null,[y.isEditable||!y.isEditable&&y.selectedPermissions.includes(i.authPermissionId)?(r(),n("div",{onClick:e=>g.addPermission(i.authPermissionId),class:"form-check",key:e},[c("input",{disabled:!0,class:"form-check-input",type:"checkbox",checked:y.selectedPermissions.includes(i.authPermissionId)},null,8,K),c("label",{class:"form-check-label",for:`${i.group}.${i.name}`},h(i.description),9,U)],8,J)):l("",!0)],64)))),256))])))),128))])]),y.isEditable?(r(),n("div",{key:2,class:d({row:s.oneLine})},[i.$isPermitted("authProfileGroup.create")?(r(),n("div",{key:0,class:d(["clearfix",{"col offset-sm-4":s.oneLine}])},[l("",!0),w(H,{class:"",btnVariant:"primary",processing:y.processingSubmit,status:y.formStatus},{default:v((()=>[m(h(i.$t("general.save")),1)])),_:1},8,["processing","status"]),y.isEditing?l("",!0):(r(),n("button",{key:1,class:"btn btn-secondary ms-3",type:"reset",onClick:e[22]||(e[22]=i=>g.resetForm(null,!0))},h(i.$t("general.reset")),1)),l("",!0)],2)):l("",!0)],2)):l("",!0)],32))],2)},g.__scopeId="data-v-0f03b9a2";export{g as _};