@k-int/stripes-kint-components 2.4.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +14 -1
  3. package/es/lib/ActionList/ActionList.js +20 -7
  4. package/es/lib/ActionList/ActionListFieldArray.js +86 -85
  5. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +1 -3
  6. package/es/lib/CustomProperties/View/CustomPropertyCard.js +2 -2
  7. package/es/lib/EditableRefdataList/EditableRefdataList.js +3 -0
  8. package/es/lib/EditableSettingsList/EditableSettingsList.js +4 -1
  9. package/es/lib/FormModal/FormModal.js +10 -1
  10. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +3 -2
  11. package/es/lib/Typedown/Typedown.js +5 -7
  12. package/es/lib/hooks/settingsHooks/useSettingSection.js +16 -3
  13. package/es/lib/hooks/settingsHooks/useSettings.js +14 -7
  14. package/es/lib/hooks/useKiwtSASQuery.js +8 -2
  15. package/es/lib/utils/generateKiwtQueryParams.js +21 -4
  16. package/junit.xml +37 -37
  17. package/package.json +1 -2
  18. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +42 -12
  19. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +222 -93
  20. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +12 -12
  21. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
  22. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  23. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +20 -17
  24. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  25. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +601 -0
  26. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +15 -15
  27. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +2 -2
  28. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +190 -0
  29. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +340 -0
  30. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +667 -0
  31. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +982 -0
  32. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +478 -0
  33. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +191 -0
  34. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +100 -0
  35. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +460 -0
  36. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +529 -0
  37. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +424 -0
  38. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +307 -0
  39. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +451 -0
  40. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +236 -0
  41. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +103 -0
  42. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +250 -0
  43. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +190 -0
  44. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +220 -0
  45. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +193 -0
  46. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +436 -0
  47. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +616 -0
  48. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +161 -0
  49. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +94 -0
  50. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +116 -0
  51. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +175 -0
  52. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +33 -18
  53. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +5 -5
  54. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
  55. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +8 -2
  56. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +1 -1
  57. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +1 -1
  58. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +1 -1
  59. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  60. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +1 -1
  61. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
  62. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +1 -1
  63. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
  64. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +102 -24
  65. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +9 -9
  66. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
  67. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +1 -1
  68. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +1 -1
  69. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
  70. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +14 -8
  71. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +11 -11
  72. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
  73. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +1 -1
  74. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
  75. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
  76. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +60 -153
  77. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +373 -0
  78. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +131 -0
  79. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +88 -0
  80. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +9 -9
  81. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +6 -3
  82. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +2 -2
  83. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
  84. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
  85. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
  86. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
  87. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
  88. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
  89. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
  90. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
  91. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +1 -1
  92. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +1 -1
  93. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +1 -1
  94. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
  95. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +7 -25
  96. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +3 -3
  97. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
  98. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +7 -4
  99. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
  100. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +5 -5
  101. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +1 -1
  102. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
  103. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
  104. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +39 -9
  105. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +8 -2
  106. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +5 -5
  107. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +1 -1
  108. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +57 -6
  109. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +29 -8
  110. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +7 -7
  111. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
  112. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
  113. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +26 -8
  114. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  115. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +1 -1
  116. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +205 -0
  117. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +1 -1
  118. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +1 -1
  119. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +118 -0
  120. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +1 -1
  121. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +1 -1
  122. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +1 -1
  123. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +1 -1
  124. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +21 -9
  125. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +1 -1
  126. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +6 -9
  127. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +1 -1
  128. package/src/artifacts/coverage-jest/lcov-report/index.html +126 -51
  129. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +1 -1
  130. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +1 -1
  131. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +36 -9
  132. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +124 -0
  133. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +211 -0
  134. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +95 -20
  135. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +29 -2
  136. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +127 -0
  137. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
  138. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +112 -0
  139. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +1 -1
  140. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +1 -1
  141. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +1 -1
  142. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +1 -1
  143. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +112 -0
  144. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +126 -6
  145. package/src/artifacts/coverage-jest/lcov.info +2043 -718
  146. package/src/lib/ActionList/ActionList.js +12 -5
  147. package/src/lib/ActionList/ActionListFieldArray.js +86 -65
  148. package/src/lib/ActionList/README.md +19 -0
  149. package/src/lib/CustomProperties/Config/CustomPropertiesSettings.js +1 -3
  150. package/src/lib/CustomProperties/View/CustomPropertyCard.js +2 -2
  151. package/src/lib/EditableRefdataList/EditableRefdataList.js +3 -1
  152. package/src/lib/EditableSettingsList/EditableSettingsList.js +8 -1
  153. package/src/lib/FormModal/FormModal.js +6 -2
  154. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +7 -0
  155. package/src/lib/Typedown/Typedown.js +4 -10
  156. package/src/lib/hooks/settingsHooks/useSettingSection.js +19 -2
  157. package/src/lib/hooks/settingsHooks/useSettings.js +12 -5
  158. package/src/lib/hooks/useKiwtSASQuery.js +7 -1
  159. package/src/lib/utils/generateKiwtQueryParams.js +10 -1
  160. package/src/lib/utils/matchString.js +1 -1
  161. package/styles/ActionListFieldArray.css +10 -2
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/81</span>
28
+ <span class='fraction'>0/95</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/53</span>
35
+ <span class='fraction'>0/68</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/21</span>
42
+ <span class='fraction'>0/28</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/77</span>
49
+ <span class='fraction'>0/86</span>
50
50
  </div>
