novo-elements 5.1.1 → 5.2.3

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 (576) hide show
  1. package/README.md +7 -7
  2. package/bundles/novo-elements.umd.js +42693 -42665
  3. package/bundles/novo-elements.umd.js.map +1 -1
  4. package/bundles/novo-elements.umd.min.js +2 -2
  5. package/bundles/novo-elements.umd.min.js.map +1 -1
  6. package/elements/ace-editor/AceEditor.d.ts +37 -37
  7. package/elements/ace-editor/AceEditor.module.d.ts +2 -2
  8. package/elements/ace-editor/AceEditor.scss +5 -0
  9. package/elements/button/Button.d.ts +9 -9
  10. package/elements/button/Button.module.d.ts +2 -2
  11. package/elements/button/Button.scss +397 -0
  12. package/elements/calendar/Calendar.module.d.ts +2 -2
  13. package/elements/calendar/common/CalendarDateChange.d.ts +25 -25
  14. package/elements/calendar/common/CalendarDateChange.scss +23 -0
  15. package/elements/calendar/common/EventTypeLegend.d.ts +7 -7
  16. package/elements/calendar/day/CalendarAllDayEvent.d.ts +7 -7
  17. package/elements/calendar/day/CalendarDayEvent.d.ts +8 -8
  18. package/elements/calendar/day/CalendarDayView.d.ts +148 -148
  19. package/elements/calendar/day/CalendarDayView.scss +97 -0
  20. package/elements/calendar/day/CalendarHourSegment.d.ts +7 -7
  21. package/elements/calendar/month/CalendarMonthDay.d.ts +14 -14
  22. package/elements/calendar/month/CalendarMonthHeader.d.ts +14 -14
  23. package/elements/calendar/month/CalendarMonthView.d.ts +110 -110
  24. package/elements/calendar/month/CalendarMonthView.scss +169 -0
  25. package/elements/calendar/pipe/DayOfMonth.pipe.d.ts +6 -6
  26. package/elements/calendar/pipe/EndOfWeekDisplayPipe.pipe.d.ts +6 -6
  27. package/elements/calendar/pipe/Hours.pipe.d.ts +6 -6
  28. package/elements/calendar/pipe/Month.pipe.d.ts +6 -6
  29. package/elements/calendar/pipe/MonthDay.pipe.d.ts +6 -6
  30. package/elements/calendar/pipe/Weekday.pipe.d.ts +6 -6
  31. package/elements/calendar/pipe/Year.pipe.d.ts +6 -6
  32. package/elements/calendar/week/CalendarWeekEvent.d.ts +8 -8
  33. package/elements/calendar/week/CalendarWeekHeader.d.ts +14 -14
  34. package/elements/calendar/week/CalendarWeekView.d.ts +156 -156
  35. package/elements/calendar/week/CalendarWeekView.scss +86 -0
  36. package/elements/card/Card.d.ts +28 -28
  37. package/elements/card/Card.module.d.ts +2 -2
  38. package/elements/card/Card.scss +104 -0
  39. package/elements/category-dropdown/CategoryDropdown.d.ts +29 -29
  40. package/elements/category-dropdown/CategoryDropdown.module.d.ts +2 -2
  41. package/elements/category-dropdown/CategoryDropdown.scss +157 -0
  42. package/elements/chips/Chips.d.ts +78 -78
  43. package/elements/chips/Chips.module.d.ts +2 -2
  44. package/elements/chips/Chips.scss +373 -0
  45. package/elements/chips/RowChips.d.ts +12 -12
  46. package/elements/ckeditor/CKEditor.d.ts +44 -44
  47. package/elements/ckeditor/CKEditor.module.d.ts +2 -2
  48. package/elements/ckeditor/CKEditor.scss +37 -0
  49. package/elements/common/common.module.d.ts +2 -2
  50. package/elements/common/novo-template/novo-template.directive.d.ts +8 -8
  51. package/elements/data-table/ListInteractionTypes.d.ts +10 -10
  52. package/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.d.ts +15 -15
  53. package/elements/data-table/cell-headers/data-table-expand-header-cell.component.d.ts +13 -13
  54. package/elements/data-table/cell-headers/data-table-header-cell.component.d.ts +81 -81
  55. package/elements/data-table/cell-headers/data-table-header-cell.directive.d.ts +11 -11
  56. package/elements/data-table/cells/data-table-cell.component.d.ts +17 -17
  57. package/elements/data-table/cells/data-table-checkbox-cell.component.d.ts +17 -17
  58. package/elements/data-table/cells/data-table-expand-cell.component.d.ts +16 -16
  59. package/elements/data-table/data-table-clear-button.component.d.ts +15 -15
  60. package/elements/data-table/data-table-expand.directive.d.ts +18 -18
  61. package/elements/data-table/data-table.component.d.ts +99 -99
  62. package/elements/data-table/data-table.component.scss +753 -0
  63. package/elements/data-table/data-table.module.d.ts +2 -2
  64. package/elements/data-table/data-table.pipes.d.ts +37 -37
  65. package/elements/data-table/data-table.source.d.ts +22 -22
  66. package/elements/data-table/interfaces.d.ts +128 -128
  67. package/elements/data-table/pagination/data-table-pagination.component.d.ts +52 -52
  68. package/elements/data-table/rows/data-table-header-row.component.d.ts +6 -6
  69. package/elements/data-table/rows/data-table-row.component.d.ts +7 -7
  70. package/elements/data-table/services/data-table-filter-utils.d.ts +3 -3
  71. package/elements/data-table/services/remote-data-table.service.d.ts +8 -8
  72. package/elements/data-table/services/static-data-table.service.d.ts +12 -12
  73. package/elements/data-table/sort-filter/sort-filter.directive.d.ts +8 -8
  74. package/elements/data-table/state/data-table-state.service.d.ts +32 -32
  75. package/elements/date-picker/DatePicker.d.ts +79 -79
  76. package/elements/date-picker/DatePicker.module.d.ts +2 -2
  77. package/elements/date-picker/DatePicker.scss +414 -0
  78. package/elements/date-picker/DatePickerInput.d.ts +66 -66
  79. package/elements/date-time-picker/DateTimePicker.d.ts +45 -45
  80. package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -2
  81. package/elements/date-time-picker/DateTimePickerInput.d.ts +46 -46
  82. package/elements/date-time-picker/_DateTimePicker.scss +93 -0
  83. package/elements/dragula/Dragula.d.ts +13 -13
  84. package/elements/dragula/Dragula.module.d.ts +2 -2
  85. package/elements/dragula/Dragula.scss +18 -0
  86. package/elements/dragula/DragulaService.d.ts +23 -23
  87. package/elements/dropdown/Dropdown.d.ts +55 -55
  88. package/elements/dropdown/Dropdown.module.d.ts +2 -2
  89. package/elements/dropdown/Dropdown.scss +94 -0
  90. package/elements/expansion/_expansion-theme.scss +50 -0
  91. package/elements/expansion/accordion.d.ts +21 -21
  92. package/elements/expansion/expansion-animations.d.ts +9 -9
  93. package/elements/expansion/expansion-panel-content.d.ts +9 -9
  94. package/elements/expansion/expansion-panel-header.d.ts +45 -45
  95. package/elements/expansion/expansion-panel-header.scss +58 -0
  96. package/elements/expansion/expansion-panel.d.ts +54 -54
  97. package/elements/expansion/expansion-panel.scss +68 -0
  98. package/elements/expansion/expansion.module.d.ts +2 -2
  99. package/elements/form/Control.d.ts +107 -107
  100. package/elements/form/ControlGroup.d.ts +89 -83
  101. package/elements/form/ControlGroup.scss +147 -0
  102. package/elements/form/ControlTemplates.d.ts +9 -9
  103. package/elements/form/DynamicForm.d.ts +46 -46
  104. package/elements/form/FieldInteractionApi.d.ts +160 -160
  105. package/elements/form/FieldInteractionApiTypes.d.ts +29 -29
  106. package/elements/form/FieldInteractionModals.d.ts +16 -16
  107. package/elements/form/Form.d.ts +21 -21
  108. package/elements/form/Form.module.d.ts +2 -2
  109. package/elements/form/Form.scss +857 -0
  110. package/elements/form/FormControls.d.ts +22 -22
  111. package/elements/form/FormInterfaces.d.ts +36 -36
  112. package/elements/form/FormValidators.d.ts +22 -22
  113. package/elements/form/NovoFormControl.d.ts +100 -100
  114. package/elements/form/NovoFormGroup.d.ts +17 -17
  115. package/elements/form/controls/BaseControl.d.ts +106 -106
  116. package/elements/form/controls/ControlFactory.d.ts +4 -4
  117. package/elements/form/controls/ace-editor/AceEditorControl.d.ts +5 -5
  118. package/elements/form/controls/address/AddressControl.d.ts +5 -5
  119. package/elements/form/controls/check-list/CheckListControl.d.ts +5 -5
  120. package/elements/form/controls/checkbox/CheckboxControl.d.ts +5 -5
  121. package/elements/form/controls/custom/CustomControl.d.ts +5 -5
  122. package/elements/form/controls/date/DateControl.d.ts +5 -5
  123. package/elements/form/controls/date-time/DateTimeControl.d.ts +5 -5
  124. package/elements/form/controls/editor/EditorControl.d.ts +6 -6
  125. package/elements/form/controls/file/FileControl.d.ts +5 -5
  126. package/elements/form/controls/grouped/GroupedControl.d.ts +6 -6
  127. package/elements/form/controls/index.d.ts +19 -19
  128. package/elements/form/controls/native-select/NativeSelectControl.d.ts +6 -6
  129. package/elements/form/controls/picker/PickerControl.d.ts +9 -9
  130. package/elements/form/controls/quick-note/QuickNoteControl.d.ts +6 -6
  131. package/elements/form/controls/radio/RadioControl.d.ts +6 -6
  132. package/elements/form/controls/read-only/ReadOnlyControl.d.ts +5 -5
  133. package/elements/form/controls/select/SelectControl.d.ts +6 -6
  134. package/elements/form/controls/text-area/TextAreaControl.d.ts +5 -5
  135. package/elements/form/controls/textbox/TextBoxControl.d.ts +9 -9
  136. package/elements/form/controls/tiles/TilesControl.d.ts +6 -6
  137. package/elements/form/controls/time/TimeControl.d.ts +5 -5
  138. package/elements/form/extras/FormExtras.module.d.ts +2 -2
  139. package/elements/form/extras/address/Address.d.ts +65 -65
  140. package/elements/form/extras/address/Address.scss +152 -0
  141. package/elements/form/extras/checkbox/CheckList.d.ts +20 -20
  142. package/elements/form/extras/checkbox/Checkbox.d.ts +24 -24
  143. package/elements/form/extras/checkbox/Checkbox.scss +87 -0
  144. package/elements/form/extras/file/FileInput.d.ts +72 -72
  145. package/elements/form/extras/file/FileInput.scss +118 -0
  146. package/elements/form/extras/file/extras/file/File.d.ts +22 -22
  147. package/elements/header/Header.d.ts +22 -22
  148. package/elements/header/Header.module.d.ts +2 -2
  149. package/elements/header/Header.scss +96 -0
  150. package/elements/icon/Icon.d.ts +18 -18
  151. package/elements/icon/Icon.module.d.ts +2 -2
  152. package/elements/icon/Icon.scss +82 -0
  153. package/elements/list/List.d.ts +31 -31
  154. package/elements/list/List.module.d.ts +2 -2
  155. package/elements/list/List.scss +134 -0
  156. package/elements/loading/Loading.d.ts +26 -26
  157. package/elements/loading/Loading.module.d.ts +2 -2
  158. package/elements/loading/Loading.scss +56 -0
  159. package/elements/loading/NovoSpinner.scss +172 -0
  160. package/elements/modal/Modal.d.ts +45 -45
  161. package/elements/modal/Modal.module.d.ts +2 -2
  162. package/elements/modal/Modal.scss +207 -0
  163. package/elements/modal/ModalService.d.ts +10 -10
  164. package/elements/multi-picker/MultiPicker.d.ts +107 -107
  165. package/elements/multi-picker/MultiPicker.module.d.ts +2 -2
  166. package/elements/multi-picker/_MultiPicker.scss +74 -0
  167. package/elements/overlay/Overlay.d.ts +57 -57
  168. package/elements/overlay/Overlay.module.d.ts +2 -2
  169. package/elements/picker/Picker.d.ts +69 -69
  170. package/elements/picker/Picker.module.d.ts +2 -2
  171. package/elements/picker/Picker.scss +438 -0
  172. package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +91 -91
  173. package/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.d.ts +21 -21
  174. package/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.d.ts +13 -13
  175. package/elements/picker/extras/entity-picker-results/EntityPickerResults.d.ts +29 -29
  176. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.d.ts +42 -42
  177. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +136 -0
  178. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.d.ts +43 -43
  179. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +156 -0
  180. package/elements/picker/extras/picker-results/PickerResults.d.ts +11 -11
  181. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.d.ts +21 -21
  182. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +65 -0
  183. package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.d.ts +13 -13
  184. package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.scss +0 -0
  185. package/elements/places/places.component.d.ts +71 -71
  186. package/elements/places/places.component.scss +26 -0
  187. package/elements/places/places.module.d.ts +2 -2
  188. package/elements/places/places.service.d.ts +22 -22
  189. package/elements/popover/PopOver.d.ts +30 -30
  190. package/elements/popover/PopOver.module.d.ts +2 -2
  191. package/elements/popover/PopOver.scss +179 -0
  192. package/elements/popover/PopOverContent.d.ts +45 -45
  193. package/elements/quick-note/QuickNote.d.ts +139 -139
  194. package/elements/quick-note/QuickNote.module.d.ts +2 -2
  195. package/elements/quick-note/QuickNote.scss +52 -0
  196. package/elements/quick-note/extras/quick-note-results/QuickNoteResults.d.ts +30 -30
  197. package/elements/radio/Radio.d.ts +26 -26
  198. package/elements/radio/Radio.module.d.ts +2 -2
  199. package/elements/radio/Radio.scss +94 -0
  200. package/elements/search/SearchBox.d.ts +59 -59
  201. package/elements/search/SearchBox.module.d.ts +2 -2
  202. package/elements/search/SearchBox.scss +67 -0
  203. package/elements/select/Select.d.ts +62 -62
  204. package/elements/select/Select.module.d.ts +2 -2
  205. package/elements/select/Select.scss +226 -0
  206. package/elements/simple-table/activity-table-renderers.d.ts +4 -4
  207. package/elements/simple-table/cell-header.d.ts +62 -62
  208. package/elements/simple-table/cell.d.ts +73 -73
  209. package/elements/simple-table/interfaces.d.ts +81 -81
  210. package/elements/simple-table/pagination.d.ts +37 -37
  211. package/elements/simple-table/row.d.ts +20 -20
  212. package/elements/simple-table/simple-table.module.d.ts +2 -2
  213. package/elements/simple-table/sort.d.ts +20 -20
  214. package/elements/simple-table/state.d.ts +22 -22
  215. package/elements/simple-table/table-source.d.ts +62 -62
  216. package/elements/simple-table/table.d.ts +59 -59
  217. package/elements/simple-table/table.scss +344 -0
  218. package/elements/slider/Slider.d.ts +18 -18
  219. package/elements/slider/Slider.module.d.ts +2 -2
  220. package/elements/slider/Slider.scss +89 -0
  221. package/elements/stepper/step-header.component.d.ts +45 -45
  222. package/elements/stepper/step-header.component.scss +78 -0
  223. package/elements/stepper/step-label.component.d.ts +5 -5
  224. package/elements/stepper/step-status.component.d.ts +6 -6
  225. package/elements/stepper/stepper.animations.d.ts +6 -6
  226. package/elements/stepper/stepper.component.d.ts +39 -39
  227. package/elements/stepper/stepper.component.scss +200 -0
  228. package/elements/stepper/stepper.module.d.ts +2 -2
  229. package/elements/switch/Switch.d.ts +19 -19
  230. package/elements/switch/Switch.module.d.ts +2 -2
  231. package/elements/switch/Switch.scss +143 -0
  232. package/elements/tabbed-group-picker/TabbedGroupPicker.d.ts +122 -122
  233. package/elements/tabbed-group-picker/TabbedGroupPicker.module.d.ts +2 -2
  234. package/elements/tabbed-group-picker/TabbedGroupPicker.scss +186 -0
  235. package/elements/table/Table.d.ts +184 -184
  236. package/elements/table/Table.module.d.ts +2 -2
  237. package/elements/table/Table.scss +585 -0
  238. package/elements/table/extras/TableExtras.module.d.ts +2 -2
  239. package/elements/table/extras/base-renderer/BaseRenderer.d.ts +5 -5
  240. package/elements/table/extras/date-cell/DateCell.d.ts +8 -8
  241. package/elements/table/extras/dropdown-cell/DropdownCell.d.ts +17 -17
  242. package/elements/table/extras/dropdown-cell/DropdownCell.scss +58 -0
  243. package/elements/table/extras/keep-filter-focus/KeepFilterFocus.d.ts +6 -6
  244. package/elements/table/extras/pagination/Pagination.d.ts +39 -39
  245. package/elements/table/extras/pagination/Pagination.scss +62 -0
  246. package/elements/table/extras/percentage-cell/PercentageCell.d.ts +3 -3
  247. package/elements/table/extras/row-details/RowDetails.d.ts +12 -12
  248. package/elements/table/extras/table-actions/TableActions.d.ts +2 -2
  249. package/elements/table/extras/table-cell/TableCell.d.ts +18 -18
  250. package/elements/table/extras/table-filter/TableFilter.d.ts +13 -13
  251. package/elements/table/extras/table-footer/TableFooter.d.ts +2 -2
  252. package/elements/table/extras/table-header/TableHeader.d.ts +2 -2
  253. package/elements/table/extras/th-orderable/ThOrderable.d.ts +30 -30
  254. package/elements/table/extras/th-sortable/ThSortable.d.ts +7 -7
  255. package/elements/tabs/Tabs.d.ts +49 -49
  256. package/elements/tabs/Tabs.module.d.ts +2 -2
  257. package/elements/tabs/Tabs.scss +287 -0
  258. package/elements/tiles/Tiles.d.ts +30 -30
  259. package/elements/tiles/Tiles.module.d.ts +2 -2
  260. package/elements/tiles/Tiles.scss +68 -0
  261. package/elements/time-picker/TimePicker.d.ts +38 -38
  262. package/elements/time-picker/TimePicker.module.d.ts +2 -2
  263. package/elements/time-picker/TimePicker.scss +388 -0
  264. package/elements/time-picker/TimePickerInput.d.ts +52 -52
  265. package/elements/tip-well/TipWell.d.ts +23 -23
  266. package/elements/tip-well/TipWell.module.d.ts +2 -2
  267. package/elements/tip-well/TipWell.scss +31 -0
  268. package/elements/toast/Toast.d.ts +28 -28
  269. package/elements/toast/Toast.module.d.ts +2 -2
  270. package/elements/toast/Toast.scss +413 -0
  271. package/elements/toast/ToastService.d.ts +40 -40
  272. package/elements/tooltip/Tooltip.component.d.ts +12 -11
  273. package/elements/tooltip/Tooltip.directive.d.ts +35 -34
  274. package/elements/tooltip/Tooltip.module.d.ts +2 -2
  275. package/elements/tooltip/Tooltip.scss +216 -0
  276. package/elements/unless/Unless.d.ts +12 -12
  277. package/elements/unless/Unless.module.d.ts +2 -2
  278. package/elements/value/EntityList.d.ts +13 -13
  279. package/elements/value/Render.d.ts +66 -66
  280. package/elements/value/Value.d.ts +40 -40
  281. package/elements/value/Value.module.d.ts +2 -2
  282. package/elements/value/Value.scss +57 -0
  283. package/elements/value/Values.scss +57 -0
  284. package/esm2015/elements/ace-editor/AceEditor.js +126 -126
  285. package/esm2015/elements/ace-editor/AceEditor.module.js +15 -15
  286. package/esm2015/elements/button/Button.js +74 -74
  287. package/esm2015/elements/button/Button.module.js +15 -15
  288. package/esm2015/elements/calendar/Calendar.module.js +81 -81
  289. package/esm2015/elements/calendar/common/CalendarDateChange.js +60 -60
  290. package/esm2015/elements/calendar/common/EventTypeLegend.js +32 -32
  291. package/esm2015/elements/calendar/day/CalendarAllDayEvent.js +40 -40
  292. package/esm2015/elements/calendar/day/CalendarDayEvent.js +41 -41
  293. package/esm2015/elements/calendar/day/CalendarDayView.js +302 -302
  294. package/esm2015/elements/calendar/day/CalendarHourSegment.js +34 -34
  295. package/esm2015/elements/calendar/month/CalendarMonthDay.js +87 -87
  296. package/esm2015/elements/calendar/month/CalendarMonthHeader.js +55 -55
  297. package/esm2015/elements/calendar/month/CalendarMonthView.js +171 -171
  298. package/esm2015/elements/calendar/pipe/DayOfMonth.pipe.js +16 -16
  299. package/esm2015/elements/calendar/pipe/EndOfWeekDisplayPipe.pipe.js +19 -19
  300. package/esm2015/elements/calendar/pipe/Hours.pipe.js +16 -16
  301. package/esm2015/elements/calendar/pipe/Month.pipe.js +16 -16
  302. package/esm2015/elements/calendar/pipe/MonthDay.pipe.js +16 -16
  303. package/esm2015/elements/calendar/pipe/Weekday.pipe.js +16 -16
  304. package/esm2015/elements/calendar/pipe/Year.pipe.js +16 -16
  305. package/esm2015/elements/calendar/week/CalendarWeekEvent.js +38 -38
  306. package/esm2015/elements/calendar/week/CalendarWeekHeader.js +46 -46
  307. package/esm2015/elements/calendar/week/CalendarWeekView.js +311 -311
  308. package/esm2015/elements/card/Card.js +104 -104
  309. package/esm2015/elements/card/Card.module.js +18 -18
  310. package/esm2015/elements/category-dropdown/CategoryDropdown.js +159 -159
  311. package/esm2015/elements/category-dropdown/CategoryDropdown.module.js +17 -17
  312. package/esm2015/elements/chips/Chips.js +356 -356
  313. package/esm2015/elements/chips/Chips.module.js +18 -18
  314. package/esm2015/elements/chips/RowChips.js +86 -86
  315. package/esm2015/elements/ckeditor/CKEditor.js +237 -237
  316. package/esm2015/elements/ckeditor/CKEditor.module.js +16 -16
  317. package/esm2015/elements/common/common.module.js +13 -13
  318. package/esm2015/elements/common/novo-template/novo-template.directive.js +22 -22
  319. package/esm2015/elements/data-table/ListInteractionTypes.js +1 -1
  320. package/esm2015/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.js +73 -73
  321. package/esm2015/elements/data-table/cell-headers/data-table-expand-header-cell.component.js +47 -47
  322. package/esm2015/elements/data-table/cell-headers/data-table-header-cell.component.js +501 -501
  323. package/esm2015/elements/data-table/cell-headers/data-table-header-cell.directive.js +35 -35
  324. package/esm2015/elements/data-table/cells/data-table-cell.component.js +62 -62
  325. package/esm2015/elements/data-table/cells/data-table-checkbox-cell.component.js +65 -65
  326. package/esm2015/elements/data-table/cells/data-table-expand-cell.component.js +52 -52
  327. package/esm2015/elements/data-table/data-table-clear-button.component.js +54 -54
  328. package/esm2015/elements/data-table/data-table-expand.directive.js +57 -57
  329. package/esm2015/elements/data-table/data-table.component.js +665 -665
  330. package/esm2015/elements/data-table/data-table.module.js +87 -87
  331. package/esm2015/elements/data-table/data-table.pipes.js +150 -150
  332. package/esm2015/elements/data-table/data-table.source.js +62 -62
  333. package/esm2015/elements/data-table/interfaces.js +1 -1
  334. package/esm2015/elements/data-table/pagination/data-table-pagination.component.js +249 -249
  335. package/esm2015/elements/data-table/rows/data-table-header-row.component.js +23 -23
  336. package/esm2015/elements/data-table/rows/data-table-row.component.js +23 -23
  337. package/esm2015/elements/data-table/services/data-table-filter-utils.js +35 -35
  338. package/esm2015/elements/data-table/services/remote-data-table.service.js +3 -3
  339. package/esm2015/elements/data-table/services/static-data-table.service.js +48 -48
  340. package/esm2015/elements/data-table/sort-filter/sort-filter.directive.js +57 -57
  341. package/esm2015/elements/data-table/state/data-table-state.service.js +116 -116
  342. package/esm2015/elements/date-picker/DatePicker.js +493 -493
  343. package/esm2015/elements/date-picker/DatePicker.module.js +20 -20
  344. package/esm2015/elements/date-picker/DatePickerInput.js +255 -255
  345. package/esm2015/elements/date-time-picker/DateTimePicker.js +195 -195
  346. package/esm2015/elements/date-time-picker/DateTimePicker.module.js +22 -22
  347. package/esm2015/elements/date-time-picker/DateTimePickerInput.js +151 -151
  348. package/esm2015/elements/dragula/Dragula.js +66 -66
  349. package/esm2015/elements/dragula/Dragula.module.js +13 -13
  350. package/esm2015/elements/dragula/DragulaService.js +117 -117
  351. package/esm2015/elements/dropdown/Dropdown.js +284 -284
  352. package/esm2015/elements/dropdown/Dropdown.module.js +15 -15
  353. package/esm2015/elements/expansion/accordion.js +42 -42
  354. package/esm2015/elements/expansion/expansion-animations.js +33 -33
  355. package/esm2015/elements/expansion/expansion-panel-content.js +19 -19
  356. package/esm2015/elements/expansion/expansion-panel-header.js +131 -131
  357. package/esm2015/elements/expansion/expansion-panel.js +141 -141
  358. package/esm2015/elements/expansion/expansion.module.js +34 -34
  359. package/esm2015/elements/form/Control.js +645 -645
  360. package/esm2015/elements/form/ControlGroup.js +264 -247
  361. package/esm2015/elements/form/ControlTemplates.js +162 -161
  362. package/esm2015/elements/form/DynamicForm.js +221 -221
  363. package/esm2015/elements/form/FieldInteractionApi.js +680 -680
  364. package/esm2015/elements/form/FieldInteractionApiTypes.js +1 -1
  365. package/esm2015/elements/form/FieldInteractionModals.js +63 -63
  366. package/esm2015/elements/form/Form.js +93 -93
  367. package/esm2015/elements/form/Form.module.js +86 -86
  368. package/esm2015/elements/form/FormControls.js +23 -23
  369. package/esm2015/elements/form/FormInterfaces.js +1 -1
  370. package/esm2015/elements/form/FormValidators.js +115 -115
  371. package/esm2015/elements/form/NovoFormControl.js +154 -154
  372. package/esm2015/elements/form/NovoFormGroup.js +32 -32
  373. package/esm2015/elements/form/controls/BaseControl.js +101 -101
  374. package/esm2015/elements/form/controls/ControlFactory.js +47 -47
  375. package/esm2015/elements/form/controls/ace-editor/AceEditorControl.js +9 -9
  376. package/esm2015/elements/form/controls/address/AddressControl.js +11 -11
  377. package/esm2015/elements/form/controls/check-list/CheckListControl.js +10 -10
  378. package/esm2015/elements/form/controls/checkbox/CheckboxControl.js +9 -9
  379. package/esm2015/elements/form/controls/custom/CustomControl.js +10 -10
  380. package/esm2015/elements/form/controls/date/DateControl.js +9 -9
  381. package/esm2015/elements/form/controls/date-time/DateTimeControl.js +9 -9
  382. package/esm2015/elements/form/controls/editor/EditorControl.js +10 -10
  383. package/esm2015/elements/form/controls/file/FileControl.js +12 -12
  384. package/esm2015/elements/form/controls/grouped/GroupedControl.js +7 -7
  385. package/esm2015/elements/form/controls/index.js +20 -20
  386. package/esm2015/elements/form/controls/native-select/NativeSelectControl.js +11 -11
  387. package/esm2015/elements/form/controls/picker/PickerControl.js +17 -17
  388. package/esm2015/elements/form/controls/quick-note/QuickNoteControl.js +11 -11
  389. package/esm2015/elements/form/controls/radio/RadioControl.js +11 -11
  390. package/esm2015/elements/form/controls/read-only/ReadOnlyControl.js +10 -10
  391. package/esm2015/elements/form/controls/select/SelectControl.js +12 -12
  392. package/esm2015/elements/form/controls/text-area/TextAreaControl.js +9 -9
  393. package/esm2015/elements/form/controls/textbox/TextBoxControl.js +44 -44
  394. package/esm2015/elements/form/controls/tiles/TilesControl.js +11 -11
  395. package/esm2015/elements/form/controls/time/TimeControl.js +9 -9
  396. package/esm2015/elements/form/extras/FormExtras.module.js +36 -36
  397. package/esm2015/elements/form/extras/address/Address.js +512 -512
  398. package/esm2015/elements/form/extras/checkbox/CheckList.js +107 -107
  399. package/esm2015/elements/form/extras/checkbox/Checkbox.js +80 -80
  400. package/esm2015/elements/form/extras/file/FileInput.js +320 -320
  401. package/esm2015/elements/form/extras/file/extras/file/File.js +40 -40
  402. package/esm2015/elements/header/Header.js +96 -96
  403. package/esm2015/elements/header/Header.module.js +14 -14
  404. package/esm2015/elements/icon/Icon.js +53 -53
  405. package/esm2015/elements/icon/Icon.module.js +11 -11
  406. package/esm2015/elements/list/List.js +132 -132
  407. package/esm2015/elements/list/List.module.js +33 -33
  408. package/esm2015/elements/loading/Loading.js +174 -174
  409. package/esm2015/elements/loading/Loading.module.js +15 -15
  410. package/esm2015/elements/modal/Modal.js +138 -138
  411. package/esm2015/elements/modal/Modal.module.js +16 -16
  412. package/esm2015/elements/modal/ModalService.js +31 -31
  413. package/esm2015/elements/multi-picker/MultiPicker.js +600 -600
  414. package/esm2015/elements/multi-picker/MultiPicker.module.js +18 -18
  415. package/esm2015/elements/overlay/Overlay.js +238 -238
  416. package/esm2015/elements/overlay/Overlay.module.js +18 -18
  417. package/esm2015/elements/picker/Picker.js +343 -343
  418. package/esm2015/elements/picker/Picker.module.js +50 -50
  419. package/esm2015/elements/picker/extras/base-picker-results/BasePickerResults.js +353 -353
  420. package/esm2015/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.js +127 -127
  421. package/esm2015/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.js +63 -63
  422. package/esm2015/elements/picker/extras/entity-picker-results/EntityPickerResults.js +221 -221
  423. package/esm2015/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.js +264 -264
  424. package/esm2015/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.js +193 -193
  425. package/esm2015/elements/picker/extras/picker-results/PickerResults.js +60 -60
  426. package/esm2015/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.js +79 -79
  427. package/esm2015/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.js +79 -79
  428. package/esm2015/elements/places/places.component.js +369 -369
  429. package/esm2015/elements/places/places.module.js +18 -18
  430. package/esm2015/elements/places/places.service.js +248 -248
  431. package/esm2015/elements/popover/PopOver.js +144 -144
  432. package/esm2015/elements/popover/PopOver.module.js +14 -14
  433. package/esm2015/elements/popover/PopOverContent.js +198 -198
  434. package/esm2015/elements/quick-note/QuickNote.js +572 -572
  435. package/esm2015/elements/quick-note/QuickNote.module.js +19 -19
  436. package/esm2015/elements/quick-note/extras/quick-note-results/QuickNoteResults.js +138 -138
  437. package/esm2015/elements/radio/Radio.js +89 -89
  438. package/esm2015/elements/radio/Radio.module.js +16 -16
  439. package/esm2015/elements/search/SearchBox.js +193 -193
  440. package/esm2015/elements/search/SearchBox.module.js +19 -19
  441. package/esm2015/elements/select/Select.js +363 -358
  442. package/esm2015/elements/select/Select.module.js +19 -18
  443. package/esm2015/elements/simple-table/activity-table-renderers.js +16 -16
  444. package/esm2015/elements/simple-table/cell-header.js +278 -278
  445. package/esm2015/elements/simple-table/cell.js +291 -291
  446. package/esm2015/elements/simple-table/interfaces.js +1 -1
  447. package/esm2015/elements/simple-table/pagination.js +175 -175
  448. package/esm2015/elements/simple-table/row.js +66 -66
  449. package/esm2015/elements/simple-table/simple-table.module.js +92 -92
  450. package/esm2015/elements/simple-table/sort.js +87 -87
  451. package/esm2015/elements/simple-table/state.js +38 -38
  452. package/esm2015/elements/simple-table/table-source.js +70 -70
  453. package/esm2015/elements/simple-table/table.js +238 -238
  454. package/esm2015/elements/slider/Slider.js +81 -81
  455. package/esm2015/elements/slider/Slider.module.js +16 -16
  456. package/esm2015/elements/stepper/step-header.component.js +90 -90
  457. package/esm2015/elements/stepper/step-label.component.js +16 -16
  458. package/esm2015/elements/stepper/step-status.component.js +26 -26
  459. package/esm2015/elements/stepper/stepper.animations.js +19 -19
  460. package/esm2015/elements/stepper/stepper.component.js +139 -139
  461. package/esm2015/elements/stepper/stepper.module.js +21 -21
  462. package/esm2015/elements/switch/Switch.js +88 -88
  463. package/esm2015/elements/switch/Switch.module.js +16 -16
  464. package/esm2015/elements/tabbed-group-picker/TabbedGroupPicker.js +261 -261
  465. package/esm2015/elements/tabbed-group-picker/TabbedGroupPicker.module.js +33 -33
  466. package/esm2015/elements/table/Table.js +940 -940
  467. package/esm2015/elements/table/Table.module.js +40 -40
  468. package/esm2015/elements/table/extras/TableExtras.module.js +59 -59
  469. package/esm2015/elements/table/extras/base-renderer/BaseRenderer.js +8 -8
  470. package/esm2015/elements/table/extras/date-cell/DateCell.js +31 -31
  471. package/esm2015/elements/table/extras/dropdown-cell/DropdownCell.js +44 -44
  472. package/esm2015/elements/table/extras/keep-filter-focus/KeepFilterFocus.js +19 -19
  473. package/esm2015/elements/table/extras/pagination/Pagination.js +125 -125
  474. package/esm2015/elements/table/extras/percentage-cell/PercentageCell.js +15 -15
  475. package/esm2015/elements/table/extras/row-details/RowDetails.js +44 -44
  476. package/esm2015/elements/table/extras/table-actions/TableActions.js +11 -11
  477. package/esm2015/elements/table/extras/table-cell/TableCell.js +82 -82
  478. package/esm2015/elements/table/extras/table-filter/TableFilter.js +59 -59
  479. package/esm2015/elements/table/extras/table-footer/TableFooter.js +11 -11
  480. package/esm2015/elements/table/extras/table-header/TableHeader.js +11 -11
  481. package/esm2015/elements/table/extras/th-orderable/ThOrderable.js +125 -125
  482. package/esm2015/elements/table/extras/th-sortable/ThSortable.js +37 -37
  483. package/esm2015/elements/tabs/Tabs.js +253 -253
  484. package/esm2015/elements/tabs/Tabs.module.js +31 -31
  485. package/esm2015/elements/tiles/Tiles.js +154 -154
  486. package/esm2015/elements/tiles/Tiles.module.js +16 -16
  487. package/esm2015/elements/time-picker/TimePicker.js +201 -201
  488. package/esm2015/elements/time-picker/TimePicker.module.js +21 -21
  489. package/esm2015/elements/time-picker/TimePickerInput.js +202 -202
  490. package/esm2015/elements/tip-well/TipWell.js +94 -94
  491. package/esm2015/elements/tip-well/TipWell.module.js +16 -16
  492. package/esm2015/elements/toast/Toast.js +111 -111
  493. package/esm2015/elements/toast/Toast.module.js +15 -15
  494. package/esm2015/elements/toast/ToastService.js +92 -92
  495. package/esm2015/elements/tooltip/Tooltip.component.js +37 -34
  496. package/esm2015/elements/tooltip/Tooltip.directive.js +189 -187
  497. package/esm2015/elements/tooltip/Tooltip.module.js +16 -16
  498. package/esm2015/elements/unless/Unless.js +56 -56
  499. package/esm2015/elements/unless/Unless.module.js +15 -15
  500. package/esm2015/elements/value/EntityList.js +84 -84
  501. package/esm2015/elements/value/Render.js +415 -415
  502. package/esm2015/elements/value/Value.js +160 -160
  503. package/esm2015/elements/value/Value.module.js +17 -17
  504. package/esm2015/index.js +221 -221
  505. package/esm2015/novo-elements.js +25 -25
  506. package/esm2015/novo-elements.module.js +128 -128
  507. package/esm2015/novo-elements.providers.js +50 -50
  508. package/esm2015/pipes/Pipes.module.js +15 -15
  509. package/esm2015/pipes/decode-uri/DecodeURI.js +18 -18
  510. package/esm2015/pipes/group-by/GroupBy.js +24 -24
  511. package/esm2015/pipes/plural/Plural.js +349 -349
  512. package/esm2015/services/data-provider/ArrayCollection.js +301 -301
  513. package/esm2015/services/data-provider/Collection.js +1 -1
  514. package/esm2015/services/data-provider/CollectionEvent.js +21 -21
  515. package/esm2015/services/data-provider/PagedArrayCollection.js +78 -78
  516. package/esm2015/services/data-provider/PagedCollection.js +1 -1
  517. package/esm2015/services/date-format/DateFormat.js +189 -189
  518. package/esm2015/services/global/global.service.js +18 -18
  519. package/esm2015/services/novo-label-service.js +279 -279
  520. package/esm2015/services/options/OptionsService.js +26 -26
  521. package/esm2015/services/security/Security.js +67 -67
  522. package/esm2015/services/storage/storage.service.js +16 -16
  523. package/esm2015/services/template/NovoTemplateService.js +33 -33
  524. package/esm2015/utils/Helpers.js +395 -395
  525. package/esm2015/utils/app-bridge/AppBridge.js +710 -710
  526. package/esm2015/utils/calendar-utils/CalendarUtils.js +321 -321
  527. package/esm2015/utils/component-utils/ComponentUtils.js +20 -20
  528. package/esm2015/utils/countries/Countries.js +17538 -17538
  529. package/esm2015/utils/deferred/Deferred.js +14 -14
  530. package/esm2015/utils/form-utils/FormUtils.js +793 -788
  531. package/esm2015/utils/key-codes/KeyCodes.js +95 -95
  532. package/esm2015/utils/notifier/notifier.util.js +10 -10
  533. package/esm2015/utils/outside-click/OutsideClick.js +60 -60
  534. package/fesm2015/novo-elements.js +43328 -43295
  535. package/fesm2015/novo-elements.js.map +1 -1
  536. package/index.d.ts +225 -225
  537. package/novo-elements.d.ts +24 -24
  538. package/novo-elements.metadata.json +1 -1
  539. package/novo-elements.module.d.ts +2 -2
  540. package/novo-elements.providers.d.ts +5 -5
  541. package/novo-elements.scss +110 -0
  542. package/package.json +1 -1
  543. package/pipes/Pipes.module.d.ts +2 -2
  544. package/pipes/decode-uri/DecodeURI.d.ts +4 -4
  545. package/pipes/group-by/GroupBy.d.ts +4 -4
  546. package/pipes/plural/Plural.d.ts +4 -4
  547. package/services/data-provider/ArrayCollection.d.ts +178 -178
  548. package/services/data-provider/Collection.d.ts +93 -93
  549. package/services/data-provider/CollectionEvent.d.ts +17 -17
  550. package/services/data-provider/PagedArrayCollection.d.ts +18 -18
  551. package/services/data-provider/PagedCollection.d.ts +15 -15
  552. package/services/date-format/DateFormat.d.ts +13 -13
  553. package/services/global/global.service.d.ts +11 -11
  554. package/services/novo-label-service.d.ts +142 -142
  555. package/services/options/OptionsService.d.ts +9 -9
  556. package/services/security/Security.d.ts +19 -19
  557. package/services/storage/storage.service.d.ts +5 -5
  558. package/services/template/NovoTemplateService.d.ts +7 -7
  559. package/styles/content/typography.scss +200 -0
  560. package/styles/global/cdk.scss +106 -0
  561. package/styles/global/flex-grid.scss +156 -0
  562. package/styles/global/functions.scss +174 -0
  563. package/styles/global/include-media.scss +578 -0
  564. package/styles/global/layout.scss +3 -0
  565. package/styles/global/reset.scss +451 -0
  566. package/styles/global/variables.scss +324 -0
  567. package/utils/Helpers.d.ts +68 -68
  568. package/utils/app-bridge/AppBridge.d.ts +178 -178
  569. package/utils/calendar-utils/CalendarUtils.d.ts +150 -150
  570. package/utils/component-utils/ComponentUtils.d.ts +6 -6
  571. package/utils/countries/Countries.d.ts +51 -51
  572. package/utils/deferred/Deferred.d.ts +4 -4
  573. package/utils/form-utils/FormUtils.d.ts +77 -77
  574. package/utils/key-codes/KeyCodes.d.ts +93 -93
  575. package/utils/notifier/notifier.util.d.ts +1 -1
  576. package/utils/outside-click/OutsideClick.d.ts +24 -24
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9jaGFybGVzLmJhcm5lcy9Eb2N1bWVudHMvZGV2L25vdm8tZWxlbWVudHMvcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9kYXRhLXByb3ZpZGVyL0NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uRXZlbnQgfSBmcm9tICcuL0NvbGxlY3Rpb25FdmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb248VD4ge1xyXG4gIGRhdGFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDb2xsZWN0aW9uRXZlbnQ+O1xyXG4gIGxlbmd0aDogbnVtYmVyO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbiAgc291cmNlOiBBcnJheTxUPjtcclxuICBmaWx0ZXJEYXRhOiBBcnJheTxUPjtcclxuICBsaXN0OiBBcnJheTxUPjtcclxuICBmaWx0ZXI6IGFueTtcclxuICBzb3J0OiBBcnJheTxhbnk+O1xyXG5cclxuICBpc0VtcHR5KCk6IGJvb2xlYW47XHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW47XHJcbiAgaXNMb2FkaW5nKCk6IGJvb2xlYW47XHJcbiAgaXNGaWx0ZXJlZCgpOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiAgQWRkcyB0aGUgc3BlY2lmaWVkIGl0ZW0gdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cclxuICAgKiAgRXF1aXZhbGVudCB0byA8Y29kZT5hZGRJdGVtQXQoaXRlbSwgbGVuZ3RoKTwvY29kZT4uXHJcbiAgICpcclxuICAgKiAgQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gYWRkLlxyXG4gICAqL1xyXG4gIGFkZEl0ZW0oaXRlbTogVCk6IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogIEFkZHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cclxuICAgKiAgVGhlIGluZGV4IG9mIGFueSBpdGVtIGdyZWF0ZXIgdGhhbiB0aGUgaW5kZXggb2YgdGhlIGFkZGVkIGl0ZW0gaXMgaW5jcmVhc2VkIGJ5IG9uZS5cclxuICAgKiAgSWYgdGhlIHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbGVzcyB0aGFuIHplcm8gb3IgZ3JlYXRlciB0aGFuIHRoZSBsZW5ndGhcclxuICAgKiAgb2YgdGhlIGxpc3QsIGEgUmFuZ2VFcnJvciBpcyB0aHJvd24uXHJcbiAgICogIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHRvIHBsYWNlIGF0IHRoZSBpbmRleC5cclxuICAgKiAgQHBhcmFtIGluZGV4IFRoZSBpbmRleCBhdCB3aGljaCB0byBwbGFjZSB0aGUgaXRlbS5cclxuICAgKiAgQHRocm93cyBSYW5nZUVycm9yIGlmIGluZGV4IGlzIGxlc3MgdGhhbiAwIG9yIGdyZWF0ZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSBsaXN0LlxyXG4gICAqL1xyXG4gIGFkZEl0ZW1BdChpdGVtOiBULCBpbmRleDogbnVtYmVyKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogIEFkZHMgYWxsIG9mIHRoZSBpdGVtcyB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XHJcbiAgICogIEBwYXJhbSBpdGVtcyBUaGUgaXRlbXMgdG8gcGxhY2UgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC5cclxuICAgKi9cclxuICBhZGRJdGVtcyhpdGVtczogQXJyYXk8VD4pOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiAgR2V0cyB0aGUgaXRlbSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxyXG4gICAqICBAcGFyYW0gaW5kZXggVGhlIGluZGV4IGluIHRoZSBsaXN0IGZyb20gd2hpY2ggdG8gcmV0cmlldmUgdGhlIGl0ZW0uXHJcbiAgICogIEBwYXJhbSBwcmVmZXRjaCBBbiA8Y29kZT5udW1iZXI8L2NvZGU+IGluZGljYXRpbmcgYm90aCB0aGUgZGlyZWN0aW9uXHJcbiAgICogIGFuZCBudW1iZXIgb2YgaXRlbXMgdG8gZmV0Y2ggZHVyaW5nIHRoZSByZXF1ZXN0IGlmIHRoZSBpdGVtIGlzXHJcbiAgICogIG5vdCBsb2NhbC5cclxuICAgKiAgQHJldHVybiBUaGUgaXRlbSBhdCB0aGF0IGluZGV4LCBvciA8Y29kZT5udWxsPC9jb2RlPiBpZiB0aGVyZSBpcyBub25lLlxyXG4gICAqICBAdGhyb3dzIG14LmNvbGxlY3Rpb25zLmVycm9ycy5JdGVtUGVuZGluZ0Vycm9yIGlmIHRoZSBkYXRhIGZvciB0aGF0IGluZGV4IG5lZWRzIHRvIGJlXHJcbiAgICogIGxvYWRlZCBmcm9tIGEgcmVtb3RlIGxvY2F0aW9uLlxyXG4gICAqICBAdGhyb3dzIFJhbmdlRXJyb3IgaWYgPGNvZGU+aW5kZXggJmx0OyAwPC9jb2RlPlxyXG4gICAqICBvciA8Y29kZT5pbmRleCA+PSBsZW5ndGg8L2NvZGU+LlxyXG4gICAqL1xyXG4gIGdldEl0ZW1BdChpbmRleDogbnVtYmVyLCBwcmVmZXRjaDogbnVtYmVyKTogT2JqZWN0O1xyXG5cclxuICAvKipcclxuICAgKiAgUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gaWYgaXQgaXMgaW4gdGhlIGxpc3Qgc3VjaCB0aGF0XHJcbiAgICogIGdldEl0ZW1BdChpbmRleCkgPT0gaXRlbS5cclxuICAgKiAgQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gZmluZC5cclxuICAgKiAgQHJldHVybiBUaGUgaW5kZXggb2YgdGhlIGl0ZW0sIG9yIC0xIGlmIHRoZSBpdGVtIGlzIG5vdCBpbiB0aGUgbGlzdC5cclxuICAgKi9cclxuICBnZXRJdGVtSW5kZXgoaXRlbTogT2JqZWN0KTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiAgTm90aWZpZXMgdGhlIHZpZXcgdGhhdCBhbiBpdGVtIGhhcyBiZWVuIHVwZGF0ZWQuXHJcbiAgICogIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBjb250ZW50cyBvZiB0aGUgdmlldyBkbyBub3QgaW1wbGVtZW50XHJcbiAgICogIElmIGEgcHJvcGVydHkgaXMgc3BlY2lmaWVkIHRoZSB2aWV3IG1heSBiZSBhYmxlIHRvIG9wdGltaXplIGl0c1xyXG4gICAqICBub3RpZmljYXRpb24gbWVjaGFuaXNtLlxyXG4gICAqICBPdGhlcndpc2UgaXQgbWF5IGNob29zZSB0byBzaW1wbHkgcmVmcmVzaCB0aGUgd2hvbGUgdmlldy5cclxuICAgKlxyXG4gICAqICBAcGFyYW0gaXRlbSBUaGUgaXRlbSB3aXRoaW4gdGhlIHZpZXcgdGhhdCB3YXMgdXBkYXRlZC5cclxuICAgKiAgQHBhcmFtIHByb3BlcnR5IFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IHdhcyB1cGRhdGVkLlxyXG4gICAqICBAcGFyYW0gb2xkVmFsdWUgVGhlIG9sZCB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LiAoSWYgcHJvcGVydHkgd2FzIG51bGwsXHJcbiAgICogIHRoaXMgY2FuIGJlIHRoZSBvbGQgdmFsdWUgb2YgdGhlIGl0ZW0uKVxyXG4gICAqICBAcGFyYW0gbmV3VmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LiAoSWYgcHJvcGVydHkgd2FzIG51bGwsXHJcbiAgICogIHRoZXJlJ3Mgbm8gbmVlZCB0byBzcGVjaWZ5IHRoaXMgYXMgdGhlIGl0ZW0gaXMgYXNzdW1lZCB0byBiZVxyXG4gICAqICB0aGUgbmV3IHZhbHVlLilcclxuICAgKi9cclxuICAvLyBpdGVtVXBkYXRlZChpdGVtOiBPYmplY3QsIHByb3BlcnR5PzogT2JqZWN0LCBvbGRWYWx1ZT86IE9iamVjdCwgbmV3VmFsdWU/OiBPYmplY3QpOiB2b2lkO1xyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IFQpOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqICBSZW1vdmVzIGFsbCBpdGVtcyBmcm9tIHRoZSBsaXN0LlxyXG4gICAqL1xyXG4gIHJlbW92ZUFsbCgpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiAgUmVtb3ZlcyB0aGUgaXRlbSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IGFuZCByZXR1cm5zIGl0LlxyXG4gICAqICBBbnkgaXRlbXMgdGhhdCB3ZXJlIGFmdGVyIHRoaXMgaW5kZXggYXJlIG5vdyBvbmUgaW5kZXggZWFybGllci5cclxuICAgKiAgQHBhcmFtIGluZGV4IFRoZSBpbmRleCBmcm9tIHdoaWNoIHRvIHJlbW92ZSB0aGUgaXRlbS5cclxuICAgKiAgQHJldHVybiBUaGUgaXRlbSB0aGF0IHdhcyByZW1vdmVkLlxyXG4gICAqL1xyXG4gIHJlbW92ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogT2JqZWN0O1xyXG5cclxuICAvKipcclxuICAgKiAgUmV0dXJucyBhbiBBcnJheSB0aGF0IGlzIHBvcHVsYXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgSUxpc3RcclxuICAgKiAgaW1wbGVtZW50YXRpb24uXHJcbiAgICogIFRoaXMgbWV0aG9kIGNhbiB0aHJvdyBhbiBJdGVtUGVuZGluZ0Vycm9yLlxyXG4gICAqICBAcmV0dXJuIFRoZSBhcnJheS5cclxuICAgKi9cclxuICB0b0FycmF5KCk6IEFycmF5PGFueT47XHJcblxyXG4gIHJlZnJlc2goKTogdm9pZDtcclxufVxyXG4iXX0=
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9ub3ZvLWVsZW1lbnRzL25vdm8tZWxlbWVudHMvcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9kYXRhLXByb3ZpZGVyL0NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkV2ZW50IH0gZnJvbSAnLi9Db2xsZWN0aW9uRXZlbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb248VD4ge1xuICBkYXRhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29sbGVjdGlvbkV2ZW50PjtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG4gIHNvdXJjZTogQXJyYXk8VD47XG4gIGZpbHRlckRhdGE6IEFycmF5PFQ+O1xuICBsaXN0OiBBcnJheTxUPjtcbiAgZmlsdGVyOiBhbnk7XG4gIHNvcnQ6IEFycmF5PGFueT47XG5cbiAgaXNFbXB0eSgpOiBib29sZWFuO1xuICBoYXNFcnJvcnMoKTogYm9vbGVhbjtcbiAgaXNMb2FkaW5nKCk6IGJvb2xlYW47XG4gIGlzRmlsdGVyZWQoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogIEFkZHMgdGhlIHNwZWNpZmllZCBpdGVtIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXG4gICAqICBFcXVpdmFsZW50IHRvIDxjb2RlPmFkZEl0ZW1BdChpdGVtLCBsZW5ndGgpPC9jb2RlPi5cbiAgICpcbiAgICogIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHRvIGFkZC5cbiAgICovXG4gIGFkZEl0ZW0oaXRlbTogVCk6IHZvaWQ7XG4gIC8qKlxuICAgKiAgQWRkcyB0aGUgaXRlbSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiAgVGhlIGluZGV4IG9mIGFueSBpdGVtIGdyZWF0ZXIgdGhhbiB0aGUgaW5kZXggb2YgdGhlIGFkZGVkIGl0ZW0gaXMgaW5jcmVhc2VkIGJ5IG9uZS5cbiAgICogIElmIHRoZSB0aGUgc3BlY2lmaWVkIGluZGV4IGlzIGxlc3MgdGhhbiB6ZXJvIG9yIGdyZWF0ZXIgdGhhbiB0aGUgbGVuZ3RoXG4gICAqICBvZiB0aGUgbGlzdCwgYSBSYW5nZUVycm9yIGlzIHRocm93bi5cbiAgICogIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHRvIHBsYWNlIGF0IHRoZSBpbmRleC5cbiAgICogIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggYXQgd2hpY2ggdG8gcGxhY2UgdGhlIGl0ZW0uXG4gICAqICBAdGhyb3dzIFJhbmdlRXJyb3IgaWYgaW5kZXggaXMgbGVzcyB0aGFuIDAgb3IgZ3JlYXRlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAqL1xuICBhZGRJdGVtQXQoaXRlbTogVCwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqICBBZGRzIGFsbCBvZiB0aGUgaXRlbXMgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdFxuICAgKiAgQHBhcmFtIGl0ZW1zIFRoZSBpdGVtcyB0byBwbGFjZSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgYWRkSXRlbXMoaXRlbXM6IEFycmF5PFQ+KTogdm9pZDtcblxuICAvKipcbiAgICogIEdldHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggaW4gdGhlIGxpc3QgZnJvbSB3aGljaCB0byByZXRyaWV2ZSB0aGUgaXRlbS5cbiAgICogIEBwYXJhbSBwcmVmZXRjaCBBbiA8Y29kZT5udW1iZXI8L2NvZGU+IGluZGljYXRpbmcgYm90aCB0aGUgZGlyZWN0aW9uXG4gICAqICBhbmQgbnVtYmVyIG9mIGl0ZW1zIHRvIGZldGNoIGR1cmluZyB0aGUgcmVxdWVzdCBpZiB0aGUgaXRlbSBpc1xuICAgKiAgbm90IGxvY2FsLlxuICAgKiAgQHJldHVybiBUaGUgaXRlbSBhdCB0aGF0IGluZGV4LCBvciA8Y29kZT5udWxsPC9jb2RlPiBpZiB0aGVyZSBpcyBub25lLlxuICAgKiAgQHRocm93cyBteC5jb2xsZWN0aW9ucy5lcnJvcnMuSXRlbVBlbmRpbmdFcnJvciBpZiB0aGUgZGF0YSBmb3IgdGhhdCBpbmRleCBuZWVkcyB0byBiZVxuICAgKiAgbG9hZGVkIGZyb20gYSByZW1vdGUgbG9jYXRpb24uXG4gICAqICBAdGhyb3dzIFJhbmdlRXJyb3IgaWYgPGNvZGU+aW5kZXggJmx0OyAwPC9jb2RlPlxuICAgKiAgb3IgPGNvZGU+aW5kZXggPj0gbGVuZ3RoPC9jb2RlPi5cbiAgICovXG4gIGdldEl0ZW1BdChpbmRleDogbnVtYmVyLCBwcmVmZXRjaDogbnVtYmVyKTogT2JqZWN0O1xuXG4gIC8qKlxuICAgKiAgUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gaWYgaXQgaXMgaW4gdGhlIGxpc3Qgc3VjaCB0aGF0XG4gICAqICBnZXRJdGVtQXQoaW5kZXgpID09IGl0ZW0uXG4gICAqICBAcGFyYW0gaXRlbSBUaGUgaXRlbSB0byBmaW5kLlxuICAgKiAgQHJldHVybiBUaGUgaW5kZXggb2YgdGhlIGl0ZW0sIG9yIC0xIGlmIHRoZSBpdGVtIGlzIG5vdCBpbiB0aGUgbGlzdC5cbiAgICovXG4gIGdldEl0ZW1JbmRleChpdGVtOiBPYmplY3QpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqICBOb3RpZmllcyB0aGUgdmlldyB0aGF0IGFuIGl0ZW0gaGFzIGJlZW4gdXBkYXRlZC5cbiAgICogIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBjb250ZW50cyBvZiB0aGUgdmlldyBkbyBub3QgaW1wbGVtZW50XG4gICAqICBJZiBhIHByb3BlcnR5IGlzIHNwZWNpZmllZCB0aGUgdmlldyBtYXkgYmUgYWJsZSB0byBvcHRpbWl6ZSBpdHNcbiAgICogIG5vdGlmaWNhdGlvbiBtZWNoYW5pc20uXG4gICAqICBPdGhlcndpc2UgaXQgbWF5IGNob29zZSB0byBzaW1wbHkgcmVmcmVzaCB0aGUgd2hvbGUgdmlldy5cbiAgICpcbiAgICogIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHdpdGhpbiB0aGUgdmlldyB0aGF0IHdhcyB1cGRhdGVkLlxuICAgKiAgQHBhcmFtIHByb3BlcnR5IFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IHdhcyB1cGRhdGVkLlxuICAgKiAgQHBhcmFtIG9sZFZhbHVlIFRoZSBvbGQgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eS4gKElmIHByb3BlcnR5IHdhcyBudWxsLFxuICAgKiAgdGhpcyBjYW4gYmUgdGhlIG9sZCB2YWx1ZSBvZiB0aGUgaXRlbS4pXG4gICAqICBAcGFyYW0gbmV3VmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LiAoSWYgcHJvcGVydHkgd2FzIG51bGwsXG4gICAqICB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSB0aGlzIGFzIHRoZSBpdGVtIGlzIGFzc3VtZWQgdG8gYmVcbiAgICogIHRoZSBuZXcgdmFsdWUuKVxuICAgKi9cbiAgLy8gaXRlbVVwZGF0ZWQoaXRlbTogT2JqZWN0LCBwcm9wZXJ0eT86IE9iamVjdCwgb2xkVmFsdWU/OiBPYmplY3QsIG5ld1ZhbHVlPzogT2JqZWN0KTogdm9pZDtcblxuICByZW1vdmVJdGVtKGl0ZW06IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogIFJlbW92ZXMgYWxsIGl0ZW1zIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICByZW1vdmVBbGwoKTogdm9pZDtcblxuICAvKipcbiAgICogIFJlbW92ZXMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleCBhbmQgcmV0dXJucyBpdC5cbiAgICogIEFueSBpdGVtcyB0aGF0IHdlcmUgYWZ0ZXIgdGhpcyBpbmRleCBhcmUgbm93IG9uZSBpbmRleCBlYXJsaWVyLlxuICAgKiAgQHBhcmFtIGluZGV4IFRoZSBpbmRleCBmcm9tIHdoaWNoIHRvIHJlbW92ZSB0aGUgaXRlbS5cbiAgICogIEByZXR1cm4gVGhlIGl0ZW0gdGhhdCB3YXMgcmVtb3ZlZC5cbiAgICovXG4gIHJlbW92ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogT2JqZWN0O1xuXG4gIC8qKlxuICAgKiAgUmV0dXJucyBhbiBBcnJheSB0aGF0IGlzIHBvcHVsYXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgSUxpc3RcbiAgICogIGltcGxlbWVudGF0aW9uLlxuICAgKiAgVGhpcyBtZXRob2QgY2FuIHRocm93IGFuIEl0ZW1QZW5kaW5nRXJyb3IuXG4gICAqICBAcmV0dXJuIFRoZSBhcnJheS5cbiAgICovXG4gIHRvQXJyYXkoKTogQXJyYXk8YW55PjtcblxuICByZWZyZXNoKCk6IHZvaWQ7XG59XG4iXX0=
@@ -1,21 +1,21 @@
1
- export class CollectionEvent {
2
- constructor(type = 'Collection.REFRESH', data = []) {
3
- this.type = '';
4
- this.data = [];
5
- this.type = type;
6
- this.data = data;
7
- }
8
- }
9
- CollectionEvent.REFRESH = 'Collection.REFRESH';
10
- CollectionEvent.ADD = 'Collection.ADD';
11
- CollectionEvent.REMOVE = 'Collection.REMOVE';
12
- CollectionEvent.REMOVE_ALL = 'Collection.REMOVE_ALL';
13
- CollectionEvent.REPLACE = 'Collection.REPLACE';
14
- CollectionEvent.INVALIDATE_ALL = 'Collection.INVALIDATE_ALL';
15
- CollectionEvent.SORT = 'Collection.SORT';
16
- CollectionEvent.FILTER = 'Collection.FILTER';
17
- CollectionEvent.CHANGE = 'Collection.CHANGE';
18
- CollectionEvent.CURRENTPAGE_CHANGE = 'Collection.CURRENTPAGE_CHANGE';
19
- CollectionEvent.PAGESIZE_CHANGE = 'Collection.PAGESIZE_CHANGE';
20
- CollectionEvent.NUMBEROFPAGES_CHANGE = 'Collection.NUMBEROFPAGES_CHANGE';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbkV2ZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2NoYXJsZXMuYmFybmVzL0RvY3VtZW50cy9kZXYvbm92by1lbGVtZW50cy9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2RhdGEtcHJvdmlkZXIvQ29sbGVjdGlvbkV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUFZLElBQUksR0FBRyxvQkFBb0IsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUhsRCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBZSxFQUFFLENBQUM7UUFHcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUFuQk0sdUJBQU8sR0FBVyxvQkFBb0IsQ0FBQztBQUN2QyxtQkFBRyxHQUFXLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFNLEdBQVcsbUJBQW1CLENBQUM7QUFDckMsMEJBQVUsR0FBVyx1QkFBdUIsQ0FBQztBQUM3Qyx1QkFBTyxHQUFXLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFjLEdBQVcsMkJBQTJCLENBQUM7QUFDckQsb0JBQUksR0FBVyxpQkFBaUIsQ0FBQztBQUNqQyxzQkFBTSxHQUFXLG1CQUFtQixDQUFDO0FBQ3JDLHNCQUFNLEdBQVcsbUJBQW1CLENBQUM7QUFDckMsa0NBQWtCLEdBQVcsK0JBQStCLENBQUM7QUFDN0QsK0JBQWUsR0FBVyw0QkFBNEIsQ0FBQztBQUN2RCxvQ0FBb0IsR0FBVyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRXZlbnQge1xyXG4gIHN0YXRpYyBSRUZSRVNIOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5SRUZSRVNIJztcclxuICBzdGF0aWMgQUREOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5BREQnO1xyXG4gIHN0YXRpYyBSRU1PVkU6IHN0cmluZyA9ICdDb2xsZWN0aW9uLlJFTU9WRSc7XHJcbiAgc3RhdGljIFJFTU9WRV9BTEw6IHN0cmluZyA9ICdDb2xsZWN0aW9uLlJFTU9WRV9BTEwnO1xyXG4gIHN0YXRpYyBSRVBMQUNFOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5SRVBMQUNFJztcclxuICBzdGF0aWMgSU5WQUxJREFURV9BTEw6IHN0cmluZyA9ICdDb2xsZWN0aW9uLklOVkFMSURBVEVfQUxMJztcclxuICBzdGF0aWMgU09SVDogc3RyaW5nID0gJ0NvbGxlY3Rpb24uU09SVCc7XHJcbiAgc3RhdGljIEZJTFRFUjogc3RyaW5nID0gJ0NvbGxlY3Rpb24uRklMVEVSJztcclxuICBzdGF0aWMgQ0hBTkdFOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5DSEFOR0UnO1xyXG4gIHN0YXRpYyBDVVJSRU5UUEFHRV9DSEFOR0U6IHN0cmluZyA9ICdDb2xsZWN0aW9uLkNVUlJFTlRQQUdFX0NIQU5HRSc7XHJcbiAgc3RhdGljIFBBR0VTSVpFX0NIQU5HRTogc3RyaW5nID0gJ0NvbGxlY3Rpb24uUEFHRVNJWkVfQ0hBTkdFJztcclxuICBzdGF0aWMgTlVNQkVST0ZQQUdFU19DSEFOR0U6IHN0cmluZyA9ICdDb2xsZWN0aW9uLk5VTUJFUk9GUEFHRVNfQ0hBTkdFJztcclxuXHJcbiAgdHlwZTogc3RyaW5nID0gJyc7XHJcbiAgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih0eXBlID0gJ0NvbGxlY3Rpb24uUkVGUkVTSCcsIGRhdGEgPSBbXSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ export class CollectionEvent {
2
+ constructor(type = 'Collection.REFRESH', data = []) {
3
+ this.type = '';
4
+ this.data = [];
5
+ this.type = type;
6
+ this.data = data;
7
+ }
8
+ }
9
+ CollectionEvent.REFRESH = 'Collection.REFRESH';
10
+ CollectionEvent.ADD = 'Collection.ADD';
11
+ CollectionEvent.REMOVE = 'Collection.REMOVE';
12
+ CollectionEvent.REMOVE_ALL = 'Collection.REMOVE_ALL';
13
+ CollectionEvent.REPLACE = 'Collection.REPLACE';
14
+ CollectionEvent.INVALIDATE_ALL = 'Collection.INVALIDATE_ALL';
15
+ CollectionEvent.SORT = 'Collection.SORT';
16
+ CollectionEvent.FILTER = 'Collection.FILTER';
17
+ CollectionEvent.CHANGE = 'Collection.CHANGE';
18
+ CollectionEvent.CURRENTPAGE_CHANGE = 'Collection.CURRENTPAGE_CHANGE';
19
+ CollectionEvent.PAGESIZE_CHANGE = 'Collection.PAGESIZE_CHANGE';
20
+ CollectionEvent.NUMBEROFPAGES_CHANGE = 'Collection.NUMBEROFPAGES_CHANGE';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbkV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL25vdm8tZWxlbWVudHMvbm92by1lbGVtZW50cy9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2RhdGEtcHJvdmlkZXIvQ29sbGVjdGlvbkV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUFZLElBQUksR0FBRyxvQkFBb0IsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUhsRCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBZSxFQUFFLENBQUM7UUFHcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUFuQk0sdUJBQU8sR0FBVyxvQkFBb0IsQ0FBQztBQUN2QyxtQkFBRyxHQUFXLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFNLEdBQVcsbUJBQW1CLENBQUM7QUFDckMsMEJBQVUsR0FBVyx1QkFBdUIsQ0FBQztBQUM3Qyx1QkFBTyxHQUFXLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFjLEdBQVcsMkJBQTJCLENBQUM7QUFDckQsb0JBQUksR0FBVyxpQkFBaUIsQ0FBQztBQUNqQyxzQkFBTSxHQUFXLG1CQUFtQixDQUFDO0FBQ3JDLHNCQUFNLEdBQVcsbUJBQW1CLENBQUM7QUFDckMsa0NBQWtCLEdBQVcsK0JBQStCLENBQUM7QUFDN0QsK0JBQWUsR0FBVyw0QkFBNEIsQ0FBQztBQUN2RCxvQ0FBb0IsR0FBVyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRXZlbnQge1xuICBzdGF0aWMgUkVGUkVTSDogc3RyaW5nID0gJ0NvbGxlY3Rpb24uUkVGUkVTSCc7XG4gIHN0YXRpYyBBREQ6IHN0cmluZyA9ICdDb2xsZWN0aW9uLkFERCc7XG4gIHN0YXRpYyBSRU1PVkU6IHN0cmluZyA9ICdDb2xsZWN0aW9uLlJFTU9WRSc7XG4gIHN0YXRpYyBSRU1PVkVfQUxMOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5SRU1PVkVfQUxMJztcbiAgc3RhdGljIFJFUExBQ0U6IHN0cmluZyA9ICdDb2xsZWN0aW9uLlJFUExBQ0UnO1xuICBzdGF0aWMgSU5WQUxJREFURV9BTEw6IHN0cmluZyA9ICdDb2xsZWN0aW9uLklOVkFMSURBVEVfQUxMJztcbiAgc3RhdGljIFNPUlQ6IHN0cmluZyA9ICdDb2xsZWN0aW9uLlNPUlQnO1xuICBzdGF0aWMgRklMVEVSOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5GSUxURVInO1xuICBzdGF0aWMgQ0hBTkdFOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5DSEFOR0UnO1xuICBzdGF0aWMgQ1VSUkVOVFBBR0VfQ0hBTkdFOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5DVVJSRU5UUEFHRV9DSEFOR0UnO1xuICBzdGF0aWMgUEFHRVNJWkVfQ0hBTkdFOiBzdHJpbmcgPSAnQ29sbGVjdGlvbi5QQUdFU0laRV9DSEFOR0UnO1xuICBzdGF0aWMgTlVNQkVST0ZQQUdFU19DSEFOR0U6IHN0cmluZyA9ICdDb2xsZWN0aW9uLk5VTUJFUk9GUEFHRVNfQ0hBTkdFJztcblxuICB0eXBlOiBzdHJpbmcgPSAnJztcbiAgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGUgPSAnQ29sbGVjdGlvbi5SRUZSRVNIJywgZGF0YSA9IFtdKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICB9XG59XG4iXX0=
@@ -1,78 +1,78 @@
1
- import { ArrayCollection } from './ArrayCollection';
2
- import { CollectionEvent } from './CollectionEvent';
3
- export class PagedArrayCollection extends ArrayCollection {
4
- constructor(source = []) {
5
- super(source);
6
- this._page = 1;
7
- this._numberOfPages = 1;
8
- this._pageSize = 10;
9
- }
10
- get numberOfPages() {
11
- let result = this.source.length / this.pageSize;
12
- result = Math.ceil(result);
13
- return result;
14
- }
15
- get page() {
16
- return this._page;
17
- }
18
- set page(value) {
19
- this._page = value;
20
- this.refresh();
21
- }
22
- get pageSize() {
23
- return this._pageSize;
24
- }
25
- set pageSize(value) {
26
- this._pageSize = value;
27
- this.refresh();
28
- }
29
- next() {
30
- if (this.page === this.numberOfPages) {
31
- return this.page;
32
- }
33
- this.page++;
34
- return this.page;
35
- }
36
- prev() {
37
- if (this._page === 1) {
38
- return this.page;
39
- }
40
- this.page--;
41
- return this.page;
42
- }
43
- first() {
44
- if (this.page === 1) {
45
- return this.page;
46
- }
47
- this.page = 1;
48
- return this.page;
49
- }
50
- last() {
51
- if (this.page === this.numberOfPages) {
52
- return this.page;
53
- }
54
- this.page = this.numberOfPages;
55
- return this.page;
56
- }
57
- refresh() {
58
- this.filterData = this.isEditing ? this.editData.slice() : this.source.slice();
59
- for (const item of this._sort.reverse()) {
60
- this.sortOn(item.field, item.reverse);
61
- }
62
- for (const key in this._filter) {
63
- if (key) {
64
- this.filterOn(key, this._filter[key]);
65
- }
66
- }
67
- if (this.page >= 0) {
68
- const start = (this.page - 1) * this.pageSize;
69
- const end = start + this.pageSize;
70
- const result = this.filterData.slice(start, end);
71
- this.onDataChange(new CollectionEvent(CollectionEvent.CHANGE, result));
72
- }
73
- else {
74
- this.onDataChange(new CollectionEvent(CollectionEvent.CHANGE, this.filterData));
75
- }
76
- }
77
- }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZWRBcnJheUNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvY2hhcmxlcy5iYXJuZXMvRG9jdW1lbnRzL2Rldi9ub3ZvLWVsZW1lbnRzL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjLyIsInNvdXJjZXMiOlsic2VydmljZXMvZGF0YS1wcm92aWRlci9QYWdlZEFycmF5Q29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE1BQU0sT0FBTyxvQkFBd0IsU0FBUSxlQUFrQjtJQUs3RCxZQUFZLFNBQW1CLEVBQUU7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTGhCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0IsY0FBUyxHQUFXLEVBQUUsQ0FBQztJQUl2QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0UsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdkM7UUFDRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlDb2xsZWN0aW9uIH0gZnJvbSAnLi9BcnJheUNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uRXZlbnQgfSBmcm9tICcuL0NvbGxlY3Rpb25FdmVudCc7XHJcbmltcG9ydCB7IFBhZ2VkQ29sbGVjdGlvbiB9IGZyb20gJy4vUGFnZWRDb2xsZWN0aW9uJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYWdlZEFycmF5Q29sbGVjdGlvbjxUPiBleHRlbmRzIEFycmF5Q29sbGVjdGlvbjxUPiBpbXBsZW1lbnRzIFBhZ2VkQ29sbGVjdGlvbjxUPiB7XHJcbiAgX3BhZ2U6IG51bWJlciA9IDE7XHJcbiAgX251bWJlck9mUGFnZXM6IG51bWJlciA9IDE7XHJcbiAgX3BhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgY29uc3RydWN0b3Ioc291cmNlOiBBcnJheTxUPiA9IFtdKSB7XHJcbiAgICBzdXBlcihzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcclxuICAgIGxldCByZXN1bHQ6IG51bWJlciA9IHRoaXMuc291cmNlLmxlbmd0aCAvIHRoaXMucGFnZVNpemU7XHJcbiAgICByZXN1bHQgPSBNYXRoLmNlaWwocmVzdWx0KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgcGFnZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2U7XHJcbiAgfVxyXG5cclxuICBzZXQgcGFnZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9wYWdlID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xyXG4gIH1cclxuXHJcbiAgc2V0IHBhZ2VTaXplKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3BhZ2VTaXplID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLnBhZ2UgPT09IHRoaXMubnVtYmVyT2ZQYWdlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlKys7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlO1xyXG4gIH1cclxuXHJcbiAgcHJldigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3BhZ2UgPT09IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnZTtcclxuICAgIH1cclxuICAgIHRoaXMucGFnZS0tO1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZTtcclxuICB9XHJcblxyXG4gIGZpcnN0KCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5wYWdlID09PSAxKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBhZ2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZTtcclxuICB9XHJcblxyXG4gIGxhc3QoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLnBhZ2UgPT09IHRoaXMubnVtYmVyT2ZQYWdlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlID0gdGhpcy5udW1iZXJPZlBhZ2VzO1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckRhdGEgPSB0aGlzLmlzRWRpdGluZyA/IHRoaXMuZWRpdERhdGEuc2xpY2UoKSA6IHRoaXMuc291cmNlLnNsaWNlKCk7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fc29ydC5yZXZlcnNlKCkpIHtcclxuICAgICAgdGhpcy5zb3J0T24oaXRlbS5maWVsZCwgaXRlbS5yZXZlcnNlKTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuX2ZpbHRlcikge1xyXG4gICAgICBpZiAoa2V5KSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJPbihrZXksIHRoaXMuX2ZpbHRlcltrZXldKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucGFnZSA+PSAwKSB7XHJcbiAgICAgIGNvbnN0IHN0YXJ0ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZTtcclxuICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLnBhZ2VTaXplO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbHRlckRhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgICAgIHRoaXMub25EYXRhQ2hhbmdlKG5ldyBDb2xsZWN0aW9uRXZlbnQoQ29sbGVjdGlvbkV2ZW50LkNIQU5HRSwgcmVzdWx0KSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uRGF0YUNoYW5nZShuZXcgQ29sbGVjdGlvbkV2ZW50KENvbGxlY3Rpb25FdmVudC5DSEFOR0UsIHRoaXMuZmlsdGVyRGF0YSkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { ArrayCollection } from './ArrayCollection';
2
+ import { CollectionEvent } from './CollectionEvent';
3
+ export class PagedArrayCollection extends ArrayCollection {
4
+ constructor(source = []) {
5
+ super(source);
6
+ this._page = 1;
7
+ this._numberOfPages = 1;
8
+ this._pageSize = 10;
9
+ }
10
+ get numberOfPages() {
11
+ let result = this.source.length / this.pageSize;
12
+ result = Math.ceil(result);
13
+ return result;
14
+ }
15
+ get page() {
16
+ return this._page;
17
+ }
18
+ set page(value) {
19
+ this._page = value;
20
+ this.refresh();
21
+ }
22
+ get pageSize() {
23
+ return this._pageSize;
24
+ }
25
+ set pageSize(value) {
26
+ this._pageSize = value;
27
+ this.refresh();
28
+ }
29
+ next() {
30
+ if (this.page === this.numberOfPages) {
31
+ return this.page;
32
+ }
33
+ this.page++;
34
+ return this.page;
35
+ }
36
+ prev() {
37
+ if (this._page === 1) {
38
+ return this.page;
39
+ }
40
+ this.page--;
41
+ return this.page;
42
+ }
43
+ first() {
44
+ if (this.page === 1) {
45
+ return this.page;
46
+ }
47
+ this.page = 1;
48
+ return this.page;
49
+ }
50
+ last() {
51
+ if (this.page === this.numberOfPages) {
52
+ return this.page;
53
+ }
54
+ this.page = this.numberOfPages;
55
+ return this.page;
56
+ }
57
+ refresh() {
58
+ this.filterData = this.isEditing ? this.editData.slice() : this.source.slice();
59
+ for (const item of this._sort.reverse()) {
60
+ this.sortOn(item.field, item.reverse);
61
+ }
62
+ for (const key in this._filter) {
63
+ if (key) {
64
+ this.filterOn(key, this._filter[key]);
65
+ }
66
+ }
67
+ if (this.page >= 0) {
68
+ const start = (this.page - 1) * this.pageSize;
69
+ const end = start + this.pageSize;
70
+ const result = this.filterData.slice(start, end);
71
+ this.onDataChange(new CollectionEvent(CollectionEvent.CHANGE, result));
72
+ }
73
+ else {
74
+ this.onDataChange(new CollectionEvent(CollectionEvent.CHANGE, this.filterData));
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZWRBcnJheUNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbm92by1lbGVtZW50cy9ub3ZvLWVsZW1lbnRzL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjLyIsInNvdXJjZXMiOlsic2VydmljZXMvZGF0YS1wcm92aWRlci9QYWdlZEFycmF5Q29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE1BQU0sT0FBTyxvQkFBd0IsU0FBUSxlQUFrQjtJQUs3RCxZQUFZLFNBQW1CLEVBQUU7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTGhCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0IsY0FBUyxHQUFXLEVBQUUsQ0FBQztJQUl2QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0UsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdkM7UUFDRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlDb2xsZWN0aW9uIH0gZnJvbSAnLi9BcnJheUNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkV2ZW50IH0gZnJvbSAnLi9Db2xsZWN0aW9uRXZlbnQnO1xuaW1wb3J0IHsgUGFnZWRDb2xsZWN0aW9uIH0gZnJvbSAnLi9QYWdlZENvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUGFnZWRBcnJheUNvbGxlY3Rpb248VD4gZXh0ZW5kcyBBcnJheUNvbGxlY3Rpb248VD4gaW1wbGVtZW50cyBQYWdlZENvbGxlY3Rpb248VD4ge1xuICBfcGFnZTogbnVtYmVyID0gMTtcbiAgX251bWJlck9mUGFnZXM6IG51bWJlciA9IDE7XG4gIF9wYWdlU2l6ZTogbnVtYmVyID0gMTA7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlOiBBcnJheTxUPiA9IFtdKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgfVxuXG4gIGdldCBudW1iZXJPZlBhZ2VzKCk6IG51bWJlciB7XG4gICAgbGV0IHJlc3VsdDogbnVtYmVyID0gdGhpcy5zb3VyY2UubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZTtcbiAgICByZXN1bHQgPSBNYXRoLmNlaWwocmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IHBhZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZTtcbiAgfVxuXG4gIHNldCBwYWdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9wYWdlID0gdmFsdWU7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XG4gIH1cblxuICBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VTaXplID0gdmFsdWU7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBuZXh0KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucGFnZSA9PT0gdGhpcy5udW1iZXJPZlBhZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xuICAgIH1cbiAgICB0aGlzLnBhZ2UrKztcbiAgICByZXR1cm4gdGhpcy5wYWdlO1xuICB9XG5cbiAgcHJldigpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9wYWdlID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xuICAgIH1cbiAgICB0aGlzLnBhZ2UtLTtcbiAgICByZXR1cm4gdGhpcy5wYWdlO1xuICB9XG5cbiAgZmlyc3QoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5wYWdlID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xuICAgIH1cbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIHJldHVybiB0aGlzLnBhZ2U7XG4gIH1cblxuICBsYXN0KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucGFnZSA9PT0gdGhpcy5udW1iZXJPZlBhZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlO1xuICAgIH1cbiAgICB0aGlzLnBhZ2UgPSB0aGlzLm51bWJlck9mUGFnZXM7XG4gICAgcmV0dXJuIHRoaXMucGFnZTtcbiAgfVxuXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJEYXRhID0gdGhpcy5pc0VkaXRpbmcgPyB0aGlzLmVkaXREYXRhLnNsaWNlKCkgOiB0aGlzLnNvdXJjZS5zbGljZSgpO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9zb3J0LnJldmVyc2UoKSkge1xuICAgICAgdGhpcy5zb3J0T24oaXRlbS5maWVsZCwgaXRlbS5yZXZlcnNlKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5fZmlsdGVyKSB7XG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRoaXMuZmlsdGVyT24oa2V5LCB0aGlzLl9maWx0ZXJba2V5XSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBhZ2UgPj0gMCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLnBhZ2VTaXplO1xuICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLnBhZ2VTaXplO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maWx0ZXJEYXRhLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgICAgdGhpcy5vbkRhdGFDaGFuZ2UobmV3IENvbGxlY3Rpb25FdmVudChDb2xsZWN0aW9uRXZlbnQuQ0hBTkdFLCByZXN1bHQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkRhdGFDaGFuZ2UobmV3IENvbGxlY3Rpb25FdmVudChDb2xsZWN0aW9uRXZlbnQuQ0hBTkdFLCB0aGlzLmZpbHRlckRhdGEpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZWRDb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2NoYXJsZXMuYmFybmVzL0RvY3VtZW50cy9kZXYvbm92by1lbGVtZW50cy9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2RhdGEtcHJvdmlkZXIvUGFnZWRDb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9Db2xsZWN0aW9uJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRDb2xsZWN0aW9uPFQ+IGV4dGVuZHMgQ29sbGVjdGlvbjxUPiB7XHJcbiAgLyoqXHJcbiAgICogVGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdGhhdCB0aGUgcGFnaW5hdGVkIGNvbGxlY3Rpb24gaXMgXCJzaG93aW5nXCIuXHJcbiAgICovXHJcbiAgcGFnZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSBwYWdpbmF0ZWQgY29sbGVjdGlvbi5cclxuICAgKi9cclxuICBudW1iZXJPZlBhZ2VzOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBwYWdlIHNpemUgdG8gdXNlIHdoZW4gcGFnaW5hdGluZyB0aGUgY29sbGVjdGlvbi5cclxuICAgKi9cclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZWRDb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL25vdm8tZWxlbWVudHMvbm92by1lbGVtZW50cy9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2RhdGEtcHJvdmlkZXIvUGFnZWRDb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9Db2xsZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlZENvbGxlY3Rpb248VD4gZXh0ZW5kcyBDb2xsZWN0aW9uPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHRoYXQgdGhlIHBhZ2luYXRlZCBjb2xsZWN0aW9uIGlzIFwic2hvd2luZ1wiLlxuICAgKi9cbiAgcGFnZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSBwYWdpbmF0ZWQgY29sbGVjdGlvbi5cbiAgICovXG4gIG51bWJlck9mUGFnZXM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhZ2Ugc2l6ZSB0byB1c2Ugd2hlbiBwYWdpbmF0aW5nIHRoZSBjb2xsZWN0aW9uLlxuICAgKi9cbiAgcGFnZVNpemU6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,189 +1,189 @@
1
- // NG2
2
- import { Injectable } from '@angular/core';
3
- // APP
4
- import { Helpers } from '../../utils/Helpers';
5
- import { NovoLabelService } from '../../services/novo-label-service';
6
- export class DateFormatService {
7
- constructor(labels) {
8
- this.labels = labels;
9
- }
10
- getTimeMask(militaryTime) {
11
- let mask = [/\d/, /\d/, /:/, /\d/, /\d/];
12
- let timeFormatArray = [];
13
- const timeFormat = this.labels.timeFormatPlaceholderAM.toLowerCase();
14
- if (militaryTime) {
15
- return mask;
16
- }
17
- else {
18
- timeFormatArray = timeFormat.split('hh:mm');
19
- if (timeFormatArray && timeFormatArray.length) {
20
- mask = [];
21
- for (const timeFormatPart of timeFormatArray) {
22
- if (timeFormatPart === '') {
23
- mask = mask.concat([/\d/, /\d|:/, /:|\d/, /\d|\w|\s/, /\d|\s|\w/]);
24
- }
25
- else if (timeFormatPart.length) {
26
- for (let i = 0; i < timeFormatPart.length; i++) {
27
- mask.push(/\s|\w|\d|\./);
28
- }
29
- }
30
- }
31
- }
32
- }
33
- return mask;
34
- }
35
- getDateMask() {
36
- return [/\d/, /\d|\/|\.|\-/, /\/|\.|\-|\d/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d/, /\d/];
37
- }
38
- getDateTimeMask(militaryTime = false) {
39
- return [...this.getDateMask(), /\,?/, /\s/, ...this.getTimeMask(militaryTime)];
40
- }
41
- getTimePlaceHolder(militaryTime) {
42
- if (militaryTime) {
43
- return this.labels.timeFormatPlaceholder24Hour;
44
- }
45
- return this.labels.timeFormatPlaceholderAM;
46
- }
47
- parseDateString(dateString) {
48
- let dateFormat = this.labels.dateFormatString();
49
- const dateFormatRegex = /(\w+)[\/|\.|\-](\w+)[\/|\.|\-](\w+)/gi;
50
- const dateValueRegex = /(\d+)[\/|\.|\-](\d+)[\/|\.|\-](\d+)/gi;
51
- let dateFormatTokens;
52
- let dateValueTokens;
53
- let year;
54
- let month;
55
- let day;
56
- let date = new Date();
57
- if (Helpers.isEmpty(dateFormat)) {
58
- // Default to MM/dd/yyyy
59
- dateFormat = 'mm/dd/yyyy';
60
- }
61
- else {
62
- dateFormat = dateFormat.toLowerCase();
63
- }
64
- dateFormatTokens = dateFormatRegex.exec(dateFormat);
65
- dateValueTokens = dateValueRegex.exec(dateString);
66
- if (dateFormatTokens && dateFormatTokens.length === 4 && dateValueTokens && dateValueTokens.length === 4) {
67
- for (let i = 1; i < 4; i++) {
68
- if (dateFormatTokens[i].includes('m')) {
69
- month = parseInt(dateValueTokens[i], 10) - 1;
70
- }
71
- else if (dateFormatTokens[i].includes('d')) {
72
- day = parseInt(dateValueTokens[i], 10);
73
- }
74
- else {
75
- year = parseInt(dateValueTokens[i], 10);
76
- }
77
- }
78
- if (month >= 0 && month <= 11 && year > 1900 && day > 0 && day <= 31) {
79
- date = new Date(year, month, day);
80
- }
81
- }
82
- else if (dateFormatTokens && dateFormatTokens.length === 4 && dateString.length >= 1) {
83
- const twoTokens = /\d{1,4}(\/|\.|\-)(\d{1,2})/.exec(dateString);
84
- const oneToken = /^(\d{1,4})$/.exec(dateString);
85
- const delimiter = /\w+(\/|\.|\-)\w+[\/|\.|\-]\w+/gi.exec(dateFormat);
86
- const dateStringWithDelimiter = dateString[dateString.length - 1].match(/\/|\.|\-/);
87
- if (twoTokens && twoTokens.length === 3 && this.isValidDatePart(twoTokens[2], dateFormatTokens[2]) && !dateStringWithDelimiter) {
88
- dateString = `${dateString}${delimiter[1]}`;
89
- }
90
- else if (oneToken && oneToken.length === 2 && this.isValidDatePart(oneToken[1], dateFormatTokens[1]) && !dateStringWithDelimiter) {
91
- dateString = `${dateString}${delimiter[1]}`;
92
- }
93
- }
94
- return [date, dateString];
95
- }
96
- parseTimeString(timeString, militaryTime) {
97
- const value = new Date();
98
- let timeStringParts;
99
- let amFormat = this.labels.timeFormatAM;
100
- let pmFormat = this.labels.timeFormatPM;
101
- if (!(timeString && timeString.includes(':'))) {
102
- return [value, timeString];
103
- }
104
- if (!militaryTime && amFormat && pmFormat) {
105
- let splits = [];
106
- let pm = false;
107
- amFormat = this.labels.timeFormatAM.toLowerCase();
108
- pmFormat = this.labels.timeFormatPM.toLowerCase();
109
- timeString = timeString.toLowerCase();
110
- if (timeString.includes(amFormat)) {
111
- splits = timeString.split(amFormat);
112
- }
113
- else if (timeString.includes(pmFormat)) {
114
- splits = timeString.split(pmFormat);
115
- pm = true;
116
- }
117
- if (splits && splits.length) {
118
- for (const item of splits) {
119
- if (item && item.trim().includes(':')) {
120
- timeStringParts = item.trim().split(':');
121
- }
122
- }
123
- }
124
- if (timeStringParts && timeStringParts.length && timeStringParts.length === 2) {
125
- let hours = parseInt(timeStringParts[0], 10);
126
- if (hours === 12 && pm) {
127
- hours = 12;
128
- }
129
- else if (pm) {
130
- hours = hours + 12;
131
- }
132
- else if (hours === 12) {
133
- hours = 0;
134
- }
135
- value.setHours(hours);
136
- value.setMinutes(parseInt(timeStringParts[1], 10));
137
- value.setSeconds(0);
138
- }
139
- }
140
- else {
141
- timeStringParts = /(\d{1,2}):(\d{2})/.exec(timeString);
142
- if (timeStringParts && timeStringParts.length && timeStringParts.length === 3) {
143
- value.setHours(parseInt(timeStringParts[1], 10));
144
- value.setMinutes(parseInt(timeStringParts[2], 10));
145
- value.setSeconds(0);
146
- }
147
- }
148
- return [value, timeString];
149
- }
150
- parseString(dateTimeString, militaryTime, type) {
151
- switch (type) {
152
- case 'datetime':
153
- const str = dateTimeString.replace(/-/g, '/');
154
- const parts = str.split(' ');
155
- const [dt, dts] = this.parseDateString(parts[0]);
156
- if (parts.length > 1) {
157
- const [tm, tms] = this.parseTimeString(parts[1], militaryTime);
158
- return [new Date(dt.setHours(tm.getHours(), tm.getMinutes())), `${dts} ${tms}`];
159
- }
160
- return [dt, dts];
161
- case 'date':
162
- return this.parseDateString(dateTimeString);
163
- case 'time':
164
- return this.parseTimeString(dateTimeString, militaryTime);
165
- default:
166
- return;
167
- }
168
- }
169
- isValidDatePart(value, format) {
170
- const datePart = parseInt(value, 10);
171
- if (format.includes('m') && (datePart >= 2 || value.length === 2)) {
172
- return true;
173
- }
174
- else if (format.includes('d') && (datePart >= 4 || value.length === 2)) {
175
- return true;
176
- }
177
- else if (format.includes('y') && datePart >= 1000) {
178
- return true;
179
- }
180
- return false;
181
- }
182
- }
183
- DateFormatService.decorators = [
184
- { type: Injectable }
185
- ];
186
- DateFormatService.ctorParameters = () => [
187
- { type: NovoLabelService }
188
- ];
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9jaGFybGVzLmJhcm5lcy9Eb2N1bWVudHMvZGV2L25vdm8tZWxlbWVudHMvcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9kYXRlLWZvcm1hdC9EYXRlRm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE1BQU07QUFDTixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHckUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUFJLENBQUM7SUFFakQsV0FBVyxDQUFDLFlBQXFCO1FBQy9CLElBQUksSUFBSSxHQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLGVBQWUsR0FBa0IsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0UsSUFBSSxZQUFZLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDN0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDVixLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtvQkFDNUMsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFO3dCQUN6QixJQUFJLEdBQUcsSUFBSSxDQUFDLE1B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RUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUQ7Z0JBQ0UsT0FBTztTQUNWO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqRSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUF6S0YsVUFBVTs7O1lBRkYsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gQVBQXHJcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi8uLi91dGlscy9IZWxwZXJzJztcclxuaW1wb3J0IHsgTm92b0xhYmVsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdm8tbGFiZWwtc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEYXRlRm9ybWF0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYWJlbHM6IE5vdm9MYWJlbFNlcnZpY2UpIHsgfVxyXG5cclxuICBnZXRUaW1lTWFzayhtaWxpdGFyeVRpbWU6IGJvb2xlYW4pOiBBcnJheTxSZWdFeHA+IHtcclxuICAgIGxldCBtYXNrOiBBcnJheTxSZWdFeHA+ID0gWy9cXGQvLCAvXFxkLywgLzovLCAvXFxkLywgL1xcZC9dO1xyXG4gICAgbGV0IHRpbWVGb3JtYXRBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gICAgY29uc3QgdGltZUZvcm1hdDogc3RyaW5nID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyQU0udG9Mb3dlckNhc2UoKTtcclxuICAgIGlmIChtaWxpdGFyeVRpbWUpIHtcclxuICAgICAgcmV0dXJuIG1hc2s7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aW1lRm9ybWF0QXJyYXkgPSB0aW1lRm9ybWF0LnNwbGl0KCdoaDptbScpO1xyXG4gICAgICBpZiAodGltZUZvcm1hdEFycmF5ICYmIHRpbWVGb3JtYXRBcnJheS5sZW5ndGgpIHtcclxuICAgICAgICBtYXNrID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCB0aW1lRm9ybWF0UGFydCBvZiB0aW1lRm9ybWF0QXJyYXkpIHtcclxuICAgICAgICAgIGlmICh0aW1lRm9ybWF0UGFydCA9PT0gJycpIHtcclxuICAgICAgICAgICAgbWFzayA9IG1hc2suY29uY2F0KFsvXFxkLywgL1xcZHw6LywgLzp8XFxkLywgL1xcZHxcXHd8XFxzLywgL1xcZHxcXHN8XFx3L10pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aW1lRm9ybWF0UGFydC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lRm9ybWF0UGFydC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgIG1hc2sucHVzaCgvXFxzfFxcd3xcXGR8XFwuLyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXNrO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZU1hc2soKTogQXJyYXk8UmVnRXhwPiB7XHJcbiAgICByZXR1cm4gWy9cXGQvLCAvXFxkfFxcL3xcXC58XFwtLywgL1xcL3xcXC58XFwtfFxcZC8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkfFxcL3xcXC58XFwtLywgL1xcZHxcXC98XFwufFxcLS8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkfFxcL3xcXC58XFwtLywgL1xcZC8sIC9cXGQvXTtcclxuICB9XHJcblxyXG4gIGdldERhdGVUaW1lTWFzayhtaWxpdGFyeVRpbWU6IGJvb2xlYW4gPSBmYWxzZSk6IEFycmF5PFJlZ0V4cD4ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLmdldERhdGVNYXNrKCksIC9cXCw/LywgL1xccy8sIC4uLnRoaXMuZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lKV07XHJcbiAgfVxyXG5cclxuICBnZXRUaW1lUGxhY2VIb2xkZXIobWlsaXRhcnlUaW1lOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGlmIChtaWxpdGFyeVRpbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQbGFjZWhvbGRlcjI0SG91cjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxhYmVscy50aW1lRm9ybWF0UGxhY2Vob2xkZXJBTTtcclxuICB9XHJcblxyXG4gIHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nOiBzdHJpbmcpOiBbRGF0ZSwgc3RyaW5nXSB7XHJcbiAgICBsZXQgZGF0ZUZvcm1hdDogc3RyaW5nID0gdGhpcy5sYWJlbHMuZGF0ZUZvcm1hdFN0cmluZygpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdFJlZ2V4ID0gLyhcXHcrKVtcXC98XFwufFxcLV0oXFx3KylbXFwvfFxcLnxcXC1dKFxcdyspL2dpO1xyXG4gICAgY29uc3QgZGF0ZVZhbHVlUmVnZXggPSAvKFxcZCspW1xcL3xcXC58XFwtXShcXGQrKVtcXC98XFwufFxcLV0oXFxkKykvZ2k7XHJcbiAgICBsZXQgZGF0ZUZvcm1hdFRva2VuczogQXJyYXk8c3RyaW5nPjtcclxuICAgIGxldCBkYXRlVmFsdWVUb2tlbnM6IEFycmF5PHN0cmluZz47XHJcbiAgICBsZXQgeWVhcjogbnVtYmVyO1xyXG4gICAgbGV0IG1vbnRoOiBudW1iZXI7XHJcbiAgICBsZXQgZGF5OiBudW1iZXI7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAoSGVscGVycy5pc0VtcHR5KGRhdGVGb3JtYXQpKSB7XHJcbiAgICAgIC8vIERlZmF1bHQgdG8gTU0vZGQveXl5eVxyXG4gICAgICBkYXRlRm9ybWF0ID0gJ21tL2RkL3l5eXknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIGRhdGVGb3JtYXRUb2tlbnMgPSBkYXRlRm9ybWF0UmVnZXguZXhlYyhkYXRlRm9ybWF0KTtcclxuICAgIGRhdGVWYWx1ZVRva2VucyA9IGRhdGVWYWx1ZVJlZ2V4LmV4ZWMoZGF0ZVN0cmluZyk7XHJcbiAgICBpZiAoZGF0ZUZvcm1hdFRva2VucyAmJiBkYXRlRm9ybWF0VG9rZW5zLmxlbmd0aCA9PT0gNCAmJiBkYXRlVmFsdWVUb2tlbnMgJiYgZGF0ZVZhbHVlVG9rZW5zLmxlbmd0aCA9PT0gNCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IDQ7IGkrKykge1xyXG4gICAgICAgIGlmIChkYXRlRm9ybWF0VG9rZW5zW2ldLmluY2x1ZGVzKCdtJykpIHtcclxuICAgICAgICAgIG1vbnRoID0gcGFyc2VJbnQoZGF0ZVZhbHVlVG9rZW5zW2ldLCAxMCkgLSAxO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0ZUZvcm1hdFRva2Vuc1tpXS5pbmNsdWRlcygnZCcpKSB7XHJcbiAgICAgICAgICBkYXkgPSBwYXJzZUludChkYXRlVmFsdWVUb2tlbnNbaV0sIDEwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgeWVhciA9IHBhcnNlSW50KGRhdGVWYWx1ZVRva2Vuc1tpXSwgMTApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAobW9udGggPj0gMCAmJiBtb250aCA8PSAxMSAmJiB5ZWFyID4gMTkwMCAmJiBkYXkgPiAwICYmIGRheSA8PSAzMSkge1xyXG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChkYXRlRm9ybWF0VG9rZW5zICYmIGRhdGVGb3JtYXRUb2tlbnMubGVuZ3RoID09PSA0ICYmIGRhdGVTdHJpbmcubGVuZ3RoID49IDEpIHtcclxuICAgICAgY29uc3QgdHdvVG9rZW5zID0gL1xcZHsxLDR9KFxcL3xcXC58XFwtKShcXGR7MSwyfSkvLmV4ZWMoZGF0ZVN0cmluZyk7XHJcbiAgICAgIGNvbnN0IG9uZVRva2VuID0gL14oXFxkezEsNH0pJC8uZXhlYyhkYXRlU3RyaW5nKTtcclxuICAgICAgY29uc3QgZGVsaW1pdGVyID0gL1xcdysoXFwvfFxcLnxcXC0pXFx3K1tcXC98XFwufFxcLV1cXHcrL2dpLmV4ZWMoZGF0ZUZvcm1hdCk7XHJcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyID0gZGF0ZVN0cmluZ1tkYXRlU3RyaW5nLmxlbmd0aCAtIDFdLm1hdGNoKC9cXC98XFwufFxcLS8pO1xyXG4gICAgICBpZiAodHdvVG9rZW5zICYmIHR3b1Rva2Vucy5sZW5ndGggPT09IDMgJiYgdGhpcy5pc1ZhbGlkRGF0ZVBhcnQodHdvVG9rZW5zWzJdLCBkYXRlRm9ybWF0VG9rZW5zWzJdKSAmJiAhZGF0ZVN0cmluZ1dpdGhEZWxpbWl0ZXIpIHtcclxuICAgICAgICBkYXRlU3RyaW5nID0gYCR7ZGF0ZVN0cmluZ30ke2RlbGltaXRlclsxXX1gO1xyXG4gICAgICB9IGVsc2UgaWYgKG9uZVRva2VuICYmIG9uZVRva2VuLmxlbmd0aCA9PT0gMiAmJiB0aGlzLmlzVmFsaWREYXRlUGFydChvbmVUb2tlblsxXSwgZGF0ZUZvcm1hdFRva2Vuc1sxXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB7XHJcbiAgICAgICAgZGF0ZVN0cmluZyA9IGAke2RhdGVTdHJpbmd9JHtkZWxpbWl0ZXJbMV19YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtkYXRlLCBkYXRlU3RyaW5nXTtcclxuICB9XHJcblxyXG4gIHBhcnNlVGltZVN0cmluZyh0aW1lU3RyaW5nOiBzdHJpbmcsIG1pbGl0YXJ5VGltZTogYm9vbGVhbik6IFtEYXRlLCBzdHJpbmddIHtcclxuICAgIGNvbnN0IHZhbHVlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGxldCB0aW1lU3RyaW5nUGFydHM6IEFycmF5PHN0cmluZz47XHJcbiAgICBsZXQgYW1Gb3JtYXQgPSB0aGlzLmxhYmVscy50aW1lRm9ybWF0QU07XHJcbiAgICBsZXQgcG1Gb3JtYXQgPSB0aGlzLmxhYmVscy50aW1lRm9ybWF0UE07XHJcbiAgICBpZiAoISh0aW1lU3RyaW5nICYmIHRpbWVTdHJpbmcuaW5jbHVkZXMoJzonKSkpIHtcclxuICAgICAgcmV0dXJuIFt2YWx1ZSwgdGltZVN0cmluZ107XHJcbiAgICB9XHJcbiAgICBpZiAoIW1pbGl0YXJ5VGltZSAmJiBhbUZvcm1hdCAmJiBwbUZvcm1hdCkge1xyXG4gICAgICBsZXQgc3BsaXRzOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgICAgIGxldCBwbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICBhbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRBTS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB0aW1lU3RyaW5nID0gdGltZVN0cmluZy50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBpZiAodGltZVN0cmluZy5pbmNsdWRlcyhhbUZvcm1hdCkpIHtcclxuICAgICAgICBzcGxpdHMgPSB0aW1lU3RyaW5nLnNwbGl0KGFtRm9ybWF0KTtcclxuICAgICAgfSBlbHNlIGlmICh0aW1lU3RyaW5nLmluY2x1ZGVzKHBtRm9ybWF0KSkge1xyXG4gICAgICAgIHNwbGl0cyA9IHRpbWVTdHJpbmcuc3BsaXQocG1Gb3JtYXQpO1xyXG4gICAgICAgIHBtID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc3BsaXRzICYmIHNwbGl0cy5sZW5ndGgpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc3BsaXRzKSB7XHJcbiAgICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLnRyaW0oKS5pbmNsdWRlcygnOicpKSB7XHJcbiAgICAgICAgICAgIHRpbWVTdHJpbmdQYXJ0cyA9IGl0ZW0udHJpbSgpLnNwbGl0KCc6Jyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aW1lU3RyaW5nUGFydHMgJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCAmJiB0aW1lU3RyaW5nUGFydHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgbGV0IGhvdXJzOiBudW1iZXIgPSBwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMF0sIDEwKTtcclxuICAgICAgICBpZiAoaG91cnMgPT09IDEyICYmIHBtKSB7XHJcbiAgICAgICAgICBob3VycyA9IDEyO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocG0pIHtcclxuICAgICAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcclxuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzID09PSAxMikge1xyXG4gICAgICAgICAgaG91cnMgPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YWx1ZS5zZXRIb3Vycyhob3Vycyk7XHJcbiAgICAgICAgdmFsdWUuc2V0TWludXRlcyhwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMV0sIDEwKSk7XHJcbiAgICAgICAgdmFsdWUuc2V0U2Vjb25kcygwKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGltZVN0cmluZ1BhcnRzID0gLyhcXGR7MSwyfSk6KFxcZHsyfSkvLmV4ZWModGltZVN0cmluZyk7XHJcbiAgICAgIGlmICh0aW1lU3RyaW5nUGFydHMgJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCAmJiB0aW1lU3RyaW5nUGFydHMubGVuZ3RoID09PSAzKSB7XHJcbiAgICAgICAgdmFsdWUuc2V0SG91cnMocGFyc2VJbnQodGltZVN0cmluZ1BhcnRzWzFdLCAxMCkpO1xyXG4gICAgICAgIHZhbHVlLnNldE1pbnV0ZXMocGFyc2VJbnQodGltZVN0cmluZ1BhcnRzWzJdLCAxMCkpO1xyXG4gICAgICAgIHZhbHVlLnNldFNlY29uZHMoMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbdmFsdWUsIHRpbWVTdHJpbmddO1xyXG4gIH1cclxuXHJcbiAgcGFyc2VTdHJpbmcoZGF0ZVRpbWVTdHJpbmc6IHN0cmluZywgbWlsaXRhcnlUaW1lOiBib29sZWFuLCB0eXBlOiBzdHJpbmcpOiBbRGF0ZSwgc3RyaW5nXSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZXRpbWUnOlxyXG4gICAgICAgIGNvbnN0IHN0ciA9IGRhdGVUaW1lU3RyaW5nLnJlcGxhY2UoLy0vZywgJy8nKTtcclxuICAgICAgICBjb25zdCBwYXJ0cyA9IHN0ci5zcGxpdCgnICcpO1xyXG4gICAgICAgIGNvbnN0IFtkdCwgZHRzXSA9IHRoaXMucGFyc2VEYXRlU3RyaW5nKHBhcnRzWzBdKTtcclxuICAgICAgICBpZiAocGFydHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY29uc3QgW3RtLCB0bXNdID0gdGhpcy5wYXJzZVRpbWVTdHJpbmcocGFydHNbMV0sIG1pbGl0YXJ5VGltZSk7XHJcbiAgICAgICAgICByZXR1cm4gW25ldyBEYXRlKGR0LnNldEhvdXJzKHRtLmdldEhvdXJzKCksIHRtLmdldE1pbnV0ZXMoKSkpLCBgJHtkdHN9ICR7dG1zfWBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gW2R0LCBkdHNdO1xyXG4gICAgICBjYXNlICdkYXRlJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZURhdGVTdHJpbmcoZGF0ZVRpbWVTdHJpbmcpO1xyXG4gICAgICBjYXNlICd0aW1lJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVRpbWVTdHJpbmcoZGF0ZVRpbWVTdHJpbmcsIG1pbGl0YXJ5VGltZSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNWYWxpZERhdGVQYXJ0KHZhbHVlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkYXRlUGFydCA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XHJcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdtJykgJiYgKGRhdGVQYXJ0ID49IDIgfHwgdmFsdWUubGVuZ3RoID09PSAyKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCdkJykgJiYgKGRhdGVQYXJ0ID49IDQgfHwgdmFsdWUubGVuZ3RoID09PSAyKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCd5JykgJiYgZGF0ZVBhcnQgPj0gMTAwMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
1
+ // NG2
2
+ import { Injectable } from '@angular/core';
3
+ // APP
4
+ import { Helpers } from '../../utils/Helpers';
5
+ import { NovoLabelService } from '../../services/novo-label-service';
6
+ export class DateFormatService {
7
+ constructor(labels) {
8
+ this.labels = labels;
9
+ }
10
+ getTimeMask(militaryTime) {
11
+ let mask = [/\d/, /\d/, /:/, /\d/, /\d/];
12
+ let timeFormatArray = [];
13
+ const timeFormat = this.labels.timeFormatPlaceholderAM.toLowerCase();
14
+ if (militaryTime) {
15
+ return mask;
16
+ }
17
+ else {
18
+ timeFormatArray = timeFormat.split('hh:mm');
19
+ if (timeFormatArray && timeFormatArray.length) {
20
+ mask = [];
21
+ for (const timeFormatPart of timeFormatArray) {
22
+ if (timeFormatPart === '') {
23
+ mask = mask.concat([/\d/, /\d|:/, /:|\d/, /\d|\w|\s/, /\d|\s|\w/]);
24
+ }
25
+ else if (timeFormatPart.length) {
26
+ for (let i = 0; i < timeFormatPart.length; i++) {
27
+ mask.push(/\s|\w|\d|\./);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ return mask;
34
+ }
35
+ getDateMask() {
36
+ return [/\d/, /\d|\/|\.|\-/, /\/|\.|\-|\d/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d|\/|\.|\-/, /\d/, /\d/];
37
+ }
38
+ getDateTimeMask(militaryTime = false) {
39
+ return [...this.getDateMask(), /\,?/, /\s/, ...this.getTimeMask(militaryTime)];
40
+ }
41
+ getTimePlaceHolder(militaryTime) {
42
+ if (militaryTime) {
43
+ return this.labels.timeFormatPlaceholder24Hour;
44
+ }
45
+ return this.labels.timeFormatPlaceholderAM;
46
+ }
47
+ parseDateString(dateString) {
48
+ let dateFormat = this.labels.dateFormatString();
49
+ const dateFormatRegex = /(\w+)[\/|\.|\-](\w+)[\/|\.|\-](\w+)/gi;
50
+ const dateValueRegex = /(\d+)[\/|\.|\-](\d+)[\/|\.|\-](\d+)/gi;
51
+ let dateFormatTokens;
52
+ let dateValueTokens;
53
+ let year;
54
+ let month;
55
+ let day;
56
+ let date = new Date();
57
+ if (Helpers.isEmpty(dateFormat)) {
58
+ // Default to MM/dd/yyyy
59
+ dateFormat = 'mm/dd/yyyy';
60
+ }
61
+ else {
62
+ dateFormat = dateFormat.toLowerCase();
63
+ }
64
+ dateFormatTokens = dateFormatRegex.exec(dateFormat);
65
+ dateValueTokens = dateValueRegex.exec(dateString);
66
+ if (dateFormatTokens && dateFormatTokens.length === 4 && dateValueTokens && dateValueTokens.length === 4) {
67
+ for (let i = 1; i < 4; i++) {
68
+ if (dateFormatTokens[i].includes('m')) {
69
+ month = parseInt(dateValueTokens[i], 10) - 1;
70
+ }
71
+ else if (dateFormatTokens[i].includes('d')) {
72
+ day = parseInt(dateValueTokens[i], 10);
73
+ }
74
+ else {
75
+ year = parseInt(dateValueTokens[i], 10);
76
+ }
77
+ }
78
+ if (month >= 0 && month <= 11 && year > 1900 && day > 0 && day <= 31) {
79
+ date = new Date(year, month, day);
80
+ }
81
+ }
82
+ else if (dateFormatTokens && dateFormatTokens.length === 4 && dateString.length >= 1) {
83
+ const twoTokens = /\d{1,4}(\/|\.|\-)(\d{1,2})/.exec(dateString);
84
+ const oneToken = /^(\d{1,4})$/.exec(dateString);
85
+ const delimiter = /\w+(\/|\.|\-)\w+[\/|\.|\-]\w+/gi.exec(dateFormat);
86
+ const dateStringWithDelimiter = dateString[dateString.length - 1].match(/\/|\.|\-/);
87
+ if (twoTokens && twoTokens.length === 3 && this.isValidDatePart(twoTokens[2], dateFormatTokens[2]) && !dateStringWithDelimiter) {
88
+ dateString = `${dateString}${delimiter[1]}`;
89
+ }
90
+ else if (oneToken && oneToken.length === 2 && this.isValidDatePart(oneToken[1], dateFormatTokens[1]) && !dateStringWithDelimiter) {
91
+ dateString = `${dateString}${delimiter[1]}`;
92
+ }
93
+ }
94
+ return [date, dateString];
95
+ }
96
+ parseTimeString(timeString, militaryTime) {
97
+ const value = new Date();
98
+ let timeStringParts;
99
+ let amFormat = this.labels.timeFormatAM;
100
+ let pmFormat = this.labels.timeFormatPM;
101
+ if (!(timeString && timeString.includes(':'))) {
102
+ return [value, timeString];
103
+ }
104
+ if (!militaryTime && amFormat && pmFormat) {
105
+ let splits = [];
106
+ let pm = false;
107
+ amFormat = this.labels.timeFormatAM.toLowerCase();
108
+ pmFormat = this.labels.timeFormatPM.toLowerCase();
109
+ timeString = timeString.toLowerCase();
110
+ if (timeString.includes(amFormat)) {
111
+ splits = timeString.split(amFormat);
112
+ }
113
+ else if (timeString.includes(pmFormat)) {
114
+ splits = timeString.split(pmFormat);
115
+ pm = true;
116
+ }
117
+ if (splits && splits.length) {
118
+ for (const item of splits) {
119
+ if (item && item.trim().includes(':')) {
120
+ timeStringParts = item.trim().split(':');
121
+ }
122
+ }
123
+ }
124
+ if (timeStringParts && timeStringParts.length && timeStringParts.length === 2) {
125
+ let hours = parseInt(timeStringParts[0], 10);
126
+ if (hours === 12 && pm) {
127
+ hours = 12;
128
+ }
129
+ else if (pm) {
130
+ hours = hours + 12;
131
+ }
132
+ else if (hours === 12) {
133
+ hours = 0;
134
+ }
135
+ value.setHours(hours);
136
+ value.setMinutes(parseInt(timeStringParts[1], 10));
137
+ value.setSeconds(0);
138
+ }
139
+ }
140
+ else {
141
+ timeStringParts = /(\d{1,2}):(\d{2})/.exec(timeString);
142
+ if (timeStringParts && timeStringParts.length && timeStringParts.length === 3) {
143
+ value.setHours(parseInt(timeStringParts[1], 10));
144
+ value.setMinutes(parseInt(timeStringParts[2], 10));
145
+ value.setSeconds(0);
146
+ }
147
+ }
148
+ return [value, timeString];
149
+ }
150
+ parseString(dateTimeString, militaryTime, type) {
151
+ switch (type) {
152
+ case 'datetime':
153
+ const str = dateTimeString.replace(/-/g, '/');
154
+ const parts = str.split(' ');
155
+ const [dt, dts] = this.parseDateString(parts[0]);
156
+ if (parts.length > 1) {
157
+ const [tm, tms] = this.parseTimeString(parts[1], militaryTime);
158
+ return [new Date(dt.setHours(tm.getHours(), tm.getMinutes())), `${dts} ${tms}`];
159
+ }
160
+ return [dt, dts];
161
+ case 'date':
162
+ return this.parseDateString(dateTimeString);
163
+ case 'time':
164
+ return this.parseTimeString(dateTimeString, militaryTime);
165
+ default:
166
+ return;
167
+ }
168
+ }
169
+ isValidDatePart(value, format) {
170
+ const datePart = parseInt(value, 10);
171
+ if (format.includes('m') && (datePart >= 2 || value.length === 2)) {
172
+ return true;
173
+ }
174
+ else if (format.includes('d') && (datePart >= 4 || value.length === 2)) {
175
+ return true;
176
+ }
177
+ else if (format.includes('y') && datePart >= 1000) {
178
+ return true;
179
+ }
180
+ return false;
181
+ }
182
+ }
183
+ DateFormatService.decorators = [
184
+ { type: Injectable }
185
+ ];
186
+ DateFormatService.ctorParameters = () => [
187
+ { type: NovoLabelService }
188
+ ];
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9ub3ZvLWVsZW1lbnRzL25vdm8tZWxlbWVudHMvcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9kYXRlLWZvcm1hdC9EYXRlRm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE1BQU07QUFDTixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHckUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUFJLENBQUM7SUFFakQsV0FBVyxDQUFDLFlBQXFCO1FBQy9CLElBQUksSUFBSSxHQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLGVBQWUsR0FBa0IsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0UsSUFBSSxZQUFZLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDN0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDVixLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtvQkFDNUMsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFO3dCQUN6QixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FB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QUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUQ7Z0JBQ0UsT0FBTztTQUNWO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqRSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUF6S0YsVUFBVTs7O1lBRkYsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBBUFBcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi8uLi91dGlscy9IZWxwZXJzJztcbmltcG9ydCB7IE5vdm9MYWJlbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3ZvLWxhYmVsLXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1hdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhYmVsczogTm92b0xhYmVsU2VydmljZSkgeyB9XG5cbiAgZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lOiBib29sZWFuKTogQXJyYXk8UmVnRXhwPiB7XG4gICAgbGV0IG1hc2s6IEFycmF5PFJlZ0V4cD4gPSBbL1xcZC8sIC9cXGQvLCAvOi8sIC9cXGQvLCAvXFxkL107XG4gICAgbGV0IHRpbWVGb3JtYXRBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IHRpbWVGb3JtYXQ6IHN0cmluZyA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQbGFjZWhvbGRlckFNLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG1pbGl0YXJ5VGltZSkge1xuICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpbWVGb3JtYXRBcnJheSA9IHRpbWVGb3JtYXQuc3BsaXQoJ2hoOm1tJyk7XG4gICAgICBpZiAodGltZUZvcm1hdEFycmF5ICYmIHRpbWVGb3JtYXRBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgbWFzayA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRpbWVGb3JtYXRQYXJ0IG9mIHRpbWVGb3JtYXRBcnJheSkge1xuICAgICAgICAgIGlmICh0aW1lRm9ybWF0UGFydCA9PT0gJycpIHtcbiAgICAgICAgICAgIG1hc2sgPSBtYXNrLmNvbmNhdChbL1xcZC8sIC9cXGR8Oi8sIC86fFxcZC8sIC9cXGR8XFx3fFxccy8sIC9cXGR8XFxzfFxcdy9dKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpbWVGb3JtYXRQYXJ0Lmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lRm9ybWF0UGFydC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBtYXNrLnB1c2goL1xcc3xcXHd8XFxkfFxcLi8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFzaztcbiAgfVxuXG4gIGdldERhdGVNYXNrKCk6IEFycmF5PFJlZ0V4cD4ge1xuICAgIHJldHVybiBbL1xcZC8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFwvfFxcLnxcXC18XFxkLywgL1xcZHxcXC98XFwufFxcLS8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkfFxcL3xcXC58XFwtLywgL1xcZHxcXC98XFwufFxcLS8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkLywgL1xcZC9dO1xuICB9XG5cbiAgZ2V0RGF0ZVRpbWVNYXNrKG1pbGl0YXJ5VGltZTogYm9vbGVhbiA9IGZhbHNlKTogQXJyYXk8UmVnRXhwPiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLmdldERhdGVNYXNrKCksIC9cXCw/LywgL1xccy8sIC4uLnRoaXMuZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lKV07XG4gIH1cblxuICBnZXRUaW1lUGxhY2VIb2xkZXIobWlsaXRhcnlUaW1lOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBpZiAobWlsaXRhcnlUaW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyMjRIb3VyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyQU07XG4gIH1cblxuICBwYXJzZURhdGVTdHJpbmcoZGF0ZVN0cmluZzogc3RyaW5nKTogW0RhdGUsIHN0cmluZ10ge1xuICAgIGxldCBkYXRlRm9ybWF0OiBzdHJpbmcgPSB0aGlzLmxhYmVscy5kYXRlRm9ybWF0U3RyaW5nKCk7XG4gICAgY29uc3QgZGF0ZUZvcm1hdFJlZ2V4ID0gLyhcXHcrKVtcXC98XFwufFxcLV0oXFx3KylbXFwvfFxcLnxcXC1dKFxcdyspL2dpO1xuICAgIGNvbnN0IGRhdGVWYWx1ZVJlZ2V4ID0gLyhcXGQrKVtcXC98XFwufFxcLV0oXFxkKylbXFwvfFxcLnxcXC1dKFxcZCspL2dpO1xuICAgIGxldCBkYXRlRm9ybWF0VG9rZW5zOiBBcnJheTxzdHJpbmc+O1xuICAgIGxldCBkYXRlVmFsdWVUb2tlbnM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IHllYXI6IG51bWJlcjtcbiAgICBsZXQgbW9udGg6IG51bWJlcjtcbiAgICBsZXQgZGF5OiBudW1iZXI7XG4gICAgbGV0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGlmIChIZWxwZXJzLmlzRW1wdHkoZGF0ZUZvcm1hdCkpIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gTU0vZGQveXl5eVxuICAgICAgZGF0ZUZvcm1hdCA9ICdtbS9kZC95eXl5JztcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gICAgZGF0ZUZvcm1hdFRva2VucyA9IGRhdGVGb3JtYXRSZWdleC5leGVjKGRhdGVGb3JtYXQpO1xuICAgIGRhdGVWYWx1ZVRva2VucyA9IGRhdGVWYWx1ZVJlZ2V4LmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgaWYgKGRhdGVGb3JtYXRUb2tlbnMgJiYgZGF0ZUZvcm1hdFRva2Vucy5sZW5ndGggPT09IDQgJiYgZGF0ZVZhbHVlVG9rZW5zICYmIGRhdGVWYWx1ZVRva2Vucy5sZW5ndGggPT09IDQpIHtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgNDsgaSsrKSB7XG4gICAgICAgIGlmIChkYXRlRm9ybWF0VG9rZW5zW2ldLmluY2x1ZGVzKCdtJykpIHtcbiAgICAgICAgICBtb250aCA9IHBhcnNlSW50KGRhdGVWYWx1ZVRva2Vuc1tpXSwgMTApIC0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRlRm9ybWF0VG9rZW5zW2ldLmluY2x1ZGVzKCdkJykpIHtcbiAgICAgICAgICBkYXkgPSBwYXJzZUludChkYXRlVmFsdWVUb2tlbnNbaV0sIDEwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5ZWFyID0gcGFyc2VJbnQoZGF0ZVZhbHVlVG9rZW5zW2ldLCAxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtb250aCA+PSAwICYmIG1vbnRoIDw9IDExICYmIHllYXIgPiAxOTAwICYmIGRheSA+IDAgJiYgZGF5IDw9IDMxKSB7XG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRhdGVGb3JtYXRUb2tlbnMgJiYgZGF0ZUZvcm1hdFRva2Vucy5sZW5ndGggPT09IDQgJiYgZGF0ZVN0cmluZy5sZW5ndGggPj0gMSkge1xuICAgICAgY29uc3QgdHdvVG9rZW5zID0gL1xcZHsxLDR9KFxcL3xcXC58XFwtKShcXGR7MSwyfSkvLmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBvbmVUb2tlbiA9IC9eKFxcZHsxLDR9KSQvLmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBkZWxpbWl0ZXIgPSAvXFx3KyhcXC98XFwufFxcLSlcXHcrW1xcL3xcXC58XFwtXVxcdysvZ2kuZXhlYyhkYXRlRm9ybWF0KTtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyID0gZGF0ZVN0cmluZ1tkYXRlU3RyaW5nLmxlbmd0aCAtIDFdLm1hdGNoKC9cXC98XFwufFxcLS8pO1xuICAgICAgaWYgKHR3b1Rva2VucyAmJiB0d29Ub2tlbnMubGVuZ3RoID09PSAzICYmIHRoaXMuaXNWYWxpZERhdGVQYXJ0KHR3b1Rva2Vuc1syXSwgZGF0ZUZvcm1hdFRva2Vuc1syXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB7XG4gICAgICAgIGRhdGVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfSR7ZGVsaW1pdGVyWzFdfWA7XG4gICAgICB9IGVsc2UgaWYgKG9uZVRva2VuICYmIG9uZVRva2VuLmxlbmd0aCA9PT0gMiAmJiB0aGlzLmlzVmFsaWREYXRlUGFydChvbmVUb2tlblsxXSwgZGF0ZUZvcm1hdFRva2Vuc1sxXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB7XG4gICAgICAgIGRhdGVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfSR7ZGVsaW1pdGVyWzFdfWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbZGF0ZSwgZGF0ZVN0cmluZ107XG4gIH1cblxuICBwYXJzZVRpbWVTdHJpbmcodGltZVN0cmluZzogc3RyaW5nLCBtaWxpdGFyeVRpbWU6IGJvb2xlYW4pOiBbRGF0ZSwgc3RyaW5nXSB7XG4gICAgY29uc3QgdmFsdWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCB0aW1lU3RyaW5nUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IGFtRm9ybWF0ID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdEFNO1xuICAgIGxldCBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTTtcbiAgICBpZiAoISh0aW1lU3RyaW5nICYmIHRpbWVTdHJpbmcuaW5jbHVkZXMoJzonKSkpIHtcbiAgICAgIHJldHVybiBbdmFsdWUsIHRpbWVTdHJpbmddO1xuICAgIH1cbiAgICBpZiAoIW1pbGl0YXJ5VGltZSAmJiBhbUZvcm1hdCAmJiBwbUZvcm1hdCkge1xuICAgICAgbGV0IHNwbGl0czogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgbGV0IHBtOiBib29sZWFuID0gZmFsc2U7XG4gICAgICBhbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRBTS50b0xvd2VyQ2FzZSgpO1xuICAgICAgcG1Gb3JtYXQgPSB0aGlzLmxhYmVscy50aW1lRm9ybWF0UE0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHRpbWVTdHJpbmcgPSB0aW1lU3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodGltZVN0cmluZy5pbmNsdWRlcyhhbUZvcm1hdCkpIHtcbiAgICAgICAgc3BsaXRzID0gdGltZVN0cmluZy5zcGxpdChhbUZvcm1hdCk7XG4gICAgICB9IGVsc2UgaWYgKHRpbWVTdHJpbmcuaW5jbHVkZXMocG1Gb3JtYXQpKSB7XG4gICAgICAgIHNwbGl0cyA9IHRpbWVTdHJpbmcuc3BsaXQocG1Gb3JtYXQpO1xuICAgICAgICBwbSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoc3BsaXRzICYmIHNwbGl0cy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHNwbGl0cykge1xuICAgICAgICAgIGlmIChpdGVtICYmIGl0ZW0udHJpbSgpLmluY2x1ZGVzKCc6JykpIHtcbiAgICAgICAgICAgIHRpbWVTdHJpbmdQYXJ0cyA9IGl0ZW0udHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGltZVN0cmluZ1BhcnRzICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBsZXQgaG91cnM6IG51bWJlciA9IHBhcnNlSW50KHRpbWVTdHJpbmdQYXJ0c1swXSwgMTApO1xuICAgICAgICBpZiAoaG91cnMgPT09IDEyICYmIHBtKSB7XG4gICAgICAgICAgaG91cnMgPSAxMjtcbiAgICAgICAgfSBlbHNlIGlmIChwbSkge1xuICAgICAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICBob3VycyA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuc2V0SG91cnMoaG91cnMpO1xuICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHBhcnNlSW50KHRpbWVTdHJpbmdQYXJ0c1sxXSwgMTApKTtcbiAgICAgICAgdmFsdWUuc2V0U2Vjb25kcygwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGltZVN0cmluZ1BhcnRzID0gLyhcXGR7MSwyfSk6KFxcZHsyfSkvLmV4ZWModGltZVN0cmluZyk7XG4gICAgICBpZiAodGltZVN0cmluZ1BhcnRzICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICB2YWx1ZS5zZXRIb3VycyhwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMV0sIDEwKSk7XG4gICAgICAgIHZhbHVlLnNldE1pbnV0ZXMocGFyc2VJbnQodGltZVN0cmluZ1BhcnRzWzJdLCAxMCkpO1xuICAgICAgICB2YWx1ZS5zZXRTZWNvbmRzKDApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW3ZhbHVlLCB0aW1lU3RyaW5nXTtcbiAgfVxuXG4gIHBhcnNlU3RyaW5nKGRhdGVUaW1lU3RyaW5nOiBzdHJpbmcsIG1pbGl0YXJ5VGltZTogYm9vbGVhbiwgdHlwZTogc3RyaW5nKTogW0RhdGUsIHN0cmluZ10ge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnZGF0ZXRpbWUnOlxuICAgICAgICBjb25zdCBzdHIgPSBkYXRlVGltZVN0cmluZy5yZXBsYWNlKC8tL2csICcvJyk7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gc3RyLnNwbGl0KCcgJyk7XG4gICAgICAgIGNvbnN0IFtkdCwgZHRzXSA9IHRoaXMucGFyc2VEYXRlU3RyaW5nKHBhcnRzWzBdKTtcbiAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBjb25zdCBbdG0sIHRtc10gPSB0aGlzLnBhcnNlVGltZVN0cmluZyhwYXJ0c1sxXSwgbWlsaXRhcnlUaW1lKTtcbiAgICAgICAgICByZXR1cm4gW25ldyBEYXRlKGR0LnNldEhvdXJzKHRtLmdldEhvdXJzKCksIHRtLmdldE1pbnV0ZXMoKSkpLCBgJHtkdHN9ICR7dG1zfWBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbZHQsIGR0c107XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VEYXRlU3RyaW5nKGRhdGVUaW1lU3RyaW5nKTtcbiAgICAgIGNhc2UgJ3RpbWUnOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVRpbWVTdHJpbmcoZGF0ZVRpbWVTdHJpbmcsIG1pbGl0YXJ5VGltZSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZERhdGVQYXJ0KHZhbHVlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGF0ZVBhcnQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgIGlmIChmb3JtYXQuaW5jbHVkZXMoJ20nKSAmJiAoZGF0ZVBhcnQgPj0gMiB8fCB2YWx1ZS5sZW5ndGggPT09IDIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygnZCcpICYmIChkYXRlUGFydCA+PSA0IHx8IHZhbHVlLmxlbmd0aCA9PT0gMikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0LmluY2x1ZGVzKCd5JykgJiYgZGF0ZVBhcnQgPj0gMTAwMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19