@mee4dy/crud
Version:
Create a backend and frontend in 5 minutes! With our powerful full stack crud system, customize it to suit you.
3 lines (2 loc) • 2.19 kB
JavaScript
;const p=require("../../common/helpers/pk.helper.cjs"),g=require("../../orm/orm.cjs"),f=require("lodash");require("deep-object-diff");function a(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const l=a(f),m={getState:e=>t=>l.get(e,t),getCtx:e=>e.ctx,getPK:e=>e.pk,getItems:(e,t,n,r)=>{const u=t.getIncludes;return e.items.map(s=>{s.pk=s[e.pk];for(const c of u)if(s[c]){const i=r[`${c}/getPK`];i&&p.replacePKItems(s[c],i)}return s})},getItemsORM:(e,t)=>{if(!t.getCtx)return[];const{dispatch:n,commit:r}=t.getCtx,u=l.cloneDeep(t.getItems),s=t.getIncludes;return new g.ORM(u,"pk",{update({pk:i,data:o,level:d}){return n("update",{pk:i,data:o,level:d})},commit({pk:i,data:o,level:d}){return r("update",{pk:i,data:o,level:d})},delete({pk:i,level:o}){return n("delete",{pk:i,level:o})}},s).getItems()},getIncludes:(e,t)=>e.includes,getFields:(e,t)=>{var u;const n=t.getGroups.map(s=>s.key),r=(u=e.items)==null?void 0:u[0];return e.fields.filter(s=>r&&(!n.includes(s.key)||r.hasOwnProperty(s.key)))},getLoading:e=>e.loading,getSelectedFilters:(e,t)=>e.selectedFilters,getSelectedGroups:(e,t)=>e.selectedGroups,getSelectedOrders:(e,t)=>e.selectedOrders,getDefaultFilters:(e,t)=>e.defaultFilters,getDefaultGroups:(e,t)=>e.defaultGroups,getDefaultOrders:(e,t)=>e.defaultOrders,getParams:(e,t)=>{const n=t.getIncludes,r=[t.getSelectedFilters,t.getDefaultFilters].find(c=>!l.isEmpty(c)),u=[t.getSelectedGroups,t.getDefaultGroups].find(c=>!l.isEmpty(c)),s=[t.getSelectedOrders,t.getDefaultOrders].find(c=>!l.isEmpty(c));return{includes:n,filters:r,groups:u,orders:s}},getEndpoint:e=>(t,n)=>{var u;let r=(u=e==null?void 0:e.endpoints)==null?void 0:u[t];return r&&n&&(r=r.split(":pk").join(n)),r},getFilters:e=>e.filters.map(t=>(typeof t=="string"&&(t={key:t}),t.key==="pk"&&(t.key=e.pk),t)),getGroups:e=>e.groups.map(t=>(typeof t=="string"&&(t={key:t}),t.key==="pk"&&(t.key=e.pk),t)),getOrders:e=>e.orders.map(t=>t==="pk"?e.pk:t)};module.exports=m;
//# sourceMappingURL=getters.cjs.map