51
51
 
52
52
 
@@ -343,7 +343,50 @@
343
343
  <a name='L278'></a><a href='#L278'>278</a>
344
344
  <a name='L279'></a><a href='#L279'>279</a>
345
345
  <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
347
390
  <span class="cline-any cline-neutral">&nbsp;</span>
348
391
  <span class="cline-any cline-neutral">&nbsp;</span>
349
392
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -369,6 +412,8 @@
369
412
  <span class="cline-any cline-neutral">&nbsp;</span>
370
413
  <span class="cline-any cline-neutral">&nbsp;</span>
371
414
  <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
417
  <span class="cline-any cline-no">&nbsp;</span>
373
418
  <span class="cline-any cline-neutral">&nbsp;</span>
374
419
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -382,6 +427,8 @@
382
427
  <span class="cline-any cline-neutral">&nbsp;</span>
383
428
  <span class="cline-any cline-neutral">&nbsp;</span>
384
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
432
  <span class="cline-any cline-no">&nbsp;</span>
386
433
  <span class="cline-any cline-no">&nbsp;</span>
387
434
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -400,16 +447,48 @@
400
447
  <span class="cline-any cline-neutral">&nbsp;</span>
401
448
  <span class="cline-any cline-neutral">&nbsp;</span>
402
449
  <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-no">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
458
  <span class="cline-any cline-neutral">&nbsp;</span>
404
459
  <span class="cline-any cline-no">&nbsp;</span>
405
460
  <span class="cline-any cline-no">&nbsp;</span>
406
461
  <span class="cline-any cline-no">&nbsp;</span>
407
462
  <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-no">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-no">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
472
  <span class="cline-any cline-neutral">&nbsp;</span>
409
473
  <span class="cline-any cline-no">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
475
  <span class="cline-any cline-no">&nbsp;</span>
411
476
  <span class="cline-any cline-no">&nbsp;</span>
412
477
  <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-no">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-no">&nbsp;</span>
483
+ <span class="cline-any cline-no">&nbsp;</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-no">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
492
  <span class="cline-any cline-neutral">&nbsp;</span>
414
493
  <span class="cline-any cline-no">&nbsp;</span>
415
494
  <span class="cline-any cline-no">&nbsp;</span>
@@ -478,8 +557,11 @@
478
557
  <span class="cline-any cline-no">&nbsp;</span>
479
558
  <span class="cline-any cline-neutral">&nbsp;</span>
480
559
  <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-no">&nbsp;</span>
481
562
  <span class="cline-any cline-no">&nbsp;</span>
482
563
  <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
565
  <span class="cline-any cline-no">&nbsp;</span>
484
566
  <span class="cline-any cline-no">&nbsp;</span>
485
567
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -490,10 +572,15 @@
490
572
  <span class="cline-any cline-neutral">&nbsp;</span>
491
573
  <span class="cline-any cline-neutral">&nbsp;</span>
492
574
  <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-no">&nbsp;</span>
576
+ <span class="cline-any cline-no">&nbsp;</span>
493
577
  <span class="cline-any cline-neutral">&nbsp;</span>
