{"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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"}