@k-int/stripes-kint-components 5.33.2 → 5.34.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 (296) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +2 -3
  3. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +36 -4
  4. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +2 -3
  5. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +2 -3
  6. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +15 -5
  7. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +2 -3
  8. package/es/lib/hooks/index.js +17 -1
  9. package/es/lib/hooks/useCustProps.js +88 -0
  10. package/es/lib/hooks/useParallelBatchFetch.js +140 -0
  11. package/es/lib/utils/parseErrorResponse.js +6 -1
  12. package/package.json +1 -1
  13. package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +1 -1
  14. package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +1 -1
  15. package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
  16. package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
  17. package/src/artifacts/coverage-jest/ButtonTypedown/ButtonTypedown.js.html +1 -1
  18. package/src/artifacts/coverage-jest/ButtonTypedown/index.html +1 -1
  19. package/src/artifacts/coverage-jest/ButtonTypedown/index.js.html +1 -1
  20. package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +1 -1
  21. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  22. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  23. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +26 -29
  24. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +142 -13
  25. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  26. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  27. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +30 -30
  28. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  29. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  30. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +23 -26
  31. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  32. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  33. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  34. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +20 -20
  35. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  36. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  37. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +27 -30
  38. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  39. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  40. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  41. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  42. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +15 -15
  43. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  44. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  45. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +12 -12
  46. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +14 -14
  47. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
  48. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  49. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +36 -39
  50. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  51. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +21 -21
  52. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  53. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  54. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  55. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  56. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
  57. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  58. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  59. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
  60. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  61. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  62. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
  63. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  64. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  65. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  66. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  67. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  68. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
  69. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  70. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  71. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +1 -1
  72. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
  73. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  74. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
  75. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  76. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  77. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
  78. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  79. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  80. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
  81. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  82. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  83. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  84. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  85. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  86. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  87. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
  88. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  89. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  90. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
  91. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
  92. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  93. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
  94. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  95. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +1 -1
  96. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  97. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
  98. package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
  99. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  100. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +1 -1
  101. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +1 -1
  102. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  103. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
  104. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  105. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  106. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
  107. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  108. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  109. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  110. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  111. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  112. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
  113. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  114. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  115. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +1 -1
  116. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +1 -1
  117. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +1 -1
  118. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  119. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +1 -1
  120. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +1 -1
  121. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  122. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
  123. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  124. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  125. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  126. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +1 -1
  127. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  128. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +1 -1
  129. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  130. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
  131. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  132. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  133. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +1 -1
  134. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
  135. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  136. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  137. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  138. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  139. package/src/artifacts/coverage-jest/Settings/Settings/Settings.js.html +1 -1
  140. package/src/artifacts/coverage-jest/Settings/Settings/index.html +1 -1
  141. package/src/artifacts/coverage-jest/Settings/Settings/index.js.html +1 -1
  142. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  143. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  144. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +1 -1
  146. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +1 -1
  147. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +1 -1
  148. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +1 -1
  149. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +1 -1
  150. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +1 -1
  151. package/src/artifacts/coverage-jest/Settings/constants/index.html +1 -1
  152. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  153. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +1 -1
  154. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
  155. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  156. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  157. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  158. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  159. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  160. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  161. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  162. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  163. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
  164. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  165. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  166. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
  167. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
  168. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  169. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  170. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
  171. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +1 -1
  172. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  173. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +1 -1
  174. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
  175. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  176. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
  177. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  178. package/src/artifacts/coverage-jest/Settings/index.js.html +1 -1
  179. package/src/artifacts/coverage-jest/Tags/Tags.js.html +1 -1
  180. package/src/artifacts/coverage-jest/Tags/hooks/index.html +1 -1
  181. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  182. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +1 -1
  183. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +1 -1
  184. package/src/artifacts/coverage-jest/Tags/index.html +1 -1
  185. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  186. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
  187. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +1 -1
  188. package/src/artifacts/coverage-jest/Typedown/index.html +1 -1
  189. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  190. package/src/artifacts/coverage-jest/cobertura-coverage.xml +469 -281
  191. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  192. package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
  193. package/src/artifacts/coverage-jest/constants/endpoints.js.html +1 -1
  194. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
  195. package/src/artifacts/coverage-jest/constants/index.html +1 -1
  196. package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
  197. package/src/artifacts/coverage-jest/hooks/index.html +39 -9
  198. package/src/artifacts/coverage-jest/hooks/index.js.html +11 -2
  199. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  200. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  201. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  202. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  203. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +6 -6
  204. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  205. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  206. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +1 -1
  207. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  208. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  209. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +11 -11
  210. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +1 -1
  211. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  212. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +1 -1
  213. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
  214. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  215. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
  216. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
  217. package/src/artifacts/coverage-jest/hooks/useCustProps.js.html +376 -0
  218. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
  219. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
  220. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  221. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  222. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
  223. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
  224. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +1 -1
  225. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
  226. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +1 -1
  227. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
  228. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  229. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  230. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
  231. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  232. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
  233. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
  234. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
  235. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  236. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  237. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
  238. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  239. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  240. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
  241. package/src/artifacts/coverage-jest/hooks/useParallelBatchFetch.js.html +589 -0
  242. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +1 -1
  243. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +1 -1
  244. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
  245. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
  246. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  247. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  248. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
  249. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
  250. package/src/artifacts/coverage-jest/index.html +77 -77
  251. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +1 -1
  252. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
  253. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  254. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  255. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
  256. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
  257. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
  258. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +1 -1
  259. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +71 -71
  260. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +19 -19
  261. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  262. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
  263. package/src/artifacts/coverage-jest/utils/index.html +13 -13
  264. package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
  265. package/src/artifacts/coverage-jest/utils/matchString/index.html +1 -1
  266. package/src/artifacts/coverage-jest/utils/matchString/index.js.html +1 -1
  267. package/src/artifacts/coverage-jest/utils/matchString/matchString.js.html +1 -1
  268. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
  269. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +26 -8
  270. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
  271. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  272. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  273. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  274. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
  275. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
  276. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
  277. package/src/artifacts/coverage-jest/utils/stringStyling/boldString.js.html +1 -1
  278. package/src/artifacts/coverage-jest/utils/stringStyling/highlightString.js.html +1 -1
  279. package/src/artifacts/coverage-jest/utils/stringStyling/index.html +1 -1
  280. package/src/artifacts/coverage-jest/utils/stringStyling/index.js.html +1 -1
  281. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
  282. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
  283. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  284. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  285. package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
  286. package/src/lib/CustomProperties/Config/CustomPropertiesLookup.js +2 -3
  287. package/src/lib/CustomProperties/Config/CustomPropertiesSettings.js +46 -3
  288. package/src/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +2 -3
  289. package/src/lib/CustomProperties/Filter/CustomPropertiesFilter.js +3 -4
  290. package/src/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +13 -3
  291. package/src/lib/CustomProperties/View/CustomPropertiesViewCtx.js +2 -3
  292. package/src/lib/hooks/README.md +101 -1
  293. package/src/lib/hooks/index.js +3 -0
  294. package/src/lib/hooks/useCustProps.js +97 -0
  295. package/src/lib/hooks/useParallelBatchFetch.js +168 -0
  296. package/src/lib/utils/parseErrorResponse.js +7 -1
