@bizdoc/core 3.2.10 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +52 -6
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +52 -8
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/fesm2022/bizdoc-core.mjs +2129 -1873
  10. package/fesm2022/bizdoc-core.mjs.map +1 -1
  11. package/lib/admin/admin-menu.component.d.ts +1 -3
  12. package/lib/admin/architecture/designer.base.d.ts +3 -3
  13. package/lib/admin/architecture/elements/form.component.d.ts +1 -1
  14. package/lib/compose/form-ref.d.ts +1 -0
  15. package/lib/compose/trace/trace.base.d.ts +1 -1
  16. package/lib/core/base.d.ts +5 -0
  17. package/lib/core/fields/options.base.d.ts +2 -2
  18. package/lib/core/inputs/combination-picker-body.d.ts +0 -2
  19. package/lib/core/inputs/combination-picker.d.ts +1 -1
  20. package/lib/core/session.service.d.ts +2 -2
  21. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  22. package/lib/core/translate.service.d.ts +2 -2
  23. package/lib/cube/cube.service.d.ts +1 -1
  24. package/lib/cube/matrix/matrix.base.d.ts +1 -1
  25. package/lib/cube/view-base.d.ts +1 -1
  26. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  27. package/lib/home/home-base.component.d.ts +1 -1
  28. package/lib/home/home.desktop.component.d.ts +5 -3
  29. package/lib/notifications/types/notification-base.d.ts +1 -1
  30. package/lib/reports/cube/usage-base.d.ts +1 -1
  31. package/lib/views/cube/cube-base.d.ts +1 -1
  32. package/package.json +31 -33
  33. package/esm2022/bizdoc-core.mjs +0 -5
  34. package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
  35. package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
  36. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
  37. package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
  38. package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
  39. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
  40. package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
  41. package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
  42. package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
  43. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
  44. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
  45. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
  46. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
  47. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
  48. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
  49. package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
  50. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
  51. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
  52. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
  53. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
  54. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
  55. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
  56. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
  57. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
  58. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
  59. package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
  60. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
  61. package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
  62. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
  63. package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
  64. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
  65. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
  66. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
  67. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
  68. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
  69. package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
  70. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
  71. package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
  72. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
  73. package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
  74. package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
  75. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
  76. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
  77. package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
  78. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
  79. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
  80. package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
  81. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
  82. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
  83. package/esm2022/lib/admin/core/ace.input.mjs +0 -144
  84. package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
  85. package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
  86. package/esm2022/lib/admin/core/search.input.mjs +0 -52
  87. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
  88. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
  89. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
  90. package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
  91. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
  92. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
  93. package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
  94. package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
  95. package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
  96. package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
  97. package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
  98. package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
  99. package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
  100. package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
  101. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
  102. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
  103. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
  104. package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
  105. package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
  106. package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
  107. package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
  108. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
  109. package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
  110. package/esm2022/lib/admin/system.service.mjs +0 -127
  111. package/esm2022/lib/admin/utility-ref.mjs +0 -39
  112. package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
  113. package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
  114. package/esm2022/lib/app.component.mjs +0 -73
  115. package/esm2022/lib/bizdoc.module.mjs +0 -110
  116. package/esm2022/lib/browse/browse-items.component.mjs +0 -496
  117. package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
  118. package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
  119. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
  120. package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
  121. package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
  122. package/esm2022/lib/chat/chat-info.mjs +0 -77
  123. package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
  124. package/esm2022/lib/chat/chat.service.mjs +0 -122
  125. package/esm2022/lib/chat/contacts.component.mjs +0 -107
  126. package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
  127. package/esm2022/lib/chat/conversation.component.mjs +0 -196
  128. package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
  129. package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
  130. package/esm2022/lib/compose/action/action-ref.mjs +0 -19
  131. package/esm2022/lib/compose/action/action.base.mjs +0 -50
  132. package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
  133. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
  134. package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
  135. package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
  136. package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
  137. package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
  138. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
  139. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
  140. package/esm2022/lib/compose/box/box.component.mjs +0 -44
  141. package/esm2022/lib/compose/box/control.component.mjs +0 -50
  142. package/esm2022/lib/compose/box/row.component.mjs +0 -41
  143. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
  144. package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
  145. package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
  146. package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
  147. package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
  148. package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
  149. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
  150. package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
  151. package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
  152. package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
  153. package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
  154. package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
  155. package/esm2022/lib/compose/dismiss.service.mjs +0 -25
  156. package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
  157. package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
  158. package/esm2022/lib/compose/document.component.mjs +0 -48
  159. package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
  160. package/esm2022/lib/compose/document.pane.component.mjs +0 -27
  161. package/esm2022/lib/compose/events/events.component.mjs +0 -29
  162. package/esm2022/lib/compose/form-ref.mjs +0 -43
  163. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
  164. package/esm2022/lib/compose/form.component.mjs +0 -512
  165. package/esm2022/lib/compose/new-menu.component.mjs +0 -94
  166. package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
  167. package/esm2022/lib/compose/privilage.directive.mjs +0 -64
  168. package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
  169. package/esm2022/lib/compose/state.component.mjs +0 -37
  170. package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
  171. package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
  172. package/esm2022/lib/compose/trace/people.component.mjs +0 -39
  173. package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
  174. package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
  175. package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
  176. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
  177. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -343
  178. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
  179. package/esm2022/lib/core/account.service.mjs +0 -38
  180. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
  181. package/esm2022/lib/core/animations.mjs +0 -168
  182. package/esm2022/lib/core/authentication.mjs +0 -4
  183. package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
  184. package/esm2022/lib/core/base.mjs +0 -2
  185. package/esm2022/lib/core/checkbox.mjs +0 -38
  186. package/esm2022/lib/core/colors.mjs +0 -322
  187. package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
  188. package/esm2022/lib/core/configuration.mjs +0 -17
  189. package/esm2022/lib/core/datasource.service.mjs +0 -75
  190. package/esm2022/lib/core/decorators.mjs +0 -46
  191. package/esm2022/lib/core/document-factory.service.mjs +0 -156
  192. package/esm2022/lib/core/fields/address.designer.mjs +0 -39
  193. package/esm2022/lib/core/fields/address.field.mjs +0 -65
  194. package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
  195. package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
  196. package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
  197. package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
  198. package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
  199. package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
  200. package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
  201. package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
  202. package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
  203. package/esm2022/lib/core/fields/date.designer.mjs +0 -40
  204. package/esm2022/lib/core/fields/date.field.mjs +0 -40
  205. package/esm2022/lib/core/fields/expression.field.mjs +0 -87
  206. package/esm2022/lib/core/fields/file.designer.mjs +0 -39
  207. package/esm2022/lib/core/fields/file.field.mjs +0 -35
  208. package/esm2022/lib/core/fields/html.designer.mjs +0 -61
  209. package/esm2022/lib/core/fields/html.field.mjs +0 -44
  210. package/esm2022/lib/core/fields/input.designer.mjs +0 -38
  211. package/esm2022/lib/core/fields/input.field.mjs +0 -54
  212. package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
  213. package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
  214. package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
  215. package/esm2022/lib/core/fields/options.base.mjs +0 -41
  216. package/esm2022/lib/core/fields/options.component.mjs +0 -58
  217. package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
  218. package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
  219. package/esm2022/lib/core/fields/select.designer.mjs +0 -104
  220. package/esm2022/lib/core/fields/select.field.mjs +0 -36
  221. package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
  222. package/esm2022/lib/core/fields/signature.field.mjs +0 -52
  223. package/esm2022/lib/core/fields/switch.field.mjs +0 -35
  224. package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
  225. package/esm2022/lib/core/fields/tags.field.mjs +0 -51
  226. package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
  227. package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
  228. package/esm2022/lib/core/fields/time.designer.mjs +0 -41
  229. package/esm2022/lib/core/fields/time.field.mjs +0 -39
  230. package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
  231. package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
  232. package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
  233. package/esm2022/lib/core/firebase.service.mjs +0 -51
  234. package/esm2022/lib/core/functions.mjs +0 -225
  235. package/esm2022/lib/core/guide/guide.component.mjs +0 -220
  236. package/esm2022/lib/core/guide/guide.service.mjs +0 -124
  237. package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
  238. package/esm2022/lib/core/http.interceptor.mjs +0 -63
  239. package/esm2022/lib/core/hub.service.mjs +0 -117
  240. package/esm2022/lib/core/identity/identity.component.mjs +0 -66
  241. package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
  242. package/esm2022/lib/core/info/document-info.service.mjs +0 -21
  243. package/esm2022/lib/core/info/location-info.component.mjs +0 -60
  244. package/esm2022/lib/core/info/map-info.mjs +0 -42
  245. package/esm2022/lib/core/inputs/address.input.mjs +0 -203
  246. package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
  247. package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
  248. package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
  249. package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
  250. package/esm2022/lib/core/inputs/file.input.mjs +0 -432
  251. package/esm2022/lib/core/inputs/select.input.mjs +0 -254
  252. package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
  253. package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
  254. package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
  255. package/esm2022/lib/core/layout.component.mjs +0 -93
  256. package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
  257. package/esm2022/lib/core/mailbox.service.mjs +0 -445
  258. package/esm2022/lib/core/models.mjs +0 -25
  259. package/esm2022/lib/core/none.component.mjs +0 -37
  260. package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
  261. package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
  262. package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
  263. package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
  264. package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
  265. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
  266. package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
  267. package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
  268. package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
  269. package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
  270. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
  271. package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
  272. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
  273. package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
  274. package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
  275. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
  276. package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
  277. package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
  278. package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
  279. package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
  280. package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
  281. package/esm2022/lib/core/popup/popup.component.mjs +0 -36
  282. package/esm2022/lib/core/popup/popup.service.mjs +0 -158
  283. package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
  284. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
  285. package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
  286. package/esm2022/lib/core/prompt.service.mjs +0 -88
  287. package/esm2022/lib/core/router.mjs +0 -37
  288. package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
  289. package/esm2022/lib/core/session.service.mjs +0 -291
  290. package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
  291. package/esm2022/lib/core/slots/router.directive.mjs +0 -68
  292. package/esm2022/lib/core/slots/router.service.mjs +0 -40
  293. package/esm2022/lib/core/slots/slots.component.mjs +0 -1193
  294. package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
  295. package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
  296. package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -238
  297. package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
  298. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
  299. package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
  300. package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -136
  301. package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
  302. package/esm2022/lib/core/tagging/users.component.mjs +0 -32
  303. package/esm2022/lib/core/translate.service.mjs +0 -125
  304. package/esm2022/lib/core/translations.mjs +0 -1068
  305. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
  306. package/esm2022/lib/core/window-title.service.mjs +0 -65
  307. package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
  308. package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
  309. package/esm2022/lib/cube/cube-info.service.mjs +0 -103
  310. package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
  311. package/esm2022/lib/cube/cube-view.component.mjs +0 -186
  312. package/esm2022/lib/cube/cube.service.mjs +0 -446
  313. package/esm2022/lib/cube/declarations.mjs +0 -2
  314. package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
  315. package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
  316. package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
  317. package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
  318. package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
  319. package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
  320. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
  321. package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
  322. package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
  323. package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
  324. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
  325. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
  326. package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
  327. package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
  328. package/esm2022/lib/cube/parallel/item.mjs +0 -40
  329. package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
  330. package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
  331. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
  332. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
  333. package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
  334. package/esm2022/lib/cube/view-base.mjs +0 -74
  335. package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
  336. package/esm2022/lib/cube/view.pane.component.mjs +0 -99
  337. package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
  338. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
  339. package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
  340. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
  341. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
  342. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
  343. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
  344. package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
  345. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
  346. package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
  347. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
  348. package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
  349. package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
  350. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
  351. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
  352. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
  353. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
  354. package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
  355. package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
  356. package/esm2022/lib/designer.module.mjs +0 -106
  357. package/esm2022/lib/desktop.module.mjs +0 -140
  358. package/esm2022/lib/home/about/about.dialog.mjs +0 -25
  359. package/esm2022/lib/home/home-base.component.mjs +0 -92
  360. package/esm2022/lib/home/home.desktop.component.mjs +0 -286
  361. package/esm2022/lib/home/home.mobile.component.mjs +0 -131
  362. package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
  363. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
  364. package/esm2022/lib/home/sign/sign.component.mjs +0 -56
  365. package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
  366. package/esm2022/lib/mobile.module.mjs +0 -63
  367. package/esm2022/lib/modules/chart.module.mjs +0 -44
  368. package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
  369. package/esm2022/lib/modules/date.adapter.mjs +0 -23
  370. package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
  371. package/esm2022/lib/modules/dayjs.module.mjs +0 -43
  372. package/esm2022/lib/modules/diagram.module.mjs +0 -43
  373. package/esm2022/lib/modules/gantt.module.mjs +0 -22
  374. package/esm2022/lib/modules/grid.module.mjs +0 -26
  375. package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
  376. package/esm2022/lib/modules/material.module.mjs +0 -182
  377. package/esm2022/lib/modules/paginator.intl.mjs +0 -21
  378. package/esm2022/lib/modules/pivot.module.mjs +0 -24
  379. package/esm2022/lib/modules/schedule.module.mjs +0 -24
  380. package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
  381. package/esm2022/lib/modules/stepper.intl.mjs +0 -17
  382. package/esm2022/lib/modules/texteditor.module.mjs +0 -26
  383. package/esm2022/lib/notifications/filter.component.mjs +0 -24
  384. package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
  385. package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
  386. package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
  387. package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
  388. package/esm2022/lib/notifications/notifications.service.mjs +0 -78
  389. package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
  390. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
  391. package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
  392. package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
  393. package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
  394. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
  395. package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
  396. package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
  397. package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
  398. package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
  399. package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
  400. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
  401. package/esm2022/lib/options/options.component.mjs +0 -308
  402. package/esm2022/lib/options/options.desktop.component.mjs +0 -26
  403. package/esm2022/lib/options/options.mobile.component.mjs +0 -23
  404. package/esm2022/lib/reports/arguments-component.mjs +0 -81
  405. package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
  406. package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
  407. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
  408. package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
  409. package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
  410. package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
  411. package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
  412. package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
  413. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
  414. package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
  415. package/esm2022/lib/reports/report-ref.mjs +0 -38
  416. package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
  417. package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
  418. package/esm2022/lib/reports/report.pane.component.mjs +0 -109
  419. package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
  420. package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
  421. package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
  422. package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
  423. package/esm2022/lib/routes.desktop.mjs +0 -209
  424. package/esm2022/lib/routes.mobile.mjs +0 -84
  425. package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
  426. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
  427. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
  428. package/esm2022/lib/search/cube.component.mjs +0 -47
  429. package/esm2022/lib/search/declarations.mjs +0 -7
  430. package/esm2022/lib/search/document.component.mjs +0 -41
  431. package/esm2022/lib/search/guide.component.mjs +0 -28
  432. package/esm2022/lib/search/path.component.mjs +0 -44
  433. package/esm2022/lib/search/search.service.mjs +0 -155
  434. package/esm2022/lib/shared.module.mjs +0 -622
  435. package/esm2022/lib/system.module.mjs +0 -562
  436. package/esm2022/lib/views/cube/chart.component.mjs +0 -74
  437. package/esm2022/lib/views/cube/cube-base.mjs +0 -101
  438. package/esm2022/lib/views/cube/explore.component.mjs +0 -85
  439. package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
  440. package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
  441. package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
  442. package/esm2022/lib/views/cube/sum.component.mjs +0 -66
  443. package/esm2022/lib/views/cube/view.component.mjs +0 -101
  444. package/esm2022/lib/views/document-view-ref.mjs +0 -27
  445. package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
  446. package/esm2022/lib/views/view-item.component.mjs +0 -68
  447. package/esm2022/lib/views/views.component.mjs +0 -32
  448. package/esm2022/lib/views/views.mobile.component.mjs +0 -21
  449. package/esm2022/lib/views/views.pane.component.mjs +0 -29
  450. package/esm2022/public-api.mjs +0 -182
