@colijnit/sharedcomponents 1.0.56 → 1.0.57

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 (594) hide show
  1. package/README.md +8 -11
  2. package/bundles/colijnit-sharedcomponents.umd.js +6748 -0
  3. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -0
  4. package/colijnit-sharedcomponents.d.ts +74 -0
  5. package/colijnit-sharedcomponents.metadata.json +1 -0
  6. package/esm2015/colijnit-sharedcomponents.js +75 -0
  7. package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
  8. package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -0
  9. package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -0
  10. package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -0
  11. package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -0
  12. package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -0
  13. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -0
  14. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -0
  15. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -0
  16. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -0
  17. package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -0
  18. package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -0
  19. package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -0
  20. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -0
  21. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -0
  22. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -0
  23. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -0
  24. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -0
  25. package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -0
  26. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -0
  27. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -0
  28. package/esm2015/lib/components/date-planning/date-planning.component.js +113 -0
  29. package/esm2015/lib/components/date-planning/date-planning.module.js +63 -0
  30. package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -0
  31. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -0
  32. package/esm2015/lib/components/docsign/docsign.component.js +242 -0
  33. package/esm2015/lib/components/docsign/docsign.module.js +23 -0
  34. package/esm2015/lib/components/key-pad/key-pad.component.js +200 -0
  35. package/esm2015/lib/components/key-pad/key-pad.module.js +22 -0
  36. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -0
  37. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -0
  38. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -0
  39. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -0
  40. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -0
  41. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -0
  42. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -0
  43. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -0
  44. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -0
  45. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -0
  46. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -0
  47. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -0
  48. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -0
  49. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -0
  50. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -0
  51. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -0
  52. package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -0
  53. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -0
  54. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -0
  55. package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -0
  56. package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -0
  57. package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -0
  58. package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -0
  59. package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -0
  60. package/esm2015/lib/components/statusbar/statusbar.component.js +81 -0
  61. package/esm2015/lib/components/statusbar/statusbar.module.js +27 -0
  62. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -0
  63. package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -0
  64. package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -0
  65. package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -0
  66. package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -0
  67. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -0
  68. package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -0
  69. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +240 -0
  70. package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -0
  71. package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +41 -0
  72. package/esm2015/lib/components/stock/localization/translation.js +63 -0
  73. package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -0
  74. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +48 -0
  75. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -0
  76. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +241 -0
  77. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
  78. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -0
  79. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +149 -0
  80. package/esm2015/lib/components/stock/stock.component.js +193 -0
  81. package/esm2015/lib/components/stock/stock.module.js +80 -0
  82. package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -0
  83. package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -0
  84. package/esm2015/lib/components/tab-bar/tab-bar.component.js +88 -0
  85. package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -0
  86. package/esm2015/lib/components/tab-bar/tab.interface.js +2 -0
  87. package/esm2015/lib/enum/calendar-view.enum.js +9 -0
  88. package/esm2015/lib/enum/gauge-color.enum.js +10 -0
  89. package/esm2015/lib/enum/icon.enum.js +38 -0
  90. package/esm2015/lib/enum/keyboard-code.enum.js +32 -0
  91. package/esm2015/lib/enum/language-code.enum.js +8 -0
  92. package/esm2015/lib/enum/month.enum.js +17 -0
  93. package/esm2015/lib/enum/thumb-three-way-state.js +19 -0
  94. package/esm2015/lib/enum/time-period.enum.js +11 -0
  95. package/esm2015/lib/localization/localization.module.js +19 -0
  96. package/esm2015/lib/localization/localize.pipe.js +26 -0
  97. package/esm2015/lib/localization/localize.service.js +30 -0
  98. package/esm2015/lib/localization/translation.js +3 -0
  99. package/esm2015/lib/model/agenda-event-per-day.model.js +6 -0
  100. package/esm2015/lib/model/agenda-event.model.js +8 -0
  101. package/esm2015/lib/model/agenda-null-objects.js +11 -0
  102. package/esm2015/lib/model/constant/all-months.js +17 -0
  103. package/esm2015/lib/model/date-range.js +5 -0
  104. package/esm2015/lib/model/day.model.js +7 -0
  105. package/esm2015/lib/model/icon-svg.js +37 -0
  106. package/esm2015/lib/model/month.model.js +11 -0
  107. package/esm2015/lib/model/send-method.js +8 -0
  108. package/esm2015/lib/model/settings.js +4 -0
  109. package/esm2015/lib/model/time-window.bo.js +26 -0
  110. package/esm2015/lib/model/week.model.js +6 -0
  111. package/esm2015/lib/model/weekday.model.js +10 -0
  112. package/esm2015/lib/pipe/array-number.pipe.js +15 -0
  113. package/esm2015/lib/pipe/master-pipes.js +7 -0
  114. package/esm2015/lib/pipe/ucfirst.pipe.js +16 -0
  115. package/esm2015/lib/service/dictionary.service.js +76 -0
  116. package/esm2015/lib/service/icon-cache.service.js +51 -0
  117. package/esm2015/lib/service/options.service.js +48 -0
  118. package/esm2015/lib/service/shared-connector.service.js +424 -0
  119. package/esm2015/lib/service/shared.service.js +60 -0
  120. package/esm2015/lib/service/stock.service.js +110 -0
  121. package/esm2015/lib/utils/calendar.utils.js +68 -0
  122. package/esm2015/lib/utils/date-utils.js +264 -0
  123. package/esm2015/lib/utils/function/not-nill.function.js +5 -0
  124. package/esm2015/lib/utils/map-utils.js +41 -0
  125. package/esm2015/lib/utils/string-utils.js +64 -0
  126. package/esm2015/public-api.js +27 -0
  127. package/fesm2015/colijnit-sharedcomponents.js +7033 -0
  128. package/fesm2015/colijnit-sharedcomponents.js.map +1 -0
  129. package/lib/assets/dictionary/text.properties.d.ts +3 -0
  130. package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -0
  131. package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -0
  132. package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -0
  133. package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -0
  134. package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -0
  135. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -0
  136. package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -0
  137. package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -0
  138. package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -0
  139. package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -0
  140. package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -0
  141. package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -0
  142. package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -0
  143. package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -0
  144. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -0
  145. package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -0
  146. package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -0
  147. package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -0
  148. package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -0
  149. package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -0
  150. package/lib/components/date-planning/date-planning.component.d.ts +28 -0
  151. package/lib/components/date-planning/date-planning.module.d.ts +2 -0
  152. package/lib/components/docsign/component/signature/signature.component.d.ts +16 -0
  153. package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -0
  154. package/lib/components/docsign/docsign.component.d.ts +94 -0
  155. package/lib/components/docsign/docsign.module.d.ts +2 -0
  156. package/lib/components/key-pad/key-pad.component.d.ts +38 -0
  157. package/lib/components/key-pad/key-pad.module.d.ts +2 -0
  158. package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -0
  159. package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -0
  160. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -0
  161. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -0
  162. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -0
  163. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -0
  164. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -0
  165. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -0
  166. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -0
  167. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -0
  168. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -0
  169. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -0
  170. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -0
  171. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -0
  172. package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -0
  173. package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -0
  174. package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -0
  175. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -0
  176. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
  177. package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -0
  178. package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -0
  179. package/lib/components/simple-tags/simple-tags.component.d.ts +31 -0
  180. package/lib/components/simple-tags/simple-tags.module.d.ts +2 -0
  181. package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -0
  182. package/lib/components/statusbar/statusbar.component.d.ts +26 -0
  183. package/lib/components/statusbar/statusbar.module.d.ts +2 -0
  184. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -0
  185. package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -0
  186. package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -0
  187. package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -0
  188. package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -0
  189. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -0
  190. package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -0
  191. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +50 -0
  192. package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -0
  193. package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +9 -0
  194. package/lib/components/stock/localization/translation.d.ts +60 -0
  195. package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -0
  196. package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -0
  197. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -0
  198. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +56 -0
  199. package/{projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts → lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts} +2 -2
  200. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -0
  201. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +42 -0
  202. package/lib/components/stock/stock.component.d.ts +57 -0
  203. package/lib/components/stock/stock.module.d.ts +2 -0
  204. package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -0
  205. package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -0
  206. package/lib/components/tab-bar/tab-bar.component.d.ts +21 -0
  207. package/lib/components/tab-bar/tab-bar.module.d.ts +2 -0
  208. package/lib/components/tab-bar/tab.interface.d.ts +5 -0
  209. package/{projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts → lib/enum/calendar-view.enum.d.ts} +2 -3
  210. package/lib/enum/gauge-color.enum.d.ts +8 -0
  211. package/{projects/sharedcomponents/src/lib/enum/icon.enum.ts → lib/enum/icon.enum.d.ts} +2 -3
  212. package/lib/enum/keyboard-code.enum.d.ts +30 -0
  213. package/lib/enum/language-code.enum.d.ts +6 -0
  214. package/{projects/sharedcomponents/src/lib/enum/month.enum.ts → lib/enum/month.enum.d.ts} +1 -2
  215. package/lib/enum/thumb-three-way-state.d.ts +6 -0
  216. package/{projects/sharedcomponents/src/lib/enum/time-period.enum.ts → lib/enum/time-period.enum.d.ts} +1 -2
  217. package/lib/localization/localization.module.d.ts +2 -0
  218. package/lib/localization/localize.pipe.d.ts +7 -0
  219. package/lib/localization/localize.service.d.ts +7 -0
  220. package/lib/localization/translation.d.ts +2 -0
  221. package/lib/model/agenda-event-per-day.model.d.ts +5 -0
  222. package/lib/model/agenda-event.model.d.ts +17 -0
  223. package/lib/model/agenda-null-objects.d.ts +10 -0
  224. package/lib/model/constant/all-months.d.ts +2 -0
  225. package/lib/model/date-range.d.ts +7 -0
  226. package/lib/model/day.model.d.ts +8 -0
  227. package/lib/model/icon-svg.d.ts +4 -0
  228. package/lib/model/month.model.d.ts +5 -0
  229. package/lib/model/send-method.d.ts +7 -0
  230. package/lib/model/settings.d.ts +3 -0
  231. package/lib/model/time-window.bo.d.ts +13 -0
  232. package/lib/model/week.model.d.ts +4 -0
  233. package/lib/model/weekday.model.d.ts +16 -0
  234. package/lib/pipe/array-number.pipe.d.ts +4 -0
  235. package/lib/pipe/master-pipes.d.ts +1 -0
  236. package/lib/pipe/ucfirst.pipe.d.ts +4 -0
  237. package/lib/service/dictionary.service.d.ts +21 -0
  238. package/lib/service/icon-cache.service.d.ts +18 -0
  239. package/lib/service/options.service.d.ts +13 -0
  240. package/lib/service/shared-connector.service.d.ts +53 -0
  241. package/lib/service/shared.service.d.ts +18 -0
  242. package/lib/service/stock.service.d.ts +41 -0
  243. package/lib/utils/calendar.utils.d.ts +10 -0
  244. package/lib/utils/date-utils.d.ts +44 -0
  245. package/lib/utils/function/not-nill.function.d.ts +1 -0
  246. package/lib/utils/map-utils.d.ts +16 -0
  247. package/lib/utils/string-utils.d.ts +22 -0
  248. package/package.json +31 -68
  249. package/{projects/sharedcomponents/src/public-api.ts → public-api.d.ts} +0 -4
  250. package/.browserslistrc +0 -16
  251. package/.editorconfig +0 -16
  252. package/.vscode/extensions.json +0 -4
  253. package/.vscode/launch.json +0 -20
  254. package/.vscode/tasks.json +0 -42
  255. package/Sharedcomponents.iml +0 -11
  256. package/angular.json +0 -177
  257. package/custom-login-bundle.webpack.config.js +0 -3
  258. package/karma.conf.js +0 -44
  259. package/move-assets.js +0 -14
  260. package/projects/sharedcomponents/.browserslistrc +0 -16
  261. package/projects/sharedcomponents/README.md +0 -24
  262. package/projects/sharedcomponents/karma.conf.js +0 -44
  263. package/projects/sharedcomponents/ng-package.json +0 -17
  264. package/projects/sharedcomponents/package.json +0 -23
  265. package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +0 -8
  266. package/projects/sharedcomponents/src/lib/assets/icons/account.svg +0 -1
  267. package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +0 -1
  268. package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +0 -1
  269. package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +0 -1
  270. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +0 -8
  271. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +0 -4
  272. package/projects/sharedcomponents/src/lib/assets/icons/at_solid.svg +0 -1
  273. package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +0 -1
  274. package/projects/sharedcomponents/src/lib/assets/icons/check_duotone.svg +0 -1
  275. package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +0 -1
  276. package/projects/sharedcomponents/src/lib/assets/icons/cross_skinny.svg +0 -1
  277. package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +0 -1
  278. package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +0 -12
  279. package/projects/sharedcomponents/src/lib/assets/icons/email.svg +0 -5
  280. package/projects/sharedcomponents/src/lib/assets/icons/envelope_regular.svg +0 -1
  281. package/projects/sharedcomponents/src/lib/assets/icons/eye_regular.svg +0 -1
  282. package/projects/sharedcomponents/src/lib/assets/icons/file_export_regular.svg +0 -1
  283. package/projects/sharedcomponents/src/lib/assets/icons/file_export_solid.svg +0 -1
  284. package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_regular.svg +0 -1
  285. package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_solid.svg +0 -1
  286. package/projects/sharedcomponents/src/lib/assets/icons/file_signature_regular.svg +0 -1
  287. package/projects/sharedcomponents/src/lib/assets/icons/house_blank_regular.svg +0 -1
  288. package/projects/sharedcomponents/src/lib/assets/icons/lock.svg +0 -1
  289. package/projects/sharedcomponents/src/lib/assets/icons/message_sms_regular.svg +0 -1
  290. package/projects/sharedcomponents/src/lib/assets/icons/message_sms_solid.svg +0 -1
  291. package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +0 -15
  292. package/projects/sharedcomponents/src/lib/assets/icons/print.svg +0 -10
  293. package/projects/sharedcomponents/src/lib/assets/icons/print_regular.svg +0 -1
  294. package/projects/sharedcomponents/src/lib/assets/icons/print_solid.svg +0 -1
  295. package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +0 -9
  296. package/projects/sharedcomponents/src/lib/assets/icons/tag_regular.svg +0 -1
  297. package/projects/sharedcomponents/src/lib/assets/icons/x_solid.svg +0 -1
  298. package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +0 -1
  299. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +0 -68
  300. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +0 -35
  301. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +0 -73
  302. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +0 -53
  303. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +0 -81
  304. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +0 -275
  305. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +0 -38
  306. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +0 -50
  307. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +0 -46
  308. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +0 -65
  309. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts +0 -39
  310. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +0 -41
  311. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +0 -63
  312. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +0 -50
  313. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts +0 -43
  314. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +0 -37
  315. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +0 -52
  316. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +0 -123
  317. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +0 -200
  318. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +0 -35
  319. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +0 -141
  320. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +0 -61
  321. package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +0 -82
  322. package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +0 -50
  323. package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +0 -270
  324. package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +0 -22
  325. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +0 -216
  326. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +0 -20
  327. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +0 -98
  328. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +0 -21
  329. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +0 -57
  330. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +0 -17
  331. package/projects/sharedcomponents/src/lib/components/login/components/login-base.component.ts +0 -98
  332. package/projects/sharedcomponents/src/lib/components/login/components/login-change-password.component.ts +0 -194
  333. package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-entry.component.ts +0 -41
  334. package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-setup.component.ts +0 -44
  335. package/projects/sharedcomponents/src/lib/components/login/components/login-username-password.component.ts +0 -167
  336. package/projects/sharedcomponents/src/lib/components/login/localization/login-translation.ts +0 -15
  337. package/projects/sharedcomponents/src/lib/components/login/login.component.ts +0 -137
  338. package/projects/sharedcomponents/src/lib/components/login/login.module.ts +0 -53
  339. package/projects/sharedcomponents/src/lib/components/login/service/login-adapter.service.ts +0 -58
  340. package/projects/sharedcomponents/src/lib/components/login/service/login.service.ts +0 -50
  341. package/projects/sharedcomponents/src/lib/components/screen-config-generator/enums/field-type.enum.ts +0 -9
  342. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Config.ts +0 -6
  343. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Field.ts +0 -8
  344. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Header.ts +0 -8
  345. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Module.ts +0 -6
  346. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Rubric.ts +0 -10
  347. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/ScreenConfig.ts +0 -9
  348. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubCat.ts +0 -9
  349. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubRubric.ts +0 -8
  350. package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.component.ts +0 -539
  351. package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.module.ts +0 -21
  352. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts +0 -91
  353. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts +0 -19
  354. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts +0 -84
  355. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts +0 -19
  356. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts +0 -63
  357. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts +0 -24
  358. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts +0 -38
  359. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts +0 -21
  360. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts +0 -60
  361. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts +0 -26
  362. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts +0 -42
  363. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts +0 -19
  364. package/projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts +0 -9
  365. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +0 -325
  366. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +0 -32
  367. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-params.interface.ts +0 -13
  368. package/projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts +0 -63
  369. package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts +0 -243
  370. package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts +0 -24
  371. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts +0 -100
  372. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +0 -107
  373. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +0 -25
  374. package/projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts +0 -45
  375. package/projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts +0 -45
  376. package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts +0 -45
  377. package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts +0 -43
  378. package/projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts +0 -45
  379. package/projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts +0 -71
  380. package/projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts +0 -52
  381. package/projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts +0 -276
  382. package/projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts +0 -49
  383. package/projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts +0 -40
  384. package/projects/sharedcomponents/src/lib/components/stock/localization/translation.ts +0 -60
  385. package/projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts +0 -32
  386. package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +0 -56
  387. package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +0 -500
  388. package/projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts +0 -276
  389. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +0 -77
  390. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +0 -178
  391. package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +0 -228
  392. package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +0 -97
  393. package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts +0 -23
  394. package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts +0 -17
  395. package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts +0 -106
  396. package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts +0 -20
  397. package/projects/sharedcomponents/src/lib/components/tab-bar/tab.interface.ts +0 -5
  398. package/projects/sharedcomponents/src/lib/components/tags/component/tag-join-label/tag-join-label.component.ts +0 -61
  399. package/projects/sharedcomponents/src/lib/components/tags/component/tag-label/tag-label.component.ts +0 -47
  400. package/projects/sharedcomponents/src/lib/components/tags/component/treeview/model/tree-view-node-item.ts +0 -132
  401. package/projects/sharedcomponents/src/lib/components/tags/component/treeview/treeview.component.ts +0 -258
  402. package/projects/sharedcomponents/src/lib/components/tags/tags.component.ts +0 -192
  403. package/projects/sharedcomponents/src/lib/components/tags/tags.module.ts +0 -27
  404. package/projects/sharedcomponents/src/lib/directives/click-outside.directive.ts +0 -25
  405. package/projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts +0 -8
  406. package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +0 -30
  407. package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +0 -6
  408. package/projects/sharedcomponents/src/lib/enum/login-component-extra-action-type.enum.ts +0 -4
  409. package/projects/sharedcomponents/src/lib/enum/login-component-page.type.enum.ts +0 -6
  410. package/projects/sharedcomponents/src/lib/enum/login-component-query-variables-name.enum.ts +0 -5
  411. package/projects/sharedcomponents/src/lib/enum/tag-category.enum.ts +0 -20
  412. package/projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts +0 -18
  413. package/projects/sharedcomponents/src/lib/localization/localization.module.ts +0 -17
  414. package/projects/sharedcomponents/src/lib/localization/localize.pipe.ts +0 -21
  415. package/projects/sharedcomponents/src/lib/localization/localize.service.ts +0 -28
  416. package/projects/sharedcomponents/src/lib/localization/translation.ts +0 -2
  417. package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +0 -6
  418. package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +0 -19
  419. package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +0 -11
  420. package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +0 -17
  421. package/projects/sharedcomponents/src/lib/model/date-range.ts +0 -10
  422. package/projects/sharedcomponents/src/lib/model/day.model.ts +0 -9
  423. package/projects/sharedcomponents/src/lib/model/icon-svg.ts +0 -37
  424. package/projects/sharedcomponents/src/lib/model/month.model.ts +0 -11
  425. package/projects/sharedcomponents/src/lib/model/send-method.ts +0 -13
  426. package/projects/sharedcomponents/src/lib/model/settings.ts +0 -5
  427. package/projects/sharedcomponents/src/lib/model/tag-tree-item.bo.ts +0 -28
  428. package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +0 -21
  429. package/projects/sharedcomponents/src/lib/model/tree-object.ts +0 -13
  430. package/projects/sharedcomponents/src/lib/model/tree-view-default.model.ts +0 -107
  431. package/projects/sharedcomponents/src/lib/model/tree-view-node-default.model.ts +0 -196
  432. package/projects/sharedcomponents/src/lib/model/tree-view-node-item-options.model.ts +0 -12
  433. package/projects/sharedcomponents/src/lib/model/tree-view-node.model.ts +0 -150
  434. package/projects/sharedcomponents/src/lib/model/tree-view.model.ts +0 -57
  435. package/projects/sharedcomponents/src/lib/model/week.model.ts +0 -5
  436. package/projects/sharedcomponents/src/lib/model/weekday.model.ts +0 -17
  437. package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +0 -14
  438. package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +0 -7
  439. package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +0 -14
  440. package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +0 -86
  441. package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +0 -51
  442. package/projects/sharedcomponents/src/lib/service/options.service.ts +0 -43
  443. package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +0 -401
  444. package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +0 -29
  445. package/projects/sharedcomponents/src/lib/service/shared.service.ts +0 -49
  446. package/projects/sharedcomponents/src/lib/service/stock.service.ts +0 -124
  447. package/projects/sharedcomponents/src/lib/utils/array-utils.ts +0 -225
  448. package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +0 -75
  449. package/projects/sharedcomponents/src/lib/utils/check-precision-and-scale-result.ts +0 -5
  450. package/projects/sharedcomponents/src/lib/utils/check-within-stepped-bounds-result.ts +0 -8
  451. package/projects/sharedcomponents/src/lib/utils/css-utils.ts +0 -275
  452. package/projects/sharedcomponents/src/lib/utils/date-utils.ts +0 -302
  453. package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +0 -4
  454. package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +0 -4
  455. package/projects/sharedcomponents/src/lib/utils/map-utils.ts +0 -44
  456. package/projects/sharedcomponents/src/lib/utils/number-utils.ts +0 -439
  457. package/projects/sharedcomponents/src/lib/utils/object-utils.ts +0 -310
  458. package/projects/sharedcomponents/src/lib/utils/string-utils.ts +0 -67
  459. package/projects/sharedcomponents/src/lib/utils/tree-utils.ts +0 -63
  460. package/projects/sharedcomponents/src/test.ts +0 -27
  461. package/projects/sharedcomponents/tsconfig.lib.json +0 -18
  462. package/projects/sharedcomponents/tsconfig.lib.prod.json +0 -10
  463. package/projects/sharedcomponents/tsconfig.spec.json +0 -17
  464. package/script/create-bundle-version.js +0 -19
  465. package/script/merge-icons.js +0 -39
  466. package/src/app/app.component.scss +0 -31
  467. package/src/app/app.component.spec.ts +0 -31
  468. package/src/app/app.component.ts +0 -454
  469. package/src/app/app.module.ts +0 -69
  470. package/src/app/bundle/index.html +0 -14
  471. package/src/app/bundle/login/login-bundle.component.scss +0 -6
  472. package/src/app/bundle/login/login-bundle.component.ts +0 -111
  473. package/src/app/bundle/login/login-bundle.module.ts +0 -30
  474. package/src/app/bundle/main-login-bundle.ts +0 -11
  475. package/src/app/bundle/polyfills.ts +0 -63
  476. package/src/app/test-data.service.ts +0 -60
  477. package/src/assets/.gitkeep +0 -0
  478. package/src/environments/environment.bundle.prod.ts +0 -3
  479. package/src/environments/environment.prod.ts +0 -3
  480. package/src/environments/environment.ts +0 -16
  481. package/src/favicon.ico +0 -0
  482. package/src/index.html +0 -13
  483. package/src/main.ts +0 -12
  484. package/src/polyfills.ts +0 -53
  485. package/src/styles.scss +0 -54
  486. package/src/test.ts +0 -26
  487. package/tsconfig.app.json +0 -15
  488. package/tsconfig.bundle.json +0 -38
  489. package/tsconfig.json +0 -64
  490. package/tsconfig.spec.json +0 -18
  491. package/webpack.login.bundle.config.js +0 -32
  492. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_layout.scss +0 -0
  493. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_material-definition.scss +0 -0
  494. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
  495. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/material.scss +0 -0
  496. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
  497. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
  498. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
  499. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/material.scss +0 -0
  500. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_layout.scss +0 -0
  501. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_material-definition.scss +0 -0
  502. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_theme.scss +0 -0
  503. /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/material.scss +0 -0
  504. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_layout.scss +0 -0
  505. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
  506. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_theme.scss +0 -0
  507. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/material.scss +0 -0
  508. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
  509. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
  510. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
  511. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/material.scss +0 -0
  512. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_layout.scss +0 -0
  513. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_material-definition.scss +0 -0
  514. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_theme.scss +0 -0
  515. /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/material.scss +0 -0
  516. /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_layout.scss +0 -0
  517. /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_material-definition.scss +0 -0
  518. /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_theme.scss +0 -0
  519. /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/material.scss +0 -0
  520. /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_layout.scss +0 -0
  521. /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_material-definition.scss +0 -0
  522. /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_theme.scss +0 -0
  523. /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/material.scss +0 -0
  524. /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_layout.scss +0 -0
  525. /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_material-definition.scss +0 -0
  526. /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_theme.scss +0 -0
  527. /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/material.scss +0 -0
  528. /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_layout.scss +0 -0
  529. /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_material-definition.scss +0 -0
  530. /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_theme.scss +0 -0
  531. /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/material.scss +0 -0
  532. /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/_layout.scss +0 -0
  533. /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/_material-definition.scss +0 -0
  534. /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/_theme.scss +0 -0
  535. /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/material.scss +0 -0
  536. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_layout.scss +0 -0
  537. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +0 -0
  538. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_theme.scss +0 -0
  539. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/material.scss +0 -0
  540. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_layout.scss +0 -0
  541. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +0 -0
  542. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_theme.scss +0 -0
  543. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/material.scss +0 -0
  544. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_layout.scss +0 -0
  545. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +0 -0
  546. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_theme.scss +0 -0
  547. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/material.scss +0 -0
  548. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +0 -0
  549. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +0 -0
  550. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +0 -0
  551. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/material.scss +0 -0
  552. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_layout.scss +0 -0
  553. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +0 -0
  554. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_theme.scss +0 -0
  555. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/material.scss +0 -0
  556. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_layout.scss +0 -0
  557. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_material-definition.scss +0 -0
  558. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_theme.scss +0 -0
  559. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/material.scss +0 -0
  560. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_layout.scss +0 -0
  561. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
  562. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_theme.scss +0 -0
  563. /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/material.scss +0 -0
  564. /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_layout.scss +0 -0
  565. /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_material-definition.scss +0 -0
  566. /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_theme.scss +0 -0
  567. /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/material.scss +0 -0
  568. /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_layout.scss +0 -0
  569. /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_material-definition.scss +0 -0
  570. /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_theme.scss +0 -0
  571. /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/material.scss +0 -0
  572. /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_layout.scss +0 -0
  573. /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_material-definition.scss +0 -0
  574. /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_theme.scss +0 -0
  575. /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/material.scss +0 -0
  576. /package/{projects/sharedcomponents/src/lib → lib}/components/stock-statusbar/style/_layout.scss +0 -0
  577. /package/{projects/sharedcomponents/src/lib → lib}/components/stock-statusbar/style/_material-definition.scss +0 -0
  578. /package/{projects/sharedcomponents/src/lib → lib}/components/stock-statusbar/style/_theme.scss +0 -0
  579. /package/{projects/sharedcomponents/src/lib → lib}/components/stock-statusbar/style/material.scss +0 -0
  580. /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/_layout.scss +0 -0
  581. /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/_material-definition.scss +0 -0
  582. /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/_theme.scss +0 -0
  583. /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/material.scss +0 -0
  584. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_layout.scss +0 -0
  585. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_material-definition.scss +0 -0
  586. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_theme.scss +0 -0
  587. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/material.scss +0 -0
  588. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_layout.scss +0 -0
  589. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_material-definition.scss +0 -0
  590. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_theme.scss +0 -0
  591. /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/material.scss +0 -0
  592. /package/{projects/sharedcomponents/src/lib → lib}/style/_mixin.scss +0 -0
  593. /package/{projects/sharedcomponents/src/lib → lib}/style/_variables.scss +0 -0
  594. /package/{projects/sharedcomponents/src/lib → lib}/style/sharedcomponents-globals.scss +0 -0
