@empathyco/x-components 7.4.0 → 7.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/browse/index.d.ts +1 -0
  3. package/browse/index.js +15 -0
  4. package/core/index.js.map +1 -1
  5. package/docs/API-reference/api/x-components.browseactioncontext.md +15 -0
  6. package/docs/API-reference/api/x-components.browseactions.cancelfetchandsavebrowseresponse.md +13 -0
  7. package/docs/API-reference/api/x-components.browseactions.fetchandsavebrowseresponse.md +13 -0
  8. package/docs/API-reference/api/x-components.browseactions.fetchandsaveresultsenrichment.md +13 -0
  9. package/docs/API-reference/api/x-components.browseactions.fetchbrowseresponse.md +13 -0
  10. package/docs/API-reference/api/x-components.browseactions.increasepageappendingresults.md +18 -0
  11. package/docs/API-reference/api/x-components.browseactions.md +210 -0
  12. package/docs/API-reference/api/x-components.browseactions.resetrequestonrefinement.md +13 -0
  13. package/docs/API-reference/api/x-components.browseactions.savebrowseresponse.md +13 -0
  14. package/docs/API-reference/api/x-components.browseactions.saveorigin.md +13 -0
  15. package/docs/API-reference/api/x-components.browseactions.seturlparams.md +13 -0
  16. package/docs/API-reference/api/x-components.browseconfig.md +75 -0
  17. package/docs/API-reference/api/x-components.browseconfig.pagemode.md +11 -0
  18. package/docs/API-reference/api/x-components.browseconfig.pagesize.md +13 -0
  19. package/docs/API-reference/api/x-components.browsegetters.md +58 -0
  20. package/docs/API-reference/api/x-components.browsegetters.request.md +13 -0
  21. package/docs/API-reference/api/x-components.browsemutations.appendresults.md +13 -0
  22. package/docs/API-reference/api/x-components.browsemutations.md +458 -0
  23. package/docs/API-reference/api/x-components.browsemutations.resetstate.md +13 -0
  24. package/docs/API-reference/api/x-components.browsemutations.resetstateforreload.md +13 -0
  25. package/docs/API-reference/api/x-components.browsemutations.setbanners.md +13 -0
  26. package/docs/API-reference/api/x-components.browsemutations.setbrowsetagging.md +13 -0
  27. package/docs/API-reference/api/x-components.browsemutations.setdisplaybrowsetagging.md +13 -0
  28. package/docs/API-reference/api/x-components.browsemutations.setfacets.md +13 -0
  29. package/docs/API-reference/api/x-components.browsemutations.setfromnoresultswithfilters.md +13 -0
  30. package/docs/API-reference/api/x-components.browsemutations.setisappendresults.md +13 -0
  31. package/docs/API-reference/api/x-components.browsemutations.setisnoresults.md +13 -0
  32. package/docs/API-reference/api/x-components.browsemutations.setorigin.md +13 -0
  33. package/docs/API-reference/api/x-components.browsemutations.setpage.md +13 -0
  34. package/docs/API-reference/api/x-components.browsemutations.setparams.md +13 -0
  35. package/docs/API-reference/api/x-components.browsemutations.setpromoteds.md +13 -0
  36. package/docs/API-reference/api/x-components.browsemutations.setresults.md +13 -0
  37. package/docs/API-reference/api/x-components.browsemutations.setselectedcategory.md +13 -0
  38. package/docs/API-reference/api/x-components.browsemutations.setselectedfilters.md +13 -0
  39. package/docs/API-reference/api/x-components.browsemutations.setsort.md +13 -0
  40. package/docs/API-reference/api/x-components.browsemutations.setstats.md +13 -0
  41. package/docs/API-reference/api/x-components.browsemutations.settotalresults.md +13 -0
  42. package/docs/API-reference/api/x-components.browsemutations.updateresult.md +13 -0
  43. package/docs/API-reference/api/x-components.browsemutations.updateresultsfromenrichment.md +13 -0
  44. package/docs/API-reference/api/x-components.browserequest.md +13 -0
  45. package/docs/API-reference/api/x-components.browseresultslist.md +31 -0
  46. package/docs/API-reference/api/x-components.browsesortpickerlist.md +45 -0
  47. package/docs/API-reference/api/x-components.browsestate.banners.md +13 -0
  48. package/docs/API-reference/api/x-components.browsestate.browsetagging.md +13 -0
  49. package/docs/API-reference/api/x-components.browsestate.config.md +13 -0
  50. package/docs/API-reference/api/x-components.browsestate.displaybrowsetagging.md +13 -0
  51. package/docs/API-reference/api/x-components.browsestate.facets.md +13 -0
  52. package/docs/API-reference/api/x-components.browsestate.fromnoresultswithfilters.md +13 -0
  53. package/docs/API-reference/api/x-components.browsestate.isappendresults.md +13 -0
  54. package/docs/API-reference/api/x-components.browsestate.isnoresults.md +13 -0
  55. package/docs/API-reference/api/x-components.browsestate.md +382 -0
  56. package/docs/API-reference/api/x-components.browsestate.origin.md +13 -0
  57. package/docs/API-reference/api/x-components.browsestate.page.md +13 -0
  58. package/docs/API-reference/api/x-components.browsestate.params.md +13 -0
  59. package/docs/API-reference/api/x-components.browsestate.promoteds.md +13 -0
  60. package/docs/API-reference/api/x-components.browsestate.results.md +13 -0
  61. package/docs/API-reference/api/x-components.browsestate.selectedcategory.md +13 -0
  62. package/docs/API-reference/api/x-components.browsestate.selectedfilters.md +13 -0
  63. package/docs/API-reference/api/x-components.browsestate.sort.md +13 -0
  64. package/docs/API-reference/api/x-components.browsestate.stats.md +13 -0
  65. package/docs/API-reference/api/x-components.browsestate.totalresults.md +13 -0
  66. package/docs/API-reference/api/x-components.browsexevents.browserequestchanged.md +13 -0
  67. package/docs/API-reference/api/x-components.browsexevents.browserequestupdated.md +18 -0
  68. package/docs/API-reference/api/x-components.browsexevents.browseresponsechanged.md +13 -0
  69. package/docs/API-reference/api/x-components.browsexevents.browsetaggingchanged.md +13 -0
  70. package/docs/API-reference/api/x-components.browsexevents.md +172 -0
  71. package/docs/API-reference/api/x-components.browsexevents.selectedbrowsesortprovided.md +18 -0
  72. package/docs/API-reference/api/x-components.browsexevents.userbrowsedtocategory.md +13 -0
  73. package/docs/API-reference/api/x-components.browsexevents.userclickedabrowsesort.md +13 -0
  74. package/docs/API-reference/api/x-components.browsexmodule.md +13 -0
  75. package/docs/API-reference/api/x-components.browsexstoremodule.md +15 -0
  76. package/docs/API-reference/api/x-components.cancelfetchandsavebrowseresponse.md +17 -0
  77. package/docs/API-reference/api/x-components.cancelfetchandsavebrowseresponsewire.md +13 -0
  78. package/docs/API-reference/api/x-components.clearbrowsequery.md +13 -0
  79. package/docs/API-reference/api/x-components.fetchandsavebrowseresponse.md +66 -0
  80. package/docs/API-reference/api/x-components.fetchandsavebrowseresponsewire.md +13 -0
  81. package/docs/API-reference/api/x-components.fetchandsavebrowseresultsenrichment.md +66 -0
  82. package/docs/API-reference/api/x-components.fetchandsavebrowseresultsenrichmentwire.md +13 -0
  83. package/docs/API-reference/api/x-components.fetchbrowseresponse.md +13 -0
  84. package/docs/API-reference/api/x-components.increasebrowsepageappendingresults.md +13 -0
  85. package/docs/API-reference/api/x-components.increasebrowsepageappendingresultswire.md +13 -0
  86. package/docs/API-reference/api/x-components.internalbrowserequest.md +59 -0
  87. package/docs/API-reference/api/x-components.internalbrowserequest.page.md +13 -0
  88. package/docs/API-reference/api/x-components.internalbrowseresponse.md +78 -0
  89. package/docs/API-reference/api/x-components.internalbrowseresponse.request.md +13 -0
  90. package/docs/API-reference/api/x-components.internalbrowseresponse.status.md +13 -0
  91. package/docs/API-reference/api/x-components.md +477 -0
  92. package/docs/API-reference/api/x-components.resetbrowseappending.md +13 -0
  93. package/docs/API-reference/api/x-components.resetbrowserequestonrefinement.md +13 -0
  94. package/docs/API-reference/api/x-components.resetbrowserequestonrefinementwire.md +13 -0
  95. package/docs/API-reference/api/x-components.resetbrowsestateforreloadwire.md +13 -0
  96. package/docs/API-reference/api/x-components.resetbrowsestateifnorequestwire.md +13 -0
  97. package/docs/API-reference/api/x-components.resetfromnobrowseresultswithfilters.md +13 -0
  98. package/docs/API-reference/api/x-components.resetisnobrowseresults.md +13 -0
  99. package/docs/API-reference/api/x-components.savebrowseorigin.md +13 -0
  100. package/docs/API-reference/api/x-components.savebrowseoriginwire.md +13 -0
  101. package/docs/API-reference/api/x-components.savebrowseresponse.md +13 -0
  102. package/docs/API-reference/api/x-components.setbrowsecategory.md +13 -0
  103. package/docs/API-reference/api/x-components.setbrowseextraparams.md +13 -0
  104. package/docs/API-reference/api/x-components.setbrowsepage.md +13 -0
  105. package/docs/API-reference/api/x-components.setbrowseselectedfilters.md +13 -0
  106. package/docs/API-reference/api/x-components.setbrowsesort.md +13 -0
  107. package/docs/API-reference/api/x-components.setbrowseurlparams.md +13 -0
  108. package/docs/API-reference/api/x-components.setbrowseurlparamswire.md +13 -0
  109. package/docs/API-reference/api/x-components.snippetcallbacks.md +3 -3
  110. package/docs/API-reference/api/x-components.usealiasapi.browsetotalresults.md +1 -1
  111. package/docs/API-reference/api/x-components.usealiasapi.md +1 -1
  112. package/docs/API-reference/api/x-components.watchedinternalbrowserequest.md +73 -0
  113. package/docs/API-reference/api/x-components.watchedinternalbrowserequest.newrequest.md +11 -0
  114. package/docs/API-reference/api/x-components.watchedinternalbrowserequest.oldrequest.md +11 -0
  115. package/docs/API-reference/api/x-components.xeventstypes.md +1 -1
  116. package/docs/API-reference/api/x-components.xmodulestree.md +1 -1
  117. package/js/index.js +15 -0
  118. package/js/index.js.map +1 -1
  119. package/js/wiring/namespaced-wires.factory.js +1 -1
  120. package/js/x-modules/browse/components/browse-results-list.vue.js +46 -0
  121. package/js/x-modules/browse/components/browse-results-list.vue.js.map +1 -0
  122. package/js/x-modules/browse/components/browse-results-list.vue2.js +6 -0
  123. package/js/x-modules/browse/components/browse-results-list.vue2.js.map +1 -0
  124. package/js/x-modules/browse/components/browse-sort-picker-list.vue.js +73 -0
  125. package/js/x-modules/browse/components/browse-sort-picker-list.vue.js.map +1 -0
  126. package/js/x-modules/browse/components/browse-sort-picker-list.vue2.js +6 -0
  127. package/js/x-modules/browse/components/browse-sort-picker-list.vue2.js.map +1 -0
  128. package/js/x-modules/browse/store/actions/fetch-and-save-browse-response.action.js +57 -0
  129. package/js/x-modules/browse/store/actions/fetch-and-save-browse-response.action.js.map +1 -0
  130. package/js/x-modules/browse/store/actions/fetch-and-save-results-enrichment.action.js +21 -0
  131. package/js/x-modules/browse/store/actions/fetch-and-save-results-enrichment.action.js.map +1 -0
  132. package/js/x-modules/browse/store/actions/fetch-browse-response.action.js +16 -0
  133. package/js/x-modules/browse/store/actions/fetch-browse-response.action.js.map +1 -0
  134. package/js/x-modules/browse/store/actions/increase-page-apending-results.action.js +18 -0
  135. package/js/x-modules/browse/store/actions/increase-page-apending-results.action.js.map +1 -0
  136. package/js/x-modules/browse/store/actions/reset-request-on-refinement.action.js +36 -0
  137. package/js/x-modules/browse/store/actions/reset-request-on-refinement.action.js.map +1 -0
  138. package/js/x-modules/browse/store/actions/save-browse-response.action.js +42 -0
  139. package/js/x-modules/browse/store/actions/save-browse-response.action.js.map +1 -0
  140. package/js/x-modules/browse/store/actions/save-origin.action.js +16 -0
  141. package/js/x-modules/browse/store/actions/save-origin.action.js.map +1 -0
  142. package/js/x-modules/browse/store/actions/set-url-params.action.js +20 -0
  143. package/js/x-modules/browse/store/actions/set-url-params.action.js.map +1 -0
  144. package/js/x-modules/browse/store/emitters.js +48 -0
  145. package/js/x-modules/browse/store/emitters.js.map +1 -0
  146. package/js/x-modules/browse/store/getters/request.getter.js +27 -0
  147. package/js/x-modules/browse/store/getters/request.getter.js.map +1 -0
  148. package/js/x-modules/browse/store/module.js +163 -0
  149. package/js/x-modules/browse/store/module.js.map +1 -0
  150. package/js/x-modules/browse/wiring.js +213 -0
  151. package/js/x-modules/browse/wiring.js.map +1 -0
  152. package/js/x-modules/browse/x-module.js +21 -0
  153. package/js/x-modules/browse/x-module.js.map +1 -0
  154. package/package.json +2 -2
  155. package/report/x-components.api.json +3922 -119
  156. package/report/x-components.api.md +373 -9
  157. package/types/src/components/snippet-callbacks.vue.d.ts +3 -3
  158. package/types/src/index.d.ts +1 -0
  159. package/types/src/index.d.ts.map +1 -1
  160. package/types/src/x-modules/browse/components/browse-results-list.vue.d.ts +30 -0
  161. package/types/src/x-modules/browse/components/browse-results-list.vue.d.ts.map +1 -0
  162. package/types/src/x-modules/browse/components/browse-sort-picker-list.vue.d.ts +50 -0
  163. package/types/src/x-modules/browse/components/browse-sort-picker-list.vue.d.ts.map +1 -0
  164. package/types/src/x-modules/browse/store/actions/index.d.ts +5 -5
  165. package/types/src/x-modules/browse/store/actions/index.d.ts.map +1 -1
  166. package/types/src/x-modules/browse/store/module.d.ts +1 -1
  167. package/types/src/x-modules/browse/store/module.d.ts.map +1 -1
  168. package/types/src/x-modules/browse/wiring.d.ts +26 -26
  169. package/types/src/x-modules/browse/wiring.d.ts.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"increase-page-apending-results.action.js","sources":["../../../../../../src/x-modules/browse/store/actions/increase-page-apending-results.action.ts"],"sourcesContent":["import type { BrowseXStoreModule } from '../types'\n\n/**\n * Default implementation for the {@link BrowseActions.increasePageAppendingResults}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n *\n * @public\n */\n\nexport const increasePageAppendingResults: BrowseXStoreModule['actions']['increasePageAppendingResults'] =\n ({ commit, state }) => {\n const newPage = state.page + 1\n if (newPage >= 1 && state.page * state.config.pageSize < state.totalResults) {\n commit('setPage', newPage)\n commit('setIsAppendResults', true)\n }\n }\n"],"names":[],"mappings":"AAEA;;;;;;;AAOG;AAEI,MAAM,4BAA4B,GACvC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAI;AACpB,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;AAC9B,IAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE;AAC3E,QAAA,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;AAC1B,QAAA,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;IACpC;AACF;;;;"}
