@zeedhi/common 3.0.5 → 3.0.6

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 (257) hide show
  1. package/dist/types/components/zd-date-input/date-input.d.ts +1 -1
  2. package/dist/types/components/zd-date-range/date-range.d.ts +3 -1
  3. package/dist/types/components/zd-iterable/iterable.d.ts +9 -0
  4. package/dist/types/utils/date-utils/date-utils.d.ts +1 -0
  5. package/dist/zd-common.js +75 -24
  6. package/dist/zd-common.min.js +75 -24
  7. package/environments.json +6 -0
  8. package/jest.config.cjs +1 -0
  9. package/package.json +6 -3
  10. package/src/components/zd-date-input/date-input.ts +9 -21
  11. package/src/components/zd-date-range/date-range.ts +27 -4
  12. package/src/components/zd-iterable/iterable.ts +41 -3
  13. package/src/utils/date-utils/date-utils.ts +18 -0
  14. package/tests/unit/components/zd-component/component.spec.ts +3 -2
  15. package/tests/unit/components/zd-date-range/date-range.spec.ts +189 -23
  16. package/tests/unit/components/zd-grid/grid.spec.ts +48 -35
  17. package/tests/unit/components/zd-grid-editable/data-editor.spec.ts +1 -1
  18. package/tests/unit/components/zd-grid-editable/grid-editable.spec.ts +1 -1
  19. package/tests/unit/components/zd-iterable/column.spec.ts +42 -0
  20. package/tests/unit/utils/mock-console.ts +18 -0
  21. package/.package.json +0 -45
  22. package/coverage/clover.xml +0 -5741
  23. package/coverage/coverage-final.json +0 -144
  24. package/coverage/lcov-report/base.css +0 -224
  25. package/coverage/lcov-report/block-navigation.js +0 -87
  26. package/coverage/lcov-report/favicon.png +0 -0
  27. package/coverage/lcov-report/index.html +0 -1316
  28. package/coverage/lcov-report/prettify.css +0 -1
  29. package/coverage/lcov-report/prettify.js +0 -2
  30. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  31. package/coverage/lcov-report/sorter.js +0 -210
  32. package/coverage/lcov-report/src/components/index.html +0 -116
  33. package/coverage/lcov-report/src/components/index.ts.html +0 -730
  34. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +0 -502
  35. package/coverage/lcov-report/src/components/zd-alert/index.html +0 -116
  36. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +0 -226
  37. package/coverage/lcov-report/src/components/zd-badge/index.html +0 -116
  38. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +0 -226
  39. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +0 -116
  40. package/coverage/lcov-report/src/components/zd-button/button.ts.html +0 -706
  41. package/coverage/lcov-report/src/components/zd-button/index.html +0 -116
  42. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +0 -412
  43. package/coverage/lcov-report/src/components/zd-button-group/index.html +0 -116
  44. package/coverage/lcov-report/src/components/zd-card/card.ts.html +0 -748
  45. package/coverage/lcov-report/src/components/zd-card/index.html +0 -116
  46. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +0 -949
  47. package/coverage/lcov-report/src/components/zd-carousel/index.html +0 -116
  48. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +0 -148
  49. package/coverage/lcov-report/src/components/zd-checkbox/index.html +0 -116
  50. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +0 -313
  51. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +0 -116
  52. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +0 -352
  53. package/coverage/lcov-report/src/components/zd-chip/index.html +0 -116
  54. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +0 -682
  55. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +0 -116
  56. package/coverage/lcov-report/src/components/zd-col/col.ts.html +0 -250
  57. package/coverage/lcov-report/src/components/zd-col/index.html +0 -116
  58. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +0 -343
  59. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +0 -116
  60. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +0 -109
  61. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +0 -160
  62. package/coverage/lcov-report/src/components/zd-component/component.ts.html +0 -1084
  63. package/coverage/lcov-report/src/components/zd-component/index.html +0 -146
  64. package/coverage/lcov-report/src/components/zd-container/container.ts.html +0 -289
  65. package/coverage/lcov-report/src/components/zd-container/index.html +0 -116
  66. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +0 -259
  67. package/coverage/lcov-report/src/components/zd-currency/index.html +0 -116
  68. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +0 -1798
  69. package/coverage/lcov-report/src/components/zd-date-input/index.html +0 -116
  70. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +0 -2167
  71. package/coverage/lcov-report/src/components/zd-date-range/index.html +0 -116
  72. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +0 -541
  73. package/coverage/lcov-report/src/components/zd-dialog/index.html +0 -116
  74. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +0 -178
  75. package/coverage/lcov-report/src/components/zd-divider/index.html +0 -116
  76. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +0 -460
  77. package/coverage/lcov-report/src/components/zd-dropdown/index.html +0 -116
  78. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +0 -451
  79. package/coverage/lcov-report/src/components/zd-footer/index.html +0 -116
  80. package/coverage/lcov-report/src/components/zd-form/form.ts.html +0 -1075
  81. package/coverage/lcov-report/src/components/zd-form/index.html +0 -116
  82. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +0 -763
  83. package/coverage/lcov-report/src/components/zd-frame/index.html +0 -116
  84. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +0 -169
  85. package/coverage/lcov-report/src/components/zd-frame-page/index.html +0 -116
  86. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +0 -304
  87. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +0 -532
  88. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +0 -709
  89. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +0 -244
  90. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +0 -1042
  91. package/coverage/lcov-report/src/components/zd-grid/index.html +0 -266
  92. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +0 -118
  93. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +0 -274
  94. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +0 -241
  95. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +0 -313
  96. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +0 -427
  97. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +0 -175
  98. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +0 -826
  99. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +0 -1570
  100. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +0 -146
  101. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +0 -91
  102. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +0 -109
  103. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +0 -109
  104. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +0 -130
  105. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +0 -139
  106. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +0 -430
  107. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +0 -1477
  108. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +0 -221
  109. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +0 -109
  110. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +0 -139
  111. package/coverage/lcov-report/src/components/zd-header/header.ts.html +0 -502
  112. package/coverage/lcov-report/src/components/zd-header/index.html +0 -116
  113. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +0 -325
  114. package/coverage/lcov-report/src/components/zd-icon/index.html +0 -116
  115. package/coverage/lcov-report/src/components/zd-image/image.ts.html +0 -424
  116. package/coverage/lcov-report/src/components/zd-image/index.html +0 -116
  117. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +0 -436
  118. package/coverage/lcov-report/src/components/zd-increment/index.html +0 -116
  119. package/coverage/lcov-report/src/components/zd-input/index.html +0 -131
  120. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +0 -130
  121. package/coverage/lcov-report/src/components/zd-input/input.ts.html +0 -1345
  122. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +0 -109
  123. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +0 -823
  124. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +0 -523
  125. package/coverage/lcov-report/src/components/zd-iterable/index.html +0 -281
  126. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +0 -136
  127. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +0 -313
  128. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +0 -166
  129. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +0 -244
  130. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +0 -106
  131. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +0 -421
  132. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +0 -208
  133. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +0 -820
  134. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +0 -343
  135. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +0 -116
  136. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +0 -592
  137. package/coverage/lcov-report/src/components/zd-layout/index.html +0 -116
  138. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +0 -145
  139. package/coverage/lcov-report/src/components/zd-list/index.html +0 -161
  140. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +0 -109
  141. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +0 -241
  142. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +0 -298
  143. package/coverage/lcov-report/src/components/zd-list/list.ts.html +0 -460
  144. package/coverage/lcov-report/src/components/zd-loading/index.html +0 -116
  145. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +0 -217
  146. package/coverage/lcov-report/src/components/zd-login/index.html +0 -131
  147. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +0 -421
  148. package/coverage/lcov-report/src/components/zd-login/login.ts.html +0 -340
  149. package/coverage/lcov-report/src/components/zd-main/index.html +0 -116
  150. package/coverage/lcov-report/src/components/zd-main/main.ts.html +0 -133
  151. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +0 -118
  152. package/coverage/lcov-report/src/components/zd-master-detail/index.html +0 -146
  153. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +0 -331
  154. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +0 -118
  155. package/coverage/lcov-report/src/components/zd-menu/index.html +0 -176
  156. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +0 -241
  157. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +0 -400
  158. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +0 -337
  159. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +0 -106
  160. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +0 -1384
  161. package/coverage/lcov-report/src/components/zd-modal/index.html +0 -131
  162. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +0 -220
  163. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +0 -355
  164. package/coverage/lcov-report/src/components/zd-month/index.html +0 -116
  165. package/coverage/lcov-report/src/components/zd-month/month.ts.html +0 -568
  166. package/coverage/lcov-report/src/components/zd-number-input/index.html +0 -116
  167. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +0 -532
  168. package/coverage/lcov-report/src/components/zd-password/index.html +0 -116
  169. package/coverage/lcov-report/src/components/zd-password/password.ts.html +0 -220
  170. package/coverage/lcov-report/src/components/zd-progress/index.html +0 -116
  171. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +0 -262
  172. package/coverage/lcov-report/src/components/zd-radio/index.html +0 -116
  173. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +0 -289
  174. package/coverage/lcov-report/src/components/zd-row/index.html +0 -116
  175. package/coverage/lcov-report/src/components/zd-row/row.ts.html +0 -256
  176. package/coverage/lcov-report/src/components/zd-select/index.html +0 -116
  177. package/coverage/lcov-report/src/components/zd-select/select.ts.html +0 -2089
  178. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +0 -116
  179. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +0 -1549
  180. package/coverage/lcov-report/src/components/zd-svg-map/index.html +0 -116
  181. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +0 -475
  182. package/coverage/lcov-report/src/components/zd-switch/index.html +0 -116
  183. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +0 -163
  184. package/coverage/lcov-report/src/components/zd-table/index.html +0 -116
  185. package/coverage/lcov-report/src/components/zd-table/table.ts.html +0 -280
  186. package/coverage/lcov-report/src/components/zd-tabs/index.html +0 -146
  187. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +0 -127
  188. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +0 -370
  189. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +0 -586
  190. package/coverage/lcov-report/src/components/zd-tag/index.html +0 -116
  191. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +0 -142
  192. package/coverage/lcov-report/src/components/zd-text/index.html +0 -116
  193. package/coverage/lcov-report/src/components/zd-text/text.ts.html +0 -136
  194. package/coverage/lcov-report/src/components/zd-text-input/index.html +0 -116
  195. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +0 -778
  196. package/coverage/lcov-report/src/components/zd-textarea/index.html +0 -116
  197. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +0 -418
  198. package/coverage/lcov-report/src/components/zd-time/index.html +0 -131
  199. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +0 -157
  200. package/coverage/lcov-report/src/components/zd-time/time.ts.html +0 -1687
  201. package/coverage/lcov-report/src/components/zd-toggleable/index.html +0 -116
  202. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +0 -196
  203. package/coverage/lcov-report/src/components/zd-tooltip/index.html +0 -116
  204. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +0 -340
  205. package/coverage/lcov-report/src/components/zd-tree/index.html +0 -116
  206. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +0 -1849
  207. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +0 -191
  208. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +0 -103
  209. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +0 -202
  210. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +0 -154
  211. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +0 -235
  212. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +0 -448
  213. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +0 -1390
  214. package/coverage/lcov-report/src/error/delete-rows.ts.html +0 -124
  215. package/coverage/lcov-report/src/error/index.html +0 -161
  216. package/coverage/lcov-report/src/error/index.ts.html +0 -94
  217. package/coverage/lcov-report/src/error/non-initialized.ts.html +0 -118
  218. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +0 -109
  219. package/coverage/lcov-report/src/index.html +0 -116
  220. package/coverage/lcov-report/src/index.ts.html +0 -145
  221. package/coverage/lcov-report/src/services/index.html +0 -116
  222. package/coverage/lcov-report/src/services/index.ts.html +0 -97
  223. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +0 -205
  224. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +0 -220
  225. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +0 -316
  226. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +0 -172
  227. package/coverage/lcov-report/src/services/zd-alert/index.html +0 -176
  228. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +0 -100
  229. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +0 -205
  230. package/coverage/lcov-report/src/services/zd-dialog/index.html +0 -116
  231. package/coverage/lcov-report/src/services/zd-loading/index.html +0 -116
  232. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +0 -157
  233. package/coverage/lcov-report/src/services/zd-modal/index.html +0 -116
  234. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +0 -298
  235. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +0 -202
  236. package/coverage/lcov-report/src/utils/data-value-out/index.html +0 -131
  237. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +0 -91
  238. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +0 -241
  239. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +0 -131
  240. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +0 -91
  241. package/coverage/lcov-report/src/utils/icons/icons.ts.html +0 -547
  242. package/coverage/lcov-report/src/utils/icons/index.html +0 -116
  243. package/coverage/lcov-report/src/utils/index.html +0 -116
  244. package/coverage/lcov-report/src/utils/index.ts.html +0 -106
  245. package/coverage/lcov-report/src/utils/omit/index.html +0 -116
  246. package/coverage/lcov-report/src/utils/omit/omit.ts.html +0 -124
  247. package/coverage/lcov-report/src/utils/theme/index.html +0 -116
  248. package/coverage/lcov-report/src/utils/theme/theme.ts.html +0 -679
  249. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +0 -131
  250. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +0 -91
  251. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +0 -1645
  252. package/coverage/lcov-report/src/utils/unique-by/index.html +0 -116
  253. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +0 -130
  254. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +0 -166
  255. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +0 -116
  256. package/coverage/lcov.info +0 -10206
  257. package/tests/unit/utils/is-filled-object.spec.ts +0 -33
