{"version":3,"file":"cataloguesStore.mjs","sources":["../../../lib/store/modules/cataloguesStore.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable no-param-reassign,no-unused-vars,consistent-return,no-console */\n\nconst RESULTS_PER_PAGE = 10;\n// const RESULTS_PER_PAGE = GLUE_CONFIG.routing.pagination.defaultItemsPerPage;\n\nconst state = {\n  /**\n   * @property catalogs\n   * @type Array\n   * @description An array of catalogs.\n   */\n  catalogs: [],\n  datasetCounts: {},\n  loading: false,\n  searchParameters: {\n    query: '',\n    fields: undefined, \n    limit: RESULTS_PER_PAGE,\n    offset: 0,\n    facets: [],\n    facetOperator: 'AND',\n    facetGroupOperator: 'AND',\n    sort: 'relevance+desc,modified+desc,title+asc',\n  },\n  availableFacets: [],\n  page: 1,\n  pageCount: 1,\n  catalogsCount: 0,\n};\n\nconst GETTERS = {\n  getCatalogs: state => state.catalogs,\n  getCatalogsCount: state => state.catalogsCount,\n  getQuery: state => state.searchParameters.query,\n  getFields: state => state.searchParameters.fields,\n  getLimit: state => state.searchParameters.limit,\n  getLoading: state => state.loading,\n  getOffset: state => state.searchParameters.offset,\n  getFacets: state => state.searchParameters.facets,\n  getFacetOperator: state => state.searchParameters.facetOperator,\n  getFacetGroupOperator: state => state.searchParameters.facetGroupOperator,\n  getAvailableFacets: state => {\n    return [...state.availableFacets,\n      {\n        id: 'erpd',\n        items: [\n          { count: undefined, id: 'true', title: 'yes' },\n          { count: undefined, id: 'false', title: 'no' },\n        ],\n        title: 'ERPD',\n      }\n    ];\n  },\n  getPage: state => state.page,\n  getPageCount: state => state.pageCount,\n  getSort: state => state.searchParameters.sort,\n};\n\nconst actions = {\n  /**\n   * @description Load all catalogs matching the given parameters.\n   * @param commit\n   * @param state\n   * @param options {Object} - Given search parameters\n   * @param options.query {String} - The given query string\n   * @param options.fields {String} - The given fields\n   * @param options.facets {Array} - The active facets\n   * @param options.limit {Number} - The maximum amount of catalogs to fetch\n   * @param options.page {Number} - The current page\n   * @param options.sort {String} - The sort method to use\n   * @param options.append {Boolean} - Decides whether current catalogs in state will be replaced or fetched catalogs appended.\n   */\n  loadCatalogs(\n    { commit, state },\n    {\n      query = GETTERS.getQuery(state),\n      fields = GETTERS.getFields(state),\n      limit = GETTERS.getLimit(state),\n      page = GETTERS.getPage(state),\n      sort = GETTERS.getSort(state),\n      facetOperator = GETTERS.getFacetOperator(state),\n      facetGroupOperator = GETTERS.getFacetGroupOperator(state),\n      facets = GETTERS.getFacets(state),\n      append = false,\n    },\n  ) {\n    commit('SET_LOADING', true);\n    return new Promise((resolve, reject) => {\n      this.$catalogService.get(query, fields, limit, page, sort, facetOperator, facetGroupOperator, facets)\n        .then((response) => {\n          commit('SET_FIELDS', response.fields); // FIX THis\n          commit('SET_AVAILABLE_FACETS', response.availableFacets);\n          commit('SET_catalogS_COUNT', response.catalogsCount);\n          if (append) commit('ADD_catalogS', response.catalogs);\n          else commit('SET_catalogS', response.catalogs);\n          commit('SET_LOADING', false);\n          resolve();\n        })\n        .catch((error) => {\n          console.error(error);\n          commit('SET_LOADING', false);\n          reject(error);\n        });\n    });\n  },\n  /**\n   * @description Loads more catalogs.\n   * @param commit\n   * @param state\n   * @param {number} amount - The amount of catalogs to add.\n   */\n  loadAdditionalCatalogs({ commit, state }) {\n    // const offset = GETTERS.getOffset(state) + amount;\n    // commit('SET_OFFSET', offset);\n    const page = GETTERS.getPage(state);\n    // const catalogsCount = GETTERS.getCatalogsCount(state);\n    // If there are no more catalogs to load, cancel.\n    // if (offset < catalogsCount) {\n    // actions.loadCatalogs({ commit, state }, { offset, append: true });\n    // }\n    actions.loadCatalogs({ commit, state }, { page, append: true });\n  },\n  /**\n   * @description Autocomplete a query String by using a autocompletion service\n   * @param commit\n   * @param q {String} The Query to autocomplete\n   */\n  autocompleteQuery({ commit }, q) {\n    // If autocomplete function does not exist in this service -> Abort\n    if (typeof this.$catalogService.autocomplete !== 'function') return;\n    return new Promise((resolve, reject) => {\n      this.$catalogService.autocomplete(q)\n        .then((response) => {\n          resolve(response);\n        })\n        .catch((error) => {\n          reject(error);\n        });\n    });\n  },\n  /**\n   * @description Replace the current state facets by the given facets\n   * @param commit\n   * @param facets {Array} - The given facets\n   */\n  setFacets({ commit }, facets) {\n    if (facets) commit('SET_FACETS', facets);\n  },\n  /**\n   * @description Add the given facet to the states facets.\n   * @param commit\n   * @param params {Object} - The wrapped action parameters.\n   * @param params.field {String} - The field of the given facet\n   * @param params.facet {String} - The facet to add\n   */\n  addFacet({ commit }, { field, facet }) {\n    commit('ADD_FACET', { field, facet });\n  },\n  /**\n   * @description Remove the given facet from the states facets.\n   * @param commit\n   * @param params {Object} - The wrapped action parameters.\n   * @param params.field {String} - The field of the given facet\n   * @param params.facet {String} - The facet to remove\n   */\n  removeFacet({ commit }, { field, facet }) {\n    commit('REMOVE_FACET', { field, facet });\n  },\n  /**\n   * @description Remove the given facet from the states facets.\n   * @param commit\n   * @param operator {String} - The facet operator to set. Possible Operators : ['AND', 'OR'].\n   */\n  setFacetOperator({ commit }, operator) {\n    commit('SET_FACET_OPERATOR', operator);\n  },\n  /**\n   * @description Remove the given facet from the states facets.\n   * @param commit\n   * @param operator {String} - The facet operator to set. Possible Operators : ['AND', 'OR'].\n   */\n  setFacetGroupOperator({ commit }, operator) {\n    commit('SET_FACET_GROUP_OPERATOR', operator);\n  },\n  /**\n   * @description Handles page changes by through URL query.\n   * @param commit\n   * @param state\n   * @param page {String} The given page number as a String\n   */\n  setPage({ commit }, page) {\n    commit('SET_PAGE', page);\n  },\n  setPageCount({ commit }, count) {\n    commit('SET_PAGE_COUNT', count);\n  },\n  /**\n   * @description Replace the current state query by the given query\n   * @param commit\n   * @param query {String} - The given query\n   */\n  setQuery({ commit }, query) {\n    commit('SET_QUERY', query);\n  },\n  setFields({ commit }, fields) {\n    commit('SET_FIELDS', fields);\n  },\n  /**\n   * @description Replace the current sort method\n   * @param commit\n   * @param sort {String} - The given sort method to use now\n   */\n  setSort({ commit }, sort) {\n    commit('SET_SORT', sort);\n  },\n  setLimit({ commit }, amount = RESULTS_PER_PAGE) {\n    commit('SET_LIMIT', amount);\n  },\n  setLoading({ commit }, isLoading) {\n    commit('SET_LOADING', isLoading);\n  },\n  setCatalogs({ commit }, catalogs) {\n    commit('SET_catalogS', catalogs);\n  },\n  setCatalogsCount({ commit }, count) {\n    commit('SET_catalogS_COUNT', count);\n  }\n};\n\nconst mutations = {\n  SET_catalogS(state, data) {\n    state.catalogs = data;\n  },\n  ADD_catalogS(state, data) {\n    state.catalogs = state.catalogs.concat(data);\n  },\n  SET_LIMIT(state, limit) {\n    state.searchParameters.limit = limit;\n  },\n  SET_OFFSET(state, offset) {\n    state.searchParameters.offset = offset;\n  },\n  SET_FACETS(state, facets) {\n    state.searchParameters.facets = facets;\n  },\n  ADD_FACET(state, { field, facet }) {\n    // If the facetField is not defined in state..\n    if (!Object.prototype.hasOwnProperty.call(state.searchParameters.facets, field)) {\n      // ..define it by assigning an array containing {value} in it\n      state.searchParameters.facets[field] = [facet];\n    } else {\n      state.searchParameters.facets[field].push(facet);\n    }\n  },\n  REMOVE_FACET(state, { field, facet }) {\n    const index = state.searchParameters.facets[field].indexOf(facet);\n    state.searchParameters.facets[field].splice(index, 1);\n  },\n  SET_AVAILABLE_FACETS(state, facets) {\n    state.availableFacets = facets;\n  },\n  SET_catalogS_COUNT(state, catalogsCount) {\n    state.catalogsCount = catalogsCount;\n  },\n  SET_FACET_OPERATOR(state, operator) {\n    state.searchParameters.facetOperator = operator;\n  },\n  SET_FACET_GROUP_OPERATOR(state, operator) {\n    state.searchParameters.facetGroupOperator = operator;\n  },\n  SET_PAGE(state, page) {\n    state.page = page;\n  },\n  SET_PAGE_COUNT(state, count) {\n    state.pageCount = count;\n  },\n  SET_QUERY(state, query) {\n    state.searchParameters.query = query;\n  },\n  SET_FIELDS(state, fields) {\n    state.searchParameters.fields = fields;\n  },\n  SET_SORT(state, sort) {\n    state.searchParameters.sort = sort;\n  },\n  SET_LOADING(state, isLoading) {\n    state.loading = isLoading;\n  },\n};\n\nconst module = {\n  namespaced: true,\n  state,\n  actions,\n  mutations,\n  getters: GETTERS,\n};\n\nexport default module;\n"],"names":["state","GETTERS","actions","commit","query","fields","limit","page","sort","facetOperator","facetGroupOperator","facets","append","resolve","reject","response","error","q","field","facet","operator","count","amount","isLoading","catalogs","mutations","data","offset","index","catalogsCount","module"],"mappings":"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"}