@k-int/stripes-kint-components 1.5.0 → 1.6.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 (406) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/artifacts/coverage-jest/lcov-report/base.css +224 -0
  3. package/artifacts/coverage-jest/lcov-report/block-navigation.js +87 -0
  4. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/ActionList.js.html +389 -0
  5. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/ActionListFieldArray.js.html +1076 -0
  6. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/index.html +147 -0
  7. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/index.js.html +140 -0
  8. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/EditableRefdataList.js.html +680 -0
  9. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/index.html +132 -0
  10. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/index.js.html +140 -0
  11. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/EditableSettingsList.js.html +353 -0
  12. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js.html +353 -0
  13. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/EditSettingValue.js.html +482 -0
  14. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js.html +434 -0
  15. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/SettingField.js.html +644 -0
  16. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/index.html +162 -0
  17. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/index.js.html +188 -0
  18. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/index.html +147 -0
  19. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/index.js.html +188 -0
  20. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/NoResultsMessage.js.html +449 -0
  21. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/index.html +132 -0
  22. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/index.js.html +140 -0
  23. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/QueryTypedown.js.html +413 -0
  24. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/index.html +132 -0
  25. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/index.js.html +140 -0
  26. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/RefdataButtons.js.html +512 -0
  27. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/index.html +132 -0
  28. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/index.js.html +140 -0
  29. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/SASQLookupComponent.js.html +1115 -0
  30. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/index.html +132 -0
  31. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/index.js.html +140 -0
  32. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/SASQRoute.js.html +404 -0
  33. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/index.html +132 -0
  34. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/index.js.html +140 -0
  35. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/SASQViewComponent.js.html +413 -0
  36. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/index.html +132 -0
  37. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/index.js.html +140 -0
  38. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/SearchField.js.html +353 -0
  39. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/index.html +132 -0
  40. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/index.js.html +140 -0
  41. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/SettingPage.js.html +380 -0
  42. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/SettingPagePane.js.html +308 -0
  43. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/index.html +147 -0
  44. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/index.js.html +164 -0
  45. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/TypeDown.js.html +839 -0
  46. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/index.html +132 -0
  47. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/index.js.html +140 -0
  48. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/Typedown.js.html +887 -0
  49. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/index.html +132 -0
  50. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/index.js.html +140 -0
  51. package/artifacts/coverage-jest/lcov-report/es/lib/constants/eventCodes.js.html +209 -0
  52. package/artifacts/coverage-jest/lcov-report/es/lib/constants/index.html +117 -0
  53. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/SettingsContext.js.html +206 -0
  54. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/index.html +132 -0
  55. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/index.js.html +140 -0
  56. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/index.html +252 -0
  57. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/index.js.html +374 -0
  58. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/index.html +147 -0
  59. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/index.js.html +164 -0
  60. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/useSettingSection.js.html +305 -0
  61. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/useSettings.js.html +584 -0
  62. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/index.html +162 -0
  63. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/index.js.html +188 -0
  64. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedown.js.html +644 -0
  65. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedownData.js.html +335 -0
  66. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedownToggle.js.html +350 -0
  67. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useActiveElement.js.html +323 -0
  68. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useHelperApp.js.html +488 -0
  69. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useKiwtFieldArray.js.html +509 -0
  70. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useKiwtSASQuery.js.html +467 -0
  71. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useLocalStorageState.js.html +329 -0
  72. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useMutateRefdataValue.js.html +488 -0
  73. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useQIndex.js.html +407 -0
  74. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useRefdata.js.html +401 -0
  75. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useTemplates.js.html +314 -0
  76. package/artifacts/coverage-jest/lcov-report/es/lib/utils/buildUrl.js.html +296 -0
  77. package/artifacts/coverage-jest/lcov-report/es/lib/utils/generateKiwtQuery.js.html +230 -0
  78. package/artifacts/coverage-jest/lcov-report/es/lib/utils/generateKiwtQueryParams.js.html +545 -0
  79. package/artifacts/coverage-jest/lcov-report/es/lib/utils/getFocusableElements.js.html +572 -0
  80. package/artifacts/coverage-jest/lcov-report/es/lib/utils/index.html +237 -0
  81. package/artifacts/coverage-jest/lcov-report/es/lib/utils/index.js.html +284 -0
  82. package/artifacts/coverage-jest/lcov-report/es/lib/utils/renderHelpText.js.html +410 -0
  83. package/artifacts/coverage-jest/lcov-report/es/lib/utils/selectorSafe.js.html +209 -0
  84. package/artifacts/coverage-jest/lcov-report/es/lib/utils/sortByLabel.js.html +248 -0
  85. package/artifacts/coverage-jest/lcov-report/es/lib/utils/toCamelCase.js.html +227 -0
  86. package/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  87. package/artifacts/coverage-jest/lcov-report/index.html +717 -0
  88. package/artifacts/coverage-jest/lcov-report/prettify.css +1 -0
  89. package/artifacts/coverage-jest/lcov-report/prettify.js +2 -0
  90. package/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  91. package/artifacts/coverage-jest/lcov-report/sorter.js +196 -0
  92. package/artifacts/coverage-jest/lcov-report/src/index.html +117 -0
  93. package/artifacts/coverage-jest/lcov-report/src/index.js.html +305 -0
  94. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/ActionList.js.html +248 -0
  95. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/ActionListFieldArray.js.html +764 -0
  96. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/index.html +147 -0
  97. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/index.js.html +89 -0
  98. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/EditableRefdataList.js.html +362 -0
  99. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/index.html +132 -0
  100. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/index.js.html +86 -0
  101. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/EditableSettingsList.js.html +224 -0
  102. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/EditableSettingsListFieldArray.js.html +212 -0
  103. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/EditSettingValue.js.html +308 -0
  104. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/RenderSettingValue.js.html +260 -0
  105. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/SettingField.js.html +437 -0
  106. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/index.html +162 -0
  107. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/index.js.html +95 -0
  108. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/index.html +147 -0
  109. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/index.js.html +95 -0
  110. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/NoResultsMessage.js.html +320 -0
  111. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/index.html +132 -0
  112. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/index.js.html +89 -0
  113. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/QueryTypedown.js.html +185 -0
  114. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/index.html +132 -0
  115. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/index.js.html +89 -0
  116. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/RefdataButtons.js.html +371 -0
  117. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/index.html +132 -0
  118. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/index.js.html +89 -0
  119. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/SASQLookupComponent.js.html +932 -0
  120. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/index.html +132 -0
  121. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/index.js.html +89 -0
  122. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/SASQRoute.js.html +275 -0
  123. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/index.html +132 -0
  124. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/index.js.html +89 -0
  125. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/SASQViewComponent.js.html +251 -0
  126. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/index.html +132 -0
  127. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/index.js.html +89 -0
  128. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/SearchField.js.html +215 -0
  129. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/index.html +132 -0
  130. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/index.js.html +89 -0
  131. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/SettingPage.js.html +212 -0
  132. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/SettingPagePane.js.html +149 -0
  133. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/index.html +147 -0
  134. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/index.js.html +92 -0
  135. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/TypeDown.js.html +764 -0
  136. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/index.html +132 -0
  137. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/index.js.html +89 -0
  138. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/Typedown.js.html +788 -0
  139. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/index.html +132 -0
  140. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/index.js.html +89 -0
  141. package/artifacts/coverage-jest/lcov-report/src/lib/constants/eventCodes.js.html +95 -0
  142. package/artifacts/coverage-jest/lcov-report/src/lib/constants/index.html +117 -0
  143. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/SettingsContext.js.html +98 -0
  144. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/index.html +132 -0
  145. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/index.js.html +86 -0
  146. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/index.html +252 -0
  147. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/index.js.html +116 -0
  148. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/index.html +147 -0
  149. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/index.js.html +92 -0
  150. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/useSettingSection.js.html +164 -0
  151. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/useSettings.js.html +377 -0
  152. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/index.html +162 -0
  153. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/index.js.html +95 -0
  154. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedown.js.html +524 -0
  155. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedownData.js.html +164 -0
  156. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedownToggle.js.html +164 -0
  157. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useActiveElement.js.html +158 -0
  158. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useHelperApp.js.html +284 -0
  159. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useKiwtFieldArray.js.html +275 -0
  160. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useKiwtSASQuery.js.html +179 -0
  161. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useLocalStorageState.js.html +137 -0
  162. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useMutateRefdataValue.js.html +302 -0
  163. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useQIndex.js.html +209 -0
  164. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useRefdata.js.html +287 -0
  165. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useTemplates.js.html +167 -0
  166. package/artifacts/coverage-jest/lcov-report/src/lib/utils/buildUrl.js.html +194 -0
  167. package/artifacts/coverage-jest/lcov-report/src/lib/utils/generateKiwtQuery.js.html +110 -0
  168. package/artifacts/coverage-jest/lcov-report/src/lib/utils/generateKiwtQueryParams.js.html +287 -0
  169. package/artifacts/coverage-jest/lcov-report/src/lib/utils/getFocusableElements.js.html +380 -0
  170. package/artifacts/coverage-jest/lcov-report/src/lib/utils/index.html +237 -0
  171. package/artifacts/coverage-jest/lcov-report/src/lib/utils/index.js.html +116 -0
  172. package/artifacts/coverage-jest/lcov-report/src/lib/utils/renderHelpText.js.html +167 -0
  173. package/artifacts/coverage-jest/lcov-report/src/lib/utils/selectorSafe.js.html +104 -0
  174. package/artifacts/coverage-jest/lcov-report/src/lib/utils/sortByLabel.js.html +131 -0
  175. package/artifacts/coverage-jest/lcov-report/src/lib/utils/toCamelCase.js.html +128 -0
  176. package/artifacts/coverage-jest/lcov.info +10040 -0
  177. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +109 -0
  178. package/es/artifacts/coverage-jest/lcov-report/prettify.js +998 -0
  179. package/es/artifacts/coverage-jest/lcov-report/sorter.js +238 -0
  180. package/es/index.js +33 -19
  181. package/es/lib/ActionList/ActionList.js +58 -24
  182. package/es/lib/ActionList/ActionListFieldArray.js +129 -84
  183. package/es/lib/ActionList/index.js +7 -3
  184. package/es/lib/EditableRefdataList/EditableRefdataList.js +52 -16
  185. package/es/lib/EditableRefdataList/index.js +7 -3
  186. package/es/lib/EditableSettingsList/EditableSettingsList.js +90 -0
  187. package/es/lib/{Settings → EditableSettingsList}/EditableSettingsListFieldArray.js +45 -14
  188. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +181 -0
  189. package/es/lib/{Settings → EditableSettingsList/SettingField}/EditSettingValue.js +72 -9
  190. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +447 -0
  191. package/es/lib/{Settings → EditableSettingsList/SettingField}/RenderSettingValue.js +45 -7
  192. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +495 -0
  193. package/es/lib/{Settings → EditableSettingsList/SettingField}/SettingField.js +79 -36
  194. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +180 -0
  195. package/es/lib/EditableSettingsList/SettingField/index.js +35 -0
  196. package/es/lib/EditableSettingsList/index.js +35 -0
  197. package/es/lib/NoResultsMessage/NoResultsMessage.js +65 -32
  198. package/es/lib/NoResultsMessage/index.js +7 -3
  199. package/es/lib/QueryTypedown/QueryTypedown.js +47 -8
  200. package/es/lib/QueryTypedown/index.js +6 -2
  201. package/es/lib/RefdataButtons/RefdataButtons.js +143 -0
  202. package/es/lib/RefdataButtons/index.js +19 -0
  203. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +187 -138
  204. package/es/lib/SASQLookupComponent/index.js +6 -2
  205. package/es/lib/SASQRoute/SASQRoute.js +55 -18
  206. package/es/lib/SASQRoute/index.js +6 -2
  207. package/es/lib/SASQViewComponent/SASQViewComponent.js +50 -11
  208. package/es/lib/SASQViewComponent/index.js +6 -2
  209. package/es/lib/SearchField/SearchField.js +48 -13
  210. package/es/lib/SearchField/index.js +6 -2
  211. package/es/lib/SettingPage/SettingPage.js +99 -0
  212. package/es/lib/SettingPage/SettingPagePane.js +83 -0
  213. package/es/lib/SettingPage/index.js +27 -0
  214. package/es/lib/TypeDown/TypeDown.js +142 -100
  215. package/es/lib/TypeDown/index.js +6 -2
  216. package/es/lib/Typedown/Typedown.js +139 -95
  217. package/es/lib/Typedown/index.js +6 -2
  218. package/es/lib/constants/eventCodes.js +31 -1
  219. package/es/lib/contexts/SettingsContext.js +41 -0
  220. package/es/lib/contexts/index.js +19 -0
  221. package/es/lib/hooks/index.js +28 -10
  222. package/es/lib/hooks/settingsHooks/index.js +27 -0
  223. package/es/lib/hooks/settingsHooks/useSettingSection.js +74 -0
  224. package/es/lib/{Settings → hooks/settingsHooks}/useSettings.js +70 -21
  225. package/es/lib/hooks/typedownHooks/index.js +8 -28
  226. package/es/lib/hooks/typedownHooks/useTypedown.js +129 -12
  227. package/es/lib/hooks/typedownHooks/useTypedownData.js +35 -2
  228. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +39 -6
  229. package/es/lib/hooks/useActiveElement.js +33 -2
  230. package/es/lib/hooks/useHelperApp.js +41 -8
  231. package/es/lib/hooks/useKiwtFieldArray.js +35 -2
  232. package/es/lib/hooks/useKiwtSASQuery.js +40 -6
  233. package/es/lib/hooks/useLocalStorageState.js +36 -3
  234. package/es/lib/hooks/useMutateRefdataValue.js +42 -9
  235. package/es/lib/hooks/useQIndex.js +39 -6
  236. package/es/lib/hooks/useRefdata.js +40 -7
  237. package/es/lib/hooks/useTemplates.js +36 -3
  238. package/es/lib/utils/buildUrl.js +43 -10
  239. package/es/lib/utils/generateKiwtQuery.js +33 -4
  240. package/es/lib/utils/generateKiwtQueryParams.js +31 -2
  241. package/es/lib/utils/index.js +33 -5
  242. package/es/lib/utils/renderHelpText.js +109 -0
  243. package/es/lib/utils/selectorSafe.js +31 -2
  244. package/es/lib/utils/sortByLabel.js +55 -0
  245. package/es/lib/utils/toCamelCase.js +48 -0
  246. package/jest.config.js +15 -1
  247. package/junit.xml +79 -0
  248. package/package.json +17 -10
  249. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +248 -0
  250. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +764 -0
  251. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +147 -0
  252. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +89 -0
  253. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +362 -0
  254. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +132 -0
  255. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +89 -0
  256. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +224 -0
  257. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +212 -0
  258. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +377 -0
  259. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +263 -0
  260. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +437 -0
  261. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +162 -0
  262. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +95 -0
  263. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +147 -0
  264. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +95 -0
  265. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +320 -0
  266. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +132 -0
  267. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +89 -0
  268. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +185 -0
  269. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +132 -0
  270. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +89 -0
  271. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +371 -0
  272. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +132 -0
  273. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +89 -0
  274. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +932 -0
  275. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +132 -0
  276. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +89 -0
  277. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +275 -0
  278. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +132 -0
  279. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +89 -0
  280. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +251 -0
  281. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +132 -0
  282. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +89 -0
  283. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +215 -0
  284. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +132 -0
  285. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +89 -0
  286. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +212 -0
  287. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +179 -0
  288. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +147 -0
  289. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +92 -0
  290. package/src/artifacts/coverage-jest/lcov-report/TypeDown/TypeDown.js.html +770 -0
  291. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.html +132 -0
  292. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.js.html +89 -0
  293. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +791 -0
  294. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +132 -0
  295. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +89 -0
  296. package/src/artifacts/coverage-jest/lcov-report/base.css +224 -0
  297. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +87 -0
  298. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +95 -0
  299. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +117 -0
  300. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +98 -0
  301. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +132 -0
  302. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +92 -0
  303. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  304. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +252 -0
  305. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +116 -0
  306. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +147 -0
  307. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +92 -0
  308. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +164 -0
  309. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +404 -0
  310. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +162 -0
  311. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +95 -0
  312. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +524 -0
  313. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +164 -0
  314. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +164 -0
  315. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +158 -0
  316. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +284 -0
  317. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +275 -0
  318. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +179 -0
  319. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +137 -0
  320. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +302 -0
  321. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +209 -0
  322. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +287 -0
  323. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +167 -0
  324. package/src/artifacts/coverage-jest/lcov-report/index.html +402 -0
  325. package/src/artifacts/coverage-jest/lcov-report/prettify.css +1 -0
  326. package/src/artifacts/coverage-jest/lcov-report/prettify.js +2 -0
  327. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  328. package/src/artifacts/coverage-jest/lcov-report/sorter.js +196 -0
  329. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +194 -0
  330. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +110 -0
  331. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +287 -0
  332. package/src/artifacts/coverage-jest/lcov-report/utils/getFocusableElements.js.html +386 -0
  333. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +237 -0
  334. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +116 -0
  335. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +167 -0
  336. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +104 -0
  337. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +131 -0
  338. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +128 -0
  339. package/src/artifacts/coverage-jest/lcov.info +2073 -0
  340. package/src/index.js +13 -6
  341. package/src/lib/ActionList/index.js +1 -1
  342. package/src/lib/EditableRefdataList/EditableRefdataList.js +1 -1
  343. package/src/lib/EditableRefdataList/index.js +1 -1
  344. package/src/lib/{Settings → EditableSettingsList}/EditableSettingsList.js +0 -0
  345. package/src/lib/{Settings → EditableSettingsList}/EditableSettingsListFieldArray.js +2 -2
  346. package/src/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +111 -0
  347. package/src/lib/{Settings → EditableSettingsList/SettingField}/EditSettingValue.js +24 -1
  348. package/src/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +379 -0
  349. package/src/lib/{Settings → EditableSettingsList/SettingField}/RenderSettingValue.js +2 -1
  350. package/src/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +368 -0
  351. package/src/lib/{Settings → EditableSettingsList/SettingField}/SettingField.js +7 -7
  352. package/src/lib/EditableSettingsList/SettingField/SettingField.test.js +80 -0
  353. package/src/lib/EditableSettingsList/SettingField/index.js +3 -0
  354. package/src/lib/EditableSettingsList/index.js +3 -0
  355. package/src/lib/NoResultsMessage/index.js +1 -1
  356. package/src/lib/{Settings → RefdataButtons}/RefdataButtons.js +1 -1
  357. package/src/lib/RefdataButtons/index.js +1 -0
  358. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +1 -1
  359. package/src/lib/{Settings → SettingPage}/SettingPage.js +5 -5
  360. package/src/lib/{Settings → SettingPage}/SettingPagePane.js +12 -2
  361. package/src/lib/SettingPage/index.js +2 -0
  362. package/src/lib/TypeDown/TypeDown.js +4 -2
  363. package/src/lib/Typedown/Typedown.js +2 -1
  364. package/src/lib/{Settings → contexts}/SettingsContext.js +1 -1
  365. package/src/lib/contexts/index.js +2 -0
  366. package/src/lib/hooks/index.js +1 -0
  367. package/src/lib/hooks/settingsHooks/index.js +2 -0
  368. package/src/lib/{Settings → hooks/settingsHooks}/useSettingSection.js +0 -0
  369. package/src/lib/{Settings → hooks/settingsHooks}/useSettings.js +14 -6
  370. package/src/lib/hooks/typedownHooks/index.js +0 -3
  371. package/src/lib/hooks/typedownHooks/useTypedown.js +93 -11
  372. package/src/lib/utils/index.js +5 -0
  373. package/src/lib/{Settings/utils → utils}/renderHelpText.js +1 -1
  374. package/src/lib/{Settings/utils → utils}/sortByLabel.js +1 -1
  375. package/src/lib/{Settings/utils → utils}/toCamelCase.js +0 -0
  376. package/test/helpers/index.js +1 -0
  377. package/test/helpers/translationsProperties.js +40 -0
  378. package/test/jest/helpers/KintHarness.js +36 -0
  379. package/test/jest/helpers/index.js +2 -0
  380. package/test/jest/helpers/renderWithKintHarness.js +15 -0
  381. package/test/jest/jest-transformer.js +4 -0
  382. package/test/jest/setupTests.js +1 -0
  383. package/translations/stripes-kint-components/en.json +1 -0
  384. package/yarn-error.log +15050 -0
  385. package/babelOptions.js +0 -30
  386. package/es/lib/Settings/EditableSettingsList.js +0 -57
  387. package/es/lib/Settings/RefdataButtons.js +0 -100
  388. package/es/lib/Settings/SettingPage.js +0 -64
  389. package/es/lib/Settings/SettingPagePane.js +0 -43
  390. package/es/lib/Settings/SettingsContext.js +0 -18
  391. package/es/lib/Settings/index.js +0 -71
  392. package/es/lib/Settings/useSettingSection.js +0 -41
  393. package/es/lib/Settings/utils/index.js +0 -31
  394. package/es/lib/Settings/utils/renderHelpText.js +0 -57
  395. package/es/lib/Settings/utils/sortByLabel.js +0 -26
  396. package/es/lib/Settings/utils/toCamelCase.js +0 -19
  397. package/es/lib/hooks/typedownHooks/useTypedownFooter.js +0 -47
  398. package/es/lib/hooks/typedownHooks/useTypedownList.js +0 -45
  399. package/es/lib/hooks/typedownHooks/useTypedownSearchField.js +0 -47
  400. package/es/lib/utils/getFocusableElements.js +0 -132
  401. package/src/lib/Settings/index.js +0 -8
  402. package/src/lib/Settings/utils/index.js +0 -3
  403. package/src/lib/hooks/typedownHooks/useTypedownFooter.js +0 -43
  404. package/src/lib/hooks/typedownHooks/useTypedownList.js +0 -36
  405. package/src/lib/hooks/typedownHooks/useTypedownSearchField.js +0 -39
  406. package/src/lib/utils/getFocusableElements.js +0 -99