494
578
  <span class="cline-any cline-neutral">&nbsp;</span>
495
579
  <span class="cline-any cline-neutral">&nbsp;</span>
496
580
  <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-no">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
584
  <span class="cline-any cline-neutral">&nbsp;</span>
498
585
  <span class="cline-any cline-neutral">&nbsp;</span>
499
586
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -503,6 +590,7 @@
503
590
  <span class="cline-any cline-neutral">&nbsp;</span>
504
591
  <span class="cline-any cline-neutral">&nbsp;</span>
505
592
  <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-no">&nbsp;</span>
506
594
  <span class="cline-any cline-neutral">&nbsp;</span>
507
595
  <span class="cline-any cline-neutral">&nbsp;</span>
508
596
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -519,43 +607,49 @@
519
607
  <span class="cline-any cline-neutral">&nbsp;</span>
520
608
  <span class="cline-any cline-no">&nbsp;</span>
521
609
  <span class="cline-any cline-no">&nbsp;</span>
610
+ <span class="cline-any cline-no">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
612
  <span class="cline-any cline-neutral">&nbsp;</span>
523
613
  <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-no">&nbsp;</span>
524
616
  <span class="cline-any cline-no">&nbsp;</span>
525
617
  <span class="cline-any cline-no">&nbsp;</span>
526
618
  <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-no">&nbsp;</span>
620
+ <span class="cline-any cline-no">&nbsp;</span>
527
621
  <span class="cline-any cline-neutral">&nbsp;</span>
528
622
  <span class="cline-any cline-no">&nbsp;</span>
529
623
  <span class="cline-any cline-neutral">&nbsp;</span>
530
624
  <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-no">&nbsp;</span>
531
626
  <span class="cline-any cline-neutral">&nbsp;</span>
532
627
  <span class="cline-any cline-neutral">&nbsp;</span>
533
628
  <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
629
  <span class="cline-any cline-neutral">&nbsp;</span>
537
630
  <span class="cline-any cline-neutral">&nbsp;</span>
538
631
  <span class="cline-any cline-neutral">&nbsp;</span>
539
632
  <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-no">&nbsp;</span>
634
+ <span class="cline-any cline-no">&nbsp;</span>
540
635
  <span class="cline-any cline-neutral">&nbsp;</span>
541
636
  <span class="cline-any cline-neutral">&nbsp;</span>
542
637
  <span class="cline-any cline-neutral">&nbsp;</span>
543
638
  <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
639
  <span class="cline-any cline-neutral">&nbsp;</span>
546
640
  <span class="cline-any cline-neutral">&nbsp;</span>
547
641
  <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
642
  <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-no">&nbsp;</span>
550
644
  <span class="cline-any cline-neutral">&nbsp;</span>
551
645
  <span class="cline-any cline-neutral">&nbsp;</span>
552
646
  <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-no">&nbsp;</span>
553
648
  <span class="cline-any cline-neutral">&nbsp;</span>
554
649
  <span class="cline-any cline-neutral">&nbsp;</span>
555
650
  <span class="cline-any cline-neutral">&nbsp;</span>
556
651
  <span class="cline-any cline-neutral">&nbsp;</span>
557
652
  <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-no">&nbsp;</span>
559
653
  <span class="cline-any cline-neutral">&nbsp;</span>
560
654
  <span class="cline-any cline-neutral">&nbsp;</span>
561
655
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -567,35 +661,27 @@
567
661
  <span class="cline-any cline-neutral">&nbsp;</span>
568
662
  <span class="cline-any cline-no">&nbsp;</span>
569
663
  <span class="cline-any cline-no">&nbsp;</span>
570
- <span class="cline-any cline-no">&nbsp;</span>
571
664
  <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-no">&nbsp;</span>
573
- <span class="cline-any cline-no">&nbsp;</span>
574
665
  <span class="cline-any cline-neutral">&nbsp;</span>
575
666
  <span class="cline-any cline-no">&nbsp;</span>
576
667
  <span class="cline-any cline-neutral">&nbsp;</span>
577
668
  <span class="cline-any cline-neutral">&nbsp;</span>
578
669
  <span class="cline-any cline-no">&nbsp;</span>
579
670
  <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
672
  <span class="cline-any cline-no">&nbsp;</span>