@@ -0,0 +1,36 @@
1
+ import { getNewAndUpdatedKeys } from '@empathyco/x-utils';
2
+ import { isArrayEmpty } from '../../../../utils/array.js';
3
+
4
+ /**
5
+ * Default implementation for the {@link BrowseActions.resetRequestOnRefinement}.
6
+ *
7
+ * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
8
+ * provided by Vuex.
9
+ * @param watchedRequest - The {@link WatchedInternalBrowseRequest} object.
10
+ * @public
11
+ */
12
+ const resetRequestOnRefinement = ({ commit, state }, { newRequest, oldRequest }) => {
13
+ if (state.fromNoResultsWithFilters && state.results.length) {
14
+ commit('setFromNoResultsWithFilters', false);
15
+ }
16
+ // is refining request
17
+ if (!!newRequest && !!oldRequest) {
18
+ const changedKeys = getNewAndUpdatedKeys(newRequest, oldRequest).filter(value => value !== 'extraParams');
19
+ const changedExtraParams = getNewAndUpdatedKeys(newRequest.extraParams, oldRequest.extraParams);
20
+ if (!isArrayEmpty(changedKeys)) {
21
+ if (!changedKeys.includes('page')) {
22
+ commit('setPage', 1);
23
+ }
24
+ if (changedKeys.includes('browseField') && changedKeys.includes('browseValue')) {
25
+ commit('setSort', '');
26
+ }
27
+ }
28
+ if (!isArrayEmpty(changedExtraParams)) {
29
+ commit('setPage', 1);
30
+ commit('setSort', '');
31
+ }
32
+ }
33
+ };
34
+
35
+ export { resetRequestOnRefinement };
36
+ //# sourceMappingURL=reset-request-on-refinement.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-request-on-refinement.action.js","sources":["../../../../../../src/x-modules/browse/store/actions/reset-request-on-refinement.action.ts"],"sourcesContent":["import type { BrowseXStoreModule } from '../types'\nimport { getNewAndUpdatedKeys } from '@empathyco/x-utils'\nimport { isArrayEmpty } from '../../../../utils/array'\n\n/**\n * Default implementation for the {@link BrowseActions.resetRequestOnRefinement}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param watchedRequest - The {@link WatchedInternalBrowseRequest} object.\n * @public\n */\nexport const resetRequestOnRefinement: BrowseXStoreModule['actions']['resetRequestOnRefinement'] = (\n { commit, state },\n { newRequest, oldRequest },\n) => {\n if (state.fromNoResultsWithFilters && state.results.length) {\n commit('setFromNoResultsWithFilters', false)\n }\n // is refining request\n if (!!newRequest && !!oldRequest) {\n const changedKeys = getNewAndUpdatedKeys(newRequest, oldRequest).filter(\n value => value !== 'extraParams',\n )\n const changedExtraParams = getNewAndUpdatedKeys(newRequest.extraParams, oldRequest.extraParams)\n\n if (!isArrayEmpty(changedKeys)) {\n if (!changedKeys.includes('page')) {\n commit('setPage', 1)\n }\n if (changedKeys.includes('browseField') && changedKeys.includes('browseValue')) {\n commit('setSort', '')\n }\n }\n if (!isArrayEmpty(changedExtraParams)) {\n commit('setPage', 1)\n commit('setSort', '')\n }\n }\n}\n"],"names":[],"mappings":";;;AAIA;;;;;;;AAOG;AACI,MAAM,wBAAwB,GAA8D,CACjG,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,EAAE,UAAU,EAAE,UAAU,EAAE,KACxB;IACF,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;AAC1D,QAAA,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC;IAC9C;;IAEA,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE;AAChC,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,MAAM,CACrE,KAAK,IAAI,KAAK,KAAK,aAAa,CACjC;AACD,QAAA,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC;AAE/F,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACtB;AACA,YAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AAC9E,gBAAA,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACvB;QACF;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;AACrC,YAAA,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;AACpB,YAAA,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB;IACF;AACF;;;;"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Default implementation for the {@link BrowseActions.saveBrowseResponse}.
3
+ *
4
+ * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
5
+ * provided by Vuex.
6
+ * @param response - The {@link @empathyco/x-types#BrowseResponse} to save.
7
+ * @public
8
+ */
9
+ const saveBrowseResponse = ({ commit, state, getters }, { results, facets, banners, promoteds, totalResults, browseTagging, displayBrowseTagging, stats }) => {
10
+ if (totalResults === 0) {
11
+ commit('setIsNoResults', true);
12
+ if (getters.request && Object.keys(getters.request.filters).length > 0) {
13
+ commit('setSelectedFilters', []);
14
+ commit('setFromNoResultsWithFilters', true);
15
+ }
16
+ }
17
+ else {
18
+ commit('setIsNoResults', false);
19
+ }
20
+ if (state.isAppendResults) {
21
+ commit('appendResults', results);
22
+ }
23
+ else {
24
+ commit('setResults', results);
25
+ commit('setBanners', banners ?? []);
26
+ commit('setPromoteds', promoteds ?? []);
27
+ }
28
+ if (facets) {
29
+ commit('setFacets', facets);
30
+ }
31
+ if (browseTagging) {
32
+ commit('setBrowseTagging', browseTagging);
33
+ }
34
+ if (displayBrowseTagging) {
35
+ commit('setDisplayBrowseTagging', displayBrowseTagging);
36
+ }
37
+ commit('setTotalResults', totalResults);
38
+ commit('setStats', stats);
39
+ };
40
+
41
+ export { saveBrowseResponse };
42
+ //# sourceMappingURL=save-browse-response.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-browse-response.action.js","sources":["../../../../../../src/x-modules/browse/store/actions/save-browse-response.action.ts"],"sourcesContent":["import type { Stats } from '@empathyco/x-types'\nimport type { BrowseXStoreModule } from '../types'\n\n/**\n * Default implementation for the {@link BrowseActions.saveBrowseResponse}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param response - The {@link @empathyco/x-types#BrowseResponse} to save.\n * @public\n */\nexport const saveBrowseResponse: BrowseXStoreModule['actions']['saveBrowseResponse'] = (\n { commit, state, getters },\n { results, facets, banners, promoteds, totalResults, browseTagging, displayBrowseTagging, stats },\n) => {\n if (totalResults === 0) {\n commit('setIsNoResults', true)\n if (getters.request && Object.keys(getters.request.filters!).length > 0) {\n commit('setSelectedFilters', [])\n commit('setFromNoResultsWithFilters', true)\n }\n } else {\n commit('setIsNoResults', false)\n }\n\n if (state.isAppendResults) {\n commit('appendResults', results)\n } else {\n commit('setResults', results)\n commit('setBanners', banners ?? [])\n commit('setPromoteds', promoteds ?? [])\n }\n\n if (facets) {\n commit('setFacets', facets)\n }\n\n if (browseTagging) {\n commit('setBrowseTagging', browseTagging)\n }\n\n if (displayBrowseTagging) {\n commit('setDisplayBrowseTagging', displayBrowseTagging)\n }\n\n commit('setTotalResults', totalResults)\n commit('setStats', stats as Stats)\n}\n"],"names":[],"mappings":"AAGA;;;;;;;AAOG;AACI,MAAM,kBAAkB,GAAwD,CACrF,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAC1B,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAC/F;AACF,IAAA,IAAI,YAAY,KAAK,CAAC,EAAE;AACtB,QAAA,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;AAC9B,QAAA,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACvE,YAAA,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC;QAC7C;IACF;SAAO;AACL,QAAA,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACjC;AAEA,IAAA,IAAI,KAAK,CAAC,eAAe,EAAE;AACzB,QAAA,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;SAAO;AACL,QAAA,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC;AAC7B,QAAA,MAAM,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC;AACnC,QAAA,MAAM,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;IACzC;IAEA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;IAEA,IAAI,aAAa,EAAE;AACjB,QAAA,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC;IAC3C;IAEA,IAAI,oBAAoB,EAAE;AACxB,QAAA,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IACzD;AAEA,IAAA,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACvC,IAAA,MAAM,CAAC,UAAU,EAAE,KAAc,CAAC;AACpC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { createOrigin } from '../../../../utils/origin.js';
2
+
3
+ /**
4
+ * Default implementation for the {@link BrowseActions.saveOrigin}.
5
+ *
6
+ * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
7
+ * provided by Vuex.
8
+ * @param queryOriginInit - The object to create the {@link QueryOrigin} with.
9
+ * @public
10
+ */
11
+ const saveOrigin = ({ commit }, queryOriginInit) => {
12
+ commit('setOrigin', createOrigin(queryOriginInit));
13
+ };
14
+
15
+ export { saveOrigin };
16
+ //# sourceMappingURL=save-origin.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-origin.action.js","sources":["../../../../../../src/x-modules/browse/store/actions/save-origin.action.ts"],"sourcesContent":["import type { QueryOrigin } from '../../../../types/origin'\nimport type { BrowseXStoreModule } from '../types'\nimport { createOrigin } from '../../../../utils/origin'\n\n/**\n * Default implementation for the {@link BrowseActions.saveOrigin}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param queryOriginInit - The object to create the {@link QueryOrigin} with.\n * @public\n */\nexport const saveOrigin: BrowseXStoreModule['actions']['saveOrigin'] = (\n { commit },\n queryOriginInit,\n) => {\n commit('setOrigin', createOrigin(queryOriginInit) as QueryOrigin | null)\n}\n"],"names":[],"mappings":";;AAIA;;;;;;;AAOG;AACI,MAAM,UAAU,GAAgD,CACrE,EAAE,MAAM,EAAE,EACV,eAAe,KACb;IACF,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,eAAe,CAAuB,CAAC;AAC1E;;;;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Default implementation for the {@link BrowseActions.setUrlParams}.
3
+ *
4
+ * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
5
+ * provided by Vuex.
6
+ * @param urlParams - List of params from the url.
7
+ * @public
8
+ */
9
+ const setUrlParams = ({ commit, state }, { browseValue, browseField, page, sort }) => {
10
+ const currentCategory = state.selectedCategory;
11
+ commit('setSelectedCategory', { browseValue, browseField });
12
+ commit('setPage', !currentCategory ||
13
+ (currentCategory.browseValue === browseValue && currentCategory.browseField === browseField)
14
+ ? page
15
+ : 1);
16
+ commit('setSort', sort);
17
+ };
18
+
19
+ export { setUrlParams };
20
+ //# sourceMappingURL=set-url-params.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-url-params.action.js","sources":["../../../../../../src/x-modules/browse/store/actions/set-url-params.action.ts"],"sourcesContent":["import type { BrowseXStoreModule } from '../types'\n\n/**\n * Default implementation for the {@link BrowseActions.setUrlParams}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param urlParams - List of params from the url.\n * @public\n */\nexport const setUrlParams: BrowseXStoreModule['actions']['setUrlParams'] = (\n { commit, state },\n { browseValue, browseField, page, sort },\n) => {\n const currentCategory = state.selectedCategory\n\n commit('setSelectedCategory', { browseValue, browseField })\n commit(\n 'setPage',\n !currentCategory ||\n (currentCategory.browseValue === browseValue && currentCategory.browseField === browseField)\n ? page\n : 1,\n )\n commit('setSort', sort)\n}\n"],"names":[],"mappings":"AAEA;;;;;;;AAOG;MACU,YAAY,GAAkD,CACzE,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KACtC;AACF,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB;IAE9C,MAAM,CAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAC3D,IAAA,MAAM,CACJ,SAAS,EACT,CAAC,eAAe;SACb,eAAe,CAAC,WAAW,KAAK,WAAW,IAAI,eAAe,CAAC,WAAW,KAAK,WAAW;AAC3F,UAAE;UACA,CAAC,CACN;AACD,IAAA,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACzB;;;;"}
@@ -0,0 +1,48 @@
1
+ import '@empathyco/x-utils';
2
+ import { createStoreEmitters } from '../../../store/utils/store-emitters.utils.js';
3
+ import { isStringEmpty } from '../../../utils/string.js';
4
+ import { browseXStoreModule } from './module.js';
5
+
6
+ /**
7
+ * {@link StoreEmitters} For the browse module.
8
+ *
9
+ * @internal
10
+ */
11
+ const browseEmitters = createStoreEmitters(browseXStoreModule, {
12
+ FacetsChanged: {
13
+ selector: state => state.facets,
14
+ filter(newValue, oldValue) {
15
+ return newValue.length !== 0 || oldValue.length !== 0;
16
+ },
17
+ },
18
+ PageChanged: state => state.page,
19
+ ResultsChanged: state => state.results,
20
+ BrowseRequestChanged: (_, getters) => getters.request,
21
+ BrowseRequestUpdated: (_, getters) => getters.request,
22
+ BrowseResponseChanged: {
23
+ selector: (state, getters) => {
24
+ return {
25
+ request: getters.request,
26
+ status: state.status,
27
+ banners: state.banners,
28
+ facets: state.facets,
29
+ promoteds: state.promoteds,
30
+ browseTagging: state.browseTagging,
31
+ displayBrowseTagging: state.displayBrowseTagging,
32
+ results: state.results,
33
+ totalResults: state.totalResults,
34
+ };
35
+ },
36
+ filter: (newValue, oldValue) => {
37
+ return (newValue.status !== oldValue.status && oldValue.status === 'loading' && !!newValue.request);
38
+ },
39
+ },
40
+ BrowseTaggingChanged: {
41
+ selector: state => state.browseTagging,
42
+ filter: ({ url }) => !isStringEmpty(url),
43
+ },
44
+ SortChanged: state => state.sort,
45
+ });
46
+
47
+ export { browseEmitters };
48
+ //# sourceMappingURL=emitters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitters.js","sources":["../../../../../src/x-modules/browse/store/emitters.ts"],"sourcesContent":["import { createStoreEmitters } from '../../../store'\nimport { isStringEmpty } from '../../../utils/string'\nimport { browseXStoreModule } from './module'\n\n/**\n * {@link StoreEmitters} For the browse module.\n *\n * @internal\n */\nexport const browseEmitters = createStoreEmitters(browseXStoreModule, {\n FacetsChanged: {\n selector: state => state.facets,\n filter(newValue, oldValue): boolean {\n return newValue.length !== 0 || oldValue.length !== 0\n },\n },\n PageChanged: state => state.page,\n ResultsChanged: state => state.results,\n BrowseRequestChanged: (_, getters) => getters.request,\n BrowseRequestUpdated: (_, getters) => getters.request,\n BrowseResponseChanged: {\n selector: (state, getters) => {\n return {\n request: getters.request!,\n status: state.status,\n banners: state.banners,\n facets: state.facets,\n promoteds: state.promoteds,\n browseTagging: state.browseTagging,\n displayBrowseTagging: state.displayBrowseTagging,\n results: state.results,\n totalResults: state.totalResults,\n }\n },\n filter: (newValue, oldValue) => {\n return (\n newValue.status !== oldValue.status && oldValue.status === 'loading' && !!newValue.request\n )\n },\n },\n BrowseTaggingChanged: {\n selector: state => state.browseTagging,\n filter: ({ url }) => !isStringEmpty(url),\n },\n SortChanged: state => state.sort,\n})\n"],"names":[],"mappings":";;;;;AAIA;;;;AAIG;AACI,MAAM,cAAc,GAAG,mBAAmB,CAAC,kBAAkB,EAAE;AACpE,IAAA,aAAa,EAAE;AACb,QAAA,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM;QAC/B,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAA;YACvB,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvD,CAAC;AACF,KAAA;AACD,IAAA,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI;AAChC,IAAA,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO;IACtC,oBAAoB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO;IACrD,oBAAoB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO;AACrD,IAAA,qBAAqB,EAAE;AACrB,QAAA,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAI;YAC3B,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAQ;gBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC;QACH,CAAC;AACD,QAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAI;YAC7B,QACE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO;QAE9F,CAAC;AACF,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,aAAa;AACtC,QAAA,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;AACzC,KAAA;AACD,IAAA,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI;AACjC,CAAA;;;;"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Default implementation for the {@link BrowseGetters.request} getter.
3
+ *
4
+ * @param state - Current {@link https://vuex.vuejs.org/guide/state.html | state} of the browse
5
+ * module.
6
+ * @param getters - Current {@link https://vuex.vuejs.org/guide/getters.html | getters} of the
7
+ * browse module.
8
+ * @returns The browse request to fetch data from the API.
9
+ * @public
10
+ */
11
+ const request = ({ page, params, selectedFilters: filters, sort, selectedCategory, }) => {
12
+ const browseValue = selectedCategory?.browseValue?.trim();
13
+ const browseField = selectedCategory?.browseField?.trim();
14
+ return browseValue && browseField
15
+ ? {
16
+ browseField,
17
+ browseValue,
18
+ sort,
19
+ page,
20
+ filters,
21
+ extraParams: params,
22
+ }
23
+ : null;
24
+ };
25
+
26
+ export { request };
27
+ //# sourceMappingURL=request.getter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.getter.js","sources":["../../../../../../src/x-modules/browse/store/getters/request.getter.ts"],"sourcesContent":["import type { BrowseXStoreModule } from '../types'\n\n/**\n * Default implementation for the {@link BrowseGetters.request} getter.\n *\n * @param state - Current {@link https://vuex.vuejs.org/guide/state.html | state} of the browse\n * module.\n * @param getters - Current {@link https://vuex.vuejs.org/guide/getters.html | getters} of the\n * browse module.\n * @returns The browse request to fetch data from the API.\n * @public\n */\nexport const request: BrowseXStoreModule['getters']['request'] = ({\n page,\n params,\n selectedFilters: filters,\n sort,\n selectedCategory,\n}) => {\n const browseValue = selectedCategory?.browseValue?.trim()\n const browseField = selectedCategory?.browseField?.trim()\n\n return browseValue && browseField\n ? {\n browseField,\n browseValue,\n sort,\n page,\n filters,\n extraParams: params,\n }\n : null\n}\n"],"names":[],"mappings":"AAEA;;;;;;;;;AASG;AACI,MAAM,OAAO,GAA6C,CAAC,EAChE,IAAI,EACJ,MAAM,EACN,eAAe,EAAE,OAAO,EACxB,IAAI,EACJ,gBAAgB,GACjB,KAAI;IACH,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IACzD,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAEzD,OAAO,WAAW,IAAI;AACpB,UAAE;YACE,WAAW;YACX,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,OAAO;AACP,YAAA,WAAW,EAAE,MAAM;AACpB;UACD,IAAI;AACV;;;;"}
@@ -0,0 +1,163 @@
1
+ import { isFacetFilter } from '@empathyco/x-types';
2
+ import { DefaultResultsEnrichmentService } from '../../../services/results-enrichment.service.js';
3
+ import { mergeConfig, setConfig } from '../../../store/utils/config-store.utils.js';
4
+ import '@empathyco/x-utils';
5
+ import { setStatus } from '../../../store/utils/status-store.utils.js';
6
+ import { groupItemsBy } from '../../../utils/array.js';
7
+ import { UNKNOWN_FACET_KEY } from '../../facets/store/constants.js';
8
+ import { fetchAndSaveBrowseResponse, cancelFetchAndSaveBrowseResponse } from './actions/fetch-and-save-browse-response.action.js';
9
+ import { fetchAndSaveResultsEnrichment } from './actions/fetch-and-save-results-enrichment.action.js';
10
+ import { fetchBrowseResponse } from './actions/fetch-browse-response.action.js';
11
+ import { increasePageAppendingResults } from './actions/increase-page-apending-results.action.js';
12
+ import { resetRequestOnRefinement } from './actions/reset-request-on-refinement.action.js';
13
+ import { saveBrowseResponse } from './actions/save-browse-response.action.js';
14
+ import { saveOrigin } from './actions/save-origin.action.js';
15
+ import { setUrlParams } from './actions/set-url-params.action.js';
16
+ import { request } from './getters/request.getter.js';
17
+
18
+ /**
19
+ * {@link XStoreModule} For the browse module.
20
+ *
21
+ * @internal
22
+ */
23
+ const browseXStoreModule = {
24
+ state: () => ({
25
+ ...resettableBrowseState(),
26
+ selectedFilters: {},
27
+ params: {},
28
+ config: {
29
+ threshold: 24,
30
+ pageSize: 24,
31
+ pageMode: 'infinite_scroll',
32
+ },
33
+ status: 'initial',
34
+ isNoResults: false,
35
+ fromNoResultsWithFilters: false,
36
+ }),
37
+ getters: {
38
+ request,
39
+ },
40
+ mutations: {
41
+ appendResults(state, results) {
42
+ state.results = [...state.results, ...results];
43
+ },
44
+ resetState(state) {
45
+ Object.assign(state, resettableBrowseState());
46
+ },
47
+ resetStateForReload(state) {
48
+ const { selectedCategory, facets, sort, page, ...resettable } = resettableBrowseState();
49
+ Object.assign(state, resettable);
50
+ },
51
+ setResults(state, results) {
52
+ state.results = results;
53
+ },
54
+ setFacets(state, facets) {
55
+ state.facets = facets;
56
+ },
57
+ setSelectedFilters(state, selectedFilters) {
58
+ state.selectedFilters = groupItemsBy(selectedFilters, filter => isFacetFilter(filter) ? filter.facetId : UNKNOWN_FACET_KEY);
59
+ },
60
+ setBanners(state, banners) {
61
+ state.banners = banners;
62
+ },
63
+ setPromoteds(state, promoteds) {
64
+ state.promoteds = promoteds;
65
+ },
66
+ setTotalResults(state, totalResults) {
67
+ state.totalResults = totalResults;
68
+ },
69
+ setSort(state, sort) {
70
+ state.sort = sort;
71
+ },
72
+ setPage(state, page) {
73
+ state.page = page;
74
+ },
75
+ setSelectedCategory(state, selectedCategory) {
76
+ state.selectedCategory = selectedCategory;
77
+ },
78
+ setConfig,
79
+ mergeConfig,
80
+ setIsAppendResults(state, isAppendResults) {
81
+ state.isAppendResults = isAppendResults;
82
+ },
83
+ setIsNoResults(state, isNoResults) {
84
+ state.isNoResults = isNoResults;
85
+ },
86
+ setFromNoResultsWithFilters(state, fromNoResultsWithFilters) {
87
+ state.fromNoResultsWithFilters = fromNoResultsWithFilters;
88
+ },
89
+ setStatus,
90
+ setParams(state, params) {
91
+ state.params = params;
92
+ },
93
+ setOrigin(state, origin = null) {
94
+ state.origin = origin;
95
+ },
96
+ setBrowseTagging(state, browseTagging) {
97
+ state.browseTagging = browseTagging;
98
+ },
99
+ setDisplayBrowseTagging(state, displayBrowseTagging) {
100
+ state.displayBrowseTagging = displayBrowseTagging;
101
+ },
102
+ updateResult(state, result) {
103
+ const stateResult = state.results.find(stateResult => result.id === stateResult.id);
104
+ if (stateResult) {
105
+ Object.assign(stateResult, result);
106
+ }
107
+ },
108
+ updateResultsFromEnrichment(state, enrichmentResults) {
109
+ DefaultResultsEnrichmentService.instance.updateResults(state.results, enrichmentResults);
110
+ },
111
+ setStats(state, stats) {
112
+ state.stats = stats;
113
+ },
114
+ },
115
+ actions: {
116
+ cancelFetchAndSaveBrowseResponse,
117
+ fetchBrowseResponse,
118
+ fetchAndSaveBrowseResponse,
119
+ fetchAndSaveResultsEnrichment,
120
+ increasePageAppendingResults,
121
+ resetRequestOnRefinement,
122
+ saveBrowseResponse,
123
+ setUrlParams,
124
+ saveOrigin,
125
+ },
126
+ };
127
+ /**
128
+ * Function to return the "resettable" part of the state. This will be used in the `resetState`
129
+ * mutation to reset to the initial state.
130
+ *
131
+ * @returns The "resettable" part of the {@link BrowseState}.
132
+ *
133
+ * @internal
134
+ */
135
+ function resettableBrowseState() {
136
+ return {
137
+ selectedCategory: {
138
+ browseValue: '',
139
+ browseField: '',
140
+ },
141
+ results: [],
142
+ facets: [],
143
+ banners: [],
144
+ promoteds: [],
145
+ totalResults: 0,
146
+ sort: '',
147
+ page: 1,
148
+ origin: null,
149
+ isAppendResults: false,
150
+ browseTagging: {
151
+ url: '',
152
+ params: {},
153
+ },
154
+ displayBrowseTagging: {
155
+ url: '',
156
+ params: {},
157
+ },
158
+ stats: {},
159
+ };
160
+ }
161
+
162
+ export { browseXStoreModule, resettableBrowseState };
163
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sources":["../../../../../src/x-modules/browse/store/module.ts"],"sourcesContent":["import type { Stats } from '@empathyco/x-types'\nimport type { BrowseXStoreModule } from './types'\nimport { isFacetFilter } from '@empathyco/x-types'\nimport { DefaultResultsEnrichmentService } from '../../../services/results-enrichment.service'\nimport { setStatus } from '../../../store'\nimport { mergeConfig, setConfig } from '../../../store/utils/config-store.utils'\nimport { groupItemsBy } from '../../../utils/array'\nimport { UNKNOWN_FACET_KEY } from '../../facets/store/constants'\nimport {\n cancelFetchAndSaveBrowseResponse,\n fetchAndSaveBrowseResponse,\n fetchBrowseResponse,\n saveBrowseResponse,\n} from './actions'\nimport { fetchAndSaveResultsEnrichment } from './actions/fetch-and-save-results-enrichment.action'\nimport { increasePageAppendingResults } from './actions/increase-page-apending-results.action'\nimport { resetRequestOnRefinement } from './actions/reset-request-on-refinement.action'\nimport { saveOrigin } from './actions/save-origin.action'\nimport { setUrlParams } from './actions/set-url-params.action'\nimport { request } from './getters/request.getter'\n\n/**\n * {@link XStoreModule} For the browse module.\n *\n * @internal\n */\nexport const browseXStoreModule: BrowseXStoreModule = {\n state: () => ({\n ...resettableBrowseState(),\n selectedFilters: {},\n params: {},\n config: {\n threshold: 24,\n pageSize: 24,\n pageMode: 'infinite_scroll',\n },\n status: 'initial',\n isNoResults: false,\n fromNoResultsWithFilters: false,\n }),\n getters: {\n request,\n },\n mutations: {\n appendResults(state, results) {\n state.results = [...state.results, ...results]\n },\n resetState(state) {\n Object.assign(state, resettableBrowseState())\n },\n resetStateForReload(state) {\n const { selectedCategory, facets, sort, page, ...resettable } = resettableBrowseState()\n Object.assign(state, resettable)\n },\n setResults(state, results) {\n state.results = results\n },\n setFacets(state, facets) {\n state.facets = facets\n },\n setSelectedFilters(state, selectedFilters) {\n state.selectedFilters = groupItemsBy(selectedFilters, filter =>\n isFacetFilter(filter) ? filter.facetId : UNKNOWN_FACET_KEY,\n )\n },\n setBanners(state, banners) {\n state.banners = banners\n },\n setPromoteds(state, promoteds) {\n state.promoteds = promoteds\n },\n setTotalResults(state, totalResults) {\n state.totalResults = totalResults\n },\n setSort(state, sort) {\n state.sort = sort\n },\n setPage(state, page) {\n state.page = page\n },\n setSelectedCategory(state, selectedCategory) {\n state.selectedCategory = selectedCategory\n },\n setConfig,\n mergeConfig,\n setIsAppendResults(state, isAppendResults) {\n state.isAppendResults = isAppendResults\n },\n setIsNoResults(state, isNoResults) {\n state.isNoResults = isNoResults\n },\n setFromNoResultsWithFilters(state, fromNoResultsWithFilters) {\n state.fromNoResultsWithFilters = fromNoResultsWithFilters\n },\n setStatus,\n setParams(state, params) {\n state.params = params\n },\n setOrigin(state, origin = null) {\n state.origin = origin\n },\n setBrowseTagging(state, browseTagging) {\n state.browseTagging = browseTagging\n },\n setDisplayBrowseTagging(state, displayBrowseTagging) {\n state.displayBrowseTagging = displayBrowseTagging\n },\n updateResult(state, result) {\n const stateResult = state.results.find(stateResult => result.id === stateResult.id)\n if (stateResult) {\n Object.assign(stateResult, result)\n }\n },\n updateResultsFromEnrichment(state, enrichmentResults) {\n DefaultResultsEnrichmentService.instance.updateResults(state.results, enrichmentResults)\n },\n setStats(state, stats) {\n state.stats = stats\n },\n },\n actions: {\n cancelFetchAndSaveBrowseResponse,\n fetchBrowseResponse,\n fetchAndSaveBrowseResponse,\n fetchAndSaveResultsEnrichment,\n increasePageAppendingResults,\n resetRequestOnRefinement,\n saveBrowseResponse,\n setUrlParams,\n saveOrigin,\n },\n}\n\n/**\n * Function to return the \"resettable\" part of the state. This will be used in the `resetState`\n * mutation to reset to the initial state.\n *\n * @returns The \"resettable\" part of the {@link BrowseState}.\n *\n * @internal\n */\nexport function resettableBrowseState() {\n return {\n selectedCategory: {\n browseValue: '',\n browseField: '',\n },\n results: [],\n facets: [],\n banners: [],\n promoteds: [],\n totalResults: 0,\n sort: '',\n page: 1,\n origin: null,\n isAppendResults: false,\n browseTagging: {\n url: '',\n params: {},\n },\n displayBrowseTagging: {\n url: '',\n params: {},\n },\n stats: {} as Stats,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqBA;;;;AAIG;AACI,MAAM,kBAAkB,GAAuB;AACpD,IAAA,KAAK,EAAE,OAAO;AACZ,QAAA,GAAG,qBAAqB,EAAE;AAC1B,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,MAAM,EAAE;AACN,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,iBAAiB;AAC5B,SAAA;AACD,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,wBAAwB,EAAE,KAAK;KAChC,CAAC;AACF,IAAA,OAAO,EAAE;QACP,OAAO;AACR,KAAA;AACD,IAAA,SAAS,EAAE;QACT,aAAa,CAAC,KAAK,EAAE,OAAO,EAAA;AAC1B,YAAA,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;QAChD,CAAC;AACD,QAAA,UAAU,CAAC,KAAK,EAAA;YACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC/C,CAAC;AACD,QAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,YAAA,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,qBAAqB,EAAE;AACvF,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;QAClC,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,OAAO,EAAA;AACvB,YAAA,KAAK,CAAC,OAAO,GAAG,OAAO;QACzB,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAA;AACrB,YAAA,KAAK,CAAC,MAAM,GAAG,MAAM;QACvB,CAAC;QACD,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAA;YACvC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,IAC1D,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAC3D;QACH,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,OAAO,EAAA;AACvB,YAAA,KAAK,CAAC,OAAO,GAAG,OAAO;QACzB,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,SAAS,EAAA;AAC3B,YAAA,KAAK,CAAC,SAAS,GAAG,SAAS;QAC7B,CAAC;QACD,eAAe,CAAC,KAAK,EAAE,YAAY,EAAA;AACjC,YAAA,KAAK,CAAC,YAAY,GAAG,YAAY;QACnC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAA;AACjB,YAAA,KAAK,CAAC,IAAI,GAAG,IAAI;QACnB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAA;AACjB,YAAA,KAAK,CAAC,IAAI,GAAG,IAAI;QACnB,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAA;AACzC,YAAA,KAAK,CAAC,gBAAgB,GAAG,gBAAgB;QAC3C,CAAC;QACD,SAAS;QACT,WAAW;QACX,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAA;AACvC,YAAA,KAAK,CAAC,eAAe,GAAG,eAAe;QACzC,CAAC;QACD,cAAc,CAAC,KAAK,EAAE,WAAW,EAAA;AAC/B,YAAA,KAAK,CAAC,WAAW,GAAG,WAAW;QACjC,CAAC;QACD,2BAA2B,CAAC,KAAK,EAAE,wBAAwB,EAAA;AACzD,YAAA,KAAK,CAAC,wBAAwB,GAAG,wBAAwB;QAC3D,CAAC;QACD,SAAS;QACT,SAAS,CAAC,KAAK,EAAE,MAAM,EAAA;AACrB,YAAA,KAAK,CAAC,MAAM,GAAG,MAAM;QACvB,CAAC;AACD,QAAA,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAA;AAC5B,YAAA,KAAK,CAAC,MAAM,GAAG,MAAM;QACvB,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAA;AACnC,YAAA,KAAK,CAAC,aAAa,GAAG,aAAa;QACrC,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,EAAA;AACjD,YAAA,KAAK,CAAC,oBAAoB,GAAG,oBAAoB;QACnD,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAA;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;YACnF,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;YACpC;QACF,CAAC;QACD,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,EAAA;YAClD,+BAA+B,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC;QAC1F,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAA;AACnB,YAAA,KAAK,CAAC,KAAK,GAAG,KAAK;QACrB,CAAC;AACF,KAAA;AACD,IAAA,OAAO,EAAE;QACP,gCAAgC;QAChC,mBAAmB;QACnB,0BAA0B;QAC1B,6BAA6B;QAC7B,4BAA4B;QAC5B,wBAAwB;QACxB,kBAAkB;QAClB,YAAY;QACZ,UAAU;AACX,KAAA;;AAGH;;;;;;;AAOG;SACa,qBAAqB,GAAA;IACnC,OAAO;AACL,QAAA,gBAAgB,EAAE;AAChB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,WAAW,EAAE,EAAE;AAChB,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,YAAY,EAAE,CAAC;AACf,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,aAAa,EAAE;AACb,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACX,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACX,SAAA;AACD,QAAA,KAAK,EAAE,EAAW;KACnB;AACH;;;;"}
@@ -0,0 +1,213 @@
1
+ import { namespacedWireCommit, namespacedWireDispatchWithoutPayload, namespacedWireCommitWithoutPayload, namespacedWireDispatch } from '../../wiring/namespaced-wires.factory.js';
2
+ import { filterTruthyPayload } from '../../wiring/wires.operators.js';
3
+ import { createWiring } from '../../wiring/wiring.utils.js';
4
+
5
+ /**
6
+ * `browse` {@link XModuleName | XModule name}.
7
+ *
8
+ * @internal
9
+ */
10
+ const moduleName = 'browse';
11
+ /**
12
+ * WireCommit for {@link BrowseXModule}.
13
+ *
14
+ * @internal
15
+ */
16
+ const wireCommit = namespacedWireCommit(moduleName);
17
+ /**
18
+ * WireCommit without Payload for {@link BrowseXModule}.
19
+ *
20
+ * @internal
21
+ */
22
+ const wireCommitWithoutPayload = namespacedWireCommitWithoutPayload(moduleName);
23
+ /**
24
+ * WireDispatch for {@link BrowseXModule}.
25
+ *
26
+ * @internal
27
+ */
28
+ const wireDispatch = namespacedWireDispatch(moduleName);
29
+ /**
30
+ * WireDispatchWithoutPayload for {@link BrowseXModule}.
31
+ *
32
+ * @internal
33
+ */
34
+ const wireDispatchWithoutPayload = namespacedWireDispatchWithoutPayload(moduleName);
35
+ /**
36
+ * Cancels the {@link BrowseActions.fetchAndSaveBrowseResponse} request promise.
37
+ *
38
+ * @public
39
+ */
40
+ const cancelFetchAndSaveBrowseResponseWire = wireDispatchWithoutPayload('cancelFetchAndSaveBrowseResponse');
41
+ /**
42
+ * Sets the browse state `origin`.
43
+ *
44
+ * @public
45
+ */
46
+ const saveBrowseOriginWire = wireDispatch('saveOrigin', ({ metadata }) => metadata);
47
+ /**
48
+ * Requests and stores the browse response.
49
+ *
50
+ * @public
51
+ */
52
+ const fetchAndSaveBrowseResponseWire = wireDispatch('fetchAndSaveBrowseResponse');
53
+ /**
54
+ * Requests and stores the enrichment results for the results.
55
+ *
56
+ * @public
57
+ */
58
+ const fetchAndSaveBrowseResultsEnrichmentWire = wireDispatch('fetchAndSaveResultsEnrichment');
59
+ /**
60
+ * Sets the browse state `selectedCategory`.
61
+ *
62
+ * @public
63
+ */
64
+ const setBrowseCategory = wireCommit('setSelectedCategory');
65
+ /**
66
+ * Clears the browse state `selectedCategory`.
67
+ *
68
+ * @public
69
+ */
70
+ const clearBrowseQuery = wireCommit('setSelectedCategory', {
71
+ browseField: '',
72
+ browseValue: '',
73
+ });
74
+ /**
75
+ * Sets the browse state `selectedFilters`.
76
+ *
77
+ * @public
78
+ */
79
+ const setBrowseSelectedFilters = wireCommit('setSelectedFilters');
80
+ /**
81
+ * Sets the browse state `sort`.
82
+ *
83
+ * @public
84
+ */
85
+ const setBrowseSort = wireCommit('setSort');
86
+ /**
87
+ * Sets the browse state `query`.
88
+ *
89
+ * @public
90
+ */
91
+ const setBrowseUrlParamsWire = wireDispatch('setUrlParams');
92
+ /**
93
+ * Sets the browse state `page`.
94
+ *
95
+ * @public
96
+ */
97
+ const setBrowsePage = wireCommit('setPage');
98
+ /**
99
+ * Sets the browse state `params`.
100
+ *
101
+ * @public
102
+ */
103
+ const setBrowseExtraParams = wireCommit('setParams');
104
+ /**
105
+ * Resets the browse state to reload the current browse.
106
+ *
107
+ * @public
108
+ */
109
+ const resetBrowseStateForReloadWire = wireCommitWithoutPayload('resetStateForReload');
110
+ /**
111
+ * Resets the browse state `isNoResults`.
112
+ *
113
+ * @public
114
+ */
115
+ const resetIsNoBrowseResults = wireCommit('setIsNoResults', false);
116
+ /**
117
+ * Resets the browse state `fromNoResultsWithFilters`.
118
+ *
119
+ * @public
120
+ */
121
+ const resetFromNoBrowseResultsWithFilters = wireCommit('setFromNoResultsWithFilters', false);
122
+ /**
123
+ * Increases the current browse state `page` by one.
124
+ *
125
+ * @public
126
+ */
127
+ const increaseBrowsePageAppendingResultsWire = wireDispatchWithoutPayload('increasePageAppendingResults');
128
+ /**
129
+ * Resets the browse state `isAppendingResults`.
130
+ *
131
+ * @public
132
+ */
133
+ const resetBrowseAppending = wireCommit('setIsAppendResults', false);
134
+ /**
135
+ * Resets the {@link BrowseGetters.request} parameters when refining request and before the actual
136
+ * request is launched.
137
+ *
138
+ * @public
139
+ */
140
+ const resetBrowseRequestOnRefinementWire = wireDispatch('resetRequestOnRefinement', ({ eventPayload: newRequest, metadata: { oldValue } }) => ({
141
+ newRequest,
142
+ oldRequest: oldValue,
143
+ }));
144
+ /**
145
+ * Resets the browse state when the request is changed to null. See the
146
+ * {@link BrowseXStoreModule} for details.
147
+ *
148
+ * @public
149
+ */
150
+ const resetBrowseStateIfNoRequestWire = filterTruthyPayload(wireCommitWithoutPayload('resetState'));
151
+ /**
152
+ * Browse wiring.
153
+ *
154
+ * @internal
155
+ */
156
+ const browseWiring = createWiring({
157
+ ParamsLoadedFromUrl: {
158
+ setBrowseUrlParamsWire,
159
+ saveBrowseOriginWire,
160
+ },
161
+ UserClickedABrowseSort: {
162
+ setBrowseSort,
163
+ },
164
+ UserReachedResultsListEnd: {
165
+ increaseBrowsePageAppendingResultsWire,
166
+ },
167
+ BrowseRequestUpdated: {
168
+ resetBrowseStateIfNoRequestWire,
169
+ fetchAndSaveBrowseResponseWire,
170
+ },
171
+ BrowseRequestChanged: {
172
+ resetBrowseRequestOnRefinementWire,
173
+ },
174
+ SelectedFiltersForRequestChanged: {
175
+ setBrowseSelectedFilters,
176
+ },
177
+ ResultsChanged: {
178
+ resetBrowseAppending,
179
+ fetchAndSaveBrowseResultsEnrichmentWire,
180
+ },
181
+ ReloadBrowseRequested: {
182
+ resetBrowseStateForReloadWire,
183
+ },
184
+ SelectedSortProvided: {
185
+ setBrowseSort,
186
+ },
187
+ ExtraParamsChanged: {
188
+ setBrowseExtraParams,
189
+ },
190
+ UserClickedCloseX: {
191
+ clearBrowseQuery,
192
+ resetBrowseStateForReloadWire,
193
+ cancelFetchAndSaveBrowseResponseWire,
194
+ },
195
+ UserClickedOpenX: {
196
+ clearBrowseQuery,
197
+ resetBrowseStateForReloadWire,
198
+ cancelFetchAndSaveBrowseResponseWire,
199
+ },
200
+ UserClickedOutOfMainModal: {
201
+ clearBrowseQuery,
202
+ },
203
+ UserSelectedAPage: {
204
+ setBrowsePage,
205
+ resetBrowseAppending,
206
+ },
207
+ UserBrowsedToCategory: {
208
+ setBrowseCategory,
209
+ },
210
+ });
211
+
212
+ export { browseWiring, cancelFetchAndSaveBrowseResponseWire, clearBrowseQuery, fetchAndSaveBrowseResponseWire, fetchAndSaveBrowseResultsEnrichmentWire, increaseBrowsePageAppendingResultsWire, resetBrowseAppending, resetBrowseRequestOnRefinementWire, resetBrowseStateForReloadWire, resetBrowseStateIfNoRequestWire, resetFromNoBrowseResultsWithFilters, resetIsNoBrowseResults, saveBrowseOriginWire, setBrowseCategory, setBrowseExtraParams, setBrowsePage, setBrowseSelectedFilters, setBrowseSort, setBrowseUrlParamsWire };
213
+ //# sourceMappingURL=wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/browse/wiring.ts"],"sourcesContent":["import type { WirePayload } from '../../wiring'\nimport type { InternalBrowseRequest } from './types'\nimport {\n createWiring,\n filterTruthyPayload,\n namespacedWireCommit,\n namespacedWireCommitWithoutPayload,\n namespacedWireDispatch,\n namespacedWireDispatchWithoutPayload,\n} from '../../wiring'\n\n/**\n * `browse` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'browse'\n\n/**\n * WireCommit for {@link BrowseXModule}.\n *\n * @internal\n */\nconst wireCommit = namespacedWireCommit(moduleName)\n\n/**\n * WireCommit without Payload for {@link BrowseXModule}.\n *\n * @internal\n */\nconst wireCommitWithoutPayload = namespacedWireCommitWithoutPayload(moduleName)\n\n/**\n * WireDispatch for {@link BrowseXModule}.\n *\n * @internal\n */\nconst wireDispatch = namespacedWireDispatch(moduleName)\n\n/**\n * WireDispatchWithoutPayload for {@link BrowseXModule}.\n *\n * @internal\n */\nconst wireDispatchWithoutPayload = namespacedWireDispatchWithoutPayload(moduleName)\n\n/**\n * Cancels the {@link BrowseActions.fetchAndSaveBrowseResponse} request promise.\n *\n * @public\n */\nexport const cancelFetchAndSaveBrowseResponseWire = wireDispatchWithoutPayload(\n 'cancelFetchAndSaveBrowseResponse',\n)\n\n/**\n * Sets the browse state `origin`.\n *\n * @public\n */\nexport const saveBrowseOriginWire = wireDispatch('saveOrigin', ({ metadata }) => metadata)\n\n/**\n * Requests and stores the browse response.\n *\n * @public\n */\nexport const fetchAndSaveBrowseResponseWire = wireDispatch('fetchAndSaveBrowseResponse')\n\n/**\n * Requests and stores the enrichment results for the results.\n *\n * @public\n */\nexport const fetchAndSaveBrowseResultsEnrichmentWire = wireDispatch('fetchAndSaveResultsEnrichment')\n\n/**\n * Sets the browse state `selectedCategory`.\n *\n * @public\n */\nexport const setBrowseCategory = wireCommit('setSelectedCategory')\n\n/**\n * Clears the browse state `selectedCategory`.\n *\n * @public\n */\nexport const clearBrowseQuery = wireCommit('setSelectedCategory', {\n browseField: '',\n browseValue: '',\n})\n\n/**\n * Sets the browse state `selectedFilters`.\n *\n * @public\n */\nexport const setBrowseSelectedFilters = wireCommit('setSelectedFilters')\n\n/**\n * Sets the browse state `sort`.\n *\n * @public\n */\nexport const setBrowseSort = wireCommit('setSort')\n\n/**\n * Sets the browse state `query`.\n *\n * @public\n */\nexport const setBrowseUrlParamsWire = wireDispatch('setUrlParams')\n\n/**\n * Sets the browse state `page`.\n *\n * @public\n */\nexport const setBrowsePage = wireCommit('setPage')\n\n/**\n * Sets the browse state `params`.\n *\n * @public\n */\nexport const setBrowseExtraParams = wireCommit('setParams')\n\n/**\n * Resets the browse state to reload the current browse.\n *\n * @public\n */\nexport const resetBrowseStateForReloadWire = wireCommitWithoutPayload('resetStateForReload')\n\n/**\n * Resets the browse state `isNoResults`.\n *\n * @public\n */\nexport const resetIsNoBrowseResults = wireCommit('setIsNoResults', false)\n\n/**\n * Resets the browse state `fromNoResultsWithFilters`.\n *\n * @public\n */\nexport const resetFromNoBrowseResultsWithFilters = wireCommit('setFromNoResultsWithFilters', false)\n\n/**\n * Increases the current browse state `page` by one.\n *\n * @public\n */\nexport const increaseBrowsePageAppendingResultsWire = wireDispatchWithoutPayload(\n 'increasePageAppendingResults',\n)\n\n/**\n * Resets the browse state `isAppendingResults`.\n *\n * @public\n */\nexport const resetBrowseAppending = wireCommit('setIsAppendResults', false)\n\n/**\n * Resets the {@link BrowseGetters.request} parameters when refining request and before the actual\n * request is launched.\n *\n * @public\n */\nexport const resetBrowseRequestOnRefinementWire = wireDispatch(\n 'resetRequestOnRefinement',\n ({ eventPayload: newRequest, metadata: { oldValue } }: WirePayload<InternalBrowseRequest>) => ({\n newRequest,\n oldRequest: oldValue as InternalBrowseRequest,\n }),\n)\n\n/**\n * Resets the browse state when the request is changed to null. See the\n * {@link BrowseXStoreModule} for details.\n *\n * @public\n */\nexport const resetBrowseStateIfNoRequestWire = filterTruthyPayload<InternalBrowseRequest | null>(\n wireCommitWithoutPayload('resetState'),\n)\n\n/**\n * Browse wiring.\n *\n * @internal\n */\nexport const browseWiring = createWiring({\n ParamsLoadedFromUrl: {\n setBrowseUrlParamsWire,\n saveBrowseOriginWire,\n },\n UserClickedABrowseSort: {\n setBrowseSort,\n },\n UserReachedResultsListEnd: {\n increaseBrowsePageAppendingResultsWire,\n },\n BrowseRequestUpdated: {\n resetBrowseStateIfNoRequestWire,\n fetchAndSaveBrowseResponseWire,\n },\n BrowseRequestChanged: {\n resetBrowseRequestOnRefinementWire,\n },\n SelectedFiltersForRequestChanged: {\n setBrowseSelectedFilters,\n },\n ResultsChanged: {\n resetBrowseAppending,\n fetchAndSaveBrowseResultsEnrichmentWire,\n },\n ReloadBrowseRequested: {\n resetBrowseStateForReloadWire,\n },\n SelectedSortProvided: {\n setBrowseSort,\n },\n ExtraParamsChanged: {\n setBrowseExtraParams,\n },\n UserClickedCloseX: {\n clearBrowseQuery,\n resetBrowseStateForReloadWire,\n cancelFetchAndSaveBrowseResponseWire,\n },\n UserClickedOpenX: {\n clearBrowseQuery,\n resetBrowseStateForReloadWire,\n cancelFetchAndSaveBrowseResponseWire,\n },\n UserClickedOutOfMainModal: {\n clearBrowseQuery,\n },\n UserSelectedAPage: {\n setBrowsePage,\n resetBrowseAppending,\n },\n UserBrowsedToCategory: {\n setBrowseCategory,\n },\n})\n"],"names":[],"mappings":"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"}