@@ -1,1549 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/zd-select-multiple/select-multiple.ts</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">src/components/zd-select-multiple</a> select-multiple.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>212/212</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>77/77</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>53/53</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>193/193</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 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>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
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>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">93x</span>
555
- <span class="cline-any cline-yes">93x</span>
556
- <span class="cline-any cline-yes">93x</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-yes">93x</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-yes">71x</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>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-yes">71x</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-yes">71x</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-yes">71x</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-yes">71x</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-yes">71x</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-yes">71x</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-yes">65x</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-yes">62x</span>
611
- <span class="cline-any cline-yes">68x</span>
612
- <span class="cline-any cline-yes">59x</span>
613
- <span class="cline-any cline-yes">46x</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-yes">32x</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-yes">46x</span>
619
- <span class="cline-any cline-yes">46x</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">46x</span>
622
- <span class="cline-any cline-yes">4x</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-yes">46x</span>
625
- <span class="cline-any cline-yes">46x</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-yes">13x</span>
628
- <span class="cline-any cline-yes">13x</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-yes">62x</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-yes">71x</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-yes">74x</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-yes">74x</span>
643
- <span class="cline-any cline-yes">2x</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-yes">74x</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-yes">92x</span>
658
- <span class="cline-any cline-yes">92x</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-yes">92x</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-yes">92x</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-yes">92x</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-yes">92x</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-yes">103x</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-yes">40x</span>
678
- <span class="cline-any cline-yes">40x</span>
679
- <span class="cline-any cline-yes">40x</span>
680
- <span class="cline-any cline-yes">40x</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-yes">57x</span>
683
- <span class="cline-any cline-yes">24x</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">33x</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-yes">57x</span>
688
- <span class="cline-any cline-yes">57x</span>
689
- <span class="cline-any cline-yes">42x</span>
690
- <span class="cline-any cline-yes">15x</span>
691
- <span class="cline-any cline-yes">14x</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-yes">40x</span>
696
- <span class="cline-any cline-yes">14x</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-yes">12x</span>
699
- <span class="cline-any cline-yes">12x</span>
700
- <span class="cline-any cline-yes">12x</span>
701
- <span class="cline-any cline-yes">12x</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-yes">40x</span>
707
- <span class="cline-any cline-yes">1x</span>
708
- <span class="cline-any cline-yes">1x</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">39x</span>
711
- <span class="cline-any cline-yes">11x</span>
712
- <span class="cline-any cline-yes">11x</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-yes">39x</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-yes">40x</span>
718
- <span class="cline-any cline-yes">37x</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">3x</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-yes">40x</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-yes">40x</span>
732
- <span class="cline-any cline-yes">37x</span>
733
- <span class="cline-any cline-yes">37x</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-yes">3x</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-yes">40x</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-yes">48x</span>
742
- <span class="cline-any cline-yes">40x</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-yes">8x</span>
745
- <span class="cline-any cline-yes">8x</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-yes">48x</span>
748
- <span class="cline-any cline-yes">48x</span>
749
- <span class="cline-any cline-yes">48x</span>
750
- <span class="cline-any cline-yes">30x</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-yes">119x</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-yes">150x</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-neutral">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-yes">187x</span>
774
- <span class="cline-any cline-yes">146x</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-yes">54x</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-yes">34x</span>
786
- <span class="cline-any cline-yes">34x</span>
787
- <span class="cline-any cline-yes">11x</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-yes">96x</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-yes">91x</span>
798
- <span class="cline-any cline-yes">91x</span>
799
- <span class="cline-any cline-yes">25x</span>
800
- <span class="cline-any cline-yes">25x</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">25x</span>
803
- <span class="cline-any cline-yes">9x</span>
804
- <span class="cline-any cline-yes">9x</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-yes">6x</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-yes">7x</span>
815
- <span class="cline-any cline-yes">5x</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-yes">2x</span>
818
- <span class="cline-any cline-yes">2x</span>
819
- <span class="cline-any cline-yes">2x</span>
820
- <span class="cline-any cline-yes">2x</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-yes">2x</span>
824
- <span class="cline-any cline-yes">2x</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-yes">28x</span>
833
- <span class="cline-any cline-yes">28x</span>
834
- <span class="cline-any cline-yes">60x</span>
835
- <span class="cline-any cline-yes">60x</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-yes">28x</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-yes">252x</span>
845
- <span class="cline-any cline-yes">196x</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-yes">56x</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-yes">56x</span>
851
- <span class="cline-any cline-yes">89x</span>
852
- <span class="cline-any cline-yes">89x</span>
853
- <span class="cline-any cline-yes">89x</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">89x</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-yes">56x</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-yes">2x</span>
866
- <span class="cline-any cline-yes">2x</span>
867
- <span class="cline-any cline-yes">2x</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-yes">8x</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-yes">6x</span>
884
- <span class="cline-any cline-yes">6x</span>
885
- <span class="cline-any cline-yes">1x</span>
886
- <span class="cline-any cline-yes">1x</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-yes">1x</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-yes">6x</span>
891
- <span class="cline-any cline-yes">5x</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">6x</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-yes">18x</span>
903
- <span class="cline-any cline-yes">18x</span>
904
- <span class="cline-any cline-yes">18x</span>
905
- <span class="cline-any cline-yes">18x</span>
906
- <span class="cline-any cline-yes">18x</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-yes">5x</span>
918
- <span class="cline-any cline-yes">3x</span>
919
- <span class="cline-any cline-yes">3x</span>
920
- <span class="cline-any cline-yes">2x</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-yes">2x</span>
924
- <span class="cline-any cline-yes">2x</span>
925
- <span class="cline-any cline-yes">1x</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-yes">5x</span>
932
- <span class="cline-any cline-yes">3x</span>
933
- <span class="cline-any cline-yes">3x</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-yes">5x</span>
938
- <span class="cline-any cline-yes">20x</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-yes">19x</span>
941
- <span class="cline-any cline-yes">8x</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-yes">4x</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-yes">19x</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-yes">17x</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-yes">5x</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-yes">5x</span>
952
- <span class="cline-any cline-yes">5x</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-yes">2x</span>
958
- <span class="cline-any cline-yes">1x</span>
959
- <span class="cline-any cline-yes">1x</span>
960
- <span class="cline-any cline-yes">1x</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-yes">1x</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-yes">1x</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-yes">1x</span>
967
- <span class="cline-any cline-yes">1x</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-yes">18x</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-yes">17x</span>
975
- <span class="cline-any cline-yes">17x</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-yes">22x</span>
980
- <span class="cline-any cline-yes">6x</span>
981
- <span class="cline-any cline-yes">6x</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-yes">22x</span>
985
- <span class="cline-any cline-yes">22x</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-yes">32x</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-yes">31x</span>
992
- <span class="cline-any cline-yes">5x</span>
993
- <span class="cline-any cline-yes">5x</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-yes">10x</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-yes">26x</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-yes">31x</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-yes">48x</span>
1006
- <span class="cline-any cline-yes">74x</span>
1007
- <span class="cline-any cline-yes">59x</span>
1008
- <span class="cline-any cline-yes">59x</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">74x</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-yes">48x</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-yes">7x</span>
1022
- <span class="cline-any cline-yes">4x</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">4x</span>
1025
- <span class="cline-any cline-yes">4x</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-yes">3x</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">98x</span>
1036
- <span class="cline-any cline-yes">73x</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-yes">25x</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { FormatterParserProvider, I18n, IDictionary } from '@zeedhi/core';
1043
- import { uniqueBy } from '../../utils';
1044
- import { Select } from '../zd-select/select';
1045
- import { ISelectMultiple } from './interfaces';
1046
- &nbsp;
1047
- export class SelectMultiple extends Select implements ISelectMultiple {
1048
- /**
1049
- * Selected items that were added to datasource
1050
- */
1051
- public insertedValues: IDictionary&lt;any&gt;[] = [];
1052
- &nbsp;
1053
- /**
1054
- * Inserted values that were unselected
1055
- */
1056
- private insertsRemoved: IDictionary&lt;any&gt;[] = [];
1057
- &nbsp;
1058
- /**
1059
- * Max number of rows the component can have
1060
- */
1061
- public maxRows?: string | number = undefined;
1062
- &nbsp;
1063
- /**
1064
- * Limit the display of selected options. The rest will be hidden within the 'limitText' string
1065
- */
1066
- public limit: number | null = null;
1067
- &nbsp;
1068
- public showSelectAll = false;
1069
- &nbsp;
1070
- public showCheckboxAll = false;
1071
- &nbsp;
1072
- /* istanbul ignore next */
1073
- /**
1074
- * Create a new Select.
1075
- * @param props Select properties
1076
- */
1077
- constructor(props: ISelectMultiple) {
1078
- super(props);
1079
- if (!this.selectValue) {
1080
- this.selectValue = [];
1081
- }
1082
- this.showSelectAll = this.getInitValue('showSelectAll', props.showSelectAll, this.showSelectAll);
1083
- this.maxRows = this.getInitValue('maxRows', props.maxRows, this.maxRows);
1084
- this.limit = this.getInitValue('limit', props.limit, this.limit);
1085
- this.showCheckboxAll = this.getInitValue('showCheckboxAll', props.showCheckboxAll, this.showCheckboxAll);
1086
- this.checkboxAll = this.getInitValue('checkboxAll', props.checkboxAll, this.checkboxAll);
1087
- if (!Array.isArray(this.dataText)) this.dataText = [this.dataText];
1088
- this.internalDisplayValue = this.getDisplayValue();
1089
- this.createAccessors();
1090
- this.autoSelection = false;
1091
- }
1092
- &nbsp;
1093
- public selectValue: IDictionary&lt;any&gt;[] = [];
1094
- &nbsp;
1095
- public updateSelectValue(rows: IDictionary&lt;any&gt;) {
1096
- if (!Array.isArray(rows)) return;
1097
- &nbsp;
1098
- if (!this.manualMode) {
1099
- const values = rows.map((row) =&gt; row[this.dataValue]);
1100
- if (values.length) {
1101
- let result = this.cutFromAToB(
1102
- this.insertedValues,
1103
- this.insertsRemoved,
1104
- (value) =&gt; !values.includes(value[this.dataValue]),
1105
- );
1106
- this.insertedValues = result.updatedSource;
1107
- this.insertsRemoved = result.updatedDestination;
1108
- &nbsp;
1109
- result = this.cutFromAToB(this.insertsRemoved, this.insertedValues, (value) =&gt;
1110
- values.includes(value[this.dataValue]),
1111
- );
1112
- this.insertsRemoved = result.updatedSource;
1113
- this.insertedValues = result.updatedDestination;
1114
- } else {
1115
- this.insertsRemoved = this.insertedValues;
1116
- this.insertedValues = [];
1117
- }
1118
- }
1119
- &nbsp;
1120
- this.selectValue = rows;
1121
- }
1122
- &nbsp;
1123
- private checkboxAllValue = false;
1124
- &nbsp;
1125
- get checkboxAll() {
1126
- return this.checkboxAllValue;
1127
- }
1128
- &nbsp;
1129
- set checkboxAll(value: boolean) {
1130
- if (this.showCheckboxAll) {
1131
- this.disabled = value;
1132
- }
1133
- this.checkboxAllValue = value;
1134
- }
1135
- &nbsp;
1136
- /**
1137
- * Removes item from array a and add it to array b if condition is satisfied
1138
- */
1139
- private cutFromAToB(
1140
- sourceArray: IDictionary[],
1141
- destinationArray: IDictionary[],
1142
- conditionCallback: (value: IDictionary) =&gt; boolean,
1143
- ) {
1144
- // Create copies of the original arrays to avoid mutating them directly
1145
- const source = [...sourceArray];
1146
- const destination = [...destinationArray];
1147
- &nbsp;
1148
- // Find items that meet the condition
1149
- const itemsToTransfer = source.filter(conditionCallback);
1150
- &nbsp;
1151
- // Remove items from source array
1152
- const updatedSource = source.filter((item) =&gt; !conditionCallback(item));
1153
- &nbsp;
1154
- // Add items to destination array
1155
- const updatedDestination = [...destination, ...itemsToTransfer];
1156
- &nbsp;
1157
- return { updatedSource, updatedDestination };
1158
- }
1159
- &nbsp;
1160
- protected getCondition(filterValue: any) {
1161
- return (row: any) =&gt; row[this.dataValue] === filterValue;
1162
- }
1163
- &nbsp;
1164
- protected async setFieldValue(value: any[]) {
1165
- const foundValues: any[] = [];
1166
- const searchedValues: any[] = [];
1167
- let pushed = false;
1168
- value.forEach((row) =&gt; {
1169
- let filterValue;
1170
- if (row &amp;&amp; typeof row === 'object') {
1171
- filterValue = row[this.dataValue];
1172
- } else {
1173
- filterValue = row;
1174
- }
1175
- const foundInData = this.datasource.data.find(this.getCondition(filterValue));
1176
- if (foundInData) {
1177
- foundValues.push(foundInData);
1178
- } else if (!this.manualMode) {
1179
- searchedValues.push(filterValue);
1180
- }
1181
- });
1182
- &nbsp;
1183
- const insertItem = async (item?: IDictionary) =&gt; {
1184
- if (!item) return;
1185
- &nbsp;
1186
- foundValues.push(item);
1187
- this.datasource.data.unshift(item);
1188
- this.insertedValues.push(item);
1189
- pushed = true;
1190
- };
1191
- &nbsp;
1192
- // using filter/find/dynamicFilter should make only 1 request
1193
- // using normal search should make one request per search value
1194
- if (this.searchParam !== 'SEARCH') {
1195
- const items = await this.getItemsBySearchValue(searchedValues);
1196
- items.forEach(insertItem);
1197
- } else {
1198
- const promises = searchedValues.map(async (searchedValue) =&gt; {
1199
- const [item] = await this.getItemsBySearchValue(searchedValue);
1200
- insertItem(item);
1201
- });
1202
- await Promise.all(promises);
1203
- }
1204
- &nbsp;
1205
- if (foundValues.length &gt; 0) {
1206
- this.setFieldRowValue(foundValues);
1207
- } else {
1208
- this.setFieldRowValue([]);
1209
- }
1210
- &nbsp;
1211
- return pushed;
1212
- }
1213
- &nbsp;
1214
- /**
1215
- * Set value accessors
1216
- * @param value
1217
- */
1218
- protected setFieldRowValue(rows: any[]) {
1219
- if (rows.length &gt; 0) {
1220
- const value = this.getValues(rows);
1221
- this.pushedValue = value;
1222
- } else {
1223
- this.pushedValue = [];
1224
- }
1225
- this.selectValue = rows;
1226
- }
1227
- &nbsp;
1228
- public async setValue(value: any[] | any, callEvent = true) {
1229
- if (Array.isArray(value) &amp;&amp; value.length &gt; 0) {
1230
- await this.setFieldValue(value);
1231
- } else {
1232
- this.pushedValue = [];
1233
- this.selectValue = [];
1234
- }
1235
- this.updateSelectValue(this.selectValue);
1236
- this.internalDisplayValue = this.getDisplayValue();
1237
- if (callEvent) {
1238
- this.callChangeEvent(this.pushedValue);
1239
- }
1240
- }
1241
- &nbsp;
1242
- private getDisplayValue() {
1243
- return this.formatter(this.selectValue).map((item: IDictionary) =&gt; item.text);
1244
- }
1245
- &nbsp;
1246
- /**
1247
- * Retrieves input value
1248
- * @param value inputted
1249
- * @private
1250
- */
1251
- protected getValue(value: any) {
1252
- return this.getValues(value);
1253
- }
1254
- &nbsp;
1255
- /**
1256
- * Retrieves input value
1257
- * @param value inputed
1258
- * @protected
1259
- */
1260
- protected getValues(value: IDictionary&lt;any&gt;[]): IDictionary&lt;any&gt;[] | any[] {
1261
- if (!value || value.length === 0) {
1262
- return [];
1263
- }
1264
- &nbsp;
1265
- return this.returnObject ? value : value.map((row: IDictionary&lt;any&gt;) =&gt; row[this.dataValue]);
1266
- }
1267
- &nbsp;
1268
- /**
1269
- * Updates search value
1270
- * @param value Search value
1271
- */
1272
- public async updateSearch(value: string) {
1273
- const parsedValue = this.parserFn(value, this);
1274
- if (parsedValue !== this.datasource.search) {
1275
- await this.datasource.setSearch(parsedValue);
1276
- }
1277
- }
1278
- &nbsp;
1279
- /**
1280
- * Inserts selected items in datasource
1281
- */
1282
- protected insertSelected() {
1283
- if (this.manualMode) return;
1284
- &nbsp;
1285
- this.insertedValues = [];
1286
- this.selectValue.forEach((value: IDictionary&lt;any&gt;) =&gt; {
1287
- const filterValue = value[this.dataValue];
1288
- const foundInData = this.datasource.data.find(this.getCondition(filterValue));
1289
- &nbsp;
1290
- if (!foundInData) {
1291
- this.datasource.data.unshift(value);
1292
- this.insertedValues.push(value);
1293
- }
1294
- });
1295
- }
1296
- &nbsp;
1297
- protected removePushedValue() {
1298
- this.removeInserts();
1299
- }
1300
- &nbsp;
1301
- protected async doSearch(value: string) {
1302
- if (this.manualMode || value) {
1303
- await this.updateSearch(value);
1304
- } else {
1305
- this.datasource.search = value;
1306
- if (!this.manualMode) {
1307
- this.datasource.data = [...this.cachedData];
1308
- this.datasource.total = this.cachedTotal;
1309
- }
1310
- &nbsp;
1311
- this.removeInserts();
1312
- this.insertSelected();
1313
- }
1314
- }
1315
- &nbsp;
1316
- /**
1317
- * Removes unselected inserts from datasource
1318
- */
1319
- private removeInserts() {
1320
- const removedValues = this.insertsRemoved.map((removed: any) =&gt; removed[this.dataValue]);
1321
- this.datasource.data = this.datasource.data.filter((row: IDictionary&lt;any&gt;) =&gt; {
1322
- const removed = removedValues.includes(row[this.dataValue]);
1323
- return !removed;
1324
- });
1325
- this.insertsRemoved = [];
1326
- }
1327
- &nbsp;
1328
- /**
1329
- * Return formatted dataText and values
1330
- */
1331
- public formatter(value: IDictionary&lt;any&gt;[]): any {
1332
- if (!value || value.length === 0) {
1333
- return [];
1334
- }
1335
- &nbsp;
1336
- const selectFormatter = FormatterParserProvider.getFormatter('ZdSelect');
1337
- &nbsp;
1338
- const formattedValue = value.map((row: IDictionary&lt;any&gt;) =&gt; {
1339
- const isDisabled = this.dataDisabled &amp;&amp; row[this.dataDisabled];
1340
- const formattedRow: IDictionary&lt;any&gt; = { value: row[this.dataValue], disabled: isDisabled, originalRow: row };
1341
- formattedRow.text = selectFormatter(row, this);
1342
- &nbsp;
1343
- return formattedRow;
1344
- });
1345
- &nbsp;
1346
- return formattedValue;
1347
- }
1348
- &nbsp;
1349
- /**
1350
- * Returns the text shown when there's one or more selected items that doesn't fit in the input
1351
- */
1352
- public getMoreChipText(moreChip: number) {
1353
- const keyToTranslate = 'MORE_ITEM';
1354
- const translatedText = I18n.translate(keyToTranslate, { count: moreChip });
1355
- return translatedText;
1356
- }
1357
- &nbsp;
1358
- public showLoadMore() {
1359
- return (
1360
- !!this.datasource.data.length &amp;&amp;
1361
- !this.datasource.loading &amp;&amp;
1362
- !this.datasource.loadAll &amp;&amp;
1363
- this.datasource.data.length - this.insertedValues.length - this.insertsRemoved.length &lt; this.datasource.total
1364
- );
1365
- }
1366
- &nbsp;
1367
- /**
1368
- * Load more data
1369
- */
1370
- public async loadMore() {
1371
- await this.datasource.setLimit(this.datasource.limit + this.loadMoreAmount);
1372
- this.insertsRemoved = this.insertsRemoved.filter((insert: any) =&gt; {
1373
- const value = insert[this.dataValue];
1374
- const foundInData = this.datasource.data.find(this.getCondition(value));
1375
- &nbsp;
1376
- return !foundInData;
1377
- });
1378
- if (!this.datasource.search) {
1379
- this.setCache();
1380
- }
1381
- this.removePushedValue();
1382
- }
1383
- &nbsp;
1384
- /**
1385
- * Triggered when the component loses focus.
1386
- * @param event DOM event
1387
- * @param element Element that lost the focus
1388
- */
1389
- public blur(event: Event, element: any) {
1390
- super.blur(event, element);
1391
- if (this.autocomplete) {
1392
- this.search = '';
1393
- this.removeInserts();
1394
- this.insertSelected();
1395
- }
1396
- }
1397
- &nbsp;
1398
- /**
1399
- * Dispatches select/unselect event
1400
- * @param isChanged checked is changed
1401
- * @param event DOM event
1402
- * @param element DOM Element
1403
- */
1404
- public onSelectAll(isSelected: boolean, event: Event, element: any) {
1405
- if (isSelected) {
1406
- this.callEvent('selectedAll', { event, element, component: this });
1407
- if (!event.defaultPrevented) {
1408
- this.selectAllItems();
1409
- }
1410
- } else {
1411
- this.callEvent('unselectedAll', { event, element, component: this });
1412
- if (!event.defaultPrevented) {
1413
- this.unSelectAllItems();
1414
- }
1415
- }
1416
- }
1417
- &nbsp;
1418
- public async selectAllItems() {
1419
- if (this.datasource.data.length &lt; this.datasource.total) {
1420
- this.datasource.loadAll = true;
1421
- await this.datasource.get();
1422
- }
1423
- &nbsp;
1424
- // remove disabled values
1425
- const filteredData = this.datasource.data.filter((row: IDictionary) =&gt; {
1426
- if (row[this.dataDisabled]) return false;
1427
- &nbsp;
1428
- const disabledValues = this.disabledItems.map((item) =&gt; {
1429
- if (typeof item === 'object') return item[this.dataValue];
1430
- &nbsp;
1431
- return item;
1432
- });
1433
- if (disabledValues.includes(row[this.dataValue])) return false;
1434
- &nbsp;
1435
- return true;
1436
- });
1437
- this.setValue(filteredData);
1438
- &nbsp;
1439
- if (!this.datasource.search) {
1440
- this.setCache();
1441
- }
1442
- }
1443
- &nbsp;
1444
- public async unSelectAllItems() {
1445
- if (!this.datasource.search) {
1446
- this.removeInserts();
1447
- this.insertSelected();
1448
- await this.setValue([]);
1449
- } else {
1450
- const newData: IDictionary&lt;any&gt;[] = this.insertedValues;
1451
- &nbsp;
1452
- await this.setValue(newData);
1453
- &nbsp;
1454
- this.removeInserts();
1455
- this.insertSelected();
1456
- }
1457
- }
1458
- &nbsp;
1459
- protected checkValueOnBlur() {
1460
- if (this.manualMode) return;
1461
- &nbsp;
1462
- this.datasource.data = [...this.cachedData];
1463
- this.datasource.total = this.cachedTotal;
1464
- }
1465
- &nbsp;
1466
- protected async afterFocus() {
1467
- if (!this.preventLoadOnFocus) {
1468
- await this.datasource.get();
1469
- this.preventLoadOnFocus = true;
1470
- }
1471
- &nbsp;
1472
- this.setCache();
1473
- this.updateSearch(this.dirtySearchValue);
1474
- }
1475
- &nbsp;
1476
- private setCache() {
1477
- if (this.manualMode) return;
1478
- &nbsp;
1479
- if (this.insertedValues.length) {
1480
- this.datasource.data = uniqueBy(this.insertedValues.concat(this.datasource.data), this.datasource.uniqueKey);
1481
- const values = this.insertedValues.map((inserted) =&gt; inserted[this.dataValue]);
1482
- &nbsp;
1483
- // prevent caching insertedValues
1484
- this.cachedData = this.datasource.data.filter((row) =&gt; !values.includes(row[this.dataValue]));
1485
- } else {
1486
- this.cachedData = this.datasource.data;
1487
- }
1488
- &nbsp;
1489
- this.cachedTotal = this.datasource.total;
1490
- }
1491
- &nbsp;
1492
- protected registerGetCallback() {
1493
- const callback = async () =&gt; {
1494
- if (!this.datasource.search &amp;&amp; !this.manualMode) {
1495
- this.cachedData = [...this.datasource.data];
1496
- this.cachedTotal = this.datasource.total;
1497
- }
1498
- &nbsp;
1499
- this.insertSelected();
1500
- };
1501
- &nbsp;
1502
- this.datasource.registerGetCallback(callback);
1503
- }
1504
- &nbsp;
1505
- /**
1506
- * Updates input rules.
1507
- */
1508
- protected updateRules() {
1509
- this.rules = Object.keys(this.parsedValidations).map((key: string) =&gt; (value?: any) =&gt; {
1510
- const testValue = value !== undefined ? value : this.value;
1511
- &nbsp;
1512
- const validation = this.parsedValidations[key];
1513
- if (key !== 'required') return validation(testValue);
1514
- &nbsp;
1515
- return validation((this.checkboxAll &amp;&amp; 'all') || testValue);
1516
- });
1517
- }
1518
- &nbsp;
1519
- /**
1520
- * Retrieves value based on the returnObject definition
1521
- */
1522
- protected getReturnValue(value: IDictionary[] | null) {
1523
- if (!value) {
1524
- return [];
1525
- }
1526
- &nbsp;
1527
- return this.returnObject ? value : value.map((row: IDictionary) =&gt; row[this.dataValue]);
1528
- }
1529
- }
1530
- &nbsp;</pre></td></tr></table></pre>
1531
-
1532
- <div class='push'></div><!-- for sticky footer -->
1533
- </div><!-- /wrapper -->
1534
- <div class='footer quiet pad2 space-top1 center small'>
1535
- Code coverage generated by
1536
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1537
- at 2025-11-06T17:56:59.252Z
1538
- </div>
1539
- <script src="../../../prettify.js"></script>
1540
- <script>
1541
- window.onload = function () {
1542
- prettyPrint();
1543
- };
1544
- </script>
1545
- <script src="../../../sorter.js"></script>
1546
- <script src="../../../block-navigation.js"></script>
1547
- </body>
1548
- </html>
1549
-