582
673
  <span class="cline-any cline-neutral">&nbsp;</span>
583
674
  <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-no">&nbsp;</span>
585
675
  <span class="cline-any cline-neutral">&nbsp;</span>
586
676
  <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
588
677
  <span class="cline-any cline-neutral">&nbsp;</span>
589
678
  <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
591
679
  <span class="cline-any cline-neutral">&nbsp;</span>
592
680
  <span class="cline-any cline-neutral">&nbsp;</span>
593
681
  <span class="cline-any cline-neutral">&nbsp;</span>
594
682
  <span class="cline-any cline-neutral">&nbsp;</span>
595
683
  <span class="cline-any cline-neutral">&nbsp;</span>
596
684
  <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-no">&nbsp;</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
685
  <span class="cline-any cline-neutral">&nbsp;</span>
600
686
  <span class="cline-any cline-neutral">&nbsp;</span>
601
687
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -623,13 +709,13 @@
623
709
  <span class="cline-any cline-no">&nbsp;</span>
624
710
  <span class="cline-any cline-neutral">&nbsp;</span>
625
711
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState } from 'react';
712
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { forwardRef, useImperativeHandle, useState } from 'react';
627
713
  import PropTypes from 'prop-types';
628
714
  import { FormattedMessage } from 'react-intl';
629
715
  import get from 'lodash/get';
630
716
  &nbsp;
631
717
  import { Field, useForm, useFormState } from 'react-final-form';
632
- import { Button, IconButton, MultiColumnList, TextField } from '@folio/stripes/components';
718
+ import { Button, Headline, IconButton, MultiColumnList, TextField } from '@folio/stripes/components';
633
719
  import css from '../../../styles/ActionListFieldArray.css';
634
720
  &nbsp;
635
721
  const EDITING_ACTIONS_WIDTH = <span class="cstat-no" title="statement not covered" >25;</span>
@@ -641,26 +727,30 @@ const propTypes = <span class="cstat-no" title="statement not covered" >{</span>
641
727
  actionCalls: PropTypes.object,
642
728
  columnMapping: PropTypes.object,
643
729
  creatableFields: PropTypes.object,
730
+ createCallback: PropTypes.func,
644
731
  editableFields: PropTypes.object,
645
732
  fields: PropTypes.object,
646
733
  fieldComponents: PropTypes.object,
647
734
  formatter: PropTypes.object,
648
735
  hideCreateButton: PropTypes.bool,
736
+ label: PropTypes.string,
649
737
  visibleFields: PropTypes.arrayOf(PropTypes.string)
650
738
  };
651
739
  &nbsp;
652
- const ActionListFieldArray = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >({</span></span>
740
+ const ActionListFieldArray = <span class="cstat-no" title="statement not covered" >forwardRef(<span class="fstat-no" title="function not covered" >({</span></span>
653
741
  actionAssigner,
654
- actionCalls,
742
+ actionCalls, // DEPRECATED
655
743
  columnMapping,
656
744
  creatableFields,
745
+ createCallback,
657
746
  editableFields,
658
747
  fields,
659
748
  fieldComponents,
660
749
  hideCreateButton = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
750
+ label,
661
751
  visibleFields,
662
752
  ...mclProps // Assume anything left over is to directly apply to the MCL
663
- }) =&gt; {
753
+ }, ref) =&gt; {
664
754
  // Grab finalForm functions/values from form hooks
665
755
  const { change } = <span class="cstat-no" title="statement not covered" >useForm();</span>
666
756
  const { initialValues, pristine, submitting, values } = <span class="cstat-no" title="statement not covered" >useFormState();</span>
@@ -679,17 +769,49 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
679
769
  <span class="cstat-no" title="statement not covered" > setEditing(id);</span>
680
770
  }
681
771
  };
682
- &nbsp;
683
772
  &nbsp;
684
773
  const handleSave = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>ndex) =&gt; {</span>
685
- const { actionListActions: _a, ...rowData } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
686
- <span class="cstat-no" title="statement not covered" > actionCalls.edit(rowData);</span>
774
+ const {
775
+ actionListActions: _a,
776
+ fieldName: _fn,
777
+ fieldIndex: _fi,
778
+ ...rowData
779
+ } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
780
+ &nbsp;
781
+ // Find "edit" entry in actionAssigner
782
+ const editCallback = <span class="cstat-no" title="statement not covered" >actionAssigner(rowData)?.find(<span class="fstat-no" title="function not covered" >ac</span>t =&gt; <span class="cstat-no" title="statement not covered" >act.name === 'edit')</span>?.callback;</span>
783
+ <span class="cstat-no" title="statement not covered" > if (editCallback) {</span>
784
+ <span class="cstat-no" title="statement not covered" > editCallback(rowData);</span>
785
+ } else {
786
+ <span class="cstat-no" title="statement not covered" > actionCalls.edit(rowData); </span>// DEPRECATED
787
+ }
687
788
  };