@@ -0,0 +1,110 @@
1
+ import { __awaiter } from "tslib";
2
+ import { EventEmitter, Injectable } from "@angular/core";
3
+ import { SharedConnectorService } from "./shared-connector.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./shared-connector.service";
6
+ export class StockService {
7
+ constructor(_sharedService) {
8
+ this._sharedService = _sharedService;
9
+ this.warehouseSelected = new EventEmitter();
10
+ }
11
+ // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {
12
+ // await this._sharedService.getPrintStockStickers(data);
13
+ // }
14
+ // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {
15
+ // await this._sharedService.getPrintPriceStickers(data);
16
+ // }
17
+ getStockHistory(data) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return yield this._sharedService.getStockHistory(data);
20
+ });
21
+ }
22
+ getStockInformation(data) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return yield this._sharedService.getStockInformation(data);
25
+ });
26
+ }
27
+ // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
28
+ // return await this._connector.getStockStickerPrintLayouts(data);
29
+ // }
30
+ getArticleDetails(data) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return yield this._sharedService.getArticleDetails(data);
33
+ });
34
+ }
35
+ updateArticleDetails(data) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ return yield this._sharedService.updateArticleDetails(data);
38
+ });
39
+ }
40
+ getStockState() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return yield this._sharedService.getStockStatus();
43
+ });
44
+ }
45
+ getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ return yield this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);
48
+ });
49
+ }
50
+ // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
51
+ // return await this._sharedService.getStockStickerTemplates(data);
52
+ // }
53
+ getStockManagementWarehouses() {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ return yield this._sharedService.getStockManagementWarehouses();
56
+ });
57
+ }
58
+ getStockManagementLocations(warehouseNo) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ return yield this._sharedService.getStockManagementLocations(warehouseNo);
61
+ });
62
+ }
63
+ // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {
64
+ // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);
65
+ // }
66
+ // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {
67
+ // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
68
+ // }
69
+ // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {
70
+ // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);
71
+ // }
72
+ getArticleTransaction(data) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ return yield this._sharedService.getArticleTransaction(data);
75
+ });
76
+ }
77
+ stockPrognose(goodId, warehouseNumber) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ return yield this._sharedService.getStockPrognose(goodId, warehouseNumber);
80
+ });
81
+ }
82
+ lockArticleDetails(data) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ return yield this._sharedService.lockArticleDetails(data);
85
+ });
86
+ }
87
+ commit() {
88
+ return this._sharedService.commit();
89
+ }
90
+ getArticleFlat(sku) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ return yield this._sharedService.getArticleFlat(sku);
93
+ });
94
+ }
95
+ searchArticles(request) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ return yield this._sharedService.searchArticles(request);
98
+ });
99
+ }
100
+ }
101
+ StockService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StockService_Factory() { return new StockService(i0.ɵɵinject(i1.SharedConnectorService)); }, token: StockService, providedIn: "root" });
102
+ StockService.decorators = [
103
+ { type: Injectable, args: [{
104
+ providedIn: 'root',
105
+ },] }
106
+ ];
107
+ StockService.ctorParameters = () => [
108
+ { type: SharedConnectorService }
109
+ ];
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBYXZELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7QUFXbEUsTUFBTSxPQUFPLFlBQVk7SUFPdkIsWUFDVSxjQUFzQztRQUF0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFIaEMsc0JBQWlCLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFBO0lBSzFILENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsMkRBQTJEO0lBQzNELElBQUk7SUFFSixnRkFBZ0Y7SUFDaEYsMkRBQTJEO0lBQzNELElBQUk7SUFFUyxlQUFlLENBQUMsSUFBNEI7O1lBQ3ZELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxDQUFDO0tBQUE7SUFFWSxtQkFBbUIsQ0FBQyxJQUFrQjs7WUFDakQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBO0lBRUQsb0hBQW9IO0lBQ3BILG9FQUFvRTtJQUNwRSxJQUFJO0lBRVMsaUJBQWlCLENBQUMsSUFBNEI7O1lBQ3pELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLElBQXNCOztZQUN0RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDO0tBQUE7SUFFWSxhQUFhOztZQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwRCxDQUFDO0tBQUE7SUFFWSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsUUFBaUIsRUFBRSxlQUF3QixFQUFFLFdBQW9COztZQUM5RyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNyRyxDQUFDO0tBQUE7SUFFRCxpSEFBaUg7SUFDakgscUVBQXFFO0lBQ3JFLElBQUk7SUFFUyw0QkFBNEI7O1lBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDbEUsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsV0FBbUI7O1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVFLENBQUM7S0FBQTtJQUVELDRGQUE0RjtJQUM1Rix3RkFBd0Y7SUFDeEYsSUFBSTtJQUVKLDRHQUE0RztJQUM1RyxzR0FBc0c7SUFDdEcsSUFBSTtJQUVKLDZHQUE2RztJQUM3RyxvRkFBb0Y7SUFDcEYsSUFBSTtJQUVTLHFCQUFxQixDQUFDLElBQXdCOztZQUN6RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxDQUFDO0tBQUE7SUFFWSxhQUFhLENBQUMsTUFBYyxFQUFFLGVBQXVCOztZQUNoRSxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDN0UsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsSUFBNEI7O1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVZLGNBQWMsQ0FBQyxHQUFXOztZQUNyQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUFBO0lBRVksY0FBYyxDQUFDLE9BQStCOztZQUN6RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBOzs7O1lBakdGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVk8sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXIsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7UHJpbnRTdG9ja1N0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1zdG9jay1zdGlja2Vyc1wiO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudFwiO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb25cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZX0gZnJvbSBcIi4vc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFBhcmFtc30gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL3NlbmQtbWV0aG9kLXBhcmFtcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge1N0b2NrRm9yZWNhc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1mb3JlY2FzdC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1NlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGlja2VyczogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG4gIHB1YmxpYyBwcmludExheW91dFBhcmFtczogU2VuZE1ldGhvZFBhcmFtcztcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHdhcmVob3VzZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM+KClcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50U3RvY2tTdGlja2VycyhkYXRhOiBQcmludFN0b2NrU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhkYXRhOiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRQcmljZVN0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeShkYXRhOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KTogUHJvbWlzZTxTdG9ja0hpc3RvcnlCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja0hpc3RvcnkoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tJbmZvcm1hdGlvbihkYXRhOiBBcnRpY2xlU3RvY2spOiBQcm9taXNlPEFydGljbGVTdG9ja0JvW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRTdG9ja1N0aWNrZXJQcmludExheW91dHMoZGF0YSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8QXJ0aWNsZURldGFpbHNCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0YXRlKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQ6IG51bWJlciwgYnJhbmNoTm8/OiBzdHJpbmcsIHJlcXVlc3RlZEFtb3VudD86IG51bWJlciwgd2FyZWhvdXNlSWQ/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkLCBicmFuY2hObywgcmVxdWVzdGVkQW1vdW50LCB3YXJlaG91c2VJZCk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm86IG51bWJlcik6IFByb21pc2U8U3RvY2tMb2NhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm8pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxTdG9ja1N0aWNrZXJzRW1haWxMYXlvdXRzW10+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFB1cmNoYXNlT3JkZXJFbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uKTogUHJvbWlzZTxBcnRpY2xlVHJhbnNhY3Rpb25Cb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3RvY2tQcm9nbm9zZShnb29kSWQ6IG51bWJlciwgd2FyZWhvdXNlTnVtYmVyOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrRm9yZWNhc3RbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tQcm9nbm9zZShnb29kSWQsIHdhcmVob3VzZU51bWJlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja0FydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmxvY2tBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NoYXJlZFNlcnZpY2UuY29tbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZsYXQoc2t1OiBzdHJpbmcpOiBQcm9taXNlPEFydGljbGVGbGF0PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlRmxhdChza3UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlYXJjaEFydGljbGVzKHJlcXVlc3Q6IEFydGljbGVFeHRlbmRlZFJlcXVlc3QpOiBQcm9taXNlPEFydGljbGVFeHRlbmRlZFtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5zZWFyY2hBcnRpY2xlcyhyZXF1ZXN0KTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { Weekday } from "../model/weekday.model";
2
+ import { Inject, LOCALE_ID } from "@angular/core";
3
+ import { LanguageCode } from "../enum/language-code.enum";
4
+ import { Week } from "../model/week.model";
5
+ export class CalendarUtils {
6
+ constructor(_locale) {
7
+ this._locale = _locale;
8
+ CalendarUtils.Locale = _locale;
9
+ }
10
+ // public static GetCurrentYear(): number {
11
+ // return this.Now.getFullYear();
12
+ // }
13
+ //
14
+ // public static GetCurrentMonth(): number {
15
+ // return this.Now.getUTCMonth() + 1;
16
+ // }
17
+ static GetDayHours(day) {
18
+ const datesByTheHour = [];
19
+ if (day) {
20
+ let newDate = new Date(day);
21
+ newDate.setHours(0, 0, 0, 0);
22
+ datesByTheHour.push(newDate);
23
+ for (let i = 0; i < 23; i++) {
24
+ newDate = new Date(newDate);
25
+ newDate.setHours(newDate.getHours() + 1);
26
+ datesByTheHour.push(newDate);
27
+ }
28
+ }
29
+ return datesByTheHour;
30
+ }
31
+ static GetDaysOfWeek(date) {
32
+ let day = new Date();
33
+ const daysOfWeek = [];
34
+ let options;
35
+ let month;
36
+ for (let i = 0; i < 3; i++) {
37
+ const dayPerWeek = new Weekday();
38
+ const dayHours = CalendarUtils.GetDayHours(day);
39
+ dayPerWeek.newMonth = day.getMonth() !== month;
40
+ dayPerWeek.weekdaySelected = day.getDay() === date.getDay();
41
+ dayPerWeek.weekdayDay = day.getDate();
42
+ options = { weekday: "short" };
43
+ dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);
44
+ options = { weekday: "long" };
45
+ dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);
46
+ options = { month: "short" };
47
+ dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);
48
+ options = { month: "long" };
49
+ dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);
50
+ dayPerWeek.weekdayYear = day.getFullYear();
51
+ dayPerWeek.date = new Date(day);
52
+ dayPerWeek.datesByTheHour = dayHours;
53
+ daysOfWeek.push(dayPerWeek);
54
+ month = day.getMonth();
55
+ day = new Date(day);
56
+ day.setDate(day.getDate() + 1);
57
+ }
58
+ const week = new Week();
59
+ week.weekDays = daysOfWeek;
60
+ return week;
61
+ }
62
+ }
63
+ CalendarUtils.Locale = undefined;
64
+ CalendarUtils.Now = new Date();
65
+ CalendarUtils.ctorParameters = () => [
66
+ { type: LanguageCode, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
67
+ ];
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdXRpbHMvY2FsZW5kYXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekMsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFDd0MsT0FBcUI7UUFBckIsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUV6RCxhQUFhLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLHFDQUFxQztJQUNyQyxJQUFJO0lBQ0osRUFBRTtJQUNGLDRDQUE0QztJQUM1Qyx5Q0FBeUM7SUFDekMsSUFBSTtJQUVHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBUztRQUMvQixNQUFNLGNBQWMsR0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLE9BQU8sR0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdCLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztTQUNKO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBVTtRQUNsQyxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sVUFBVSxHQUFjLEVBQUUsQ0FBQztRQUNqQyxJQUFJLE9BQVksQ0FBQztRQUNqQixJQUFJLEtBQWEsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sVUFBVSxHQUFZLElBQUksT0FBTyxFQUFFLENBQUM7WUFDMUMsTUFBTSxRQUFRLEdBQVcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4RCxVQUFVLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUM7WUFDL0MsVUFBVSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVELFVBQVUsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMvQixVQUFVLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRS9FLE9BQU8sR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckYsT0FBTyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRixVQUFVLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUUzQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLFVBQVUsQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QixHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O0FBakVhLG9CQUFNLEdBQWlCLFNBQVMsQ0FBQztBQUVqQyxpQkFBRyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7O1lBTmpDLFlBQVksdUJBU1gsTUFBTSxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVVdGlsc30gZnJvbSBcIi4vZGF0ZS11dGlsc1wiO1xyXG5pbXBvcnQge1dlZWtkYXl9IGZyb20gXCIuLi9tb2RlbC93ZWVrZGF5Lm1vZGVsXCI7XHJcbmltcG9ydCB7SW5qZWN0LCBMT0NBTEVfSUR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TGFuZ3VhZ2VDb2RlfSBmcm9tIFwiLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW1cIjtcclxuaW1wb3J0IHtXZWVrfSBmcm9tIFwiLi4vbW9kZWwvd2Vlay5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyVXRpbHMge1xyXG4gICAgcHVibGljIHN0YXRpYyBMb2NhbGU6IExhbmd1YWdlQ29kZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE5vdzogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsZTogTGFuZ3VhZ2VDb2RlXHJcbiAgICApIHtcclxuICAgICAgICBDYWxlbmRhclV0aWxzLkxvY2FsZSA9IF9sb2NhbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHVibGljIHN0YXRpYyBHZXRDdXJyZW50WWVhcigpOiBudW1iZXIge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLk5vdy5nZXRGdWxsWWVhcigpO1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHB1YmxpYyBzdGF0aWMgR2V0Q3VycmVudE1vbnRoKCk6IG51bWJlciB7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuTm93LmdldFVUQ01vbnRoKCkgKyAxO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGF5SG91cnMoZGF5OiBEYXRlKTogRGF0ZVtdIHtcclxuICAgICAgICBjb25zdCBkYXRlc0J5VGhlSG91cjogRGF0ZVtdID0gW107XHJcbiAgICAgICAgaWYgKGRheSkge1xyXG4gICAgICAgICAgICBsZXQgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKGRheSk7XHJcbiAgICAgICAgICAgIG5ld0RhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICAgICAgICAgIGRhdGVzQnlUaGVIb3VyLnB1c2gobmV3RGF0ZSk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCAyMzsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRlID0gbmV3IERhdGUobmV3RGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRlLnNldEhvdXJzKG5ld0RhdGUuZ2V0SG91cnMoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgZGF0ZXNCeVRoZUhvdXIucHVzaChuZXdEYXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZXNCeVRoZUhvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXREYXlzT2ZXZWVrKGRhdGU6IERhdGUpOiBXZWVrIHtcclxuICAgICAgICBsZXQgZGF5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICBjb25zdCBkYXlzT2ZXZWVrOiBXZWVrZGF5W10gPSBbXTtcclxuICAgICAgICBsZXQgb3B0aW9uczogYW55O1xyXG4gICAgICAgIGxldCBtb250aDogbnVtYmVyO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCAzOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgZGF5UGVyV2VlazogV2Vla2RheSA9IG5ldyBXZWVrZGF5KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRheUhvdXJzOiBEYXRlW10gPSBDYWxlbmRhclV0aWxzLkdldERheUhvdXJzKGRheSk7XHJcbiAgICAgICAgICAgIGRheVBlcldlZWsubmV3TW9udGggPSBkYXkuZ2V0TW9udGgoKSAhPT0gbW9udGg7XHJcbiAgICAgICAgICAgIGRheVBlcldlZWsud2Vla2RheVNlbGVjdGVkID0gZGF5LmdldERheSgpID09PSBkYXRlLmdldERheSgpO1xyXG4gICAgICAgICAgICBkYXlQZXJXZWVrLndlZWtkYXlEYXkgPSBkYXkuZ2V0RGF0ZSgpO1xyXG4gICAgICAgICAgICBvcHRpb25zID0geyB3ZWVrZGF5OiBcInNob3J0XCIgfTtcclxuICAgICAgICAgICAgZGF5UGVyV2Vlay53ZWVrZGF5U2hvcnQgPSBkYXkudG9Mb2NhbGVEYXRlU3RyaW5nKENhbGVuZGFyVXRpbHMuTG9jYWxlLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgd2Vla2RheTogXCJsb25nXCIgfTtcclxuICAgICAgICAgICAgZGF5UGVyV2Vlay53ZWVrZGF5TG9uZyA9IGRheS50b0xvY2FsZURhdGVTdHJpbmcoQ2FsZW5kYXJVdGlscy5Mb2NhbGUsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgbW9udGg6IFwic2hvcnRcIiB9O1xyXG4gICAgICAgICAgICBkYXlQZXJXZWVrLndlZWtkYXlNb250aFNob3J0ID0gZGF5LnRvTG9jYWxlRGF0ZVN0cmluZyhDYWxlbmRhclV0aWxzLkxvY2FsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IG1vbnRoOiBcImxvbmdcIiB9O1xyXG4gICAgICAgICAgICBkYXlQZXJXZWVrLndlZWtkYXlNb250aExvbmcgPSBkYXkudG9Mb2NhbGVEYXRlU3RyaW5nKENhbGVuZGFyVXRpbHMuTG9jYWxlLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgZGF5UGVyV2Vlay53ZWVrZGF5WWVhciA9IGRheS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgICAgICAgICAgZGF5UGVyV2Vlay5kYXRlID0gbmV3IERhdGUoZGF5KTtcclxuICAgICAgICAgICAgZGF5UGVyV2Vlay5kYXRlc0J5VGhlSG91ciA9IGRheUhvdXJzO1xyXG4gICAgICAgICAgICBkYXlzT2ZXZWVrLnB1c2goZGF5UGVyV2Vlayk7XHJcbiAgICAgICAgICAgIG1vbnRoID0gZGF5LmdldE1vbnRoKCk7XHJcbiAgICAgICAgICAgIGRheSA9IG5ldyBEYXRlKGRheSk7XHJcbiAgICAgICAgICAgIGRheS5zZXREYXRlKGRheS5nZXREYXRlKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgd2VlazogV2VlayA9IG5ldyBXZWVrKCk7XHJcbiAgICAgICAgd2Vlay53ZWVrRGF5cyA9IGRheXNPZldlZWs7XHJcbiAgICAgICAgcmV0dXJuIHdlZWs7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,264 @@
1
+ import { ALL_MONTHS } from "../model/constant/all-months";
2
+ import { notNill } from "./function/not-nill.function";
3
+ import * as moment from "moment";
4
+ import { DatePipe } from "@angular/common";
5
+ import { DateRange } from "../model/date-range";
6
+ Date.prototype.toJSON = function () {
7
+ return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');
8
+ };
9
+ // static utility function holder related to dates
10
+ export class DateUtils {
11
+ static NowAsString() {
12
+ return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);
13
+ }
14
+ static ParseDate(date, format = "d-m-y") {
15
+ if (!date) {
16
+ return "";
17
+ }
18
+ const day = ("0" + date.getDate()).slice(-2);
19
+ const month = ("0" + (date.getMonth() + 1)).slice(-2);
20
+ const year = date.getFullYear() + "";
21
+ const formatParts = format.split("-");
22
+ const dateParts = [];
23
+ for (let i = 0, l = formatParts.length; i < l; i++) {
24
+ switch (formatParts[i]) {
25
+ case "d":
26
+ case "DD":
27
+ dateParts.push(day);
28
+ break;
29
+ case "m":
30
+ case "MM":
31
+ dateParts.push(month);
32
+ break;
33
+ case "y":
34
+ case "YYYY":
35
+ dateParts.push(year);
36
+ break;
37
+ default:
38
+ break;
39
+ }
40
+ }
41
+ return dateParts.join("-");
42
+ }
43
+ static GetWeekNumber(date) {
44
+ date = new Date(date.getTime());
45
+ date.setHours(0, 0, 0, 0);
46
+ date.setDate(date.getDate() + 4 - (date.getDay() || 7));
47
+ return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);
48
+ }
49
+ // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.
50
+ static GetDaysFromNow(date) {
51
+ return DateUtils.GetDayDifference(new Date(Date.now()), date);
52
+ }
53
+ static StringAsDate(str, format = DateUtils.BACKEND_DATE_FORMAT) {
54
+ if (notNill(str)) {
55
+ if (!isNaN(Number(str))) {
56
+ return new Date(str);
57
+ }
58
+ else {
59
+ const time = moment(str, format, true);
60
+ return time.isValid() ? new Date(time) : undefined;
61
+ }
62
+ }
63
+ else {
64
+ return undefined;
65
+ }
66
+ }
67
+ static MomentToDate(time) {
68
+ if (!time || !time.isValid()) {
69
+ return undefined;
70
+ }
71
+ const d = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));
72
+ d.setHours(time.hours());
73
+ d.setMinutes(time.minutes());
74
+ d.setSeconds(time.seconds());
75
+ return d;
76
+ }
77
+ static GetCurrentMonth() {
78
+ return ALL_MONTHS[new Date().getMonth()];
79
+ }
80
+ // @returns e.g. ["FEBRUARI", "MARCH", ..] if it's Februari today, otherwise e.g. ["APRIL", "MAY", ...] if it's April today
81
+ static Get12MonthsArrayWithFirstMonthIsCurrentMonth() {
82
+ const answer = [];
83
+ let monthNrToAdd = new Date().getMonth();
84
+ for (let i = 0; i < 12; i++) {
85
+ answer.push(ALL_MONTHS[monthNrToAdd]);
86
+ monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;
87
+ }
88
+ return answer;
89
+ }
90
+ static GetFirstDayOfWeek(date) {
91
+ if (!DateUtils._ValidDate(date)) {
92
+ return null;
93
+ }
94
+ let firstDay;
95
+ const dayOfWeek = date.getDay() || 7;
96
+ if (dayOfWeek === 1) {
97
+ firstDay = new Date(date);
98
+ }
99
+ else {
100
+ firstDay = new Date(date);
101
+ firstDay.setHours(-24 * (dayOfWeek - 1));
102
+ }
103
+ return firstDay;
104
+ }
105
+ static GetLastDayOfWeek(date) {
106
+ const firstDayOfWeek = DateUtils.GetFirstDayOfWeek(date);
107
+ const lastDayOfWeek = new Date(firstDayOfWeek);
108
+ lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);
109
+ return lastDayOfWeek;
110
+ }
111
+ static GetFirstDayOfMonth(date) {
112
+ if (!DateUtils._ValidDate(date)) {
113
+ return null;
114
+ }
115
+ const year = date.getFullYear();
116
+ const month = date.getMonth();
117
+ return new Date(year, month, 1);
118
+ }
119
+ static GetLastDayOfMonth(date) {
120
+ if (!DateUtils._ValidDate(date)) {
121
+ return null;
122
+ }
123
+ const year = date.getFullYear();
124
+ const month = date.getMonth();
125
+ return new Date(year, month + 1, 0);
126
+ }
127
+ static DatesEqual(date1, date2) {
128
+ let result = false;
129
+ if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {
130
+ result =
131
+ date1.getDate() === date2.getDate() &&
132
+ date1.getMonth() === date2.getMonth() &&
133
+ date1.getFullYear() === date2.getFullYear();
134
+ }
135
+ return result;
136
+ }
137
+ static DateRangeEqual(dates1, dates2) {
138
+ return (this.DatesEqual(dates1.startDate, dates2.startDate) &&
139
+ this.DatesEqual(dates1.endDate, dates2.endDate));
140
+ }
141
+ static AddMinutes(date, minutes) {
142
+ return new Date(date.getTime() + (minutes * 60000));
143
+ }
144
+ static AddDays(date, days) {
145
+ const result = new Date(date);
146
+ result.setDate(result.getDate() + days);
147
+ return result;
148
+ }
149
+ static AddMonths(date, months) {
150
+ const result = new Date(date);
151
+ result.setMonth(result.getMonth() + months);
152
+ return result;
153
+ }
154
+ static DetermineDSTBreakpoints() {
155
+ const endOfYear = new Date(new Date().getFullYear(), 11, 1);
156
+ let checkDate = new Date(new Date().getFullYear(), 0, 1);
157
+ let offset = checkDate.getTimezoneOffset();
158
+ const periodStart = new Date();
159
+ let periodStartSet = false;
160
+ const periodEnd = new Date();
161
+ let periodEndSet = false;
162
+ while (checkDate.getTime() < endOfYear.getTime()) {
163
+ checkDate = this.AddMinutes(checkDate, 60);
164
+ if (offset < checkDate.getTimezoneOffset()) {
165
+ periodEnd.setTime(checkDate.getTime());
166
+ periodEndSet = true;
167
+ }
168
+ else if (offset > checkDate.getTimezoneOffset()) {
169
+ periodStart.setTime(checkDate.getTime());
170
+ periodStartSet = true;
171
+ }
172
+ offset = checkDate.getTimezoneOffset();
173
+ if (periodStartSet && periodEndSet) {
174
+ break;
175
+ }
176
+ }
177
+ if (periodStartSet && periodEndSet) {
178
+ return {
179
+ start: this._DateToTimeStringWithDateFormat(periodStart),
180
+ end: this._DateToTimeStringWithDateFormat(periodEnd)
181
+ };
182
+ }
183
+ else {
184
+ return { start: undefined, end: undefined }; // important otherwise we return new Date() for both
185
+ }
186
+ }
187
+ static _ValidDate(date) {
188
+ return date !== null && date !== undefined;
189
+ }
190
+ /**
191
+ * Returns the difference between the two given days as the number of days, in float precision (date to - date from).
192
+ * Returns negative values of the 'from' date is later than in time than the 'to' date.
193
+ */
194
+ static GetDayDifference(from, to) {
195
+ if (!from || !to) {
196
+ return NaN;
197
+ }
198
+ return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);
199
+ }
200
+ static IsSameDay(dateOne, dateTwo) {
201
+ return (dateOne && dateTwo &&
202
+ dateOne.getDate() === dateTwo.getDate()
203
+ && dateOne.getMonth() === dateTwo.getMonth()
204
+ && dateOne.getFullYear() === dateTwo.getFullYear());
205
+ }
206
+ static IsInBetween(date, startDate, endDate, withTime = true) {
207
+ if (startDate && endDate) {
208
+ if (withTime) {
209
+ return (date > startDate && date < endDate);
210
+ }
211
+ else {
212
+ const dateWithoutTime = new Date(date).setHours(0, 0, 0, 0), dateFromWithoutTime = new Date(startDate).setHours(0, 0, 0, 0), dateToWithoutTime = new Date(endDate).setHours(0, 0, 0, 0);
213
+ return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;
214
+ }
215
+ }
216
+ }
217
+ static IsMonday(date) {
218
+ return date.getDay() === 1;
219
+ }
220
+ static IsSunday(date) {
221
+ return date.getDay() === 0;
222
+ }
223
+ static IsToday(date) {
224
+ const today = new Date();
225
+ return DateUtils.IsSameDay(today, date);
226
+ }
227
+ // Returns date format like it would when using a pipe in the templete, ie: "1 okt. 2020"
228
+ static ParseDateInShortDateFormat(date, locale) {
229
+ this.datePipe = new DatePipe(locale);
230
+ const parsedDate = this.datePipe.transform(date);
231
+ return parsedDate;
232
+ }
233
+ // Transforms a string that is formatted like "'17-08-2014'<=?<='17-08-2021'" into "'17-08-2014' Untill '17-08-2021'"
234
+ static getFormattedDateRangeString(dateRangeString, separator = " - ") {
235
+ let newString = dateRangeString;
236
+ newString = newString.replace("<=?<=", ` ${separator} `);
237
+ newString = newString.replace(/'/g, "");
238
+ return newString;
239
+ }
240
+ static SetDateOrDateRangeObjectHoursZero(date) {
241
+ if (date instanceof DateRange) {
242
+ if (date.startDate) {
243
+ date.startDate.setHours(0, 0, 0);
244
+ }
245
+ if (date.endDate) {
246
+ date.endDate.setHours(0, 0, 0);
247
+ }
248
+ }
249
+ else if (!!date && (date instanceof Date)) {
250
+ date.setHours(0, 0, 0, 0);
251
+ }
252
+ }
253
+ static _DateToTimeStringWithDateFormat(value, dateFormat = "d-m-y") {
254
+ if (!value) {
255
+ return "";
256
+ }
257
+ const hours = value.getHours() < 10 ? "0" + value.getHours() : "" + value.getHours();
258
+ const minutes = value.getMinutes() < 10 ? "0" + value.getMinutes() : "" + value.getMinutes();
259
+ return this.ParseDate(value, dateFormat) + " " + [hours, minutes].join(":");
260
+ }
261
+ }
262
+ DateUtils.BACKEND_DATE_FORMAT = 'YYYY-MM-DD[T]HH:mm:ss';
263
+ DateUtils.datePipe = new DatePipe('shortDate');
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRztJQUNwQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUE7QUFFRCxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLFNBQVM7SUFJWCxNQUFNLENBQUMsV0FBVztRQUNyQixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFVLEVBQUUsU0FBaUIsT0FBTztRQUN4RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUVELE1BQU0sR0FBRyxHQUFXLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMs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cnQge01vbnRofSBmcm9tIFwiLi4vZW51bS9tb250aC5lbnVtXCI7XHJcbmltcG9ydCB7QUxMX01PTlRIU30gZnJvbSBcIi4uL21vZGVsL2NvbnN0YW50L2FsbC1tb250aHNcIjtcclxuaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiLi9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGF0ZVJhbmdlfSBmcm9tIFwiLi4vbW9kZWwvZGF0ZS1yYW5nZVwiO1xyXG5cclxuRGF0ZS5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gbW9tZW50KHRoaXMpLmZvcm1hdCgnWVlZWS1NTS1ERFtUXUhIOm1tOnNzJyk7XHJcbn1cclxuXHJcbi8vIHN0YXRpYyB1dGlsaXR5IGZ1bmN0aW9uIGhvbGRlciByZWxhdGVkIHRvIGRhdGVzXHJcbmV4cG9ydCBjbGFzcyBEYXRlVXRpbHMge1xyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUNLRU5EX0RBVEVfRk9STUFUOiBzdHJpbmcgPSAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzJztcclxuICAgIHB1YmxpYyBzdGF0aWMgZGF0ZVBpcGU6IERhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdzaG9ydERhdGUnKTtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE5vd0FzU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIERhdGVVdGlscy5QYXJzZURhdGUobmV3IERhdGUoKSwgRGF0ZVV0aWxzLkJBQ0tFTkRfREFURV9GT1JNQVQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgUGFyc2VEYXRlKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nID0gXCJkLW0teVwiKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWRhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkYXk6IHN0cmluZyA9IChcIjBcIiArIGRhdGUuZ2V0RGF0ZSgpKS5zbGljZSgtMik7XHJcbiAgICAgICAgY29uc3QgbW9udGg6IHN0cmluZyA9IChcIjBcIiArIChkYXRlLmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpO1xyXG4gICAgICAgIGNvbnN0IHllYXI6IHN0cmluZyA9IGRhdGUuZ2V0RnVsbFllYXIoKSArIFwiXCI7XHJcblxyXG4gICAgICAgIGNvbnN0IGZvcm1hdFBhcnRzOiBzdHJpbmdbXSA9IGZvcm1hdC5zcGxpdChcIi1cIik7XHJcbiAgICAgICAgY29uc3QgZGF0ZVBhcnRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbDogbnVtYmVyID0gZm9ybWF0UGFydHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZm9ybWF0UGFydHNbaV0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkXCIgOlxyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkREXCIgOlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVQYXJ0cy5wdXNoKGRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibVwiIDpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJNTVwiIDpcclxuICAgICAgICAgICAgICAgICAgICBkYXRlUGFydHMucHVzaChtb250aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwieVwiIDpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJZWVlZXCIgOlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVQYXJ0cy5wdXNoKHllYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZVBhcnRzLmpvaW4oXCItXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0V2Vla051bWJlcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgNCAtIChkYXRlLmdldERheSgpIHx8IDcpKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCgoKGRhdGUuZ2V0VGltZSgpIC0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCAxKS5nZXRUaW1lKCkpIC8gOC42NGU3KSArIDEpIC8gNyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgZnJvbSBub3csIGZvciB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgZnV0dXJlLiBSZXR1cm5zIG5lZ2F0aXZlIGRheXMgaWYgZ2l2ZW4gZGF0ZSBpcyBpbiB0aGUgcGFzdCBmcm9tIG5vdy5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGF5c0Zyb21Ob3coZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIERhdGVVdGlscy5HZXREYXlEaWZmZXJlbmNlKG5ldyBEYXRlKERhdGUubm93KCkpLCBkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0FzRGF0ZShzdHI6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcgPSBEYXRlVXRpbHMuQkFDS0VORF9EQVRFX0ZPUk1BVCk6IERhdGUge1xyXG4gICAgICAgIGlmIChub3ROaWxsKHN0cikpIHtcclxuICAgICAgICAgICAgaWYgKCFpc05hTihOdW1iZXIoc3RyKSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShzdHIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZTogYW55ID0gbW9tZW50KHN0ciwgZm9ybWF0LCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aW1lLmlzVmFsaWQoKSA/IG5ldyBEYXRlKHRpbWUpIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBNb21lbnRUb0RhdGUodGltZTogTW9tZW50KTogRGF0ZSB7XHJcbiAgICAgICAgaWYgKCF0aW1lIHx8ICF0aW1lLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZDogRGF0ZSA9IG5ldyBEYXRlKHRpbWUuZm9ybWF0KERhdGVVdGlscy5CQUNLRU5EX0RBVEVfRk9STUFUKSk7XHJcbiAgICAgICAgZC5zZXRIb3Vycyh0aW1lLmhvdXJzKCkpO1xyXG4gICAgICAgIGQuc2V0TWludXRlcyh0aW1lLm1pbnV0ZXMoKSk7XHJcbiAgICAgICAgZC5zZXRTZWNvbmRzKHRpbWUuc2Vjb25kcygpKTtcclxuICAgICAgICByZXR1cm4gZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldEN1cnJlbnRNb250aCgpOiBNb250aCB7XHJcbiAgICAgICAgcmV0dXJuIEFMTF9NT05USFNbbmV3IERhdGUoKS5nZXRNb250aCgpXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBAcmV0dXJucyBlLmcuIFtcIkZFQlJVQVJJXCIsIFwiTUFSQ0hcIiwgLi5dIGlmIGl0J3MgRmVicnVhcmkgdG9kYXksIG90aGVyd2lzZSBlLmcuIFtcIkFQUklMXCIsIFwiTUFZXCIsIC4uLl0gaWYgaXQncyBBcHJpbCB0b2RheVxyXG4gICAgcHVibGljIHN0YXRpYyBHZXQxMk1vbnRoc0FycmF5V2l0aEZpcnN0TW9udGhJc0N1cnJlbnRNb250aCgpOiBNb250aFtdIHtcclxuICAgICAgICBjb25zdCBhbnN3ZXI6IE1vbnRoW10gPSBbXTtcclxuXHJcbiAgICAgICAgbGV0IG1vbnRoTnJUb0FkZDogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRNb250aCgpO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCAxMjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGFuc3dlci5wdXNoKEFMTF9NT05USFNbbW9udGhOclRvQWRkXSk7XHJcbiAgICAgICAgICAgIG1vbnRoTnJUb0FkZCA9IChtb250aE5yVG9BZGQgKyAxKSAlIEFMTF9NT05USFMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFuc3dlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldEZpcnN0RGF5T2ZXZWVrKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgICAgICBpZiAoIURhdGVVdGlscy5fVmFsaWREYXRlKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmlyc3REYXk6IERhdGU7XHJcbiAgICAgICAgY29uc3QgZGF5T2ZXZWVrOiBudW1iZXIgPSBkYXRlLmdldERheSgpIHx8IDc7XHJcbiAgICAgICAgaWYgKGRheU9mV2VlayA9PT0gMSkge1xyXG4gICAgICAgICAgICBmaXJzdERheSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5LnNldEhvdXJzKC0yNCAqIChkYXlPZldlZWsgLSAxKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmaXJzdERheTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldExhc3REYXlPZldlZWsoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0RGF5T2ZXZWVrOiBEYXRlID0gRGF0ZVV0aWxzLkdldEZpcnN0RGF5T2ZXZWVrKGRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGxhc3REYXlPZldlZWs6IERhdGUgPSBuZXcgRGF0ZShmaXJzdERheU9mV2Vlayk7XHJcbiAgICAgICAgbGFzdERheU9mV2Vlay5zZXREYXRlKGZpcnN0RGF5T2ZXZWVrLmdldERhdGUoKSArIDYpO1xyXG4gICAgICAgIHJldHVybiBsYXN0RGF5T2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Rmlyc3REYXlPZk1vbnRoKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgICAgICBpZiAoIURhdGVVdGlscy5fVmFsaWREYXRlKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB5ZWFyOiBudW1iZXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgY29uc3QgbW9udGg6IG51bWJlciA9IGRhdGUuZ2V0TW9udGgoKTtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TGFzdERheU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgICAgIGlmICghRGF0ZVV0aWxzLl9WYWxpZERhdGUoZGF0ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHllYXI6IG51bWJlciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBjb25zdCBtb250aDogbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRGF0ZXNFcXVhbChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKERhdGVVdGlscy5fVmFsaWREYXRlKGRhdGUxKSAmJiBEYXRlVXRpbHMuX1ZhbGlkRGF0ZShkYXRlMikpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID1cclxuICAgICAgICAgICAgICAgIGRhdGUxLmdldERhdGUoKSA9PT0gZGF0ZTIuZ2V0RGF0ZSgpICYmXHJcbiAgICAgICAgICAgICAgICBkYXRlMS5nZXRNb250aCgpID09PSBkYXRlMi5nZXRNb250aCgpICYmXHJcbiAgICAgICAgICAgICAgICBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRGF0ZVJhbmdlRXF1YWwoZGF0ZXMxOiBEYXRlUmFuZ2UsIGRhdGVzMjogRGF0ZVJhbmdlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLkRhdGVzRXF1YWwoZGF0ZXMxLnN0YXJ0RGF0ZSwgZGF0ZXMyLnN0YXJ0RGF0ZSkgJiZcclxuICAgICAgICAgICAgdGhpcy5EYXRlc0VxdWFsKGRhdGVzMS5lbmREYXRlLCBkYXRlczIuZW5kRGF0ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQWRkTWludXRlcyhkYXRlOiBEYXRlLCBtaW51dGVzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgKyAobWludXRlcyAqIDYwMDAwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBBZGREYXlzKGRhdGU6IERhdGUsIGRheXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgICAgIHJlc3VsdC5zZXREYXRlKHJlc3VsdC5nZXREYXRlKCkgKyBkYXlzKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQWRkTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBEYXRlID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICAgICAgcmVzdWx0LnNldE1vbnRoKHJlc3VsdC5nZXRNb250aCgpICsgbW9udGhzKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRGV0ZXJtaW5lRFNUQnJlYWtwb2ludHMoKTogeyBzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyB9IHtcclxuICAgICAgICBjb25zdCBlbmRPZlllYXI6IERhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIDExLCAxKTtcclxuICAgICAgICBsZXQgY2hlY2tEYXRlOiBEYXRlID0gbmV3IERhdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLCAwLCAxKTtcclxuICAgICAgICBsZXQgb2Zmc2V0OiBudW1iZXIgPSBjaGVja0RhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGVyaW9kU3RhcnQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGxldCBwZXJpb2RTdGFydFNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IHBlcmlvZEVuZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgbGV0IHBlcmlvZEVuZFNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICAgIHdoaWxlIChjaGVja0RhdGUuZ2V0VGltZSgpIDwgZW5kT2ZZZWFyLmdldFRpbWUoKSkge1xyXG4gICAgICAgICAgICBjaGVja0RhdGUgPSB0aGlzLkFkZE1pbnV0ZXMoY2hlY2tEYXRlLCA2MCk7XHJcbiAgICAgICAgICAgIGlmIChvZmZzZXQgPCBjaGVja0RhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSkge1xyXG4gICAgICAgICAgICAgICAgcGVyaW9kRW5kLnNldFRpbWUoY2hlY2tEYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgICAgICBwZXJpb2RFbmRTZXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9mZnNldCA+IGNoZWNrRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpKSB7XHJcbiAgICAgICAgICAgICAgICBwZXJpb2RTdGFydC5zZXRUaW1lKGNoZWNrRGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgICAgICAgICAgcGVyaW9kU3RhcnRTZXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9mZnNldCA9IGNoZWNrRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpO1xyXG4gICAgICAgICAgICBpZiAocGVyaW9kU3RhcnRTZXQgJiYgcGVyaW9kRW5kU2V0KSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBlcmlvZFN0YXJ0U2V0ICYmIHBlcmlvZEVuZFNldCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMuX0RhdGVUb1RpbWVTdHJpbmdXaXRoRGF0ZUZvcm1hdChwZXJpb2RTdGFydCksXHJcbiAgICAgICAgICAgICAgICBlbmQ6IHRoaXMuX0RhdGVUb1RpbWVTdHJpbmdXaXRoRGF0ZUZvcm1hdChwZXJpb2RFbmQpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtzdGFydDogdW5kZWZpbmVkLCBlbmQ6IHVuZGVmaW5lZH07IC8vIGltcG9ydGFudCBvdGhlcndpc2Ugd2UgcmV0dXJuIG5ldyBEYXRlKCkgZm9yIGJvdGhcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX1ZhbGlkRGF0ZShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUgIT09IG51bGwgJiYgZGF0ZSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gZ2l2ZW4gZGF5cyBhcyB0aGUgbnVtYmVyIG9mIGRheXMsIGluIGZsb2F0IHByZWNpc2lvbiAoZGF0ZSB0byAtIGRhdGUgZnJvbSkuXHJcbiAgICAgKiBSZXR1cm5zIG5lZ2F0aXZlIHZhbHVlcyBvZiB0aGUgJ2Zyb20nIGRhdGUgaXMgbGF0ZXIgdGhhbiBpbiB0aW1lIHRoYW4gdGhlICd0bycgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBHZXREYXlEaWZmZXJlbmNlKGZyb206IERhdGUsIHRvOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIWZyb20gfHwgIXRvKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOYU47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoKHRvLmdldFRpbWUoKSAtIGZyb20uZ2V0VGltZSgpKSAvIDEwMDAgLyA2MCAvIDYwIC8gMjQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNTYW1lRGF5KGRhdGVPbmU6IERhdGUsIGRhdGVUd286IERhdGUpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKGRhdGVPbmUgJiYgZGF0ZVR3byAmJlxyXG4gICAgICAgICAgICBkYXRlT25lLmdldERhdGUoKSA9PT0gZGF0ZVR3by5nZXREYXRlKClcclxuICAgICAgICAgICAgJiYgZGF0ZU9uZS5nZXRNb250aCgpID09PSBkYXRlVHdvLmdldE1vbnRoKClcclxuICAgICAgICAgICAgJiYgZGF0ZU9uZS5nZXRGdWxsWWVhcigpID09PSBkYXRlVHdvLmdldEZ1bGxZZWFyKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNJbkJldHdlZW4oZGF0ZTogRGF0ZSwgc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlLCB3aXRoVGltZTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoc3RhcnREYXRlICYmIGVuZERhdGUpIHtcclxuICAgICAgICAgICAgaWYgKHdpdGhUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKGRhdGUgPiBzdGFydERhdGUgJiYgZGF0ZSA8IGVuZERhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVdpdGhvdXRUaW1lOiBudW1iZXIgPSBuZXcgRGF0ZShkYXRlKS5zZXRIb3VycygwLCAwLCAwLCAwKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRlRnJvbVdpdGhvdXRUaW1lOiBudW1iZXIgPSBuZXcgRGF0ZShzdGFydERhdGUpLnNldEhvdXJzKDAsIDAsIDAsIDApLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVUb1dpdGhvdXRUaW1lOiBudW1iZXIgPSBuZXcgRGF0ZShlbmREYXRlKS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlV2l0aG91dFRpbWUgPj0gZGF0ZUZyb21XaXRob3V0VGltZSAmJiBkYXRlV2l0aG91dFRpbWUgPD0gZGF0ZVRvV2l0aG91dFRpbWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBJc01vbmRheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0RGF5KCkgPT09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBJc1N1bmRheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0RGF5KCkgPT09IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBJc1RvZGF5KGRhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgcmV0dXJuIERhdGVVdGlscy5Jc1NhbWVEYXkodG9kYXksIGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgZGF0ZSBmb3JtYXQgbGlrZSBpdCB3b3VsZCB3aGVuIHVzaW5nIGEgcGlwZSBpbiB0aGUgdGVtcGxldGUsIGllOiBcIjEgb2t0LiAyMDIwXCJcclxuICAgIHB1YmxpYyBzdGF0aWMgUGFyc2VEYXRlSW5TaG9ydERhdGVGb3JtYXQoZGF0ZTogRGF0ZSwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHRoaXMuZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUobG9jYWxlKTtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlOiBzdHJpbmcgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlKTtcclxuICAgICAgICByZXR1cm4gcGFyc2VkRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUcmFuc2Zvcm1zIGEgc3RyaW5nIHRoYXQgaXMgZm9ybWF0dGVkIGxpa2UgXCInMTctMDgtMjAxNCc8PT88PScxNy0wOC0yMDIxJ1wiIGludG8gXCInMTctMDgtMjAxNCcgVW50aWxsICcxNy0wOC0yMDIxJ1wiXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEZvcm1hdHRlZERhdGVSYW5nZVN0cmluZyhkYXRlUmFuZ2VTdHJpbmc6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcgPSBcIiAtIFwiKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgbmV3U3RyaW5nOiBzdHJpbmcgPSBkYXRlUmFuZ2VTdHJpbmc7XHJcbiAgICAgICAgbmV3U3RyaW5nID0gbmV3U3RyaW5nLnJlcGxhY2UoXCI8PT88PVwiLCBgICR7c2VwYXJhdG9yfSBgKTtcclxuICAgICAgICBuZXdTdHJpbmcgPSBuZXdTdHJpbmcucmVwbGFjZSgvJy9nLCBcIlwiKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ld1N0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFNldERhdGVPckRhdGVSYW5nZU9iamVjdEhvdXJzWmVybyhkYXRlOiBEYXRlIHwgRGF0ZVJhbmdlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlUmFuZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGUuc3RhcnREYXRlKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlLnN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZGF0ZS5lbmREYXRlKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlLmVuZERhdGUuc2V0SG91cnMoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKCEhZGF0ZSAmJiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9EYXRlVG9UaW1lU3RyaW5nV2l0aERhdGVGb3JtYXQodmFsdWU6IERhdGUsIGRhdGVGb3JtYXQ6IHN0cmluZyA9IFwiZC1tLXlcIik6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGhvdXJzOiBzdHJpbmcgPSB2YWx1ZS5nZXRIb3VycygpIDwgMTAgPyBcIjBcIiArIHZhbHVlLmdldEhvdXJzKCkgOiBcIlwiICsgdmFsdWUuZ2V0SG91cnMoKTtcclxuICAgICAgICBjb25zdCBtaW51dGVzOiBzdHJpbmcgPSB2YWx1ZS5nZXRNaW51dGVzKCkgPCAxMCA/IFwiMFwiICsgdmFsdWUuZ2V0TWludXRlcygpIDogXCJcIiArIHZhbHVlLmdldE1pbnV0ZXMoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5QYXJzZURhdGUodmFsdWUsIGRhdGVGb3JtYXQpICsgXCIgXCIgKyBbaG91cnMsIG1pbnV0ZXNdLmpvaW4oXCI6XCIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ // @returns true iff given value does not equals null and does not equal undefined
2
+ export function notNill(value) {
3
+ return value !== null && value !== undefined;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LW5pbGwuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdXRpbHMvZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ2xGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBVTtJQUM5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHJldHVybnMgdHJ1ZSBpZmYgZ2l2ZW4gdmFsdWUgZG9lcyBub3QgZXF1YWxzIG51bGwgYW5kIGRvZXMgbm90IGVxdWFsIHVuZGVmaW5lZFxyXG5leHBvcnQgZnVuY3Rpb24gbm90TmlsbCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,41 @@
1
+ // Static utility functions holder related to Maps.
2
+ export class MapUtils {
3
+ /**
4
+ * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.
5
+ * @param map
6
+ * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.
7
+ */
8
+ static FindKeyByValue(map, valueFilter) {
9
+ if (!map || !valueFilter) {
10
+ return undefined;
11
+ }
12
+ let foundKey = undefined;
13
+ let keyWasFound = false;
14
+ map.forEach((value, key) => {
15
+ if (!keyWasFound && valueFilter.call(this, value)) {
16
+ foundKey = key;
17
+ keyWasFound = true;
18
+ }
19
+ });
20
+ return foundKey;
21
+ }
22
+ /**
23
+ * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array
24
+ * containing the single [arrayEntry] item, if no entry yet existed.
25
+ * @param map
26
+ * @param mapKey
27
+ * @param arrayEntry
28
+ */
29
+ static InsertArrayItemIntoMap(map, mapKey, arrayEntry) {
30
+ if (!map) {
31
+ return;
32
+ }
33
+ if (!map.has(mapKey)) {
34
+ map.set(mapKey, [arrayEntry]);
35
+ }
36
+ else {
37
+ map.get(mapKey).push(arrayEntry);
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3V0aWxzL21hcC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLFFBQVE7SUFFakI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQU8sR0FBYyxFQUFFLFdBQWtDO1FBRWpGLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxJQUFJLFFBQVEsR0FBTSxTQUFTLENBQUM7UUFDNUIsSUFBSSxXQUFXLEdBQVksS0FBSyxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFRLEVBQUUsR0FBTSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDL0MsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDZixXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQWtCLEVBQUUsTUFBVyxFQUFFLFVBQWU7UUFDakYsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdGF0aWMgdXRpbGl0eSBmdW5jdGlvbnMgaG9sZGVyIHJlbGF0ZWQgdG8gTWFwcy5cclxuZXhwb3J0IGNsYXNzIE1hcFV0aWxzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGZpcnN0IGtleSBmcm9tIGdpdmVuIG1hcCwgZm9yIHdoaWNoIHRoZSB2YWx1ZSBmaWx0ZXIgaG9sZHMgdHJ1ZS4gQmFzaWNhbGx5IGEgcmV2ZXJzZSBNYXAuZ2V0KGtleSkgZnVuY3Rpb24uXHJcbiAgICAgKiBAcGFyYW0gbWFwXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVGaWx0ZXIgRm9yIHRoZSBmaXJzdCB2YWx1ZSB0aGF0IHJldHVybnMgdHJ1ZSBmb3IgdGhpcyBmaWx0ZXIgZnVuY3Rpb25zLCBpdHMga2V5IHdpbGwgYmUgcmV0dXJuZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRmluZEtleUJ5VmFsdWU8SywgVj4obWFwOiBNYXA8SywgVj4sIHZhbHVlRmlsdGVyOiAodmFsdWU6IFYpID0+IGJvb2xlYW4pOiBLIHtcclxuXHJcbiAgICAgICAgaWYgKCFtYXAgfHwgIXZhbHVlRmlsdGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZm91bmRLZXk6IEsgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgbGV0IGtleVdhc0ZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgbWFwLmZvckVhY2goKHZhbHVlOiBWLCBrZXk6IEspID0+IHtcclxuICAgICAgICAgICAgaWYgKCFrZXlXYXNGb3VuZCAmJiB2YWx1ZUZpbHRlci5jYWxsKHRoaXMsIHZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgZm91bmRLZXkgPSBrZXk7XHJcbiAgICAgICAgICAgICAgICBrZXlXYXNGb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZm91bmRLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnNlcnRzIGdpdmVuIGFycmF5RW50cnkgaW50byBnaXZlbiBtYXAsIHVuZGVyIGdpdmVuIG1hcEtleS4gV2hhdCdzIHNwZWNpYWwgaGVyZSwgaXMgdGhhdCBhIE5FVyBtYXAgZW50cnkgaXMgY3JlYXRlZCB3aXRoIGFuIGFycmF5XHJcbiAgICAgKiBjb250YWluaW5nIHRoZSBzaW5nbGUgW2FycmF5RW50cnldIGl0ZW0sIGlmIG5vIGVudHJ5IHlldCBleGlzdGVkLlxyXG4gICAgICogQHBhcmFtIG1hcFxyXG4gICAgICogQHBhcmFtIG1hcEtleVxyXG4gICAgICogQHBhcmFtIGFycmF5RW50cnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJbnNlcnRBcnJheUl0ZW1JbnRvTWFwKG1hcDogTWFwPGFueSwgYW55PiwgbWFwS2V5OiBhbnksIGFycmF5RW50cnk6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghbWFwKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbWFwLmhhcyhtYXBLZXkpKSB7XHJcbiAgICAgICAgICAgIG1hcC5zZXQobWFwS2V5LCBbYXJyYXlFbnRyeV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1hcC5nZXQobWFwS2V5KS5wdXNoKGFycmF5RW50cnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=