package/src/index.js CHANGED
@@ -9,6 +9,7 @@ export {
9
9
  useQIndex,
10
10
  useRefdata,
11
11
  useTemplates,
12
+ useSettings
12
13
  } from './lib/hooks';
13
14
 
14
15
  // Useful utility functions
@@ -18,17 +19,20 @@ export {
18
19
  selectorSafe
19
20
  } from './lib/utils';
20
21
 
21
- // Settings Components
22
+ // Contexts
22
23
  export {
23
24
  SettingsContext,
25
+ } from './lib/contexts';
26
+
27
+ // Setting Page Components
28
+ export {
24
29
  SettingPage,
25
30
  SettingPagePane,
26
- useSettings
27
- } from './lib/Settings';
31
+ } from './lib/SettingPage';
28
32
 
29
33
  // ActionList & RefdataEditor components
30
- export { ActionList } from './lib/ActionList';
31
- export { EditableRefdataList } from './lib/EditableRefdataList';
34
+ export { default as ActionList } from './lib/ActionList';
35
+ export { default as EditableRefdataList } from './lib/EditableRefdataList';
32
36
 
33
37
  // Typedown
34
38
  export {
@@ -64,4 +68,7 @@ export {
64
68
  } from './lib/SASQViewComponent';
65
69
 
66
70
  // NoResultsMessage
67
- export { NoResultsMessage } from './lib/NoResultsMessage';
71
+ export { default as NoResultsMessage } from './lib/NoResultsMessage';
72
+
73
+ // RefdataButtons
74
+ export { default as RefdataButtons } from './lib/RefdataButtons';
@@ -1 +1 @@
1
- export { default as ActionList } from './ActionList';
1
+ export { default } from './ActionList';
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { FormattedMessage } from 'react-intl';
4
4
 
5
5
  import { useMutateRefdataValue, useRefdata } from '../hooks';
6
- import { ActionList } from '../ActionList';
6
+ import ActionList from '../ActionList';
7
7
 
8
8
  const propTypes = {
9
9
  desc: PropTypes.string,
@@ -1 +1 @@
1
- export { default as EditableRefdataList } from './EditableRefdataList';
1
+ export { default } from './EditableRefdataList';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Field } from 'react-final-form';
4
4
 
5
- import SettingField from './SettingField';
5
+ import { SettingField } from './SettingField';
6
6
 
7
7
  const EditableSettingsListFieldArray = ({ data, fields, onSave }) => {
8
8
  const handleSave = (index) => {
@@ -16,6 +16,7 @@ const EditableSettingsListFieldArray = ({ data, fields, onSave }) => {
16
16
  <Field
17
17
  key={setting}
18
18
  component={SettingField}
19
+ data-testid={`editableSettingsListFieldArray[${i}]`}
19
20
  name={setting}
20
21
  onSave={() => handleSave(i)}
21
22
  settingData={{
@@ -26,7 +27,6 @@ const EditableSettingsListFieldArray = ({ data, fields, onSave }) => {
26
27
  );
27
28
  })
28
29
  );
29
-
30
30
  };
31
31
 
32
32
  EditableSettingsListFieldArray.propTypes = {
@@ -0,0 +1,111 @@
1
+ import React from 'react';
2
+ import '@folio/stripes-erm-components/test/jest/__mock__';
3
+ import { TestForm } from '@folio/stripes-erm-components/test/jest/helpers';
4
+ import { FieldArray } from 'react-final-form-arrays';
5
+ import EditableSettingsListFieldArray from './EditableSettingsListFieldArray';
6
+
7
+ import { renderWithKintHarness } from '../../../test/jest/helpers';
8
+
9
+ const onSubmit = jest.fn();
10
+ jest.mock('./SettingField', () => ({ SettingField: () => <div>SettingField</div> }));
11
+
12
+ const settings = [{
13
+ id: 'ff8081817d94374a017d94449a660049',
14
+ key: 'S3BucketName',
15
+ section: 'fileStorage',
16
+ settingType: 'String',
17
+ value: 'diku-shared'
18
+ }];
19
+
20
+ const multipleSettings = [{
21
+ id: '2c91809c7da2041f017da20b99000045',
22
+ vocab: 'FileStorageEngines',
23
+ section: 'fileStorage',
24
+ value: 'DB',
25
+ settingType: 'String',
26
+ key: 'storageEngine'
27
+ },
28
+ {
29
+ id: '2c91809c7da2041f017da20b99080046',
30
+ section: 'fileStorage',
31
+ value: 'http://s3_endpoint_host.domain:9000',
32
+ settingType: 'String',
33
+ key: 'S3Endpoint'
34
+ },
35
+ {
36
+ id: '2c91809c7da2041f017da20b990d0047',
37
+ section: 'fileStorage',
38
+ value: 'ACCESS_KEY',
39
+ settingType: 'String',
40
+ key: 'S3AccessKey'
41
+ }
42
+ ];
43
+
44
+
45
+ describe('EditableSettingsListFieldArray', () => {
46
+ describe('with empty initial values', () => {
47
+ let renderComponent;
48
+ beforeEach(async () => {
49
+ renderComponent = renderWithKintHarness(
50
+ <TestForm
51
+ initialValues={{}}
52
+ onSubmit={onSubmit}
53
+ >
54
+ <FieldArray
55
+ component={EditableSettingsListFieldArray}
56
+ name="settings"
57
+ />
58
+ </TestForm>
59
+ );
60
+ });
61
+
62
+ it('renders empty field', () => {
63
+ const { queryAllByTestId } = renderComponent;
64
+ expect(queryAllByTestId(/editableSettingsListFieldArray\[.*\]/).length).toEqual(0);
65
+ });
66
+ });
67
+
68
+ describe('with initial value set', () => {
69
+ let renderComponent;
70
+ beforeEach(async () => {
71
+ renderComponent = renderWithKintHarness(
72
+ <TestForm
73
+ initialValues={{ settings }}
74
+ onSubmit={onSubmit}
75
+ >
76
+ <FieldArray
77
+ component={EditableSettingsListFieldArray}
78
+ name="settings"
79
+ />
80
+ </TestForm>
81
+ );
82
+ });
83
+
84
+ it('renders the SettingField component', () => {
85
+ const { getByText } = renderComponent;
86
+ expect(getByText('SettingField')).toBeInTheDocument();
87
+ });
88
+ });
89
+
90
+ describe('with multiple initial values set', () => {
91
+ let renderComponent;
92
+ beforeEach(async () => {
93
+ renderComponent = renderWithKintHarness(
94
+ <TestForm
95
+ initialValues={{ settings: multipleSettings }}
96
+ onSubmit={onSubmit}
97
+ >
98
+ <FieldArray
99
+ component={EditableSettingsListFieldArray}
100
+ name="settings"
101
+ />
102
+ </TestForm>
103
+ );
104
+ });
105
+
106
+ it('renders the correct number of SettingField components', () => {
107
+ const { getAllByText } = renderComponent;
108
+ expect(getAllByText('SettingField').length).toEqual(multipleSettings.length);
109
+ });
110
+ });
111
+ });
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useIntl } from 'react-intl';
4
+
2
5
  import { Field } from 'react-final-form';
3
6
  import {
4
7
  Select,
5
8
  TextField,
6
9
  } from '@folio/stripes/components';
7
- import RefdataButtons from './RefdataButtons';
10
+ import RefdataButtons from '../../RefdataButtons';
8
11
 
9
12
  const EditSettingValue = (props) => {
10
13
  const {
@@ -13,6 +16,8 @@ const EditSettingValue = (props) => {
13
16
  refdata,
14
17
  templates
15
18
  } = props;
19
+ const intl = useIntl();
20
+ const fieldLabel = intl.formatMessage({ id: 'stripes-kint-components.settings.valueFor', values: { name: setting.key } });
16
21
 
17
22
  switch (setting.settingType) {
18
23
  case 'Refdata':
@@ -25,6 +30,7 @@ const EditSettingValue = (props) => {
25
30
 
26
31
  return (
27
32
  <Field
33
+ aria-label={fieldLabel}
28
34
  component={RefdataComponent}
29
35
  dataOptions={refdata}
30
36
  name={`${input.name}.value`}
@@ -34,6 +40,7 @@ const EditSettingValue = (props) => {
34
40
  case 'Password':
35
41
  return (
36
42
  <Field
43
+ aria-label={fieldLabel}
37
44
  autoFocus
38
45
  component={TextField}
39
46
  name={`${input.name}.value`}
@@ -51,6 +58,7 @@ const EditSettingValue = (props) => {
51
58
 
52
59
  return (
53
60
  <Field
61
+ aria-label={fieldLabel}
54
62
  component={Select}
55
63
  dataOptions={selectTemplateValues}
56
64
  name={`${input.name}.value`}
@@ -62,6 +70,7 @@ const EditSettingValue = (props) => {
62
70
  // If in doubt, go with String
63
71
  return (
64
72
  <Field
73
+ aria-label={fieldLabel}
65
74
  autoFocus
66
75
  component={TextField}
67
76
  name={`${input.name}.value`}
@@ -71,4 +80,18 @@ const EditSettingValue = (props) => {
71
80
  }
72
81
  };
73
82
 
83
+ EditSettingValue.propTypes = {
84
+ currentSetting: PropTypes.shape({
85
+ settingType: PropTypes.string
86
+ }),
87
+ input: PropTypes.shape({
88
+ name: PropTypes.string
89
+ }),
90
+ refdata: PropTypes.arrayOf(PropTypes.object),
91
+ templates: PropTypes.arrayOf(PropTypes.shape({
92
+ name: PropTypes.string,
93
+ id: PropTypes.string
94
+ }))
95
+ };
96
+
74
97
  export default EditSettingValue;
@@ -0,0 +1,379 @@
1
+ import React from 'react';
2
+
3
+ import '@folio/stripes-erm-components/test/jest/__mock__';
4
+ import { TestForm } from '@folio/stripes-erm-components/test/jest/helpers';
5
+
6
+ import EditSettingValue from './EditSettingValue';
7
+
8
+ import { renderWithKintHarness } from '../../../../test/jest/helpers';
9
+
10
+ const onSubmit = jest.fn();
11
+
12
+ const stringSetting = {
13
+ id: '12345',
14
+ key: 'testSettingKey',
15
+ section: 'testSettingSection',
16
+ settingType: 'String',
17
+ value: 'diku-shared',
18
+ };
19
+
20
+ const refdata = [
21
+ {
22
+ id: '123',
23
+ value: 'test_refdata_value',
24
+ label: 'Test refdata value'
25
+ },
26
+ {
27
+ id: '456',
28
+ value: 'other_refdata_value',
29
+ label: 'Other refdata value'
30
+ },
31
+ {
32
+ id: '789',
33
+ value: 'final_refdata_value',
34
+ label: 'Final refdata value'
35
+ }
36
+ ];
37
+
38
+ const moreRefdata = [
39
+ {
40
+ id: '123',
41
+ value: 'test_refdata_value',
42
+ label: 'Test refdata value'
43
+ },
44
+ {
45
+ id: '234',
46
+ value: 'other_refdata_value',
47
+ label: 'Other refdata value'
48
+ },
49
+ {
50
+ id: '345',
51
+ value: 'refdata_value_3',
52
+ label: 'Refdata value 3'
53
+ },
54
+ {
55
+ id: '456',
56
+ value: 'refdata_value_4',
57
+ label: 'Refdata value 4'
58
+ },
59
+ {
60
+ id: '567',
61
+ value: 'refdata_value_5',
62
+ label: 'Refdata value 5'
63
+ },
64
+ {
65
+ id: '678',
66
+ value: 'final_refdata_value',
67
+ label: 'Final refdata value'
68
+ }
69
+ ];
70
+
71
+ const refdataSetting = {
72
+ id: '12345',
73
+ key: 'testSettingKey',
74
+ section: 'testSettingSection',
75
+ settingType: 'Refdata',
76
+ value: 'test_refdata_value',
77
+ };
78
+
79
+ const templates = [
80
+ {
81
+ id: 'abcde',
82
+ name: 'Test template'
83
+ },
84
+ {
85
+ id: '98765',
86
+ name: 'Red herring template'
87
+ },
88
+ ];
89
+
90
+ const templateSetting = {
91
+ id: '12345',
92
+ key: 'testSettingKey',
93
+ section: 'testSettingSection',
94
+ settingType: 'Template',
95
+ value: 'abcde',
96
+ };
97
+
98
+ describe('EditSettingValue', () => {
99
+ describe('edit string setting', () => {
100
+ describe('with no initial value', () => {
101
+ let renderComponent;
102
+ beforeEach(() => {
103
+ renderComponent = renderWithKintHarness(
104
+ <TestForm
105
+ initialValues={{}}
106
+ onSubmit={onSubmit}
107
+ >
108
+ <EditSettingValue
109
+ currentSetting={stringSetting}
110
+ input={{
111
+ name: 'test'
112
+ }}
113
+ />
114
+ </TestForm>
115
+ );
116
+ });
117
+ test('renders the edit field', () => {
118
+ const { getByRole } = renderComponent;
119
+ expect(getByRole('textbox', { name: 'Value for setting {name}' }));
120
+ });
121
+ });
122
+
123
+ describe('with initial value', () => {
124
+ let renderComponent;
125
+ beforeEach(() => {
126
+ renderComponent = renderWithKintHarness(
127
+ <TestForm
128
+ initialValues={{
129
+ test: {
130
+ value: stringSetting.value
131
+ }
132
+ }}
133
+ onSubmit={onSubmit}
134
+ >
135
+ <EditSettingValue
136
+ currentSetting={stringSetting}
137
+ input={{
138
+ name: 'test'
139
+ }}
140
+ />
141
+ </TestForm>
142
+ );
143
+ });
144
+
145
+ test('renders the expected value in the edit field', () => {
146
+ const { getByRole } = renderComponent;
147
+ expect(getByRole('textbox', { name: 'Value for setting {name}' })).toHaveDisplayValue('diku-shared');
148
+ });
149
+ });
150
+ });
151
+
152
+ // NOTE -- Password textbox works weirdly so isn't tested here
153
+
154
+
155
+ describe('edit refdata setting', () => {
156
+ describe('with no initial value for refdata with <4 options', () => {
157
+ let renderComponent;
158
+ beforeEach(() => {
159
+ renderComponent = renderWithKintHarness(
160
+ <TestForm
161
+ initialValues={{}}
162
+ onSubmit={onSubmit}
163
+ >
164
+ <EditSettingValue
165
+ currentSetting={refdataSetting}
166
+ input={{
167
+ name: 'test'
168
+ }}
169
+ refdata={refdata}
170
+ />
171
+ </TestForm>
172
+ );
173
+ });
174
+ test('renders the expected radio buttons', () => {
175
+ const { getByRole } = renderComponent;
176
+ expect(getByRole('radio', { name: 'Test refdata value' }));
177
+ expect(getByRole('radio', { name: 'Other refdata value' }));
178
+ expect(getByRole('radio', { name: 'Final refdata value' }));
179
+ });
180
+
181
+ test('no radio buttons are checked', () => {
182
+ const { getByRole } = renderComponent;
183
+ expect(getByRole('radio', { name: 'Test refdata value' })).not.toHaveAttribute('checked');
184
+ expect(getByRole('radio', { name: 'Other refdata value' })).not.toHaveAttribute('checked');
185
+ expect(getByRole('radio', { name: 'Final refdata value' })).not.toHaveAttribute('checked');
186
+ });
187
+ });
188
+
189
+ describe('with initial value for refdata with <4 options', () => {
190
+ let renderComponent;
191
+ beforeEach(() => {
192
+ renderComponent = renderWithKintHarness(
193
+ <TestForm
194
+ initialValues={{
195
+ test: {
196
+ value: refdataSetting.value
197
+ }
198
+ }}
199
+ onSubmit={onSubmit}
200
+ >
201
+ <EditSettingValue
202
+ currentSetting={refdataSetting}
203
+ input={{
204
+ name: 'test'
205
+ }}
206
+ refdata={refdata}
207
+ />
208
+ </TestForm>
209
+ );
210
+ });
211
+
212
+ test('renders the expected radio buttons', () => {
213
+ const { getByRole } = renderComponent;
214
+ expect(getByRole('radio', { name: 'Test refdata value' }));
215
+ expect(getByRole('radio', { name: 'Other refdata value' }));
216
+ expect(getByRole('radio', { name: 'Final refdata value' }));
217
+ });
218
+
219
+ test('the correct radio button is checked', () => {
220
+ const { getByRole } = renderComponent;
221
+ expect(getByRole('radio', { name: 'Test refdata value' })).toHaveAttribute('checked');
222
+ expect(getByRole('radio', { name: 'Other refdata value' })).not.toHaveAttribute('checked');
223
+ expect(getByRole('radio', { name: 'Final refdata value' })).not.toHaveAttribute('checked');
224
+ });
225
+ });
226
+
227
+ describe('with no initial value for refdata with >4 options', () => {
228
+ let renderComponent;
229
+ beforeEach(() => {
230
+ renderComponent = renderWithKintHarness(
231
+ <TestForm
232
+ initialValues={{}}
233
+ onSubmit={onSubmit}
234
+ >
235
+ <EditSettingValue
236
+ currentSetting={refdataSetting}
237
+ input={{
238
+ name: 'test'
239
+ }}
240
+ refdata={moreRefdata}
241
+ />
242
+ </TestForm>
243
+ );
244
+ });
245
+ test('renders the expected select field', () => {
246
+ const { getByRole } = renderComponent;
247
+ expect(getByRole('combobox', { name: 'Value for setting {name}' }));
248
+ });
249
+
250
+ test('renders the expected refdata options', () => {
251
+ const { getByRole } = renderComponent;
252
+ expect(getByRole('option', { name: 'Test refdata value' }));
253
+ expect(getByRole('option', { name: 'Other refdata value' }));
254
+ expect(getByRole('option', { name: 'Refdata value 3' }));
255
+ expect(getByRole('option', { name: 'Refdata value 4' }));
256
+ expect(getByRole('option', { name: 'Refdata value 5' }));
257
+ expect(getByRole('option', { name: 'Final refdata value' }));
258
+ });
259
+ });
260
+
261
+ describe('with initial value for refdata with >4 options', () => {
262
+ let renderComponent;
263
+ beforeEach(() => {
264
+ renderComponent = renderWithKintHarness(
265
+ <TestForm
266
+ initialValues={{
267
+ test: {
268
+ value: refdataSetting.value
269
+ }
270
+ }}
271
+ onSubmit={onSubmit}
272
+ >
273
+ <EditSettingValue
274
+ currentSetting={refdataSetting}
275
+ input={{
276
+ name: 'test'
277
+ }}
278
+ refdata={moreRefdata}
279
+ />
280
+ </TestForm>
281
+ );
282
+ });
283
+
284
+ test('renders the expected refdata options', () => {
285
+ const { getByRole } = renderComponent;
286
+ expect(getByRole('option', { name: 'Test refdata value' }));
287
+ expect(getByRole('option', { name: 'Other refdata value' }));
288
+ expect(getByRole('option', { name: 'Refdata value 3' }));
289
+ expect(getByRole('option', { name: 'Refdata value 4' }));
290
+ expect(getByRole('option', { name: 'Refdata value 5' }));
291
+ expect(getByRole('option', { name: 'Final refdata value' }));
292
+ });
293
+
294
+ test('renders the expected value in the refdata dropdown', () => {
295
+ const { getByRole } = renderComponent;
296
+ expect(getByRole('combobox', { name: 'Value for setting {name}' })).toHaveDisplayValue('Test refdata value');
297
+ });
298
+ });
299
+ });
300
+
301
+ describe('edit template setting', () => {
302
+ describe('with no initial value', () => {
303
+ let renderComponent;
304
+ beforeEach(() => {
305
+ renderComponent = renderWithKintHarness(
306
+ <TestForm
307
+ initialValues={{}}
308
+ onSubmit={onSubmit}
309
+ >
310
+ <EditSettingValue
311
+ currentSetting={templateSetting}
312
+ input={{
313
+ name: 'test'
314
+ }}
315
+ templates={templates}
316
+ />
317
+ </TestForm>
318
+ );
319
+ });
320
+ test('renders the edit field', () => {
321
+ const { getByRole } = renderComponent;
322
+ expect(getByRole('combobox', { name: 'Value for setting {name}' }));
323
+ });
324
+
325
+ test('renders the expected template options', () => {
326
+ const { getByRole } = renderComponent;
327
+ expect(getByRole('option', { name: '' })); // empty option
328
+ expect(getByRole('option', { name: 'Test template' }));
329
+ expect(getByRole('option', { name: 'Red herring template' }));
330
+ });
331
+
332
+ test('renders expected display item in template dropdown', () => {
333
+ const { getByRole } = renderComponent;
334
+ expect(getByRole('combobox', { name: 'Value for setting {name}' })).toHaveDisplayValue('');
335
+ });
336
+ });
337
+
338
+ describe('with initial value', () => {
339
+ let renderComponent;
340
+ beforeEach(() => {
341
+ renderComponent = renderWithKintHarness(
342
+ <TestForm
343
+ initialValues={{
344
+ test: {
345
+ value: templateSetting.value
346
+ }
347
+ }}
348
+ onSubmit={onSubmit}
349
+ >
350
+ <EditSettingValue
351
+ currentSetting={templateSetting}
352
+ input={{
353
+ name: 'test'
354
+ }}
355
+ templates={templates}
356
+ />
357
+ </TestForm>
358
+ );
359
+ });
360
+
361
+ test('renders the edit field', () => {
362
+ const { getByRole } = renderComponent;
363
+ expect(getByRole('combobox', { name: 'Value for setting {name}' }));
364
+ });
365
+
366
+ test('renders the expected template options', () => {
367
+ const { getByRole } = renderComponent;
368
+ expect(getByRole('option', { name: '' })); // empty option
369
+ expect(getByRole('option', { name: 'Test template' }));
370
+ expect(getByRole('option', { name: 'Red herring template' }));
371
+ });
372
+
373
+ test('renders expected display item in template dropdown', () => {
374
+ const { getByRole } = renderComponent;
375
+ expect(getByRole('combobox', { name: 'Value for setting {name}' })).toHaveDisplayValue('Test template');
376
+ });
377
+ });
378
+ });
379
+ });
@@ -19,7 +19,8 @@ const RenderSettingValue = (props) => {
19
19
  }
20
20
 
21
21
  if (setting.defValue) {
22
- return `${defaultText} ${setting.defValue}`;
22
+ const defValue = refdata?.filter((obj) => obj.value === setting.defValue)[0]?.label;
23
+ return `${defaultText} ${defValue}`;
23
24
  }
24
25
 
25
26
  return NoCurrentValue;