@@ -0,0 +1,168 @@
1
+
2
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { useQueries, useQuery } from 'react-query';
4
+
5
+ import { chunk } from 'lodash';
6
+ import { useOkapiKy } from '@folio/stripes/core';
7
+ import { generateKiwtQueryParams } from '../utils';
8
+
9
+ // A hook to do the same thing as batch fetching > 100 resources, but parallelising it.
10
+
11
+ // Only defining defaults to ward of "magic number" sonarlint rule -.-
12
+ const CONCURRENT_REQUESTS_DEFAULT = 5;
13
+ const MAX_BATCH_SIZE = 100;
14
+ const DEFAULT_BATCH_LIMIT = Infinity;
15
+
16
+ // CONCURRENT_REQUESTS and BATCH_SIZE can be tweaked here, but implementor beware
17
+ // They are formatted as if constants to discourage this
18
+ const useParallelBatchFetch = ({
19
+ BATCH_LIMIT = DEFAULT_BATCH_LIMIT, // Number of resources to stop at, Infinity by default but can be set to a limit
20
+ batchParams = {}, // Params object of the shape accepted by generateKiwtQueryParams
21
+ nsValues = {},
22
+ BATCH_SIZE = MAX_BATCH_SIZE, // Number of resources to fetch per batch
23
+ CONCURRENT_REQUESTS = CONCURRENT_REQUESTS_DEFAULT, // Number of requests to make concurrently
24
+ endpoint, // endpoint to hit to fetch items
25
+ generateQueryKey, // Passed function to allow customised query keys
26
+ queryNamespace = 'stripes-kint-components',
27
+ queryOptions: passedQueryOptions = {}, // Options to pass to each query
28
+ }) => {
29
+ const ky = useOkapiKy();
30
+ const SAFE_BATCH_SIZE = Math.min(BATCH_SIZE, MAX_BATCH_SIZE);
31
+ const [isLoading, setIsLoading] = useState(true);
32
+
33
+ // Destructure passed query options to grab enabled
34
+ const { enabled: queryEnabled = true, ...queryOptions } = passedQueryOptions;
35
+
36
+ const paramsArray = useMemo(() => (
37
+ generateKiwtQueryParams(
38
+ {
39
+ ...batchParams,
40
+ perPage: SAFE_BATCH_SIZE,
41
+ stats: true
42
+ },
43
+ nsValues
44
+ )
45
+ ), [batchParams, nsValues, SAFE_BATCH_SIZE]);
46
+
47
+ const getDefaultNSArray = useCallback(
48
+ (offset) => [queryNamespace, endpoint, offset, paramsArray, 'useChunkedBatchedFetch'],
49
+ [queryNamespace, endpoint, paramsArray]
50
+ );
51
+ const namespaceArray = generateQueryKey ? generateQueryKey({
52
+ CONCURRENT_REQUESTS,
53
+ BATCH_LIMIT,
54
+ SAFE_BATCH_SIZE,
55
+ batchParams,
56
+ endpoint,
57
+ offset: 0,
58
+ paramsArray,
59
+ passedQueryOptions,
60
+ }) : getDefaultNSArray(0);
61
+
62
+
63
+ // Firstly fetch page 1 to get information about totals
64
+ const firstFetchResult = useQuery(
65
+ namespaceArray,
66
+ () => ky.get(`${endpoint}?${[...paramsArray, 'offset=0']?.join('&')}`).json(),
67
+ passedQueryOptions
68
+ );
69
+
70
+ const totalRecords = useMemo(() => firstFetchResult?.data?.total ?? 0, [firstFetchResult]);
71
+
72
+ // WAIT for initial fetch to conclude before setting up queryArray
73
+ // Set up query array, and only enable the first CONCURRENT_REQUESTS requests
74
+ const getQueryArray = useCallback(() => {
75
+ if (!firstFetchResult?.isFetched) {
76
+ return [];
77
+ }
78
+
79
+ const recordsToFetch = Math.min(totalRecords, BATCH_LIMIT);
80
+ // Have already fetched page 1
81
+
82
+ const queryArray = [];
83
+ // Offset will be i * SAFE_BATCH_SIZE
84
+ for (let offset = SAFE_BATCH_SIZE; offset < recordsToFetch; offset += SAFE_BATCH_SIZE) {
85
+ const queryKey = generateQueryKey ? generateQueryKey({
86
+ CONCURRENT_REQUESTS,
87
+ BATCH_LIMIT,
88
+ SAFE_BATCH_SIZE,
89
+ batchParams,
90
+ endpoint,
91
+ offset,
92
+ paramsArray,
93
+ passedQueryOptions,
94
+ }) : getDefaultNSArray(offset);
95
+
96
+ const paramString = [...paramsArray, `offset=${offset}`]?.join('&');
97
+ queryArray.push({
98
+ queryKey,
99
+ queryFn: () => ky.get(`${endpoint}?${paramString}`).json(),
100
+ // Only enable once the previous slice has all been fetched
101
+ enabled: queryEnabled && offset / SAFE_BATCH_SIZE < CONCURRENT_REQUESTS,
102
+ ...queryOptions
103
+ });
104
+ }
105
+ return queryArray;
106
+ }, [
107
+ BATCH_LIMIT,
108
+ batchParams,
109
+ CONCURRENT_REQUESTS,
110
+ endpoint,
111
+ firstFetchResult,
112
+ generateQueryKey,
113
+ getDefaultNSArray,
114
+ ky,
115
+ paramsArray,
116
+ passedQueryOptions,
117
+ queryEnabled,
118
+ queryOptions,
119
+ SAFE_BATCH_SIZE,
120
+ totalRecords
121
+ ]);
122
+
123
+ // Differentiate between chunked logic and the first return (Which includes the initial fetch)
124
+ const itemQueries = useQueries(getQueryArray());
125
+ const returnItemQueries = useMemo(() => [firstFetchResult, ...itemQueries], [firstFetchResult, itemQueries]);
126
+
127
+ // Once chunk has finished fetching, fetch next chunk
128
+ useEffect(() => {
129
+ const chunkedQuery = chunk(returnItemQueries, CONCURRENT_REQUESTS);
130
+ chunkedQuery.forEach((q, i) => {
131
+ // Check that all previous chunk are fetched,
132
+ // and that all of our current chunk are not fetched and not loading
133
+ if (
134
+ i !== 0 &&
135
+ chunkedQuery[i - 1]?.every(pq => pq.isFetched === true) &&
136
+ q.every(req => req.isFetched === false) &&
137
+ q.every(req => req.isLoading === false)
138
+ ) {
139
+ // Trigger fetch for each request in the chunk
140
+ q.forEach(req => {
141
+ req.refetch();
142
+ });
143
+ }
144
+ });
145
+ }, [CONCURRENT_REQUESTS, returnItemQueries]);
146
+
147
+ // Keep easy track of whether this hook is all loaded or not
148
+ // (This slightly flattens the "isLoading/isFetched" distinction, but it's an ease of use prop)
149
+ useEffect(() => {
150
+ const newLoading = ((returnItemQueries?.length ?? 0) < 1 || returnItemQueries?.some(uq => !uq.isFetched));
151
+
152
+ if (isLoading !== newLoading) {
153
+ setIsLoading(newLoading);
154
+ }
155
+ }, [isLoading, returnItemQueries]);
156
+
157
+ return {
158
+ itemQueries: returnItemQueries,
159
+ isLoading,
160
+ // Offer all fetched orderLines in flattened array once ready
161
+ items: isLoading ? [] : returnItemQueries?.reduce((acc, curr) => {
162
+ return [...acc, ...(curr?.data?.results ?? [])];
163
+ }, []),
164
+ total: totalRecords
165
+ };
166
+ };
167
+
168
+ export default useParallelBatchFetch;
@@ -9,7 +9,13 @@ const parseErrorResponse = async (responseObj) => {
9
9
  const contentType = [...(responseObj?.headers ?? [])]?.find(header => header[0]?.toLowerCase() === 'content-type')?.[1] ?? 'application/text';
10
10
 
11
11
  if (contentType.includes('json')) {
12
- errorResp = await responseObj.json();
12
+ const parsed = await responseObj.json();
13
+
14
+ errorResp = {
15
+ code,
16
+ ...parsed,
17
+ message: parsed?.message || parsed?.errors?.[0]?.message || 'something went wrong'
18
+ };
13
19
  } else {
14
20
  try {
15
21
  errorResp = { code, message: await responseObj.text() };