@k-int/stripes-kint-components 5.29.0 → 5.30.0

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 (401) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/__mocks__/@folio/stripes/components.js +3 -7
  3. package/es/__mocks__/@folio/stripes/core.js +4 -6
  4. package/es/__mocks__/@folio/stripes/smart-components.js +4 -6
  5. package/es/__mocks__/react-query.js +4 -6
  6. package/es/__mocks__/react-router-dom.js +6 -6
  7. package/es/lib/ActionList/ActionList.js +26 -33
  8. package/es/lib/ActionList/ActionListFieldArray.js +103 -119
  9. package/es/lib/ComboButton/ComboButton.js +42 -47
  10. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +11 -17
  11. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +42 -46
  12. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +58 -58
  13. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +4 -8
  14. package/es/lib/CustomProperties/Config/CustomPropertyView.js +32 -33
  15. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  16. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +1 -1
  17. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +3 -3
  18. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +29 -35
  19. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +61 -59
  20. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +20 -20
  21. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +2 -2
  22. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +1 -1
  23. package/es/lib/CustomProperties/Edit/testResources.js +11 -12
  24. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +22 -33
  25. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +23 -35
  26. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +1 -1
  27. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +6 -6
  28. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +3 -6
  29. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +4 -8
  30. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +14 -17
  31. package/es/lib/CustomProperties/Filter/testResources.js +1 -2
  32. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +1 -2
  33. package/es/lib/CustomProperties/View/CustomPropertiesView.js +1 -1
  34. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +18 -26
  35. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +3 -6
  36. package/es/lib/CustomProperties/View/CustomPropertyCard.js +7 -11
  37. package/es/lib/CycleButton/CycleButton.js +9 -17
  38. package/es/lib/FormModal/FormModal.js +24 -32
  39. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +23 -30
  40. package/es/lib/IconSelect/IconSelect.js +22 -32
  41. package/es/lib/NoResultsMessage/NoResultsMessage.js +4 -5
  42. package/es/lib/NumberField/NumberField.js +17 -25
  43. package/es/lib/NumberField/NumberField.test.js +6 -7
  44. package/es/lib/QueryTypedown/QueryTypedown.js +8 -15
  45. package/es/lib/RefdataButtons/RefdataButtons.js +6 -9
  46. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +48 -60
  47. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +5 -6
  48. package/es/lib/RichSelect/RichSelect.js +31 -36
  49. package/es/lib/RichSelect/useSelectedOption.js +1 -2
  50. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +91 -94
  51. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +42 -52
  52. package/es/lib/SASQRoute/SASQRoute.js +25 -29
  53. package/es/lib/SASQViewComponent/SASQViewComponent.js +68 -76
  54. package/es/lib/SearchField/SearchField.js +7 -13
  55. package/es/lib/SearchKeyControl/SearchKeyControl.js +8 -13
  56. package/es/lib/SearchKeyControl/SearchKeyControl.test.js +2 -6
  57. package/es/lib/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js +30 -46
  58. package/es/lib/Settings/EditableRefdataList/EditableRefdataList.js +33 -43
  59. package/es/lib/Settings/EditableSettingsList/EditableSettingsList.js +26 -8
  60. package/es/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +31 -33
  61. package/es/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.test.js +8 -2
  62. package/es/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +17 -23
  63. package/es/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.test.js +29 -44
  64. package/es/lib/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js +10 -12
  65. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.js +50 -29
  66. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.test.js +5 -3
  67. package/es/lib/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js +19 -26
  68. package/es/lib/Settings/SettingPage/SettingPage.js +3 -0
  69. package/es/lib/Settings/SettingPage/SettingPagePane/SettingPagePane.js +2 -2
  70. package/es/lib/Settings/SettingsFormContainer/SettingsFormContainer.js +30 -35
  71. package/es/lib/Settings/StaticSettingsField/StaticSettingsField.js +8 -65
  72. package/es/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js +60 -0
  73. package/es/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js +13 -0
  74. package/es/lib/Settings/StaticSettingsField/index.js +8 -1
  75. package/es/lib/Settings/constants/queryKeys.js +10 -1
  76. package/es/lib/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js +2 -2
  77. package/es/lib/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js +1 -1
  78. package/es/lib/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js +3 -7
  79. package/es/lib/Settings/hooks/useAppSettings/useAppSettings.js +7 -11
  80. package/es/lib/Settings/hooks/useSettingSection/useSettingSection.js +17 -17
  81. package/es/lib/Settings/hooks/useSettings/useSettings.js +60 -60
  82. package/es/lib/Settings/index.js +9 -2
  83. package/es/lib/Tags/Tags.js +5 -8
  84. package/es/lib/Tags/hooks/useTags.js +1 -1
  85. package/es/lib/Tags/hooks/useTagsEnabled.js +34 -4
  86. package/es/lib/Tags/tagsConfig.js +1 -1
  87. package/es/lib/Typedown/Typedown.js +21 -28
  88. package/es/lib/constants/endpoints.js +7 -2
  89. package/es/lib/hooks/__mocks__/index.js +3 -7
  90. package/es/lib/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js +20 -26
  91. package/es/lib/hooks/intlHooks/useKintIntl/useKintIntl.js +24 -34
  92. package/es/lib/hooks/typedownHooks/useTypedown.js +2 -2
  93. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +2 -2
  94. package/es/lib/hooks/useActionListRef.js +1 -1
  95. package/es/lib/hooks/useActiveElement.js +1 -1
  96. package/es/lib/hooks/useCustomProperties.js +6 -10
  97. package/es/lib/hooks/useHelperApp.js +13 -16
  98. package/es/lib/hooks/useKiwtFieldArray.js +7 -8
  99. package/es/lib/hooks/useKiwtSASQuery.js +15 -19
  100. package/es/lib/hooks/useLocalPageStore.js +7 -10
  101. package/es/lib/hooks/useModConfigEntries.js +2 -2
  102. package/es/lib/hooks/useMutateCustomProperties/useMutateCustomProperties.js +10 -17
  103. package/es/lib/hooks/useMutateGeneric/useMutateGeneric.js +2 -2
  104. package/es/lib/hooks/useMutateModConfigEntry.js +2 -2
  105. package/es/lib/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js +15 -21
  106. package/es/lib/hooks/useMutateRefdataValue/useMutateRefdataValue.js +16 -23
  107. package/es/lib/hooks/usePrevNextPagination.js +17 -19
  108. package/es/lib/hooks/useQIndex.js +11 -14
  109. package/es/lib/hooks/useRefdata.js +3 -3
  110. package/es/lib/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js +9 -13
  111. package/es/lib/hooks/useTemplates.js +4 -4
  112. package/es/lib/utils/buildUrl.js +2 -3
  113. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +5 -5
  114. package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +2 -2
  115. package/es/lib/utils/filterParsers/parseKiwtQueryGroups.js +4 -5
  116. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  117. package/es/lib/utils/generateKiwtQueryParams/generateKiwtQueryParams.js +94 -107
  118. package/es/lib/utils/groupCustomPropertiesByCtx.js +5 -9
  119. package/es/lib/utils/matchString.js +5 -7
  120. package/es/lib/utils/parseErrorResponse.js +3 -7
  121. package/es/lib/utils/selectorSafe.js +2 -3
  122. package/es/lib/utils/sortByLabel.js +2 -3
  123. package/es/lib/validators/validators.js +6 -9
  124. package/package.json +1 -1
  125. package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +1 -1
  126. package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +1 -1
  127. package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
  128. package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
  129. package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +1 -1
  130. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  131. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  132. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  133. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  134. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  135. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  136. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
  137. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  138. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  139. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  140. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  141. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  142. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  143. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
  144. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  146. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  147. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  148. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  149. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  150. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  151. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
  152. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  153. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  154. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +1 -1
  155. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  156. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
  157. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  158. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  159. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  160. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
  161. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  162. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  163. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  164. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  165. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
  166. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  167. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  168. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
  169. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  170. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  171. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
  172. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  173. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  174. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  175. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  176. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  177. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
  178. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  179. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  180. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +1 -1
  181. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
  182. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  183. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
  184. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  185. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  186. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
  187. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  188. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  189. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
  190. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  191. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  192. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  193. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  194. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  195. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  196. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
  197. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  198. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  199. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
  200. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
  201. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  202. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
  203. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  204. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +1 -1
  205. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  206. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
  207. package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
  208. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  209. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +1 -1
  210. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +1 -1
  211. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  212. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
  213. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  214. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  215. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
  216. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  217. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  218. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  219. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  220. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  221. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
  222. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  223. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  224. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +94 -28
  225. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +50 -44
  226. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +19 -19
  227. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  228. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +20 -11
  229. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +5 -5
  230. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  231. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
  232. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  233. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  234. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +118 -31
  235. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +19 -19
  236. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  237. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +15 -15
  238. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  239. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
  240. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  241. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  242. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +5 -2
  243. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
  244. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  245. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  246. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  247. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  248. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  249. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  250. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  251. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +18 -198
  252. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +211 -0
  253. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +131 -0
  254. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +88 -0
  255. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +19 -19
  256. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +6 -3
  257. package/src/artifacts/coverage-jest/Settings/constants/index.html +17 -17
  258. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  259. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +43 -10
  260. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
  261. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  262. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  263. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  264. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  265. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  266. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  267. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  268. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  269. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
  270. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  271. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  272. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
  273. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
  274. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  275. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  276. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
  277. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +13 -13
  278. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  279. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +21 -9
  280. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
  281. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  282. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
  283. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  284. package/src/artifacts/coverage-jest/Settings/index.js.html +2 -2
  285. package/src/artifacts/coverage-jest/Tags/Tags.js.html +1 -1
  286. package/src/artifacts/coverage-jest/Tags/hooks/index.html +15 -15
  287. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  288. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +1 -1
  289. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +150 -12
  290. package/src/artifacts/coverage-jest/Tags/index.html +1 -1
  291. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  292. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
  293. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +1 -1
  294. package/src/artifacts/coverage-jest/Typedown/index.html +1 -1
  295. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  296. package/src/artifacts/coverage-jest/cobertura-coverage.xml +231 -156
  297. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  298. package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
  299. package/src/artifacts/coverage-jest/constants/endpoints.js.html +23 -5
  300. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
  301. package/src/artifacts/coverage-jest/constants/index.html +5 -5
  302. package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
  303. package/src/artifacts/coverage-jest/hooks/index.html +1 -1
  304. package/src/artifacts/coverage-jest/hooks/index.js.html +1 -1
  305. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  306. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  307. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  308. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  309. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +1 -1
  310. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  311. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  312. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +1 -1
  313. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  314. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  315. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +1 -1
  316. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +1 -1
  317. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  318. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +1 -1
  319. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
  320. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  321. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
  322. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
  323. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
  324. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
  325. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  326. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  327. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
  328. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
  329. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +1 -1
  330. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
  331. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +1 -1
  332. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
  333. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  334. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  335. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
  336. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  337. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
  338. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
  339. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
  340. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  341. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  342. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
  343. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  344. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  345. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
  346. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +1 -1
  347. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +1 -1
  348. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
  349. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
  350. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  351. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  352. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
  353. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
  354. package/src/artifacts/coverage-jest/index.html +89 -74
  355. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +1 -1
  356. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
  357. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  358. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  359. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
  360. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
  361. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
  362. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +1 -1
  363. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +1 -1
  364. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +1 -1
  365. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  366. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
  367. package/src/artifacts/coverage-jest/utils/highlightString.js.html +1 -1
  368. package/src/artifacts/coverage-jest/utils/index.html +1 -1
  369. package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
  370. package/src/artifacts/coverage-jest/utils/matchString.js.html +1 -1
  371. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
  372. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +1 -1
  373. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
  374. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  375. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  376. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  377. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
  378. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
  379. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
  380. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
  381. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
  382. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  383. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  384. package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
  385. package/src/lib/Settings/EditableSettingsList/EditableSettingsList.js +42 -20
  386. package/src/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +27 -25
  387. package/src/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.test.js +2 -0
  388. package/src/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +9 -6
  389. package/src/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.test.js +29 -44
  390. package/src/lib/Settings/EditableSettingsList/SettingField/SettingField.js +49 -20
  391. package/src/lib/Settings/EditableSettingsList/SettingField/SettingField.test.js +2 -0
  392. package/src/lib/Settings/SettingPage/SettingPage.js +1 -0
  393. package/src/lib/Settings/StaticSettingsField/StaticSettingsField.js +8 -68
  394. package/src/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js +42 -0
  395. package/src/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js +1 -0
  396. package/src/lib/Settings/StaticSettingsField/index.js +2 -1
  397. package/src/lib/Settings/constants/queryKeys.js +12 -1
  398. package/src/lib/Settings/hooks/useSettingSection/useSettingSection.js +6 -2
  399. package/src/lib/Settings/index.js +1 -1
  400. package/src/lib/Tags/hooks/useTagsEnabled.js +51 -5
  401. package/src/lib/constants/endpoints.js +7 -1