@@ -1,195 +0,0 @@
1
- import { Component, Input, Optional, Self } from "@angular/core";
2
- import { FormControl } from "@angular/forms";
3
- import { MatFormFieldControl } from "@angular/material/form-field";
4
- import { coerceBooleanProperty } from "@angular/cdk/coercion";
5
- import { Subject } from "rxjs";
6
- import { takeUntil } from "rxjs/operators";
7
- import { isDate } from "../../core/functions";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/a11y";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "@angular/material/autocomplete";
12
- import * as i4 from "@angular/material/core";
13
- import * as i5 from "@angular/material/input";
14
- const TIME_FORMAT = /\d{1,2}:\d{1,2}/, DATE_FORMAT = /\d{4}-\d\d-\d\dT\d\d:\d{2}/;
15
- function generateValues() {
16
- const times = [];
17
- let h = 0;
18
- while (h < 24) {
19
- let m = 0;
20
- while (m < 60) {
21
- times.push(`${h}:${m}`);
22
- m += 15;
23
- }
24
- h++;
25
- }
26
- return times;
27
- }
28
- export class TimePicker {
29
- static { this.nextId = 0; }
30
- get empty() {
31
- const value = this.control.value;
32
- return !value;
33
- }
34
- get shouldLabelFloat() { return this.focused || !this.empty; }
35
- get placeholder() { return this._placeholder; }
36
- set placeholder(value) {
37
- this._placeholder = value;
38
- this.stateChanges.next();
39
- }
40
- get required() { return this._required; }
41
- set required(value) {
42
- this._required = coerceBooleanProperty(value);
43
- this.stateChanges.next();
44
- }
45
- get disabled() { return this._disabled; }
46
- set disabled(value) {
47
- this._disabled = coerceBooleanProperty(value);
48
- this._disabled ? this.control.disable() : this.control.enable();
49
- this.stateChanges.next();
50
- }
51
- get value() {
52
- const value = this.control.value;
53
- return value;
54
- }
55
- set value(val) {
56
- this._setValue(val, true);
57
- this.stateChanges.next();
58
- }
59
- _setValue(val, emitEvent) {
60
- if (val) {
61
- if (isDate(val) || DATE_FORMAT.test(val)) {
62
- val = new Date(val);
63
- this.control.setValue(val.getHours() + ':' + val.getMinutes(), { emitEvent });
64
- }
65
- else
66
- this.control.setValue(TIME_FORMAT.exec(val)[0], { emitEvent });
67
- }
68
- else
69
- this.control.reset();
70
- }
71
- constructor(_focusMonitor, _elementRef, ngControl) {
72
- this._focusMonitor = _focusMonitor;
73
- this._elementRef = _elementRef;
74
- this.ngControl = ngControl;
75
- this.controlType = 'time-picker';
76
- this.id = `time-picker-${TimePicker.nextId++}`;
77
- this.focused = false;
78
- this.errorState = false;
79
- this.describedBy = '';
80
- this.onChange = (_) => { };
81
- this.onTouched = () => { };
82
- this._required = false;
83
- this._disabled = false;
84
- this.control = new FormControl(null);
85
- this.stateChanges = new Subject();
86
- this.options = generateValues();
87
- this._destroy = new Subject();
88
- _focusMonitor.monitor(_elementRef, true).subscribe(origin => {
89
- if (this.focused && !origin) {
90
- this.onTouched();
91
- }
92
- this.focused = !!origin;
93
- this.stateChanges.next();
94
- });
95
- if (this.ngControl != null) {
96
- this.ngControl.valueAccessor = this;
97
- }
98
- }
99
- setDescribedByIds(ids) {
100
- this.describedBy = ids.join(' ');
101
- }
102
- onContainerClick(event) {
103
- if (event.target.tagName !== 'INPUT')
104
- this._elementRef.nativeElement.querySelector('input').focus();
105
- }
106
- writeValue(val) {
107
- this._setValue(val, false);
108
- }
109
- registerOnChange(fn) {
110
- this.onChange = fn;
111
- }
112
- registerOnTouched(fn) {
113
- this.onTouched = fn;
114
- }
115
- setDisabledState(isDisabled) {
116
- this.disabled = isDisabled;
117
- }
118
- ngOnInit() {
119
- this.control.valueChanges.pipe(takeUntil(this._destroy)).
120
- subscribe(v => {
121
- this.errorState = !this._validate(v);
122
- if (v && !this.errorState && this.dateControlName) {
123
- const date = this._dateControl?.value;
124
- date && this._appendTime(date);
125
- }
126
- this.onChange(this.value);
127
- });
128
- if (this.dateControlName) {
129
- this._dateControl = this.ngControl.control.parent.get(this.dateControlName);
130
- if (!this._dateControl)
131
- throw `${this.controlType} dateControlName ${this.dateControlName}`;
132
- this._dateControl.valueChanges.pipe(takeUntil(this._destroy)).
133
- subscribe((v) => {
134
- v && this.value && this._appendTime(v);
135
- });
136
- }
137
- }
138
- _appendTime(val) {
139
- if (!isDate(val))
140
- val = new Date(val);
141
- const parts = this.value.split(':');
142
- val.setHours(parseInt(parts[0]), parseInt(parts[1]));
143
- this._dateControl?.setValue(val.toISOString(), { emitEvent: false });
144
- }
145
- _validate(val) {
146
- if (!val)
147
- return !this._required;
148
- const parts = val.split(':');
149
- if (parts.length > 2)
150
- return false;
151
- for (let i = 0; i < parts.length; i++) {
152
- if (!/\d{1,2}/.test(parts[i]))
153
- return false;
154
- const part = parseInt(parts[i]);
155
- if (isNaN(part))
156
- return false;
157
- else if (i === 0 && (part < 0 || part > 23))
158
- return false;
159
- else if (i === 1 && (part < 0 || part > 59))
160
- return false;
161
- }
162
- return true;
163
- }
164
- ngOnDestroy() {
165
- this.stateChanges.complete();
166
- this._focusMonitor.stopMonitoring(this._elementRef);
167
- this._destroy.next();
168
- this._destroy.complete();
169
- }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TimePicker, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: TimePicker, selector: "mat-time-picker", inputs: { dateControlName: "dateControlName", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "shouldLabelFloat", "id": "id", "attr.aria-describedby": "describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], ngImport: i0, template: "<input matInput type=\"text\" [matAutocomplete]=\"auto\" [formControl]=\"control\" [placeholder]=\"placeholder\">\r\n<mat-autocomplete #auto>\r\n @for (o of options; track o) {\r\n <mat-option [value]=\"o\">{{o}}</mat-option>\r\n }\r\n</mat-autocomplete>\r\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
172
- }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TimePicker, decorators: [{
174
- type: Component,
175
- args: [{ selector: 'mat-time-picker', providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], host: {
176
- '[class.floating]': 'shouldLabelFloat',
177
- '[id]': 'id',
178
- '[attr.aria-describedby]': 'describedBy'
179
- }, template: "<input matInput type=\"text\" [matAutocomplete]=\"auto\" [formControl]=\"control\" [placeholder]=\"placeholder\">\r\n<mat-autocomplete #auto>\r\n @for (o of options; track o) {\r\n <mat-option [value]=\"o\">{{o}}</mat-option>\r\n }\r\n</mat-autocomplete>\r\n" }]
180
- }], ctorParameters: () => [{ type: i1.FocusMonitor }, { type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
181
- type: Optional
182
- }, {
183
- type: Self
184
- }] }], propDecorators: { dateControlName: [{
185
- type: Input
186
- }], placeholder: [{
187
- type: Input
188
- }], required: [{
189
- type: Input
190
- }], disabled: [{
191
- type: Input
192
- }], value: [{
193
- type: Input
194
- }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9pbnB1dHMvdGltZS1waWNrZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9pbnB1dHMvdGltZS1waWNrZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFvRCxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQUU5QyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxXQUFXLEdBQUcsNEJBQTRCLENBQUM7QUFFbEYsU0FBUyxjQUFjO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDVixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixDQUFDO1FBQ0Qs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LEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQywwQkM1QnhFLHlRQU1BOzsyRkQ2QmEsVUFBVTtrQkFWdEIsU0FBUzsrQkFDRSxpQkFBaUIsYUFFaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLFlBQVksRUFBRSxDQUFDLFFBQ2hFO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjt3QkFDdEMsTUFBTSxFQUFFLElBQUk7d0JBQ1oseUJBQXlCLEVBQUUsYUFBYTtxQkFDekM7OzBCQTJFRSxRQUFROzswQkFBSSxJQUFJO3lDQXJEbkIsZUFBZTtzQkFEZCxLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVlGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPcHRpb25hbCwgU2VsZiwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcblxyXG5jb25zdCBUSU1FX0ZPUk1BVCA9IC9cXGR7MSwyfTpcXGR7MSwyfS8sIERBVEVfRk9STUFUID0gL1xcZHs0fS1cXGRcXGQtXFxkXFxkVFxcZFxcZDpcXGR7Mn0vO1xyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVWYWx1ZXMoKTogc3RyaW5nW10ge1xyXG4gIGNvbnN0IHRpbWVzID0gW107XHJcbiAgbGV0IGggPSAwO1xyXG4gIHdoaWxlIChoIDwgMjQpIHtcclxuICAgIGxldCBtID0gMDtcclxuICAgIHdoaWxlIChtIDwgNjApIHtcclxuICAgICAgdGltZXMucHVzaChgJHtofToke219YCk7XHJcbiAgICAgIG0gKz0gMTU7XHJcbiAgICB9XHJcbiAgICBoKys7XHJcbiAgfVxyXG4gIHJldHVybiB0aW1lcztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtdGltZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAndGltZS1waWNrZXIuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogVGltZVBpY2tlciB9XSxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbaWRdJzogJ2lkJyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcmVhZG9ubHkgY29udHJvbFR5cGUgPSAndGltZS1waWNrZXInO1xyXG4gIHJlYWRvbmx5IGlkID0gYHRpbWUtcGlja2VyLSR7VGltZVBpY2tlci5uZXh0SWQrK31gO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgZGVzY3JpYmVkQnkgPSAnJztcclxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBfZGF0ZUNvbnRyb2w/OiBGb3JtQ29udHJvbDxhbnk+IHwgbnVsbDtcclxuXHJcbiAgZ2V0IGVtcHR5KCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgcmV0dXJuICF2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkgeyByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5OyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0ZUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyOyB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cclxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5jb250cm9sLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICByZWFkb25seSBvcHRpb25zID0gZ2VuZXJhdGVWYWx1ZXMoKTtcclxuICBASW5wdXQoKVxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9zZXRWYWx1ZSh2YWwsIHRydWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXRWYWx1ZSh2YWw6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBlbWl0RXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKGlzRGF0ZSh2YWwpIHx8IERBVEVfRk9STUFULnRlc3QodmFsIGFzIHN0cmluZykpIHtcclxuICAgICAgICB2YWwgPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWwuZ2V0SG91cnMoKSArICc6JyArIHZhbC5nZXRNaW51dGVzKCksIHsgZW1pdEV2ZW50IH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoVElNRV9GT1JNQVQuZXhlYyh2YWwgYXMgc3RyaW5nKSFbMF0sIHsgZW1pdEV2ZW50IH0pO1xyXG4gICAgfSBlbHNlXHJcbiAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuXHJcbiAgICBfZm9jdXNNb25pdG9yLm1vbml0b3IoX2VsZW1lbnRSZWYsIHRydWUpLnN1YnNjcmliZShvcmlnaW4gPT4ge1xyXG4gICAgICBpZiAodGhpcy5mb2N1c2VkICYmICFvcmlnaW4pIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhb3JpZ2luO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgRWxlbWVudCkudGFnTmFtZSAhPT0gJ0lOUFVUJylcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykhLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0VmFsdWUodmFsLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9ICF0aGlzLl92YWxpZGF0ZSh2KTtcclxuICAgICAgICBpZiAodiAmJiAhdGhpcy5lcnJvclN0YXRlICYmIHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5fZGF0ZUNvbnRyb2w/LnZhbHVlO1xyXG4gICAgICAgICAgZGF0ZSAmJiB0aGlzLl9hcHBlbmRUaW1lKGRhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB9KTtcclxuICAgIGlmICh0aGlzLmRhdGVDb250cm9sTmFtZSkge1xyXG4gICAgICB0aGlzLl9kYXRlQ29udHJvbCA9IHRoaXMubmdDb250cm9sLmNvbnRyb2whLnBhcmVudCEuZ2V0KHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSBhcyBGb3JtQ29udHJvbDtcclxuICAgICAgaWYgKCF0aGlzLl9kYXRlQ29udHJvbCkgdGhyb3cgYCR7dGhpcy5jb250cm9sVHlwZX0gZGF0ZUNvbnRyb2xOYW1lICR7dGhpcy5kYXRlQ29udHJvbE5hbWV9YDtcclxuXHJcbiAgICAgIHRoaXMuX2RhdGVDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgICAgc3Vic2NyaWJlKCh2OiBEYXRlKSA9PiB7XHJcbiAgICAgICAgICB2ICYmIHRoaXMudmFsdWUgJiYgdGhpcy5fYXBwZW5kVGltZSh2KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXBwZW5kVGltZSh2YWw6IERhdGUpIHtcclxuICAgIGlmICghaXNEYXRlKHZhbCkpIHZhbCA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICBjb25zdCBwYXJ0cyA9IHRoaXMudmFsdWUhLnNwbGl0KCc6Jyk7XHJcbiAgICB2YWwuc2V0SG91cnMocGFyc2VJbnQocGFydHNbMF0pLCBwYXJzZUludChwYXJ0c1sxXSkpO1xyXG4gICAgdGhpcy5fZGF0ZUNvbnRyb2w/LnNldFZhbHVlKHZhbC50b0lTT1N0cmluZygpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbGlkYXRlKHZhbD86IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIGlmICghdmFsKSByZXR1cm4gIXRoaXMuX3JlcXVpcmVkO1xyXG4gICAgY29uc3QgcGFydHMgPSB2YWwuc3BsaXQoJzonKTtcclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPiAyKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICghL1xcZHsxLDJ9Ly50ZXN0KHBhcnRzW2ldKSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGNvbnN0IHBhcnQgPSBwYXJzZUludChwYXJ0c1tpXSk7XHJcbiAgICAgIGlmIChpc05hTihwYXJ0KSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGVsc2UgaWYgKGkgPT09IDAgJiYgKHBhcnQgPCAwIHx8IHBhcnQgPiAyMykpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBlbHNlIGlmIChpID09PSAxICYmIChwYXJ0IDwgMCB8fCBwYXJ0ID4gNTkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiPlxyXG48bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz5cclxuICBAZm9yIChvIG9mIG9wdGlvbnM7IHRyYWNrIG8pIHtcclxuICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvXCI+e3tvfX08L21hdC1vcHRpb24+XHJcbiAgfVxyXG48L21hdC1hdXRvY29tcGxldGU+XHJcbiJdfQ==
@@ -1,180 +0,0 @@
1
- import { Component, Input, HostBinding, Optional, Self } from '@angular/core';
2
- import { MatFormFieldControl } from '@angular/material/form-field';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/cdk/a11y";
8
- import * as i3 from "../pipes/translate.pipe";
9
- /** */
10
- export class Timespan {
11
- constructor(days, hours, minutes) {
12
- this.days = days;
13
- this.hours = hours;
14
- this.minutes = minutes;
15
- }
16
- }
17
- /** */
18
- export class TimespanInput {
19
- static { this.nextId = 0; }
20
- get placeholder() {
21
- return this._placeholder;
22
- }
23
- set placeholder(plh) {
24
- this._placeholder = plh;
25
- this.stateChanges.next();
26
- }
27
- get empty() {
28
- const { value: { days, hours, minutes } } = this.parts;
29
- return !days && !hours && !minutes;
30
- }
31
- get shouldLabelFloat() {
32
- return this.focused || !this.empty;
33
- }
34
- get required() {
35
- return this._required;
36
- }
37
- set required(req) {
38
- this._required = req;
39
- this.stateChanges.next();
40
- }
41
- get disabled() { return this._disabled; }
42
- set disabled(value) {
43
- this._disabled = value;
44
- this._disabled ? this.parts.disable() : this.parts.enable();
45
- this.stateChanges.next();
46
- }
47
- setDescribedByIds(ids) {
48
- this.describedBy = ids.join(' ');
49
- }
50
- focus() {
51
- this._elRef.nativeElement.querySelector('input').focus();
52
- }
53
- onContainerClick(event) {
54
- if (event.target.tagName.toLowerCase() !== 'input') {
55
- this.focus();
56
- }
57
- }
58
- writeValue(obj) {
59
- this.value = obj;
60
- }
61
- registerOnChange(fn) {
62
- this._onChange = fn;
63
- }
64
- registerOnTouched(fn) {
65
- this._onTouched = fn;
66
- }
67
- setDisabledState(isDisabled) {
68
- this.disabled = isDisabled;
69
- }
70
- get value() {
71
- const { value: { days, hours, minutes } } = this.parts;
72
- if (days || hours || minutes) {
73
- return `${days || 0}.${hours || '00'}:${minutes || '00'}:00`;
74
- }
75
- else
76
- return null;
77
- }
78
- set value(value) {
79
- let days = null, hours = null, minutes = null;
80
- if (value) {
81
- const parts = value.split(':');
82
- if (parts[0].indexOf('.') > 0) {
83
- const dparts = parts[0].split('.');
84
- days = parseInt(dparts[0]);
85
- hours = parseInt(dparts[1]);
86
- }
87
- else {
88
- days = 0;
89
- hours = parseFloat(parts[0]);
90
- }
91
- minutes = parseFloat(parts[1]);
92
- }
93
- this.parts.setValue({ days, hours, minutes });
94
- this.stateChanges.next();
95
- }
96
- constructor(ngControl, _fb, _fm, _elRef) {
97
- this.ngControl = ngControl;
98
- this._fb = _fb;
99
- this._fm = _fm;
100
- this._elRef = _elRef;
101
- this._required = false;
102
- this._disabled = false;
103
- this.parts = this._fb.group({
104
- days: this._fb.control(null),
105
- hours: this._fb.control(null),
106
- minutes: this._fb.control(null)
107
- });
108
- this.stateChanges = new Subject();
109
- this.id = `timespan-input-${TimespanInput.nextId++}`;
110
- this.focused = false;
111
- this.errorState = false;
112
- this.controlType = 'timespan-input';
113
- this.describedBy = '';
114
- this._destroy = new Subject();
115
- if (this.ngControl != null) {
116
- this.ngControl.valueAccessor = this;
117
- }
118
- _fm.monitor(_elRef.nativeElement, true).subscribe(origin => {
119
- this.focused = !!origin;
120
- this.stateChanges.next();
121
- });
122
- }
123
- ngOnInit() {
124
- this.parts.valueChanges.pipe(takeUntil(this._destroy)).
125
- subscribe(() => this._onChange(this.value));
126
- this.parts.statusChanges.pipe(takeUntil(this._destroy)).
127
- subscribe(() => { if (this.parts.touched)
128
- this._onTouched(); });
129
- }
130
- ngOnDestroy() {
131
- this._destroy.next();
132
- this._destroy.complete();
133
- this._fm.stopMonitoring(this._elRef.nativeElement);
134
- this.stateChanges.complete();
135
- }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TimespanInput, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TimespanInput, selector: "bizdoc-timespan-input", inputs: { placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimespanInput }], ngImport: i0, template: `<div [formGroup]="parts" class="ts-input-container">
138
- <input class="ts-input-element" formControlName="days" size="2" pattern="\\d*" #inp>
139
- <span class="ts-input-spacer">{{'DaysPart' | translate}}</span>
140
- <input class="ts-input-element" formControlName="hours" size="2" max="24" min="0" pattern="\\d*">
141
- <span class="ts-input-spacer">{{'HoursPart' | translate}}</span>
142
- <input class="ts-input-element" formControlName="minutes" size="2" max="60" min="0" pattern="\\d*">
143
- <span class="ts-input-spacer">{{'MinutesPart' | translate}}</span>
144
- </div>`, isInline: true, styles: [".ts-input-container{display:flex}.ts-input-element{border:none;background:none;padding:0;outline:none;font:inherit;text-align:center}.ts-input-spacer{opacity:0;font-size:x-small;text-transform:uppercase;transition:opacity .2s}:host.floating .ts-input-spacer{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TimespanInput, decorators: [{
147
- type: Component,
148
- args: [{ selector: 'bizdoc-timespan-input', providers: [{ provide: MatFormFieldControl, useExisting: TimespanInput }], template: `<div [formGroup]="parts" class="ts-input-container">
149
- <input class="ts-input-element" formControlName="days" size="2" pattern="\\d*" #inp>
150
- <span class="ts-input-spacer">{{'DaysPart' | translate}}</span>
151
- <input class="ts-input-element" formControlName="hours" size="2" max="24" min="0" pattern="\\d*">
152
- <span class="ts-input-spacer">{{'HoursPart' | translate}}</span>
153
- <input class="ts-input-element" formControlName="minutes" size="2" max="60" min="0" pattern="\\d*">
154
- <span class="ts-input-spacer">{{'MinutesPart' | translate}}</span>
155
- </div>`, host: {
156
- '[class.floating]': 'shouldLabelFloat',
157
- '[attr.aria-describedby]': 'describedBy'
158
- }, styles: [".ts-input-container{display:flex}.ts-input-element{border:none;background:none;padding:0;outline:none;font:inherit;text-align:center}.ts-input-spacer{opacity:0;font-size:x-small;text-transform:uppercase;transition:opacity .2s}:host.floating .ts-input-spacer{opacity:1}\n"] }]
159
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
160
- type: Optional
161
- }, {
162
- type: Self
163
- }] }, { type: i1.FormBuilder }, { type: i2.FocusMonitor }, { type: i0.ElementRef }], propDecorators: { id: [{
164
- type: HostBinding
165
- }], placeholder: [{
166
- type: Input
167
- }], shouldLabelFloat: [{
168
- type: HostBinding,
169
- args: ['class.floating']
170
- }], required: [{
171
- type: Input
172
- }], disabled: [{
173
- type: Input
174
- }], describedBy: [{
175
- type: HostBinding,
176
- args: ['attr.aria-describedby']
177
- }], value: [{
178
- type: Input
179
- }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXNwYW4uaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9pbnB1dHMvdGltZXNwYW4uaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUUzQyxNQUFNO0FBQ04sTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFBbUIsSUFBYSxFQUN2QixLQUFjLEVBQ2QsT0FBZ0I7UUFGTixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUksQ0FBQztDQUMvQjtBQXVDRCxNQUFNO0FBQ04sTUFBTSxPQUNFLGFBQWE7YUFDSixXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFhMUIsSUFBYSxXQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsR0FBRztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFdkQsT0FBTyxDQUFDLElBQUksSUFB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QVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzhHQXhISyxhQUFhO2tHQUFiLGFBQWEsdVJBdENSLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLDBCQUMvRDs7Ozs7OztTQU9IOzsyRkE4QkQsYUFBYTtrQkF4Q3BCLFNBQVM7K0JBQ0UsdUJBQXVCLGFBQ3RCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxlQUFlLEVBQUUsQ0FBQyxZQUMvRDs7Ozs7OztTQU9ILFFBdUJEO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjt3QkFDdEMseUJBQXlCLEVBQUUsYUFBYTtxQkFDekM7OzBCQXVHWSxRQUFROzswQkFBSSxJQUFJO3VIQXRGTCxFQUFFO3NCQUF6QixXQUFXO2dCQUNDLFdBQVc7c0JBQXZCLEtBQUs7Z0JBY0YsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBeUJ2QixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBIb3N0QmluZGluZywgT3B0aW9uYWwsIFNlbGYsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLyoqICovXHJcbmV4cG9ydCBjbGFzcyBUaW1lc3BhbiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGRheXM/OiBudW1iZXIsXHJcbiAgICBwdWJsaWMgaG91cnM/OiBudW1iZXIsXHJcbiAgICBwdWJsaWMgbWludXRlcz86IG51bWJlcikgeyB9XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtdGltZXNwYW4taW5wdXQnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFRpbWVzcGFuSW5wdXQgfV0sXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IFtmb3JtR3JvdXBdPVwicGFydHNcIiBjbGFzcz1cInRzLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgPGlucHV0IGNsYXNzPVwidHMtaW5wdXQtZWxlbWVudFwiIGZvcm1Db250cm9sTmFtZT1cImRheXNcIiBzaXplPVwiMlwiIHBhdHRlcm49XCJcXFxcZCpcIiAjaW5wPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0cy1pbnB1dC1zcGFjZXJcIj57eydEYXlzUGFydCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cInRzLWlucHV0LWVsZW1lbnRcIiBmb3JtQ29udHJvbE5hbWU9XCJob3Vyc1wiIHNpemU9XCIyXCIgbWF4PVwiMjRcIiBtaW49XCIwXCIgcGF0dGVybj1cIlxcXFxkKlwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0cy1pbnB1dC1zcGFjZXJcIj57eydIb3Vyc1BhcnQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJ0cy1pbnB1dC1lbGVtZW50XCIgZm9ybUNvbnRyb2xOYW1lPVwibWludXRlc1wiIHNpemU9XCIyXCIgbWF4PVwiNjBcIiBtaW49XCIwXCIgcGF0dGVybj1cIlxcXFxkKlwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0cy1pbnB1dC1zcGFjZXJcIj57eydNaW51dGVzUGFydCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2Rpdj5gLFxyXG4gIHN0eWxlczogW2AudHMtaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC50cy1pbnB1dC1lbGVtZW50IHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBmb250OiBpbmhlcml0O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRzLWlucHV0LXNwYWNlciB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogeC1zbWFsbDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcclxuICAgIH1cclxuICAgIDpob3N0LmZsb2F0aW5nIC50cy1pbnB1dC1zcGFjZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfWBdLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MuZmxvYXRpbmddJzogJ3Nob3VsZExhYmVsRmxvYXQnLFxyXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ2Rlc2NyaWJlZEJ5J1xyXG4gIH1cclxufSlcclxuLyoqICovXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFRpbWVzcGFuSW5wdXQgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZz4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9vbkNoYW5nZTogYW55O1xyXG4gIHByaXZhdGUgX29uVG91Y2hlZDogYW55O1xyXG4gIHJlYWRvbmx5IHBhcnRzID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgZGF5czogdGhpcy5fZmIuY29udHJvbDxudW1iZXIgfCBudWxsPihudWxsKSxcclxuICAgIGhvdXJzOiB0aGlzLl9mYi5jb250cm9sPG51bWJlciB8IG51bGw+KG51bGwpLFxyXG4gICAgbWludXRlczogdGhpcy5fZmIuY29udHJvbDxudW1iZXIgfCBudWxsPihudWxsKVxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgcmVhZG9ubHkgaWQgPSBgdGltZXNwYW4taW5wdXQtJHtUaW1lc3BhbklucHV0Lm5leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gIH1cclxuICBzZXQgcGxhY2Vob2xkZXIocGxoKSB7XHJcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsaDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IHsgZGF5cywgaG91cnMsIG1pbnV0ZXMgfSB9ID0gdGhpcy5wYXJ0cztcclxuXHJcbiAgICByZXR1cm4gIWRheXMgJiYgIWhvdXJzICYmICFtaW51dGVzO1xyXG4gIH1cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0aW5nJylcclxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gIH1cclxuICBzZXQgcmVxdWlyZWQocmVxKSB7XHJcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHJlcTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2Rpc2FibGVkID8gdGhpcy5wYXJ0cy5kaXNhYmxlKCkgOiB0aGlzLnBhcnRzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAndGltZXNwYW4taW5wdXQnO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcclxuXHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIS5mb2N1cygpO1xyXG4gIH1cclxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdpbnB1dCcpIHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgeyB2YWx1ZTogeyBkYXlzLCBob3VycywgbWludXRlcyB9IH0gPSB0aGlzLnBhcnRzO1xyXG4gICAgaWYgKGRheXMgfHwgaG91cnMgfHwgbWludXRlcykge1xyXG4gICAgICByZXR1cm4gYCR7ZGF5cyB8fCAwfS4ke2hvdXJzIHx8ICcwMCd9OiR7bWludXRlcyB8fCAnMDAnfTowMGA7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGxldCBkYXlzID0gbnVsbCwgaG91cnMgPSBudWxsLCBtaW51dGVzID0gbnVsbDtcclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdCgnOicpO1xyXG4gICAgICBpZiAocGFydHNbMF0uaW5kZXhPZignLicpID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGRwYXJ0cyA9IHBhcnRzWzBdLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgZGF5cyA9IHBhcnNlSW50KGRwYXJ0c1swXSk7IGhvdXJzID0gcGFyc2VJbnQoZHBhcnRzWzFdKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBkYXlzID0gMDsgaG91cnMgPSBwYXJzZUZsb2F0KHBhcnRzWzBdKTtcclxuICAgICAgfVxyXG4gICAgICBtaW51dGVzID0gcGFyc2VGbG9hdChwYXJ0c1sxXSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhcnRzLnNldFZhbHVlKHsgZGF5cywgaG91cnMsIG1pbnV0ZXMgfSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9mbTogRm9jdXNNb25pdG9yLCBwcml2YXRlIF9lbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsUmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpLnN1YnNjcmliZShvcmlnaW4gPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJ0cy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSkpO1xyXG4gICAgdGhpcy5wYXJ0cy5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHsgaWYgKHRoaXMucGFydHMudG91Y2hlZCkgdGhpcy5fb25Ub3VjaGVkKCkgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9mbS5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,93 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil, startWith } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./session.service";
7
- import * as i2 from "./component-factory-resolver";
8
- /** layout component*/
9
- export class LayoutComponent {
10
- /** layout ctor */
11
- constructor(_containerRef, _session, _resolver) {
12
- this._containerRef = _containerRef;
13
- this._session = _session;
14
- this._resolver = _resolver;
15
- this.modelChange = new EventEmitter();
16
- this.dirtyChange = new EventEmitter();
17
- this.validChange = new EventEmitter();
18
- this._destroy = new Subject();
19
- this.form = new FormGroup({});
20
- }
21
- ngAfterViewInit() {
22
- this._children.length && this.focus();
23
- }
24
- ngOnChanges(changes) {
25
- if (changes['fields']) {
26
- this._containerRef.clear();
27
- this.layout();
28
- }
29
- else if (changes['model'])
30
- this.form.patchValue(this.model, { emitEvent: false });
31
- }
32
- layout() {
33
- this._children = this.fields.map(f => {
34
- const control = this._session.profile.controls[f.controlType] || (this._session.profile.controls[f.controlType] = this._session.profile.controls.find(c => c.name === f.controlType));
35
- const comp = this._resolver.component(control.template);
36
- const compRef = this._containerRef.createComponent(comp);
37
- const { instance } = compRef;
38
- if (!f.label)
39
- f.label = f.name;
40
- Object.assign(instance, f);
41
- instance.mode = 'compose';
42
- f.defaultValue !== undefined && instance.control.setValue(f.defaultValue, { emitEvent: false });
43
- this.form.addControl(f.name, instance.control);
44
- return instance;
45
- });
46
- this.form.patchValue(this.model);
47
- this.form.valueChanges.pipe(takeUntil(this._destroy)).subscribe(c => {
48
- Object.assign(this.model, c);
49
- this.modelChange.emit(c);
50
- });
51
- this.form.statusChanges.pipe(startWith(), takeUntil(this._destroy)).subscribe(() => {
52
- this.dirtyChange.emit(this.form.dirty);
53
- this.valid = this.form.valid;
54
- this.validChange.emit(this.form.valid);
55
- });
56
- }
57
- focus() {
58
- const field = this._children.at(0);
59
- try {
60
- field.focus();
61
- }
62
- catch (e) {
63
- console.log(e);
64
- }
65
- }
66
- ngOnDestroy() {
67
- this._destroy.next();
68
- this._destroy.complete();
69
- }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LayoutComponent, selector: "bizdoc-layout", inputs: { fields: "fields", model: "model", dirty: "dirty", params: "params", valid: "valid" }, outputs: { modelChange: "modelChange", dirtyChange: "dirtyChange", validChange: "validChange" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex-direction:column;padding:8px}::ng-deep .field{display:grid}\n"] }); }
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LayoutComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'bizdoc-layout', template: '', styles: [":host{display:flex;flex-direction:column;padding:8px}::ng-deep .field{display:grid}\n"] }]
76
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.SessionService }, { type: i2.BizDocComponentFactoryResolver }], propDecorators: { fields: [{
77
- type: Input
78
- }], model: [{
79
- type: Input
80
- }], modelChange: [{
81
- type: Output
82
- }], dirty: [{
83
- type: Input
84
- }], dirtyChange: [{
85
- type: Output
86
- }], params: [{
87
- type: Input
88
- }], valid: [{
89
- type: Input
90
- }], validChange: [{
91
- type: Output
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL2xheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBbUYsTUFBTSxlQUFlLENBQUM7QUFFeEosT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVd0RCxzQkFBc0I7QUFDdEIsTUFBTSxPQUFPLGVBQWU7SUFhMUIsa0JBQWtCO0lBQ2xCLFlBQ1UsYUFBK0IsRUFDL0IsUUFBd0IsRUFDeEIsU0FBeUM7UUFGekMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBZGhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUVyQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHMUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVFsQyxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFD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QUFDO0lBRUQsS0FBSztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQztZQUNGLEtBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBbkVVLGVBQWU7a0dBQWYsZUFBZSwyUUFOaEIsRUFBRTs7MkZBTUQsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxlQUFlLFlBQ2YsRUFBRTsrSkFPSCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDYSxXQUFXO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDb250YWluZXJSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbCwgRmllbGRJbmZvIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWxheW91dCcsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIC8vdGVtcGxhdGU6ICc8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiAjY29udGFpbmVyPjwvZm9ybT4nLFxyXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIC8vaG9zdDogeyBjbGFzczogJ2xheW91dCcgfVxyXG59KVxyXG4vKiogbGF5b3V0IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZmllbGRzITogRmllbGRJbmZvW107XHJcbiAgQElucHV0KCkgbW9kZWwhOiB7fTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG4gIEBJbnB1dCgpIGRpcnR5OiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkaXJ0eUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKSBwYXJhbXM6IGFueTtcclxuICBASW5wdXQoKSB2YWxpZDogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIC8vQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIF9jb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IENvbnRyb2xDb21wb25lbnRbXTtcclxuICAvKiogbGF5b3V0IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZXI6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10pIHtcclxuICAgICAgdGhpcy5fY29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChjaGFuZ2VzWydtb2RlbCddKVxyXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLm1vZGVsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgfVxyXG4gIGxheW91dCgpIHtcclxuICAgIHRoaXMuX2NoaWxkcmVuID0gdGhpcy5maWVsZHMubWFwKGYgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gKHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250cm9scyBhcyBhbnkpW2YuY29udHJvbFR5cGVdIGFzIENvbnRyb2wgfHwgKFxyXG4gICAgICAgICh0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY29udHJvbHMgYXMgYW55KVtmLmNvbnRyb2xUeXBlXSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250cm9scy5maW5kKGMgPT4gYy5uYW1lID09PSBmLmNvbnRyb2xUeXBlKSk7XHJcbiAgICAgIGNvbnN0IGNvbXAgPSB0aGlzLl9yZXNvbHZlci5jb21wb25lbnQoY29udHJvbC50ZW1wbGF0ZSk7XHJcbiAgICAgIGNvbnN0IGNvbXBSZWYgPSB0aGlzLl9jb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PENvbnRyb2xDb21wb25lbnQ+KGNvbXApO1xyXG4gICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wUmVmO1xyXG4gICAgICBpZiAoIWYubGFiZWwpIGYubGFiZWwgPSBmLm5hbWU7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oaW5zdGFuY2UsIGYpO1xyXG4gICAgICBpbnN0YW5jZS5tb2RlID0gJ2NvbXBvc2UnO1xyXG4gICAgICBmLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIGluc3RhbmNlLmNvbnRyb2wuc2V0VmFsdWUoZi5kZWZhdWx0VmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woZi5uYW1lLCBpbnN0YW5jZS5jb250cm9sKTtcclxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBjKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGMpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlydHlDaGFuZ2UuZW1pdCh0aGlzLmZvcm0uZGlydHkpO1xyXG4gICAgICB0aGlzLnZhbGlkID0gdGhpcy5mb3JtLnZhbGlkO1xyXG4gICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuX2NoaWxkcmVuLmF0KDApO1xyXG4gICAgdHJ5IHtcclxuICAgICAgKGZpZWxkIGFzIGFueSkuZm9jdXMoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- //import { AnimationConfig, AnimationItem } from 'lottie-web';
4
- //"@teamhive/lottie-player": "^1.0.0",
5
- //"lottie-web": "^5.12.2",
6
- //import player from 'lottie-web/build/player/lottie';
7
- export class LottieAnimation {
8
- constructor(_element) {
9
- this._element = _element;
10
- this.size = '100px';
11
- this.autoplay = true;
12
- }
13
- ngOnInit() {
14
- // this._instance = player.loadAnimation({
15
- // container: this._element.nativeElement,
16
- // renderer: 'svg',
17
- // loop: true,
18
- // autoplay: this.autoplay,
19
- // width: '20px',
20
- // rendererSettings: {
21
- // //className: ''
22
- // },
23
- // background: "transparent",
24
- // path: `assets/animations/${this.name}.json`
25
- // } as AnimationConfig);
26
- // this._instance.show();
27
- }
28
- play() { }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LottieAnimation, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LottieAnimation, selector: "lottie", inputs: { name: "name", size: "size", autoplay: "autoplay" }, host: { properties: { "style.width": "size", "style.height": "size" }, styleAttribute: "display:block" }, ngImport: i0, template: '', isInline: true }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LottieAnimation, decorators: [{
33
- type: Component,
34
- args: [{
35
- selector: 'lottie', template: '',
36
- host: {
37
- style: 'display:block',
38
- '[style.width]': 'size',
39
- '[style.height]': 'size'
40
- }
41
- }]
42
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { name: [{
43
- type: Input
44
- }], size: [{
45
- type: Input
46
- }], autoplay: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG90dGllLWFuaW1hdGlvbi5leHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9sb3R0aWUtYW5pbWF0aW9uLmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBQ3JFLDhEQUE4RDtBQUUxRCxzQ0FBc0M7QUFDMUMsMEJBQTBCO0FBQzFCLHNEQUFzRDtBQVV0RCxNQUFNLE9BQ0UsZUFBZTtJQUtyQixZQUFvQixRQUFvQjtRQUFwQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRi9CLFNBQUksR0FBVyxPQUFPLENBQUM7UUFDdkIsYUFBUSxHQUFZLElBQUksQ0FBQztJQUNVLENBQUM7SUFDN0MsUUFBUTtRQUNSLDJDQUEyQztRQUMzQyw2Q0FBNkM7UUFDN0Msc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QiwrQkFBK0I7UUFDL0IsUUFBUTtRQUNSLGdDQUFnQztRQUNoQyxpREFBaUQ7UUFDakQsMEJBQTBCO1FBQzFCLDBCQUEwQjtJQUMxQixDQUFDO0lBQ0QsSUFBSSxLQUFnQyxDQUFDOzhHQXJCL0IsZUFBZTtrR0FBZixlQUFlLHNOQVJTLEVBQUU7OzJGQVExQixlQUFlO2tCQVR0QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7b0JBQ2hDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLGdCQUFnQixFQUFFLE1BQU07cUJBQ3pCO2lCQUNGOytFQUlVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vL2ltcG9ydCB7IEFuaW1hdGlvbkNvbmZpZywgQW5pbWF0aW9uSXRlbSB9IGZyb20gJ2xvdHRpZS13ZWInO1xyXG5cclxuICAgIC8vXCJAdGVhbWhpdmUvbG90dGllLXBsYXllclwiOiBcIl4xLjAuMFwiLFxyXG4vL1wibG90dGllLXdlYlwiOiBcIl41LjEyLjJcIixcclxuLy9pbXBvcnQgcGxheWVyIGZyb20gJ2xvdHRpZS13ZWIvYnVpbGQvcGxheWVyL2xvdHRpZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xvdHRpZScsIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBzdHlsZTogJ2Rpc3BsYXk6YmxvY2snLFxyXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnc2l6ZScsXHJcbiAgICAnW3N0eWxlLmhlaWdodF0nOiAnc2l6ZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIExvdHRpZUFuaW1hdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9wcml2YXRlIF9pbnN0YW5jZTogQW5pbWF0aW9uSXRlbTtcclxuICBASW5wdXQoKSBuYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZyA9ICcxMDBweCc7XHJcbiAgQElucHV0KCkgYXV0b3BsYXk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIC8vICB0aGlzLl9pbnN0YW5jZSA9IHBsYXllci5sb2FkQW5pbWF0aW9uKHtcclxuICAvLyAgICBjb250YWluZXI6IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAvLyAgICByZW5kZXJlcjogJ3N2ZycsXHJcbiAgLy8gICAgbG9vcDogdHJ1ZSxcclxuICAvLyAgICBhdXRvcGxheTogdGhpcy5hdXRvcGxheSxcclxuICAvLyAgICB3aWR0aDogJzIwcHgnLFxyXG4gIC8vICAgIHJlbmRlcmVyU2V0dGluZ3M6IHtcclxuICAvLyAgICAgIC8vY2xhc3NOYW1lOiAnJyAgICAgICAgXHJcbiAgLy8gICAgfSxcclxuICAvLyAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXHJcbiAgLy8gICAgcGF0aDogYGFzc2V0cy9hbmltYXRpb25zLyR7dGhpcy5uYW1lfS5qc29uYFxyXG4gIC8vICB9IGFzIEFuaW1hdGlvbkNvbmZpZyk7XHJcbiAgLy8gIHRoaXMuX2luc3RhbmNlLnNob3coKTtcclxuICB9XHJcbiAgcGxheSgpIHsgLyp0aGlzLl9pbnN0YW5jZS5wbGF5KCk7Ki8gfVxyXG59XHJcbiJdfQ==