@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,1687 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/zd-time/time.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-time</a> time.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'>200/200</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'>103/103</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'>44/44</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'>189/189</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>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">93x</span>
601
- <span class="cline-any cline-yes">93x</span>
602
- <span class="cline-any cline-yes">93x</span>
603
- <span class="cline-any cline-yes">93x</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-yes">93x</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-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-yes">93x</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-yes">64x</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-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-yes">64x</span>
635
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
639
- <span class="cline-any cline-yes">64x</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-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-yes">64x</span>
645
- <span class="cline-any cline-neutral">&nbsp;</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-yes">64x</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-yes">64x</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-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-yes">64x</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</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">64x</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-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-yes">64x</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-yes">64x</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-yes">64x</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-yes">64x</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-yes">64x</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-yes">64x</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-yes">64x</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-yes">64x</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</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">64x</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-yes">64x</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</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-yes">64x</span>
705
- <span class="cline-any cline-yes">64x</span>
706
- <span class="cline-any cline-yes">64x</span>
707
- <span class="cline-any cline-yes">64x</span>
708
- <span class="cline-any cline-yes">64x</span>
709
- <span class="cline-any cline-yes">64x</span>
710
- <span class="cline-any cline-yes">64x</span>
711
- <span class="cline-any cline-yes">64x</span>
712
- <span class="cline-any cline-yes">64x</span>
713
- <span class="cline-any cline-yes">64x</span>
714
- <span class="cline-any cline-yes">64x</span>
715
- <span class="cline-any cline-yes">64x</span>
716
- <span class="cline-any cline-yes">64x</span>
717
- <span class="cline-any cline-yes">64x</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-yes">64x</span>
720
- <span class="cline-any cline-yes">64x</span>
721
- <span class="cline-any cline-yes">64x</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-yes">64x</span>
724
- <span class="cline-any cline-yes">64x</span>
725
- <span class="cline-any cline-yes">64x</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-yes">64x</span>
728
- <span class="cline-any cline-yes">64x</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-neutral">&nbsp;</span>
732
- <span class="cline-any cline-yes">312x</span>
733
- <span class="cline-any cline-yes">312x</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-yes">312x</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-yes">186x</span>
740
- <span class="cline-any cline-yes">186x</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-yes">69x</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-yes">126x</span>
749
- <span class="cline-any cline-yes">126x</span>
750
- <span class="cline-any cline-neutral">&nbsp;</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-yes">65x</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-yes">7x</span>
758
- <span class="cline-any cline-yes">7x</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-yes">64x</span>
763
- <span class="cline-any cline-yes">55x</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-yes">64x</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-yes">33x</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-neutral">&nbsp;</span>
774
- <span class="cline-any cline-yes">24x</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-neutral">&nbsp;</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-yes">2x</span>
784
- <span class="cline-any cline-yes">1x</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</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-yes">100x</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-yes">10x</span>
799
- <span class="cline-any cline-yes">10x</span>
800
- <span class="cline-any cline-yes">10x</span>
801
- <span class="cline-any cline-yes">10x</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</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-yes">9x</span>
809
- <span class="cline-any cline-yes">9x</span>
810
- <span class="cline-any cline-yes">9x</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-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-yes">9x</span>
818
- <span class="cline-any cline-yes">3x</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-yes">6x</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-yes">7x</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-yes">31x</span>
830
- <span class="cline-any cline-yes">31x</span>
831
- <span class="cline-any cline-yes">12x</span>
832
- <span class="cline-any cline-yes">12x</span>
833
- <span class="cline-any cline-yes">12x</span>
834
- <span class="cline-any cline-yes">12x</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-yes">19x</span>
837
- <span class="cline-any cline-yes">6x</span>
838
- <span class="cline-any cline-yes">6x</span>
839
- <span class="cline-any cline-yes">6x</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-yes">19x</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-yes">31x</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-yes">67x</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-yes">1x</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">3x</span>
856
- <span class="cline-any cline-yes">3x</span>
857
- <span class="cline-any cline-yes">3x</span>
858
- <span class="cline-any cline-yes">3x</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-yes">4x</span>
863
- <span class="cline-any cline-yes">2x</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-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-yes">9x</span>
870
- <span class="cline-any cline-yes">5x</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-yes">4x</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-yes">73x</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-yes">584x</span>
885
- <span class="cline-any cline-yes">73x</span>
886
- <span class="cline-any cline-yes">133x</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-yes">12x</span>
891
- <span class="cline-any cline-yes">11x</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">1x</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-yes">3x</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-neutral">&nbsp;</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-yes">6x</span>
906
- <span class="cline-any cline-yes">6x</span>
907
- <span class="cline-any cline-yes">6x</span>
908
- <span class="cline-any cline-yes">5x</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-yes">11x</span>
914
- <span class="cline-any cline-yes">11x</span>
915
- <span class="cline-any cline-yes">11x</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-yes">11x</span>
918
- <span class="cline-any cline-yes">11x</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</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">6x</span>
924
- <span class="cline-any cline-yes">6x</span>
925
- <span class="cline-any cline-neutral">&nbsp;</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">6x</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-yes">5x</span>
934
- <span class="cline-any cline-yes">5x</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-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">11x</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-yes">3x</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-yes">8x</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
958
- <span class="cline-any cline-yes">2x</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-yes">2x</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-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-yes">6x</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-yes">5x</span>
980
- <span class="cline-any cline-yes">5x</span>
981
- <span class="cline-any cline-neutral">&nbsp;</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">5x</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-yes">3x</span>
987
- <span class="cline-any cline-yes">3x</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-yes">5x</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-yes">3x</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-yes">3x</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-yes">5x</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-yes">3x</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-yes">3x</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-yes">7x</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-yes">4x</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">4x</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-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-yes">1x</span>
1016
- <span class="cline-any cline-yes">1x</span>
1017
- <span class="cline-any cline-yes">1x</span>
1018
- <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-yes">5x</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-yes">6x</span>
1033
- <span class="cline-any cline-yes">4x</span>
1034
- <span class="cline-any cline-yes">3x</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-yes">3x</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-yes">93x</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-yes">42x</span>
1057
- <span class="cline-any cline-yes">4x</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-yes">38x</span>
1060
- <span class="cline-any cline-yes">38x</span>
1061
- <span class="cline-any cline-yes">38x</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-yes">38x</span>
1064
- <span class="cline-any cline-yes">38x</span>
1065
- <span class="cline-any cline-yes">4x</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-yes">34x</span>
1069
- <span class="cline-any cline-yes">9x</span>
1070
- <span class="cline-any cline-yes">2x</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-yes">7x</span>
1074
- <span class="cline-any cline-yes">7x</span>
1075
- <span class="cline-any cline-yes">6x</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-yes">7x</span>
1079
- <span class="cline-any cline-yes">7x</span>
1080
- <span class="cline-any cline-yes">7x</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-yes">25x</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-yes">93x</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-yes">31x</span>
1101
- <span class="cline-any cline-yes">3x</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-yes">28x</span>
1104
- <span class="cline-any cline-yes">28x</span>
1105
- <span class="cline-any cline-yes">28x</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-yes">28x</span>
1108
- <span class="cline-any cline-yes">19x</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-yes">9x</span>
1112
- <span class="cline-any cline-yes">6x</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-yes">6x</span>
1116
- <span class="cline-any cline-yes">3x</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-yes">3x</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-yes">6x</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-yes">6x</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-yes">6x</span>
1126
- <span class="cline-any cline-yes">4x</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-yes">5x</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-yes">93x</span>
1134
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Config, FormatterParserProvider, I18n, Mask, Utils, dayjs } from '@zeedhi/core';
1135
- import isUndefined from 'lodash.isundefined';
1136
- import { InputFactory } from '../zd-input/input-factory';
1137
- import { TextInput } from '../zd-text-input/text-input';
1138
- import { ITime } from './interfaces';
1139
- import { TimeFormatSelector } from './time-format-selector';
1140
- &nbsp;
1141
- /**
1142
- * Base class for Time Picker component.
1143
- */
1144
- export class Time extends TextInput implements ITime {
1145
- /**
1146
- * Restricts which hours can be selected.
1147
- */
1148
- public allowedHours?: any[];
1149
- &nbsp;
1150
- /**
1151
- * Restricts which minutes can be selected.
1152
- */
1153
- public allowedMinutes?: any[];
1154
- &nbsp;
1155
- /**
1156
- * Restricts which seconds can be selected.
1157
- */
1158
- public allowedSeconds?: any[];
1159
- &nbsp;
1160
- /**
1161
- * Input auto complete.
1162
- */
1163
- public autofill = false;
1164
- &nbsp;
1165
- /**
1166
- * Defines the format of a time displayed in picker. Available options are ampm and 24hr.
1167
- */
1168
- public timeFormat: string = Config.timeFormat || 'ampm'; // change props to pickerFormat
1169
- &nbsp;
1170
- /**
1171
- * Forces 100% width.
1172
- */
1173
- public fullWidth = false;
1174
- &nbsp;
1175
- /**
1176
- * Maximum allowed time.
1177
- */
1178
- public maxTime = '';
1179
- &nbsp;
1180
- /**
1181
- * Minimum allowed time.
1182
- */
1183
- public minTime = '';
1184
- &nbsp;
1185
- /**
1186
- * Allows changing hour/minute with mouse scroll.
1187
- */
1188
- public scrollable = false;
1189
- &nbsp;
1190
- /**
1191
- * Shows the time picker.
1192
- */
1193
- public showTimePicker = false;
1194
- &nbsp;
1195
- /**
1196
- * Toggles the use of seconds in picker.
1197
- */
1198
- public useSeconds = false;
1199
- &nbsp;
1200
- /**
1201
- * Width of the picker.
1202
- */
1203
- public width: number | string = 290;
1204
- &nbsp;
1205
- protected formatterFn = FormatterParserProvider.getFormatter('ZdTime');
1206
- &nbsp;
1207
- protected parserFn = FormatterParserProvider.getParser('ZdTime');
1208
- &nbsp;
1209
- private isoFormatValue = 'HH:mm';
1210
- &nbsp;
1211
- private valueFormatInternal: string = Config.valueTimeFormat;
1212
- &nbsp;
1213
- private displayFormatInternal: string = Config.displayTimeFormat;
1214
- &nbsp;
1215
- /**
1216
- * Defines the time input format.
1217
- */
1218
- public inputFormat?: string = Config.timeInputFormat;
1219
- &nbsp;
1220
- /**
1221
- * True when displayValue is valid
1222
- */
1223
- protected isDisplayValid = true;
1224
- &nbsp;
1225
- protected initialMask?: string;
1226
- &nbsp;
1227
- protected isSimpleDisplay!: boolean;
1228
- &nbsp;
1229
- protected timeError = false;
1230
- &nbsp;
1231
- public inputMode?: string | undefined = 'none';
1232
- &nbsp;
1233
- /**
1234
- * Create a new Time Picker.
1235
- * @param props Time properties
1236
- */
1237
- constructor(props: ITime) {
1238
- super(props);
1239
- this.allowedHours = this.getInitValue('allowedHours', props.allowedHours, this.allowedHours);
1240
- this.allowedMinutes = this.getInitValue('allowedMinutes', props.allowedMinutes, this.allowedMinutes);
1241
- this.allowedSeconds = this.getInitValue('allowedSeconds', props.allowedSeconds, this.allowedSeconds);
1242
- this.timeFormat = this.getInitValue('timeFormat', props.timeFormat, this.timeFormat);
1243
- this.fullWidth = this.getInitValue('fullWidth', props.fullWidth, this.fullWidth);
1244
- this.maxTime = this.getInitValue('maxTime', props.maxTime, this.maxTime);
1245
- this.minTime = this.getInitValue('minTime', props.minTime, this.minTime);
1246
- this.scrollable = this.getInitValue('scrollable', props.scrollable, this.scrollable);
1247
- this.showTimePicker = this.getInitValue('showTimePicker', props.showTimePicker, this.showTimePicker);
1248
- this.useSeconds = this.getInitValue('useSeconds', props.useSeconds, this.useSeconds);
1249
- this.width = this.getInitValue('width', props.width, this.width);
1250
- this.autofill = this.getInitValue('autofill', props.autofill, this.autofill);
1251
- this.timeValidation = this.timeValidation.bind(this);
1252
- &nbsp;
1253
- this.valueFormat = this.getInitValue('valueFormat', props.valueFormat, this.valueFormatInternal);
1254
- this.displayFormat = this.getInitValue('displayFormat', props.displayFormat, this.displayFormatInternal);
1255
- this.inputFormat = this.getInitValue('inputFormat', props.inputFormat, this.inputFormat);
1256
- &nbsp;
1257
- this.timeAllowedValidation = this.timeAllowedValidation.bind(this);
1258
- this.rules.push(this.timeValidation, this.timeAllowedValidation);
1259
- this.mask = this.getInitValue('mask', props.mask, undefined);
1260
- &nbsp;
1261
- this.initialMask = this.getInitialMask();
1262
- this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1263
- }
1264
- &nbsp;
1265
- private getFormat(format: string, timeFormat: string) {
1266
- const timeFormatSelector = new TimeFormatSelector();
1267
- const selectedFormat = timeFormatSelector.getFormat(format, timeFormat, this.useSeconds);
1268
- &nbsp;
1269
- return selectedFormat;
1270
- }
1271
- &nbsp;
1272
- public get displayFormat() {
1273
- this.displayFormatInternal = this.getFormat(this.displayFormatInternal, this.timeFormat);
1274
- return this.displayFormatInternal;
1275
- }
1276
- &nbsp;
1277
- public set displayFormat(value: string) {
1278
- this.displayFormatInternal = value;
1279
- }
1280
- &nbsp;
1281
- public get valueFormat() {
1282
- this.valueFormatInternal = this.getFormat(this.valueFormatInternal, '24hr');
1283
- return this.valueFormatInternal;
1284
- }
1285
- &nbsp;
1286
- public set valueFormat(value: string) {
1287
- this.valueFormatInternal = value;
1288
- }
1289
- &nbsp;
1290
- private get isoFormat() {
1291
- this.isoFormatValue = this.useSeconds ? 'HH:mm:ss' : 'HH:mm';
1292
- return this.isoFormatValue;
1293
- }
1294
- &nbsp;
1295
- private getInitialMask() {
1296
- if (isUndefined(this.mask)) {
1297
- this.mask = this.inputFormat &amp;&amp; this.maskFormat(this.inputFormat);
1298
- }
1299
- &nbsp;
1300
- return this.mask;
1301
- }
1302
- &nbsp;
1303
- public formatter(value: string): string {
1304
- return this.formatterFn(value, this);
1305
- }
1306
- &nbsp;
1307
- public parser(value: string): any {
1308
- return this.parserFn(value, this);
1309
- }
1310
- &nbsp;
1311
- /**
1312
- * Triggered when date is clicked.
1313
- * @param event
1314
- * @param element
1315
- */
1316
- public selectTime(time: string, event?: Event, element?: any) {
1317
- if (this.events.onSelectTime &amp;&amp; typeof this.events.onSelectTime === 'function') {
1318
- this.events.onSelectTime({
1319
- time,
1320
- event,
1321
- element,
1322
- component: this,
1323
- });
1324
- }
1325
- }
1326
- &nbsp;
1327
- get displayValue() {
1328
- return this.internalDisplayValue;
1329
- }
1330
- &nbsp;
1331
- set displayValue(newValue: string) {
1332
- this.timeError = false;
1333
- this.internalDisplayValue = newValue;
1334
- this.internalValue = this.parser(newValue);
1335
- this.value = this.internalValue; // forces value accessor to be called if necessary
1336
- }
1337
- &nbsp;
1338
- /**
1339
- * Assign the updated mask to mask property
1340
- */
1341
- public updateMask() {
1342
- this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1343
- this.mask = this.getUpdatedMask();
1344
- return this.mask;
1345
- }
1346
- &nbsp;
1347
- /**
1348
- * Gets the updated masked, based on displayFormat if the initial mask is undefined
1349
- */
1350
- protected getUpdatedMask(): string {
1351
- if (isUndefined(this.initialMask)) {
1352
- return this.maskFormat(this.displayFormat);
1353
- }
1354
- &nbsp;
1355
- return this.mask;
1356
- }
1357
- &nbsp;
1358
- protected maskFormat(format: string) {
1359
- return format.replace(/[A-Za-z]/gi, '#');
1360
- }
1361
- &nbsp;
1362
- public setTimeValue(displayValue: string) {
1363
- const lastValue = this.displayValue;
1364
- if (this.isValidTime(displayValue, this.displayFormat)) {
1365
- this.internalDisplayValue = displayValue;
1366
- this.internalValue = this.parser(displayValue);
1367
- this.timeError = false;
1368
- if (lastValue !== this.displayValue) this.change(this.value);
1369
- } else {
1370
- if (!displayValue) {
1371
- this.internalDisplayValue = displayValue;
1372
- this.internalValue = null;
1373
- if (lastValue !== this.displayValue) this.change(this.value);
1374
- }
1375
- this.timeError = !!displayValue;
1376
- }
1377
- this.value = this.internalValue; // forces value accessor to be called if necessary
1378
- }
1379
- &nbsp;
1380
- public isValidTime(value: string, format: string | undefined, strict = true): boolean {
1381
- return dayjs(value, format, strict).isValid();
1382
- }
1383
- &nbsp;
1384
- get isoValue() {
1385
- return this.formatISOTimeValue(this.value);
1386
- }
1387
- &nbsp;
1388
- set isoValue(newValue: string) {
1389
- const lastValue = this.value;
1390
- this.timeError = false;
1391
- this.value = this.parseISOTimeValue(newValue);
1392
- if (lastValue !== this.value) this.change(this.value);
1393
- }
1394
- &nbsp;
1395
- public formatISOTimeValue(value: string): string {
1396
- if (value &amp;&amp; this.isValidTime(value, this.valueFormat)) {
1397
- return dayjs(value, this.valueFormat).format(this.isoFormat);
1398
- }
1399
- return '';
1400
- }
1401
- &nbsp;
1402
- public parseISOTimeValue(value: string): any {
1403
- if (value &amp;&amp; this.isValidTime(value, this.valueFormat)) {
1404
- return dayjs(value, this.isoFormat).format(this.valueFormat);
1405
- }
1406
- return null;
1407
- }
1408
- &nbsp;
1409
- /**
1410
- * Checks if a time format is simple.
1411
- * Simple time formats are the ones that consists only of 'HH', 'mm', 'mm' or 'YYYY', and mask delimiters
1412
- * @param format The format to be checked
1413
- * @returns true if it is simple, false otherwise
1414
- */
1415
- protected isSimpleFormat(format: string): boolean {
1416
- const simpleTokens = ['HH', 'mm', 'ss', 'hh', 'A', 'a', 'p', 'P'];
1417
- // remove the simple tokens from the string
1418
- const replaced = simpleTokens.reduce((result, token) =&gt; result.replace(token, ''), format);
1419
- const chars = replaced.split('');
1420
- return chars.length ? chars.every((char) =&gt; Mask.isMaskDelimiter(char)) : true;
1421
- }
1422
- &nbsp;
1423
- public timeValidation(): boolean | string {
1424
- if (this.isValidTime(this.displayValue, this.displayFormat) || !this.displayValue) {
1425
- return true;
1426
- }
1427
- return I18n.translate('VALIDATION_INVALID_TIME');
1428
- }
1429
- &nbsp;
1430
- public timeAllowedValidation(): boolean | string {
1431
- return (
1432
- !this.displayValue ||
1433
- (this.isValidTime(this.displayValue, this.displayFormat) &amp;&amp; this.isTimeAllowed()) ||
1434
- I18n.translate('VALIDATION_TIME_NOT_ALLOWED')
1435
- );
1436
- }
1437
- &nbsp;
1438
- public click(event?: Event, element?: any) {
1439
- const clickEvent = event || new MouseEvent('click');
1440
- super.click(clickEvent, element);
1441
- if (!clickEvent.defaultPrevented) {
1442
- this.showTimePicker = !this.showTimePicker;
1443
- }
1444
- }
1445
- &nbsp;
1446
- public blur(event: Event, element: any) {
1447
- this.removeTimeMask();
1448
- this.setTimeValue(this.formatter(this.value));
1449
- super.blur(event, element);
1450
- &nbsp;
1451
- if (!Utils.isMobile()) {
1452
- this.showTimePicker = false;
1453
- }
1454
- }
1455
- &nbsp;
1456
- public focus(event: Event, element: any) {
1457
- this.addTimeMask();
1458
- super.focus(event, element);
1459
- }
1460
- &nbsp;
1461
- /**
1462
- * Add date mask
1463
- */
1464
- protected addTimeMask() {
1465
- if (!this.value) return;
1466
- &nbsp;
1467
- this.mask = this.initialMask;
1468
- this.internalDisplayValue = dayjs(this.value, this.valueFormat).format(this.inputFormat || this.displayFormat);
1469
- }
1470
- &nbsp;
1471
- /**
1472
- * Removes the component mask if value is valid
1473
- */
1474
- protected removeTimeMask() {
1475
- if (
1476
- isUndefined(this.initialMask) ||
1477
- !this.value ||
1478
- this.timeError ||
1479
- !this.isValidTime(this.value, this.valueFormat)
1480
- ) {
1481
- return;
1482
- }
1483
- &nbsp;
1484
- this.mask = '';
1485
- }
1486
- &nbsp;
1487
- /**
1488
- * Checks if value is valid according to valueFormat and if displayValue
1489
- * is true
1490
- */
1491
- public isFullyValid(value: string = this.value) {
1492
- return this.isValidTime(value, this.valueFormat, true) &amp;&amp; this.isDisplayValid;
1493
- }
1494
- &nbsp;
1495
- /**
1496
- * Last invalid value passed to formatter
1497
- */
1498
- // private lastInvalid: string = '';
1499
- &nbsp;
1500
- public isTimeAllowed(value: string = this.value) {
1501
- return (
1502
- this.isSameOrAfterMin(value) &amp;&amp;
1503
- this.isSameOrBeforeMax(value) &amp;&amp;
1504
- this.isHourAllowed(value) &amp;&amp;
1505
- this.isMinuteAllowed(value) &amp;&amp;
1506
- this.isSecondAllowed(value)
1507
- );
1508
- }
1509
- &nbsp;
1510
- public isSameOrAfterMin(value: string) {
1511
- if (!this.minTime) return true;
1512
- &nbsp;
1513
- const min = dayjs(this.minTime, this.valueFormat);
1514
- return dayjs(value, this.valueFormat).isSame(min) || dayjs(value, this.valueFormat).isAfter(min);
1515
- }
1516
- &nbsp;
1517
- public isSameOrBeforeMax(value: string) {
1518
- if (!this.maxTime) return true;
1519
- &nbsp;
1520
- const max = dayjs(this.maxTime, this.valueFormat);
1521
- return dayjs(value, this.valueFormat).isSame(max) || dayjs(value, this.valueFormat).isBefore(max);
1522
- }
1523
- &nbsp;
1524
- public isHourAllowed(value: string) {
1525
- if (!this.allowedHours) return true;
1526
- &nbsp;
1527
- const hour = dayjs(value, this.valueFormat).hour();
1528
- &nbsp;
1529
- return this.allowedHours.includes(hour);
1530
- }
1531
- &nbsp;
1532
- public isMinuteAllowed(value: string) {
1533
- if (!this.allowedMinutes) return true;
1534
- &nbsp;
1535
- const minute = dayjs(value, this.valueFormat).minute();
1536
- &nbsp;
1537
- return this.allowedMinutes.includes(minute);
1538
- }
1539
- &nbsp;
1540
- public isSecondAllowed(value: string) {
1541
- if (!this.allowedSeconds) return true;
1542
- &nbsp;
1543
- const second = dayjs(value, this.valueFormat).second();
1544
- &nbsp;
1545
- return this.allowedSeconds.includes(second);
1546
- }
1547
- &nbsp;
1548
- public clear() {
1549
- this.value = null;
1550
- this.change(this.value);
1551
- if (typeof this.events?.onClear === 'function') {
1552
- this.events.onClear({
1553
- component: this,
1554
- value: this.value,
1555
- });
1556
- }
1557
- }
1558
- /**
1559
- * Converts a date format to a mask
1560
- */
1561
- private toMask(format: string) {
1562
- return format.replace(/[A-Za-z]/gi, '#'); // .split('').map((char: string) =&gt; (char === '#' ? /\d/ : char));
1563
- }
1564
- &nbsp;
1565
- public getMask() {
1566
- if (this.mask &amp;&amp; !this.mask.includes('{{') &amp;&amp; !this.mask.includes('}}')) {
1567
- if (this.isFocused) {
1568
- return this.toMask(this.displayFormat || '');
1569
- }
1570
- }
1571
- return '';
1572
- }
1573
- }
1574
- &nbsp;
1575
- FormatterParserProvider.registerFormatter(
1576
- 'ZdTime',
1577
- (
1578
- value: string,
1579
- {
1580
- valueFormat = Config.valueTimeFormat,
1581
- displayFormat = Config.displayTimeFormat,
1582
- inputFormat = Config.timeInputFormat,
1583
- timeFormat = Config.timeFormat || 'ampm',
1584
- useSeconds = false,
1585
- mask = '',
1586
- initialMask,
1587
- isSimpleDisplay = false,
1588
- }: any = {},
1589
- ) =&gt; {
1590
- if (!value) {
1591
- return '';
1592
- }
1593
- const timeFormatSelector = new TimeFormatSelector();
1594
- const timeDisplayFormat = timeFormatSelector.getFormat(displayFormat, timeFormat, useSeconds);
1595
- const timeValueFormat = timeFormatSelector.getFormat(valueFormat, '24hr', useSeconds);
1596
- &nbsp;
1597
- const isTimeValid = dayjs(value, timeValueFormat, true).isValid();
1598
- if (!isTimeValid) {
1599
- return value;
1600
- }
1601
- &nbsp;
1602
- if (mask &amp;&amp; initialMask) {
1603
- if (inputFormat) {
1604
- return dayjs(value, timeValueFormat).format(inputFormat);
1605
- }
1606
- &nbsp;
1607
- let valueToUnmask = value;
1608
- if (isSimpleDisplay) {
1609
- valueToUnmask = dayjs(value, timeValueFormat).format(timeDisplayFormat);
1610
- }
1611
- &nbsp;
1612
- const unmasked = Mask.getValueWithoutMask(valueToUnmask);
1613
- const masked = Mask.getValueWithMask(unmasked, mask);
1614
- return masked;
1615
- }
1616
- &nbsp;
1617
- return dayjs(value, timeValueFormat).format(timeDisplayFormat);
1618
- },
1619
- );
1620
- &nbsp;
1621
- FormatterParserProvider.registerParser(
1622
- 'ZdTime',
1623
- (
1624
- value: string,
1625
- {
1626
- displayFormat = Config.displayTimeFormat,
1627
- valueFormat = Config.valueTimeFormat,
1628
- timeFormat = Config.timeFormat || 'ampm',
1629
- useSeconds = false,
1630
- mask = '',
1631
- initialMask,
1632
- }: any = {},
1633
- ) =&gt; {
1634
- if (!value) {
1635
- return null;
1636
- }
1637
- const timeFormatSelector = new TimeFormatSelector();
1638
- const timeDisplayFormat = timeFormatSelector.getFormat(displayFormat, timeFormat, useSeconds);
1639
- const timeValueFormat = timeFormatSelector.getFormat(valueFormat, '24hr', useSeconds);
1640
- &nbsp;
1641
- if (dayjs(value, timeDisplayFormat, true).isValid()) {
1642
- return dayjs(value, timeDisplayFormat).format(timeValueFormat);
1643
- }
1644
- &nbsp;
1645
- if (mask &amp;&amp; Mask.checkMask(value, mask)) {
1646
- const unmasked = Mask.getValueWithoutMask(value);
1647
- let masked;
1648
- &nbsp;
1649
- if (!initialMask) {
1650
- const displayFmtMask = timeDisplayFormat.replace(/[A-Za-z]/gi, '#');
1651
- &nbsp;
1652
- masked = Mask.getValueWithMask(unmasked, displayFmtMask);
1653
- }
1654
- &nbsp;
1655
- const timeFmtMask = timeValueFormat.replace(/[A-Za-z]/gi, '#');
1656
- &nbsp;
1657
- masked = Mask.getValueWithMask(unmasked, timeFmtMask);
1658
- &nbsp;
1659
- if (dayjs(masked, timeValueFormat, true).format(timeValueFormat) === masked) {
1660
- return masked;
1661
- }
1662
- }
1663
- return value;
1664
- },
1665
- );
1666
- &nbsp;
1667
- InputFactory.register('ZdTime', Time);
1668
- &nbsp;</pre></td></tr></table></pre>
1669
-
1670
- <div class='push'></div><!-- for sticky footer -->
1671
- </div><!-- /wrapper -->
1672
- <div class='footer quiet pad2 space-top1 center small'>
1673
- Code coverage generated by
1674
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1675
- at 2025-11-06T17:56:59.252Z
1676
- </div>
1677
- <script src="../../../prettify.js"></script>
1678
- <script>
1679
- window.onload = function () {
1680
- prettyPrint();
1681
- };
1682
- </script>
1683
- <script src="../../../sorter.js"></script>
1684
- <script src="../../../block-navigation.js"></script>
1685
- </body>
1686
- </html>
1687
-