@k-int/stripes-kint-components 5.1.3 → 5.2.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 (207) hide show
  1. package/CHANGELOG.md +23 -7
  2. package/README.md +3 -1
  3. package/es/lib/constants/comparators.js +6 -1
  4. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +2 -2
  5. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  6. package/package.json +13 -4
  7. package/src/lib/constants/comparators.js +10 -6
  8. package/src/lib/utils/filterParsers/deparseKiwtQueryFilters.js +2 -2
  9. package/src/lib/utils/filterParsers/parseKiwtQueryString.js +0 -1
  10. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -69
  11. package/es/artifacts/coverage-jest/lcov-report/prettify.js +0 -814
  12. package/es/artifacts/coverage-jest/lcov-report/sorter.js +0 -181
  13. package/junit.xml +0 -293
  14. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +0 -373
  15. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +0 -1468
  16. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +0 -146
  17. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +0 -88
  18. package/src/artifacts/coverage-jest/lcov-report/ComboButton/ComboButton.js.html +0 -568
  19. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.html +0 -131
  20. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.js.html +0 -88
  21. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +0 -667
  22. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +0 -1240
  23. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +0 -1474
  24. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +0 -733
  25. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +0 -176
  26. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +0 -97
  27. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +0 -793
  28. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +0 -208
  29. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +0 -352
  30. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +0 -835
  31. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +0 -1300
  32. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +0 -454
  33. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +0 -206
  34. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +0 -100
  35. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +0 -271
  36. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +0 -499
  37. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +0 -568
  38. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +0 -415
  39. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +0 -340
  40. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +0 -502
  41. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +0 -251
  42. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +0 -103
  43. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +0 -223
  44. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +0 -271
  45. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +0 -199
  46. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +0 -253
  47. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +0 -211
  48. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +0 -445
  49. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +0 -619
  50. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +0 -176
  51. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +0 -94
  52. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +0 -571
  53. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +0 -116
  54. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +0 -175
  55. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +0 -217
  56. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +0 -131
  57. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +0 -88
  58. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +0 -751
  59. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +0 -131
  60. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +0 -88
  61. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +0 -853
  62. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +0 -131
  63. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +0 -88
  64. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +0 -280
  65. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +0 -259
  66. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +0 -412
  67. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +0 -313
  68. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +0 -574
  69. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +0 -161
  70. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +0 -94
  71. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +0 -146
  72. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +0 -94
  73. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +0 -379
  74. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +0 -131
  75. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +0 -88
  76. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +0 -247
  77. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +0 -131
  78. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +0 -88
  79. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +0 -508
  80. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +0 -131
  81. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +0 -88
  82. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +0 -361
  83. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +0 -131
  84. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +0 -88
  85. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +0 -205
  86. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +0 -131
  87. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +0 -88
  88. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +0 -370
  89. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +0 -131
  90. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +0 -88
  91. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +0 -580
  92. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +0 -146
  93. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +0 -88
  94. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +0 -301
  95. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +0 -718
  96. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +0 -146
  97. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +0 -91
  98. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +0 -127
  99. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +0 -1069
  100. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +0 -400
  101. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +0 -131
  102. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +0 -88
  103. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +0 -131
  104. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +0 -91
  105. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +0 -346
  106. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +0 -131
  107. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +0 -88
  108. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +0 -307
  109. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +0 -131
  110. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +0 -88
  111. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +0 -214
  112. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +0 -131
  113. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +0 -88
  114. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +0 -220
  115. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +0 -208
  116. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +0 -146
  117. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +0 -91
  118. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +0 -409
  119. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +0 -131
  120. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +0 -88
  121. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +0 -913
  122. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +0 -131
  123. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +0 -88
  124. package/src/artifacts/coverage-jest/lcov-report/base.css +0 -224
  125. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -87
  126. package/src/artifacts/coverage-jest/lcov-report/constants/comparators.js.html +0 -124
  127. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +0 -121
  128. package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +0 -91
  129. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +0 -94
  130. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +0 -161
  131. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +0 -97
  132. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +0 -131
  133. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +0 -91
  134. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  135. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +0 -401
  136. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +0 -142
  137. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +0 -161
  138. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +0 -94
  139. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +0 -292
  140. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +0 -214
  141. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +0 -463
  142. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +0 -161
  143. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +0 -94
  144. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +0 -520
  145. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +0 -181
  146. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +0 -163
  147. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +0 -157
  148. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +0 -205
  149. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +0 -325
  150. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +0 -295
  151. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +0 -151
  152. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +0 -199
  153. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +0 -118
  154. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +0 -238
  155. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +0 -274
  156. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +0 -196
  157. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +0 -136
  158. package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +0 -226
  159. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +0 -283
  160. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +0 -238
  161. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +0 -274
  162. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +0 -322
  163. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +0 -208
  164. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +0 -265
  165. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +0 -187
  166. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +0 -166
  167. package/src/artifacts/coverage-jest/lcov-report/index.html +0 -641
  168. package/src/artifacts/coverage-jest/lcov-report/prettify.css +0 -1
  169. package/src/artifacts/coverage-jest/lcov-report/prettify.js +0 -2
  170. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +0 -161
  171. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +0 -94
  172. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +0 -292
  173. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +0 -211
  174. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +0 -466
  175. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  176. package/src/artifacts/coverage-jest/lcov-report/sorter.js +0 -196
  177. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +0 -181
  178. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/deparseKiwtQueryFilters.js.html +0 -181
  179. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.html +0 -176
  180. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.js.html +0 -124
  181. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryFilters.js.html +0 -211
  182. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryGroups.js.html +0 -367
  183. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryString.js.html +0 -184
  184. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +0 -109
  185. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +0 -637
  186. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +0 -124
  187. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +0 -211
  188. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +0 -341
  189. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +0 -190
  190. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +0 -127
  191. package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +0 -142
  192. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +0 -142
  193. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +0 -361
  194. package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +0 -130
  195. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +0 -109
  196. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +0 -112
  197. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +0 -166
  198. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +0 -145
  199. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +0 -130
  200. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +0 -127
  201. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +0 -112
  202. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +0 -370
  203. package/src/artifacts/coverage-jest/lcov-report/validators/index.html +0 -131
  204. package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +0 -88
  205. package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +0 -370
  206. package/src/artifacts/coverage-jest/lcov.info +0 -5423
  207. package/yarn-error.log +0 -129