688
789
  &nbsp;
689
790
  const handleCreate = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>ndex) =&gt; {</span>
690
- const { actionListActions: _a, ...rowData } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
691
- <span class="cstat-no" title="statement not covered" > actionCalls.create(rowData);</span>
791
+ const {
792
+ actionListActions: _a,
793
+ fieldName: _fn,
794
+ fieldIndex: _fi,
795
+ ...rowData
796
+ } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
797
+ &nbsp;
798
+ <span class="cstat-no" title="statement not covered" > if (createCallback) {</span>
799
+ <span class="cstat-no" title="statement not covered" > createCallback(rowData);</span>
800
+ } else {
801
+ <span class="cstat-no" title="statement not covered" > actionCalls.create(rowData); </span>// DEPRECATED
802
+ }
692
803
  };
804
+ &nbsp;
805
+ const handleClickCreate = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
806
+ <span class="cstat-no" title="statement not covered" > toggleEditing('NEW_ROW');</span>
807
+ <span class="cstat-no" title="statement not covered" > fields.push({});</span>
808
+ };
809
+ &nbsp;
810
+ // Way to go into create mode from external component, and way to tell internal editing state
811
+ <span class="cstat-no" title="statement not covered" > useImperativeHandle(ref, <span class="fstat-no" title="function not covered" >()</span> =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
812
+ create: handleClickCreate,
813
+ editing
814
+ }));
693
815
  &nbsp;
694
816
  const getColumnWidths = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
695
817
  const widthNotInUseByActions = <span class="cstat-no" title="statement not covered" >editing ?</span>
@@ -758,7 +880,15 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
758
880
  <span class="cstat-no" title="statement not covered" > return (</span>
759
881
  &lt;div&gt;
760
882
  {actions?.map(<span class="fstat-no" title="function not covered" >ac</span>tion =&gt; {
761
- let actionFunction = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >actionCalls[action.name](rest);</span></span>
883
+ let actionFunction;
884
+ <span class="cstat-no" title="statement not covered" > if (action.callback) {</span>
885
+ <span class="cstat-no" title="statement not covered" > actionFunction = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >action.callback(rest);</span></span>
886
+ }
887
+ &nbsp;
888
+ <span class="cstat-no" title="statement not covered" > if (!actionFunction &amp;&amp; actionCalls[action.name]) {</span>
889
+ <span class="cstat-no" title="statement not covered" > actionFunction = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >actionCalls[action.name](rest);</span> </span>// DEPRECATED
890
+ }
891
+ &nbsp;
762
892
  // Edit has special action functionality, revealing fields etc.
763
893
  <span class="cstat-no" title="statement not covered" > if (action.name === 'edit') {</span>
764
894
  <span class="cstat-no" title="statement not covered" > actionFunction = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >toggleEditing(data.id);</span></span>
@@ -771,8 +901,8 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
771
901
  key={`action-${action.name}[${data.rowIndex}]`}
772
902
  disabled={editing}
773
903
  icon={action.icon}
774
- marginBottom0
775
- onClick={actionFunction}
904
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; (<span class="cstat-no" title="statement not covered" >actionFunction ? actionFunction() : <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >null)</span></span>}
905
+ to={action.to}
776
906
  /&gt;
777
907
  );
778
908
  }
@@ -783,7 +913,8 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
783
913
  key={`action-${action.name}[${data.rowIndex}]`}
784
914
  disabled={editing}
785
915
  marginBottom0
786
- onClick={actionFunction}
916
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; (<span class="cstat-no" title="statement not covered" >actionFunction ? actionFunction() : <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >null)</span></span>}
917
+ to={action.to}
787
918
  &gt;
788
919
  {action.label ?? action.name}
789
920
  &lt;/Button&gt;
@@ -793,54 +924,13 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
793
924
  );