@@ -20,23 +20,21 @@ const RenderSettingValue = props => {
20
20
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
21
21
  const NoCurrentValue = kintIntl.formatKintMessage({
22
22
  id: 'settings.noCurrentValue',
23
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.noCurrentValue
23
+ overrideValue: labelOverrides?.noCurrentValue
24
24
  });
25
- const defaultText = "[".concat(kintIntl.formatKintMessage({
25
+ const defaultText = `[${kintIntl.formatKintMessage({
26
26
  id: 'settings.default',
27
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.default
28
- }), "]");
27
+ overrideValue: labelOverrides?.default
28
+ })}]`;
29
29
  switch (setting.settingType) {
30
30
  case 'Refdata':
31
31
  {
32
32
  if (setting.value) {
33
- var _refdata$filter$0$lab, _refdata$filter$;
34
- return (_refdata$filter$0$lab = refdata === null || refdata === void 0 || (_refdata$filter$ = refdata.filter(obj => obj.value === setting.value)[0]) === null || _refdata$filter$ === void 0 ? void 0 : _refdata$filter$.label) !== null && _refdata$filter$0$lab !== void 0 ? _refdata$filter$0$lab : null;
33
+ return refdata?.filter(obj => obj.value === setting.value)[0]?.label ?? null;
35
34
  }
36
35
  if (setting.defValue) {
37
- var _refdata$filter$2;
38
- const defValue = refdata === null || refdata === void 0 || (_refdata$filter$2 = refdata.filter(obj => obj.value === setting.defValue)[0]) === null || _refdata$filter$2 === void 0 ? void 0 : _refdata$filter$2.label;
39
- return "".concat(defaultText, " ").concat(defValue);
36
+ const defValue = refdata?.filter(obj => obj.value === setting.defValue)[0]?.label;
37
+ return `${defaultText} ${defValue}`;
40
38
  }
41
39
  return NoCurrentValue;
42
40
  }
@@ -46,7 +44,7 @@ const RenderSettingValue = props => {
46
44
  return '********';
47
45
  }
48
46
  if (setting.defValue) {
49
- return "".concat(defaultText, " ********");
47
+ return `${defaultText} ********`;
50
48
  }
51
49
  return NoCurrentValue;
52
50
  }
@@ -56,7 +54,7 @@ const RenderSettingValue = props => {
56
54
  const settingId = setting.value || setting.defValue;
57
55
  return obj.id === settingId;
58
56
  })[0];
59
- return (templateValue === null || templateValue === void 0 ? void 0 : templateValue.name) || NoCurrentValue;
57
+ return templateValue?.name || NoCurrentValue;
60
58
  }
61
59
  default:
62
60
  {
@@ -64,7 +62,7 @@ const RenderSettingValue = props => {
64
62
  return setting.value;
65
63
  }
66
64
  if (setting.defValue) {
67
- return "".concat(defaultText, " ").concat(setting.defValue);
65
+ return `${defaultText} ${setting.defValue}`;
68
66
  }
69
67
  return NoCurrentValue;
70
68
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _reactFinalForm = require("react-final-form");
9
10
  var _components = require("@folio/stripes/components");
10
11
  var _EditSettingValue = _interopRequireDefault(require("./EditSettingValue"));
11
12
  var _RenderSettingValue = _interopRequireDefault(require("./RenderSettingValue"));
@@ -15,11 +16,6 @@ var _utils = require("../../../utils");
15
16
  var _renderHelpText = _interopRequireDefault(require("../../../../../styles/renderHelpText.css"));
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
21
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
19
  const SettingField = settingFieldProps => {
24
20
  const {
25
21
  allowEdit = true,
@@ -27,17 +23,25 @@ const SettingField = settingFieldProps => {
27
23
  intlKey: passedIntlKey,
28
24
  intlNS: passedIntlNS,
29
25
  labelOverrides = {},
26
+ name,
30
27
  onSave,
31
28
  setEditing,
32
29
  settingData: {
33
30
  currentSetting
34
- } = {}
31
+ } = {},
32
+ setSettingSubmitting,
33
+ settingSubmitting
35
34
  } = settingFieldProps;
36
35
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
37
36
  const {
38
37
  refdataEndpoint,
39
38
  templateEndpoint
40
39
  } = (0, _react.useContext)(_contexts.SettingsContext);
40
+ const {
41
+ submitting,
42
+ invalid,
43
+ values
44
+ } = (0, _reactFinalForm.useFormState)();
41
45
  const {
42
46
  0: {
43
47
  values: refdata = []
@@ -46,7 +50,7 @@ const SettingField = settingFieldProps => {
46
50
  endpoint: refdataEndpoint,
47
51
  desc: currentSetting.vocab,
48
52
  queryParams: {
49
- enabled: !!(currentSetting !== null && currentSetting !== void 0 && currentSetting.vocab) && currentSetting.settingType === 'Refdata',
53
+ enabled: !!currentSetting?.vocab && currentSetting.settingType === 'Refdata',
50
54
  staleTime: 1000 * 60 * 2 // 2 minutes staletime for refdata in settings?
51
55
  }
52
56
  });
@@ -54,10 +58,10 @@ const SettingField = settingFieldProps => {
54
58
  context: currentSetting.vocab,
55
59
  endpoint: templateEndpoint,
56
60
  queryParams: {
57
- enabled: !!(currentSetting !== null && currentSetting !== void 0 && currentSetting.vocab) && currentSetting.settingType === 'Template'
61
+ enabled: !!currentSetting?.vocab && currentSetting.settingType === 'Template'
58
62
  }
59
63
  });
60
- const renderHelpText = helpTextId => {
64
+ const renderHelpText = (0, _react.useCallback)(helpTextId => {
61
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
62
66
  className: _renderHelpText.default.help,
63
67
  children: kintIntl.formatKintMessage({
@@ -95,35 +99,50 @@ const SettingField = settingFieldProps => {
95
99
  })
96
100
  })
97
101
  });
98
- };
99
- const renderEditButton = () => {
102
+ }, [kintIntl]);
103
+ const renderEditButton = (0, _react.useCallback)(() => {
100
104
  const EditText = editing ? kintIntl.formatKintMessage({
101
105
  id: 'save'
102
106
  }) : kintIntl.formatKintMessage({
103
107
  id: 'edit'
104
108
  });
105
109
  if (allowEdit) {
106
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
110
+ // This is unbelievably gross... this stems from this all being in a single FieldArray.
111
+ // We should aim to set this up in an ActionList as soon as possible
112
+ const settingToSave = values.settings?.find(s => s.id === currentSetting.id);
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Button, {
114
+ disabled: editing && (submitting || invalid),
107
115
  marginBottom0: true,
108
116
  onClick: e => {
109
117
  e.preventDefault();
110
- return editing ? onSave().then(() => setEditing(false)) : setEditing(true);
118
+ if (editing) {
119
+ setSettingSubmitting(true);
120
+ // We want to track that JUST this setting is being edited,
121
+ // since "Submitting" is relevant for any and all submits
122
+ // I hate this
123
+ return onSave(settingToSave).then(() => {
124
+ setEditing(false);
125
+ setSettingSubmitting(false);
126
+ });
127
+ }
128
+ return setEditing(true);
111
129
  },
112
- children: EditText
130
+ children: [submitting && settingSubmitting ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}) : null, EditText]
113
131
  });
114
132
  }
115
133
  return null;
116
- };
117
- let RenderFunction;
118
- if (editing === false) {
119
- RenderFunction = _RenderSettingValue.default;
120
- } else {
121
- RenderFunction = _EditSettingValue.default;
122
- }
123
- const id = "settings.".concat((0, _utils.toCamelCase)(currentSetting.section), ".").concat((0, _utils.toCamelCase)(currentSetting.key), ".help");
124
- const renderHeaderStart = () => {
134
+ }, [allowEdit, currentSetting.id, editing, invalid, kintIntl, onSave, setEditing, setSettingSubmitting, settingSubmitting, submitting, values.settings]);
135
+ const RenderFunction = (0, _react.useMemo)(() => {
136
+ if (editing === false) {
137
+ return _RenderSettingValue.default;
138
+ } else {
139
+ return _EditSettingValue.default;
140
+ }
141
+ }, [editing]);
142
+ const id = (0, _react.useMemo)(() => `settings.${(0, _utils.toCamelCase)(currentSetting.section)}.${(0, _utils.toCamelCase)(currentSetting.key)}.help`, [currentSetting.key, currentSetting.section]);
143
+ const renderHeaderStart = (0, _react.useCallback)(() => {
125
144
  const settingName = Object.keys(currentSetting).length > 0 ? kintIntl.formatKintMessage({
126
- id: "settings.".concat((0, _utils.toCamelCase)(currentSetting.section), ".").concat((0, _utils.toCamelCase)(currentSetting.key))
145
+ id: `settings.${(0, _utils.toCamelCase)(currentSetting.section)}.${(0, _utils.toCamelCase)(currentSetting.key)}`
127
146
  }) : kintIntl.formatKintMessage({
128
147
  id: 'loading'
129
148
  });
@@ -132,20 +151,22 @@ const SettingField = settingFieldProps => {
132
151
  content: renderHelpText(id)
133
152
  }), settingName]