@@ -1,835 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for CustomProperties/Edit/CustomPropertiesListField.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">CustomProperties/Edit</a> CustomPropertiesListField.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">83.33% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>45/54</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">68.75% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>22/32</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">88.88% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>16/18</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">84.31% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>43/51</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">19x</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-yes">15x</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">15x</span>
342
- <span class="cline-any cline-yes">15x</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">15x</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-yes">10x</span>
356
- <span class="cline-any cline-yes">10x</span>
357
- <span class="cline-any cline-yes">120x</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-yes">15x</span>
363
- <span class="cline-any cline-no">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-no">&nbsp;</span>
366
- <span class="cline-any cline-no">&nbsp;</span>
367
- <span class="cline-any cline-no">&nbsp;</span>
368
- <span class="cline-any cline-no">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-no">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-yes">15x</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-yes">30x</span>
382
- <span class="cline-any cline-yes">30x</span>
383
- <span class="cline-any cline-yes">220x</span>
384
- <span class="cline-any cline-yes">220x</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">110x</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">110x</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-yes">220x</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-yes">15x</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">15x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-yes">180x</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-yes">180x</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-no">&nbsp;</span>
448
- <span class="cline-any cline-no">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-yes">19x</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">10x</span>
470
- <span class="cline-any cline-yes">10x</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-yes">10x</span>
474
- <span class="cline-any cline-yes">120x</span>
475
- <span class="cline-any cline-yes">120x</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-yes">40x</span>
478
- <span class="cline-any cline-yes">40x</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-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-yes">120x</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-yes">10x</span>
502
- <span class="cline-any cline-yes">10x</span>
503
- <span class="cline-any cline-yes">10x</span>
504
- <span class="cline-any cline-yes">10x</span>
505
- <span class="cline-any cline-yes">120x</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-yes">110x</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">60x</span>
514
- <span class="cline-any cline-yes">5x</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-yes">5x</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-yes">10x</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-yes">10x</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-yes">19x</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-yes">19x</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useEffect, useRef, useState } from 'react';
567
- import PropTypes from 'prop-types';
568
- import orderBy from 'lodash/orderBy';
569
- import { Field, useFormState } from 'react-final-form';
570
- &nbsp;
571
- import { Button, Headline, KeyValue } from '@folio/stripes/components';
572
- import { useKintIntl } from '../../hooks';
573
- import CustomPropertyFormCard from './CustomPropertyFormCard';
574
- &nbsp;
575
- const CustomPropertiesList = ({
576
- availableCustomProperties = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span>
577
- input: {
578
- name,
579
- onChange,
580
- value
581
- },
582
- intlKey: passedIntlKey,
583
- intlNS: passedIntlNS,
584
- labelOverrides = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
585
- meta: {
586
- pristine
587
- },
588
- }) =&gt; {
589
- const kintIntl = useKintIntl(passedIntlKey, passedIntlNS);
590
- &nbsp;
591
- const [customProperties, setCustomProperties] = useState([]); // This is the list of customProperties we're currently displaying for edit.
592
- const [dirtying, setDirtying] = useState(false);
593
- &nbsp;
594
- useEffect(() =&gt; {
595
- // When the user loads this form, we want to init the list of customProperties
596
- // we're displaying (state.customProperties) with the list of customProperties that have been set
597
- // either via defaults or previously-saved data. Since that data may come in
598
- // _after_ we have mounted this component, we need to check if new data has come in
599
- // while the form is still marked as pristine.
600
- //
601
- // final-form unsets `pristine` after its `onChange` is called, but we also dirty
602
- // the component when we add/remove rows. That happens _before_ `onChange` is called,
603
- // so internally we use `state.dirtying` to show that we just initiated an action
604
- // that will result in a dirty component.
605
- <span class="missing-if-branch" title="else path not taken" >E</span>if (pristine &amp;&amp; !dirtying) {
606
- setCustomProperties(availableCustomProperties.filter(
607
- customProperty =&gt; value[customProperty.value] !== undefined
608
- ));
609
- }
610
- }, [availableCustomProperties, dirtying, pristine, value]);
611
- &nbsp;
612
- const handleDeleteCustomProperty = <span class="fstat-no" title="function not covered" >(c</span>ustomProperty, i) =&gt; {
613
- const currentValue = <span class="cstat-no" title="statement not covered" >value[customProperty.value]?.[0] ?? {};</span>
614
- &nbsp;
615
- const newCustomProperties = <span class="cstat-no" title="statement not covered" >[...customProperties];</span>
616
- <span class="cstat-no" title="statement not covered" > newCustomProperties.splice(i, 1);</span>
617
- <span class="cstat-no" title="statement not covered" > setCustomProperties(newCustomProperties);</span>
618
- <span class="cstat-no" title="statement not covered" > setDirtying(true);</span>
619
- &nbsp;
620
- <span class="cstat-no" title="statement not covered" > onChange({</span>
621
- ...value,
622
- [customProperty.value]: [{
623
- ...currentValue,
624
- _delete: true,
625
- }],
626
- });
627
- };
628
- &nbsp;
629
- const renderCustomProperties = (customPropertyType) =&gt; {
630
- // This is necessary to track individually since "index" will span primary/optional for a given set
631
- let internalPropertyCounter = 0;
632
- return customProperties.map((customProperty, index) =&gt; {
633
- <span class="missing-if-branch" title="if path not taken" >I</span>if (customPropertyType === 'primary' &amp;&amp; !customProperty.primary) <span class="cstat-no" title="statement not covered" >return undefined;</span>
634
- if (customPropertyType === 'optional' &amp;&amp; customProperty.primary) return undefined;
635
- &nbsp;
636
- internalPropertyCounter += 1;
637
- &nbsp;
638
- return (
639
- &lt;CustomPropertyFormCard
640
- key={`customPropertyField-${customProperty.value}-${index}`}
641
- {...{
642
- availableCustomProperties,
643
- customProperty,
644
- customPropertyType,
645
- customProperties,
646
- handleDeleteCustomProperty,
647
- index,
648
- internalPropertyCounter,
649
- intlKey: passedIntlKey,
650
- intlNS: passedIntlNS,
651
- labelOverrides,
652
- name,
653
- onChange,
654
- setCustomProperties,
655
- value
656
- }}
657
- /&gt;
658
- );
659
- }).filter(cp =&gt; cp !== undefined);
660
- };
661
- &nbsp;
662
- return (
663
- &lt;&gt;
664
- {
665
- availableCustomProperties.some((customProperty = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; customProperty.primary) &amp;&amp;
666
- &lt;KeyValue
667
- label={
668
- &lt;Headline margin="x-small" size="large" tag="h4"&gt;
669
- {kintIntl.formatKintMessage({
670
- id: 'customProperties.primaryProperties',
671
- overrideValue: labelOverrides.primaryProperties
672
- })}
673
- &lt;/Headline&gt;
674
- }
675
- value={renderCustomProperties('primary')}
676
- /&gt;
677
- }
678
- {
679
- availableCustomProperties.some((customProperty = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; !customProperty.primary) &amp;&amp;
680
- &lt;KeyValue
681
- label={
682
- &lt;Headline margin="x-small" size="large" tag="h4"&gt;
683
- {kintIntl.formatKintMessage({
684
- id: 'customProperties.optionalProperties',
685
- overrideValue: labelOverrides.optionalProperties
686
- })}
687
- &lt;/Headline&gt;
688
- }
689
- value={renderCustomProperties('optional')}
690
- /&gt;
691
- }
692
- {
693
- availableCustomProperties.some((customProperty = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; !customProperty.primary) &amp;&amp;
694
- &lt;Button
695
- id="add-customproperty-btn"
696
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
697
- <span class="cstat-no" title="statement not covered" > setCustomProperties([...customProperties, {}]);</span>
698
- <span class="cstat-no" title="statement not covered" > setDirtying(true);</span>
699
- }}
700
- &gt;
701
- {kintIntl.formatKintMessage({
702
- id: 'customProperties.addProperty',
703
- overrideValue: labelOverrides.addProperty
704
- })}
705
- &lt;/Button&gt;
706
- }
707
- &lt;/&gt;
708
- );
709
- };
710
- &nbsp;
711
- const CustomPropertiesListField = ({
712
- ctx,
713
- customProperties,
714
- intlKey: passedIntlKey,
715
- intlNS: passedIntlNS,
716
- labelOverrides = {},
717
- ...fieldProps
718
- }) =&gt; {
719
- const fieldRef = useRef();
720
- const kintIntl = useKintIntl(passedIntlKey, passedIntlNS);
721
- &nbsp;
722
- // Map customProperties to bring together the options and the definition values
723
- const availableCustomProperties = customProperties?.map(customProperty =&gt; {
724
- let options = customProperty?.category?.values;
725
- if (options) {
726
- // order by label, add notSet option afterwards
727
- options = orderBy(options, 'label');
728
- options = [
729
- {
730
- label: kintIntl.formatKintMessage({
731
- id: 'notSet',
732
- overrideValue: labelOverrides.notSet
733
- }),
734
- value: '',
735
- },
736
- ...options,
737
- ];
738
- }
739
- &nbsp;
740
- return {
741
- description: customProperty.description,
742
- label: customProperty.label,
743
- primary: customProperty.primary,
744
- type: customProperty.type,
745
- options,
746
- value: customProperty.name,
747
- defaultInternal: customProperty.defaultInternal,
748
- };
749
- });
750
- &nbsp;
751
- const { initialValues } = useFormState();
752
- const getInitialValue = () =&gt; {
753
- const cps = {};
754
- (customProperties || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>
755
- .filter(cp =&gt; cp.primary)
756
- // Change default to be an ignored customProperty.
757
- // This means any changes without setting the value will be ignored
758
- .forEach(cp =&gt; { cps[cp.name] = [{ _delete: true }]; });
759
- &nbsp;
760
- // IMPORTANT -- All customproperty ctx sections are adding to the same "initialValue" field
761
- // Ensure that we don't already have initialValues for this particular set before setting them,
762
- // to ensure no looping behaviour
763
- if (Object.keys(cps).every(key =&gt; initialValues.customProperties?.[key] !== undefined)) {
764
- return initialValues.customProperties;
765
- }
766
- &nbsp;
767
- // Ensure that if we already had these values in initialvalues they're not overwritten
768
- return ({ ...cps, ...initialValues.customProperties });
769
- };
770
- &nbsp;
771
- return (
772
- &lt;Field
773
- {...fieldProps}
774
- initialValue={getInitialValue()}
775
- render={p =&gt; {
776
- return (
777
- &lt;CustomPropertiesList
778
- ref={fieldRef}
779
- availableCustomProperties={availableCustomProperties}
780
- ctx={ctx}
781
- intlKey={passedIntlKey}
782
- intlNS={passedIntlNS}
783
- labelOverrides={labelOverrides}
784
- {...p}
785
- /&gt;
786
- );
787
- }}
788
- /&gt;
789
- );
790
- };
791
- &nbsp;
792
- CustomPropertiesListField.propTypes = {
793
- ctx: PropTypes.string,
794
- customProperties: PropTypes.arrayOf(PropTypes.object),
795
- intlKey: PropTypes.string,
796
- intlNS: PropTypes.string,
797
- labelOverrides: PropTypes.object,
798
- };
799
- &nbsp;
800
- CustomPropertiesList.propTypes = {
801
- availableCustomProperties: PropTypes.arrayOf(PropTypes.object),
802
- ctx: PropTypes.string,
803
- input: PropTypes.shape({
804
- name: PropTypes.string,
805
- value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
806
- onChange: PropTypes.func,
807
- }),
808
- intlKey: PropTypes.string,
809
- intlNS: PropTypes.string,
810
- labelOverrides: PropTypes.object,
811
- meta: PropTypes.object,
812
- };
813
- &nbsp;
814
- &nbsp;
815
- export default CustomPropertiesListField;
816
- &nbsp;</pre></td></tr></table></pre>
817
-
818
- <div class='push'></div><!-- for sticky footer -->
819
- </div><!-- /wrapper -->
820
- <div class='footer quiet pad2 space-top1 center small'>
821
- Code coverage generated by
822
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
823
- at 2023-10-18T12:55:05.261Z
824
- </div>
825
- <script src="../../prettify.js"></script>
826
- <script>
827
- window.onload = function () {
828
- prettyPrint();
829
- };
830
- </script>
831
- <script src="../../sorter.js"></script>
832
- <script src="../../block-navigation.js"></script>
833
- </body>
834
- </html>
835
-