794
925
  };
795
926
  &nbsp;
796
- const formatContent = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
927
+ const assignActions = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
797
928
  <span class="cstat-no" title="statement not covered" > return (</span>
798
929
  fields.map(<span class="fstat-no" title="function not covered" >(f</span>ieldName, fieldIndex) =&gt; {
799
930
  // Fetch the content from the field Values
800
931
  const cd = <span class="cstat-no" title="statement not covered" >get(values, fieldName);</span>
801
932
  <span class="cstat-no" title="statement not covered" > cd.actionListActions = actionAssigner(cd);</span>
802
- &nbsp;
803
- // Row is being edited if it has no id, or its id is in the editing string
804
- const editingRow = <span class="cstat-no" title="statement not covered" >cd.id === editing || !cd.id;</span>
805
- const returnObj = <span class="cstat-no" title="statement not covered" >{ ...cd };</span>
806
- &nbsp;
807
- // If editing, replace values with fields
808
- <span class="cstat-no" title="statement not covered" > if (editingRow) {</span>
809
- /*
810
- Check if the property is a visible field.
811
- If it is not then we don't allow editing in this component.
812
- */
813
- <span class="cstat-no" title="statement not covered" > for (const key of visibleFields) {</span>
814
- const editFunction = <span class="cstat-no" title="statement not covered" >editableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
815
- const createFunction = <span class="cstat-no" title="statement not covered" >creatableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
816
- /*
817
- Next check if this is a new row, if so we should run the createableField function with the data.
818
- If it is not a new row, then we run the editableField function with the data,
819
- and it should return true/false
820
- &nbsp;
821
- For both checks
822
- true =&gt; Field, false =&gt; display value
823
- */
824
- <span class="cstat-no" title="statement not covered" > if (</span>
825
- (!cd.id &amp;&amp; createFunction(cd)) ||
826
- (editFunction(cd))
827
- ) {
828
- <span class="cstat-no" title="statement not covered" > returnObj[key] =</span>
829
- fieldComponents[key] ?
830
- fieldComponents[key]({
831
- name: `${fieldName}.${key}`
832
- }) :
833
- &lt;Field
834
- autofocus={fieldIndex === 0}
835
- component={TextField}
836
- marginBottom0
837
- name={`${fieldName}.${key}`}
838
- parse={<span class="fstat-no" title="function not covered" >v </span>=&gt; <span class="cstat-no" title="statement not covered" >v}</span>
839
- /&gt;;
840
- }
841
- }
842
- }
843
- <span class="cstat-no" title="statement not covered" > return returnObj;</span>
933
+ <span class="cstat-no" title="statement not covered" > return { ...cd, fieldName, fieldIndex };</span>
844
934
  })
845
935
  );
846
936
  };
