@mee4dy/crud
Version:
Create a backend and frontend in 5 minutes! With our powerful full stack crud system, customize it to suit you.
1 lines • 6.55 kB
Source Map (JSON)
{"version":3,"file":"getters.cjs","sources":["../../../vuex/store/getters.ts"],"sourcesContent":["import { replacePKItems } from '../../common/helpers/pk.helper';\nimport { ORM } from '../../orm';\nimport * as _ from 'lodash';\n\nexport default {\n getState: (state) => (path) => {\n return _.get(state, path);\n },\n getCtx: (state) => {\n return state.ctx;\n },\n getPK: (state) => {\n return state.pk;\n },\n getItems: (state, getters, globalState, globalGetters) => {\n const includes = getters.getIncludes;\n\n return state.items.map((item) => {\n item.pk = item[state.pk];\n\n for (const include of includes) {\n if (item[include]) {\n const includePK = globalGetters[`${include}/getPK`];\n\n if (includePK) {\n replacePKItems(item[include], includePK);\n }\n }\n }\n\n return item;\n });\n },\n getItemsORM: (state, getters) => {\n if (!getters.getCtx) {\n return [];\n }\n\n const { dispatch, commit } = getters.getCtx;\n const items = _.cloneDeep(getters.getItems);\n const includes = getters.getIncludes;\n\n const itemsORM = new ORM(\n items,\n 'pk',\n {\n update({ pk, data, level }) {\n return dispatch('update', { pk, data, level });\n },\n commit({ pk, data, level }) {\n return commit('update', { pk, data, level });\n },\n delete({ pk, level }) {\n return dispatch('delete', { pk, level });\n },\n },\n includes\n ).getItems();\n\n return itemsORM;\n },\n getIncludes: (state, getters) => {\n return state.includes;\n },\n getFields: (state, getters) => {\n const groups = getters.getGroups.map((group) => group.key);\n const firstItem = state.items?.[0];\n\n return state.fields.filter((field) => {\n return firstItem && (!groups.includes(field.key) || firstItem.hasOwnProperty(field.key));\n });\n },\n getLoading: (state) => state.loading,\n getSelectedFilters: (state, getters) => {\n return state.selectedFilters;\n },\n getSelectedGroups: (state, getters) => {\n return state.selectedGroups;\n },\n getSelectedOrders: (state, getters) => {\n return state.selectedOrders;\n },\n getDefaultFilters: (state, getters) => {\n return state.defaultFilters;\n },\n getDefaultGroups: (state, getters) => {\n return state.defaultGroups;\n },\n getDefaultOrders: (state, getters) => {\n return state.defaultOrders;\n },\n getParams: (state, getters) => {\n const includes = getters.getIncludes;\n const filters = [getters.getSelectedFilters, getters.getDefaultFilters].find((item) => !_.isEmpty(item));\n const groups = [getters.getSelectedGroups, getters.getDefaultGroups].find((item) => !_.isEmpty(item));\n const orders = [getters.getSelectedOrders, getters.getDefaultOrders].find((item) => !_.isEmpty(item));\n\n return {\n includes,\n filters,\n groups,\n orders,\n };\n },\n getEndpoint: (state) => (type, pk) => {\n let endpoint = state?.endpoints?.[type];\n\n if (endpoint) {\n if (pk) {\n endpoint = endpoint.split(':pk').join(pk);\n }\n }\n\n return endpoint;\n },\n getFilters: (state) => {\n return state.filters.map((filter) => {\n if (typeof filter === 'string') {\n filter = {\n key: filter,\n };\n }\n\n if (filter.key === 'pk') {\n filter.key = state.pk;\n }\n\n return filter;\n });\n },\n getGroups: (state) => {\n return state.groups.map((group) => {\n if (typeof group === 'string') {\n group = {\n key: group,\n };\n }\n\n if (group.key === 'pk') {\n group.key = state.pk;\n }\n\n return group;\n });\n },\n getOrders: (state) => {\n return state.orders.map((key) => (key === 'pk' ? state.pk : key));\n },\n};\n"],"names":["getters","state","path","_","globalState","globalGetters","includes","item","include","includePK","replacePKItems","dispatch","commit","items","ORM","pk","data","level","groups","group","firstItem","_a","field","filters","orders","type","endpoint","filter","key"],"mappings":"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"}