134
153
  });
135
- };
154
+ }, [currentSetting, id, kintIntl, renderHelpText]);
136
155
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Card, {
137
156
  headerEnd: renderEditButton(),
138
157
  headerStart: renderHeaderStart(),
139
158
  roundedBorder: true,
140
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderFunction, _objectSpread({
159
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderFunction, {
141
160
  currentSetting: currentSetting,
161
+ disabled: submitting,
142
162
  intlKey: passedIntlKey,
143
163
  intlNS: passedIntlNS,
144
164
  labelOverrides: labelOverrides,
145
165
  refdata: refdata,
146
- templates: templates
147
- }, settingFieldProps))
148
- });
166
+ templates: templates,
167
+ ...settingFieldProps
168
+ }, `setting-render-function-${name}`)
169
+ }, `setting-edit-card-${name}`);
149
170
  };
150
171
  SettingField.propTypes = {
151
172
  allowEdit: _propTypes.default.bool,
@@ -25,6 +25,7 @@ const setting = {
25
25
  value: 'diku-shared'
26
26
  };
27
27
  const setEditing = jest.fn();
28
+ const setSettingSubmitting = jest.fn();
28
29
  let renderComponent;
29
30
  describe('SettingField', () => {
30
31
  describe.each([{
@@ -56,22 +57,23 @@ describe('SettingField', () => {
56
57
  name: "test",
57
58
  onSave: onSave,
58
59
  setEditing: setEditing,
60
+ setSettingSubmitting: setSettingSubmitting,
59
61
  settingData: {
60
62
  currentSetting: setting
61
63
  }
62
64
  })
63
65
  }));
64
66
  });
65
- it("renders ".concat(expectedRender), () => {
67
+ it(`renders ${expectedRender}`, () => {
66
68
  const {
67
69
  getByText
68
70
  } = renderComponent;
69
71
  expect(getByText(expectedRender)).toBeInTheDocument();
70
72
  });
71
- test("renders the ".concat(expectedButton, " button"), () => {
73
+ test(`renders the ${expectedButton} button`, () => {
72
74
  (0, _stripesErmTesting.Button)('Edit').exists();
73
75
  });
74
- describe("clicking the ".concat(expectedButton, " button"), () => {
76
+ describe(`clicking the ${expectedButton} button`, () => {
75
77
  beforeEach(async () => {
76
78
  await (0, _react2.waitFor)(async () => {
77
79
  await (0, _stripesErmTesting.Button)(expectedButton).click();
@@ -13,11 +13,6 @@ var _EditableRefdataList = _interopRequireDefault(require("../EditableRefdataLis
13
13
  var _FormattedKintMessage = _interopRequireDefault(require("../../FormattedKintMessage"));
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
16
  const propTypes = {
22
17
  afterQueryCalls: _propTypes.default.object,
23
18
  catchQueryCalls: _propTypes.default.object,
@@ -34,7 +29,6 @@ const propTypes = {
34
29
  refdataEndpoint: _propTypes.default.string
35
30
  };
36
31
  const RefdataCategoriesSettings = _ref => {
37
- var _refdataCategory$valu;
38
32
  let {
39
33
  /*
40
34
  * Set of extra booleans for controlling access to actions
@@ -64,29 +58,28 @@ const RefdataCategoriesSettings = _ref => {
64
58
  };
65
59
  const pickListValuesLabel = kintIntl.formatKintMessage({
66
60
  id: 'settings.pickListValues',
67
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.pickListValues
61
+ overrideValue: labelOverrides?.pickListValues
68
62
  });
69
- const renderViewPaneHeader = renderProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneHeader, _objectSpread(_objectSpread({}, renderProps), {}, {
63
+ const renderViewPaneHeader = renderProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneHeader, {
64
+ ...renderProps,
70
65
  dismissible: true,
71
66
  onClose: () => setRefdataCategory(),
72
67
  paneTitle: kintIntl.formatKintMessage({
73
68
  id: 'refdataCategories.config.viewPaneTitle',
74
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.viewPaneTitle,
75
- fallbackMessage: refdataCategory === null || refdataCategory === void 0 ? void 0 : refdataCategory.desc
69
+ overrideValue: labelOverrides?.viewPaneTitle,
70
+ fallbackMessage: refdataCategory?.desc
76
71
  }, {
77
- name: refdataCategory === null || refdataCategory === void 0 ? void 0 : refdataCategory.desc
72
+ name: refdataCategory?.desc
78
73
  })
79
- }));
80
- const renderLookupPaneHeader = renderProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneHeader, _objectSpread(_objectSpread({}, renderProps), {}, {
74
+ });
75
+ const renderLookupPaneHeader = renderProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneHeader, {
76
+ ...renderProps,
81
77
  dismissible: true,
82
78
  lastMenu: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneMenu, {
83
79
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
84
- disabled: !!(refState !== null && refState !== void 0 && refState.editing) || !displayConditions.create,
80
+ disabled: !!refState?.editing || !displayConditions.create,
85
81
  marginBottom0: true,
86
- onClick: () => {
87
- var _rdclRef$current;
88
- return rdclRef === null || rdclRef === void 0 || (_rdclRef$current = rdclRef.current) === null || _rdclRef$current === void 0 ? void 0 : _rdclRef$current.create();
89
- },
82
+ onClick: () => rdclRef?.current?.create(),
90
83
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormattedKintMessage.default, {
91
84
  id: "new"
92
85
  })
@@ -95,9 +88,9 @@ const RefdataCategoriesSettings = _ref => {
95
88
  onClose: onClose,
96
89
  paneTitle: kintIntl.formatKintMessage({
97
90
  id: 'settings.pickLists',
98
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.pickLists
91
+ overrideValue: labelOverrides?.pickLists
99
92
  })
100
- }));
93
+ });
101
94
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
102
95
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, {
103
96
  defaultWidth: "fill",
@@ -114,13 +107,13 @@ const RefdataCategoriesSettings = _ref => {
114
107
  handleRefdataCategoryClick: handleRefdataCategoryClick,
115
108
  hideCreateButton: true,
116
109
  onConfirmDelete: id => {
117
- if ((refdataCategory === null || refdataCategory === void 0 ? void 0 : refdataCategory.id) === id) {
110
+ if (refdataCategory?.id === id) {
118
111
  setRefdataCategory();
119
112
  }
120
113
  },
121
114
  refdataEndpoint: refdataEndpoint
122
115
  })
123
- }), (refdataCategory === null || refdataCategory === void 0 ? void 0 : refdataCategory.desc) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Pane, {
116
+ }), refdataCategory?.desc && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Pane, {
124
117
  defaultWidth: "fill",
125
118
  id: "settings-refdataCategories-viewPane",
126
119
  renderHeader: renderViewPaneHeader,
@@ -130,7 +123,7 @@ const RefdataCategoriesSettings = _ref => {
130
123
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.KeyValue, {
131
124
  label: kintIntl.formatKintMessage({
132
125
  id: 'refdataCategory.refdataCategory',
133
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.refdataCategory
126
+ overrideValue: labelOverrides?.refdataCategory
134
127
  }),
135
128
  value: refdataCategory.desc
136
129
  })
@@ -139,9 +132,9 @@ const RefdataCategoriesSettings = _ref => {
139
132
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.KeyValue, {
140
133
  label: kintIntl.formatKintMessage({
141
134
  id: 'refdataCategory.noOfValues',
142
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.noOfValues
135
+ overrideValue: labelOverrides?.noOfValues
143
136
  }),
144
- value: refdataCategory === null || refdataCategory === void 0 || (_refdataCategory$valu = refdataCategory.values) === null || _refdataCategory$valu === void 0 ? void 0 : _refdataCategory$valu.length
137
+ value: refdataCategory?.values?.length
145
138
  })
146
139
  })]
147
140
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditableRefdataList.default, {
@@ -149,7 +142,7 @@ const RefdataCategoriesSettings = _ref => {
149
142
  put: json => setRefdataCategory(json),
150
143
  delete: json => setRefdataCategory(json)
151
144
  },
152
- desc: refdataCategory === null || refdataCategory === void 0 ? void 0 : refdataCategory.desc,
145
+ desc: refdataCategory?.desc,
153
146
  displayConditions: displayConditions,
154
147
  label: pickListValuesLabel,
155
148
  refdataEndpoint: refdataEndpoint
@@ -44,6 +44,9 @@ const SettingPage = _ref => {
44
44
  onSave: handleSubmit,
45
45
  onSubmit: handleSubmit,
46
46
  render: render,
47
+ settingData: {
48
+ settings
49
+ },
47
50
  settingSection: sectionName
48
51
  });
49
52
  };
@@ -20,9 +20,9 @@ const SettingPagePane = _ref => {
20
20
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
21
21
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, {
22
22
  defaultWidth: "fill",
23
- id: "settings-".concat(sectionName),
23
+ id: `settings-${sectionName}`,
24
24
  paneTitle: kintIntl.formatKintMessage({
25
- id: "settings.settingsSection.".concat((0, _utils.toCamelCase)(sectionName)),
25
+ id: `settings.settingsSection.${(0, _utils.toCamelCase)(sectionName)}`,
26
26
  fallbackMessage: sectionName
27
27
  }),
28
28
  children: children
@@ -8,33 +8,25 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
8
8
  var _core = require("@folio/stripes/core");
9
9
  var _hooks = require("../../hooks");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
- const _excluded = ["ConfigFormComponent", "configName", "getInitialValues", "intlKey", "intlNS", "labelOverrides", "moduleName", "scope"];
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /*
13
13
  * API is similar to ConfigManager
14
14
  *
15
15
  * DEPRECATED -- As far as I can see this is now unused anyway
16
16
  * KInt modules are swapping to AppSettings instead of mod-settings, so no centralised components should be needed
17
- */
18
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
25
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
26
- const SettingsFormContainer = _ref => {
17
+ */const SettingsFormContainer = _ref => {
27
18
  let {
28
- ConfigFormComponent,
29
- configName,
30
- getInitialValues: passedGetInitialValues,
31
- intlKey: passedIntlKey,
32
- intlNS: passedIntlNS,
33
- labelOverrides = {},
34
- moduleName,
35
- scope // We don't use this currently but it's here for future reference
36
- } = _ref,
37
- rest = _objectWithoutProperties(_ref, _excluded);
19
+ ConfigFormComponent,
20
+ configName,
21
+ getInitialValues: passedGetInitialValues,
22
+ intlKey: passedIntlKey,
23
+ intlNS: passedIntlNS,
24
+ labelOverrides = {},
25
+ moduleName,
26
+ scope,
27
+ // We don't use this currently but it's here for future reference
28
+ ...rest
29
+ } = _ref;
38
30
  // eslint-disable-next-line no-console
39
31
  console.warn('SettingsFormContainer is deprecated, as it utilises mod-config');
40
32
  const callout = (0, _core.useCallout)();
@@ -62,18 +54,20 @@ const SettingsFormContainer = _ref => {
62
54
  } = (0, _hooks.useMutateModConfigEntry)({
63
55
  configName,
64
56
  moduleName,
65
- id: settings === null || settings === void 0 ? void 0 : settings.id
57
+ id: settings?.id
66
58
  });
67
59
  const onSubmit = values => {
68
- const setting = _objectSpread(_objectSpread({}, settings), {}, {
69
- value: JSON.stringify(values)
70
- }, moduleName ? {
71
- module: moduleName,
72
- configName
73
- } : {
74
- scope,
75
- key: configName
76
- });
60
+ const setting = {
61
+ ...settings,
62
+ value: JSON.stringify(values),
63
+ ...(moduleName ? {
64
+ module: moduleName,
65
+ configName
66
+ } : {
67
+ scope,
68
+ key: configName
69
+ })
70
+ };
77
71
  editSettings(setting).then(() => {
78
72
  callout.sendCallout({
79
73
  message: kintIntl.formatKintMessage({
@@ -81,7 +75,7 @@ const SettingsFormContainer = _ref => {
81
75
  id: 'settingSaveSuccess',
82
76
  intlKey: passedIntlKey,
83
77
  intlNS: passedIntlNS,
84
- overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.settingSaveSuccess
78
+ overrideValue: labelOverrides?.settingSaveSuccess
85
79
  }),
86
80
  type: 'success'
87
81
  });
@@ -101,10 +95,11 @@ const SettingsFormContainer = _ref => {
101
95
  style: {
102
96
  width: '100%'
103
97
  },
104
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfigFormComponent, _objectSpread({
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfigFormComponent, {
105
99
  initialValues: getInitialValues(),
106
- onSubmit: onSubmit
107
- }, rest))
100
+ onSubmit: onSubmit,
101
+ ...rest
102
+ })
108
103
  });
109
104
  };
110
105
  SettingsFormContainer.propTypes = {
@@ -6,73 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
8
  var _reactFinalForm = require("react-final-form");
9
- var _components = require("@folio/stripes/components");
10
- var _RefdataButtons = _interopRequireDefault(require("../../RefdataButtons"));
9
+ var _StaticSettingsFieldComponent = _interopRequireDefault(require("./StaticSettingsFieldComponent"));
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
- const _excluded = ["refdata", "setting", "templates"]; // This is pretty much EXACTLY equivalent to the EditSettingValue in EditableSettingsList,
13
- // but slightly tweaked to be more accommodating
14
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
22
- const StaticSettingsField = _ref => {
23
- let {
24
- refdata,
25
- setting = {},
26
- templates
27
- // Anything else will be passed directly onto the <Field> component
28
- } = _ref,
29
- fieldProps = _objectWithoutProperties(_ref, _excluded);
30
- // Adding default sort to refdata object in ascending order by label
31
- const sortByLabel = (a, b) => a.label.localeCompare(b.label);
32
- const sortedRefdata = refdata === null || refdata === void 0 ? void 0 : refdata.sort(sortByLabel);
33
- switch (setting.settingType) {
34
- case 'Refdata':
35
- // Grab refdata values corresponding to setting
36
- // eslint-disable-next-line no-case-declarations
37
- let RefdataComponent = _components.Select;
38
- if (refdata.length > 0 && refdata.length <= 4) {
39
- RefdataComponent = _RefdataButtons.default;
40
- }
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, _objectSpread({
42
- component: RefdataComponent,
43
- dataOptions: sortedRefdata
44
- }, fieldProps));
45
- case 'Password':
46
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, _objectSpread({
47
- component: _components.TextField,
48
- parse: v => v // Lets us send an empty string instead of 'undefined'
49
- ,
50
- type: "password"
51
- }, fieldProps));
52
- case 'Template':
53
- {
54
- // Grab template values corresponding to setting
55
- // eslint-disable-next-line no-case-declarations
56
- const selectTemplateValues = [{
57
- value: '',
58
- label: ''
59
- }, ...templates.map(t => ({
60
- value: t.id,
61
- label: t.name
62
- }))];
63
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, _objectSpread({
64
- component: _components.Select,
65
- dataOptions: selectTemplateValues,
66
- parse: v => v
67
- }, fieldProps));
68
- }
69
- default:
70
- // If in doubt, go with String
71
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, _objectSpread({
72
- component: _components.TextField,
73
- parse: v => v // Lets us send an empty string instead of 'undefined'
74
- }, fieldProps));
75
- }
12
+ // This is pretty much EXACTLY equivalent to the EditSettingValue in EditableSettingsList,
13
+ // but slightly tweaked to be more accommodating
14
+ const StaticSettingsField = props => {
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
16
+ component: _StaticSettingsFieldComponent.default,
17
+ ...props
18
+ });
76
19
  };
77
20
  StaticSettingsField.propTypes = {
78
21
  setting: _propTypes.default.shape({
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _components = require("@folio/stripes/components");
9
+ var _RefdataButtons = _interopRequireDefault(require("../../../RefdataButtons"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const StaticSettingsFieldComponent = _ref => {
13
+ let {
14
+ refdata,
15
+ setting = {},
16
+ templates,
17
+ ...fieldProps // Anything else will be passed directly onto the <Field> component
18
+ } = _ref;
19
+ // Adding default sort to refdata object in ascending order by label
20
+ const sortByLabel = (0, _react.useCallback)((a, b) => a.label.localeCompare(b.label), []);
21
+ const sortedRefdata = (0, _react.useMemo)(() => refdata?.sort(sortByLabel), [refdata, sortByLabel]);
22
+ switch (setting.settingType) {
23
+ case 'Refdata':
24
+ // Grab refdata values corresponding to setting
25
+ // eslint-disable-next-line no-case-declarations
26
+ let RefdataComponent = _components.Select;
27
+ if (refdata.length > 0 && refdata.length <= 4) {
28
+ RefdataComponent = _RefdataButtons.default;
29
+ }
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RefdataComponent, {
31
+ ...fieldProps,
32
+ dataOptions: sortedRefdata
33
+ });
34
+ case 'Password':
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextField, {
36
+ ...fieldProps,
37
+ type: "password"
38
+ });
39
+ case 'Template':
40
+ // Grab template values corresponding to setting
41
+ // eslint-disable-next-line no-case-declarations
42
+ const selectTemplateValues = [{
43
+ value: '',
44
+ label: ''
45
+ }, ...templates.map(t => ({
46
+ value: t.id,
47
+ label: t.name
48
+ }))];
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Select, {
50
+ ...fieldProps,
51
+ dataOptions: selectTemplateValues
52
+ });
53
+ default:
54
+ // If in doubt, go with String
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextField, {
56
+ ...fieldProps
57
+ });
58
+ }
59
+ };
60
+ var _default = exports.default = StaticSettingsFieldComponent;