@@ -853,11 +943,46 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
853
943
  <span class="cstat-no" title="statement not covered" > returnObj[key] = <span class="fstat-no" title="function not covered" >cd</span> =&gt; {</span>
854
944
  // Row is being edited if it has no id, or its id is in the editing string
855
945
  const editingRow = <span class="cstat-no" title="statement not covered" >cd.id === editing || !cd.id;</span>
856
- // If not editing, use the passed formatter values
857
946
  &nbsp;
858
- let returnValue = <span class="cstat-no" title="statement not covered" >cd[key];</span>
947
+ // Default to the passed formatter values
948
+ let returnValue = <span class="cstat-no" title="statement not covered" >formatter?.[key] ? formatter[key](cd) : cd[key];</span>
859
949
  &nbsp;
860
- <span class="cstat-no" title="statement not covered" > if (!editingRow &amp;&amp; formatter?.[key]) {</span>
950
+ // If editing, replace values with fields
951
+ <span class="cstat-no" title="statement not covered" > if (editingRow) {</span>
952
+ /*
953
+ Check if the property is a visible field.
954
+ If it is not then we don't allow editing in this component.
955
+ */
956
+ const editFunction = <span class="cstat-no" title="statement not covered" >editableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
957
+ const createFunction = <span class="cstat-no" title="statement not covered" >creatableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
958
+ /*
959
+ Next check if this is a new row, if so we should run the createableField function with the data.
960
+ If it is not a new row, then we run the editableField function with the data,
961
+ and it should return true/false
962
+ &nbsp;
963
+ For both checks
964
+ true =&gt; Field, false =&gt; display value
965
+ */
966
+ <span class="cstat-no" title="statement not covered" > if (</span>
967
+ (!cd.id &amp;&amp; createFunction(cd)) ||
968
+ (editFunction(cd))
969
+ ) {
970
+ <span class="cstat-no" title="statement not covered" > returnValue =</span>
971
+ fieldComponents[key] ?
972
+ fieldComponents[key]({
973
+ name: `${cd.fieldName}.${key}`
974
+ }) :
975
+ &lt;Field
976
+ autoFocus={cd.fieldIndex === 0}
977
+ component={TextField}
978
+ marginBottom0
979
+ name={`${cd.fieldName}.${key}`}
980
+ parse={<span class="fstat-no" title="function not covered" >v </span>=&gt; <span class="cstat-no" title="statement not covered" >v}</span>
981
+ /&gt;;
982
+ }
983
+ }
984
+ &nbsp;
985
+ <span class="cstat-no" title="statement not covered" > if (formatter?.[key]) {</span>
861
986
  <span class="cstat-no" title="statement not covered" > returnValue = formatter[key](cd);</span>
862
987
  }
863
988
  &nbsp;
@@ -869,25 +994,29 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
869
994
  &nbsp;
870
995
  <span class="cstat-no" title="statement not covered" > return (</span>
871
996
  &lt;&gt;
872
- {!hideCreateButton &amp;&amp;
873
- &lt;Button
874
- buttonClass={css.buttonRight}
875
- disabled={!actionCalls.create}
876
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
877
- <span class="cstat-no" title="statement not covered" > toggleEditing('NEW_ROW');</span>
878
- <span class="cstat-no" title="statement not covered" > fields.push({});</span>
879
- }}
997
+ &lt;div className={css.header}&gt;
998
+ &lt;Headline
999
+ className={css.headerText}
880
1000
  &gt;
881
- &lt;FormattedMessage id="stripes-kint-components.actionList.create" /&gt;
882
- &lt;/Button&gt;
883
- }
1001
+ {label}
1002
+ &lt;/Headline&gt;
1003
+ {!hideCreateButton &amp;&amp;
1004
+ &lt;Button
1005
+ disabled={editing || (!actionCalls.create &amp;&amp; !createCallback)} // DEPRECATED actionCalls
1006
+ marginBottom0
1007
+ onClick={handleClickCreate}
1008
+ &gt;
1009
+ &lt;FormattedMessage id="stripes-kint-components.actionList.create" /&gt;
1010
+ &lt;/Button&gt;
1011
+ }
1012
+ &lt;/div&gt;
884
1013
  &lt;MultiColumnList
885
1014
  columnMapping={{
886
1015
  ...columnMapping,
887
1016
  actionListActions: &lt;FormattedMessage id="stripes-kint-components.actionList.actions" /&gt;
888
1017
  }}
889
1018
  columnWidths={getColumnWidths()}
890
- contentData={formatContent()}
1019
+ contentData={assignActions()}
891
1020
  formatter={{
892
1021
  actionListActions: renderActionButtons,
893
1022
  ...fieldAwareFormatter()
@@ -898,7 +1027,7 @@ const ActionListFieldArray = <span class="cstat-no" title="statement not covered
898
1027
  /&gt;
899
1028
  &lt;/&gt;
900
1029
  );
901
- };
1030
+ });
902
1031
  &nbsp;
903
1032
  <span class="cstat-no" title="statement not covered" >ActionListFieldArray.propTypes = propTypes;</span>
904
1033
  &nbsp;
@@ -910,7 +1039,7 @@ export default ActionListFieldArray;
910
1039
  <div class='footer quiet pad2 space-top1 center small'>
911
1040
  Code coverage generated by
912
1041
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
913
- at Fri Mar 11 2022 16:43:16 GMT+0000 (Greenwich Mean Time)
1042
+ at Thu May 19 2022 10:55:24 GMT+0100 (British Summer Time)
914
1043
  </div>
915
1044
  <script src="../prettify.js"></script>
916
1045
  <script>