@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,156 +0,0 @@
1
- import { ENTER, COMMA, SEMICOLON } from "@angular/cdk/keycodes";
2
- import { ViewChild } from "@angular/core";
3
- import { Component, Inject } from "@angular/core";
4
- import { Validators } from "@angular/forms";
5
- import { MatChipInput } from "@angular/material/chips";
6
- import { MAT_DIALOG_DATA } from "@angular/material/dialog";
7
- import { MatInput } from "@angular/material/input";
8
- import { takeUntil, filter, switchMap, map } from "rxjs";
9
- import { isMobile, isString } from "../../core/functions";
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../core/account.service";
12
- import * as i2 from "@angular/material/dialog";
13
- import * as i3 from "@angular/forms";
14
- import * as i4 from "@angular/material/chips";
15
- import * as i5 from "@angular/material/datepicker";
16
- import * as i6 from "@angular/material/autocomplete";
17
- import * as i7 from "@angular/material/core";
18
- import * as i8 from "@angular/material/form-field";
19
- import * as i9 from "@angular/material/slide-toggle";
20
- import * as i10 from "@angular/material/button";
21
- import * as i11 from "@angular/material/input";
22
- import * as i12 from "@angular/material/icon";
23
- import * as i13 from "@angular/common";
24
- import * as i14 from "../../core/pipes/user-name.pipe";
25
- import * as i15 from "../../core/pipes/translate.pipe";
26
- export class ProfileSettingsDialog {
27
- constructor(_accounts, _dialogRef, _fb, model) {
28
- this._accounts = _accounts;
29
- this._dialogRef = _dialogRef;
30
- this._fb = _fb;
31
- this.model = model;
32
- this.separatorKeysCodes = [ENTER, COMMA, SEMICOLON];
33
- this.today = new Date();
34
- this.isMobile = isMobile();
35
- this.substitute = this._fb.control(null);
36
- this.grants = this._fb.control([]);
37
- this.outOfOffice = this._fb.group({
38
- active: this._fb.control(false),
39
- substitueId: this._fb.control(null),
40
- from: this._fb.control(null),
41
- to: this._fb.control(null)
42
- });
43
- this.grantAccess = this._fb.group({
44
- active: this._fb.control(false),
45
- users: this._fb.control([])
46
- });
47
- this.form = this._fb.group({
48
- outOfOffice: this.outOfOffice,
49
- grantAccess: this.grantAccess
50
- });
51
- this.userDisplay = (item) => {
52
- return item ? item.name : null;
53
- };
54
- }
55
- ngOnInit() {
56
- this.form.patchValue(this.model);
57
- const { active, to, from } = this.outOfOffice.controls;
58
- if (!this.model.outOfOffice || !this.model.outOfOffice.active) {
59
- to.disable({ emitEvent: false });
60
- from.disable({ emitEvent: false });
61
- this.substitute.disable({ emitEvent: false });
62
- }
63
- else {
64
- this.substitute.addValidators(Validators.required);
65
- if (!this.model.outOfOffice.from)
66
- to.disable({ emitEvent: false });
67
- }
68
- this.model.outOfOffice.substitueId &&
69
- this._accounts.get(this.model.outOfOffice.substitueId).subscribe(u => this.substitute.setValue(u, { emitEvent: false }));
70
- active.valueChanges.pipe(takeUntil(this._dialogRef.afterClosed())).
71
- subscribe(active => {
72
- if (active) {
73
- from.enable();
74
- from.value && to.enable();
75
- this.substitute.enable();
76
- this.substitute.addValidators(Validators.required);
77
- this.substitueInput.focus();
78
- }
79
- else {
80
- from.disable();
81
- to.disable();
82
- this.substitute.clearValidators();
83
- this.substitute.disable();
84
- }
85
- });
86
- this.ousers$ = this.substitute.valueChanges.pipe(takeUntil(this._dialogRef.afterClosed()), filter(v => isString(v)), switchMap(v => this._accounts.findAll(v)), map(r => r.filter(u => u.id !== this.model.userId)));
87
- from.valueChanges.pipe(takeUntil(this._dialogRef.afterClosed())).
88
- subscribe(v => {
89
- if (v)
90
- to.enable();
91
- else
92
- to.disable();
93
- });
94
- if (!this.model.grantAccess || !this.model.grantAccess.active) {
95
- this.grants.disable({ emitEvent: false });
96
- }
97
- this.grantAccess.controls.active.valueChanges.pipe(takeUntil(this._dialogRef.afterClosed())).
98
- subscribe(v => {
99
- if (v) {
100
- this.grants.enable();
101
- this.grants.addValidators(Validators.required);
102
- this.grantInput.focus();
103
- }
104
- else {
105
- this.grants.clearValidators();
106
- }
107
- });
108
- this.gusers$ = this.grants.valueChanges.pipe(takeUntil(this._dialogRef.afterClosed()), filter(v => isString(v)), switchMap(v => this._accounts.findAll(v)), map(r => r.filter(u => u.id !== this.model.userId)));
109
- }
110
- setId(event) {
111
- const { id } = event.option.value;
112
- this.outOfOffice.controls.substitueId.setValue(id);
113
- }
114
- /**
115
- *
116
- * @param id
117
- */
118
- removeGrant(id) {
119
- const users = this.form.value.grantAccess.users;
120
- const index = users.indexOf(id);
121
- if (index >= 0)
122
- users.splice(index, 1);
123
- this.form.patchValue({});
124
- }
125
- /**
126
- *
127
- * @param inp
128
- * @param event
129
- */
130
- addGrant(inp, event) {
131
- const users = this.form.value.grantAccess?.users;
132
- const id = event.option.value;
133
- if (!users)
134
- this.grantAccess.controls.users.setValue([id]);
135
- else
136
- users.push(id);
137
- inp.value = '';
138
- this.form.patchValue({});
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ProfileSettingsDialog, deps: [{ token: i1.AccountService }, { token: i2.MatDialogRef }, { token: i3.FormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ProfileSettingsDialog, selector: "ng-component", viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }], ngImport: i0, template: "<h2 mat-dialog-title>{{'Settings' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div class=\"column gap\" formGroupName=\"outOfOffice\">\r\n <h4 class=\"\">{{'OutOfOffice'|translate}}</h4>\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"substitute\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"outOfOffice.value.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"setId($event)\">\r\n @for (u of ousers$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [formGroup]=\"form\" [rangePicker]=\"dates\" required>\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n <!--<hr />-->\r\n <div class=\"column\" formGroupName=\"grantAccess\">\r\n <h4 class=\"\">{{'GrantAccess'|translate}}</h4>\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!grantAccess.value.active\">\r\n @for (u of grantAccess.value.users || []; track u) {\r\n <mat-chip-row\r\n [removable]=\"grantAccess.value.active\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grants\" placeholder=\"{{'Users'| translate}}\"\r\n [required]=\"grantAccess.value.active\"\r\n [matAutocomplete]=\"grantAuto\"\r\n #grantInput\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span>&nbsp; - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n", dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i5.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i5.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i11.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"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i13.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.UserNamePipe, name: "userName" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ProfileSettingsDialog, decorators: [{
144
- type: Component,
145
- args: [{ template: "<h2 mat-dialog-title>{{'Settings' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div class=\"column gap\" formGroupName=\"outOfOffice\">\r\n <h4 class=\"\">{{'OutOfOffice'|translate}}</h4>\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"substitute\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"outOfOffice.value.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"setId($event)\">\r\n @for (u of ousers$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [formGroup]=\"form\" [rangePicker]=\"dates\" required>\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n <!--<hr />-->\r\n <div class=\"column\" formGroupName=\"grantAccess\">\r\n <h4 class=\"\">{{'GrantAccess'|translate}}</h4>\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!grantAccess.value.active\">\r\n @for (u of grantAccess.value.users || []; track u) {\r\n <mat-chip-row\r\n [removable]=\"grantAccess.value.active\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grants\" placeholder=\"{{'Users'| translate}}\"\r\n [required]=\"grantAccess.value.active\"\r\n [matAutocomplete]=\"grantAuto\"\r\n #grantInput\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span>&nbsp; - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n" }]
146
- }], ctorParameters: () => [{ type: i1.AccountService }, { type: i2.MatDialogRef }, { type: i3.FormBuilder }, { type: undefined, decorators: [{
147
- type: Inject,
148
- args: [MAT_DIALOG_DATA]
149
- }] }], propDecorators: { substitueInput: [{
150
- type: ViewChild,
151
- args: ['substitueInput', { read: MatInput }]
152
- }], grantInput: [{
153
- type: ViewChild,
154
- args: ['grantInput', { read: MatChipInput }]
155
- }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0b2ZvZmZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL3Byb2ZpbGVyL291dG9mb2ZmaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9hZG1pbi9wcm9maWxlci9vdXRvZm9mZmljZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVUxRCxNQUFNLE9BQU8scUJBQXFCO0lBeUJoQyxZQUFvQixTQUF5QixFQUNuQyxVQUErQyxFQUMvQyxHQUFnQixFQUVqQixLQUFzQjtRQUpYLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBQy9DLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFFakIsVUFBSyxH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T0FJRztJQUNILFFBQVEsQ0FBQyxHQUFxQixFQUFFLEtBQW1DO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7UUFDakQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUs7WUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzs7WUFFL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBOUhVLHFCQUFxQix1R0E0QnRCLGVBQWU7a0dBNUJkLHFCQUFxQixpSkFNSyxRQUFRLG1HQUNaLFlBQVksNkJDM0IvQywyL0dBb0VBOzsyRkRoRGEscUJBQXFCO2tCQURqQyxTQUFTOzs7MEJBNkJMLE1BQU07MkJBQUMsZUFBZTt5Q0F0QndCLGNBQWM7c0JBQTlELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUNFLFVBQVU7c0JBQTFELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOVEVSLCBDT01NQSwgU0VNSUNPTE9OIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9rZXljb2Rlc1wiO1xyXG5pbXBvcnQgeyBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcclxuaW1wb3J0IHsgTWF0Q2hpcElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YWtlVW50aWwsIGZpbHRlciwgc3dpdGNoTWFwLCBtYXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc01vYmlsZSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgT3V0T2ZPZmZpY2VTZXR0aW5ncywgR3JhbnRTZXR0aW5ncywgVXNlckluZm8sIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE91dE9mT2ZmaWNlRGF0YSB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgb3V0T2ZPZmZpY2U6IE91dE9mT2ZmaWNlU2V0dGluZ3M7XHJcbiAgZ3JhbnRBY2Nlc3M6IEdyYW50U2V0dGluZ3M7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ291dG9mb2ZmaWNlLmNvbXBvbmVudC5odG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNldHRpbmdzRGlhbG9nIGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQSwgU0VNSUNPTE9OXTtcclxuICByZWFkb25seSB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIHJlYWRvbmx5IHN1YnN0aXR1dGUgPSB0aGlzLl9mYi5jb250cm9sPFVzZXJJbmZvIHwgc3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcbiAgcmVhZG9ubHkgZ3JhbnRzID0gdGhpcy5fZmIuY29udHJvbChbXSk7XHJcbiAgQFZpZXdDaGlsZCgnc3Vic3RpdHVlSW5wdXQnLCB7IHJlYWQ6IE1hdElucHV0IH0pIHN1YnN0aXR1ZUlucHV0OiBNYXRJbnB1dDtcclxuICBAVmlld0NoaWxkKCdncmFudElucHV0JywgeyByZWFkOiBNYXRDaGlwSW5wdXQgfSkgZ3JhbnRJbnB1dDogTWF0Q2hpcElucHV0O1xyXG4gIHJlYWRvbmx5IG91dE9mT2ZmaWNlID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgYWN0aXZlOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgIHN1YnN0aXR1ZUlkOiB0aGlzLl9mYi5jb250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpLFxyXG4gICAgZnJvbTogdGhpcy5fZmIuY29udHJvbDxEYXRlIHwgbnVsbD4obnVsbCksXHJcbiAgICB0bzogdGhpcy5fZmIuY29udHJvbDxEYXRlIHwgbnVsbD4obnVsbClcclxuICB9KTtcclxuICByZWFkb25seSBncmFudEFjY2VzcyA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGFjdGl2ZTogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICB1c2VyczogdGhpcy5fZmIuY29udHJvbDxzdHJpbmdbXT4oW10pXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIG91dE9mT2ZmaWNlOiB0aGlzLm91dE9mT2ZmaWNlLFxyXG4gICAgZ3JhbnRBY2Nlc3M6IHRoaXMuZ3JhbnRBY2Nlc3NcclxuICB9KTtcclxuICBvdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+O1xyXG4gIGd1c2VycyQ6IE9ic2VydmFibGU8VXNlckluZm9bXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2ZpbGVTZXR0aW5nc0RpYWxvZz4sXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBtb2RlbDogT3V0T2ZPZmZpY2VEYXRhKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5tb2RlbCk7XHJcbiAgICBjb25zdCB7IGFjdGl2ZSwgdG8sIGZyb20gfSA9IHRoaXMub3V0T2ZPZmZpY2UuY29udHJvbHM7XHJcbiAgICBpZiAoIXRoaXMubW9kZWwub3V0T2ZPZmZpY2UgfHwgIXRoaXMubW9kZWwub3V0T2ZPZmZpY2UuYWN0aXZlKSB7XHJcbiAgICAgIHRvLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICBmcm9tLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB0aGlzLnN1YnN0aXR1dGUuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJzdGl0dXRlLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgIGlmICghdGhpcy5tb2RlbC5vdXRPZk9mZmljZS5mcm9tKVxyXG4gICAgICAgIHRvLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tb2RlbC5vdXRPZk9mZmljZS5zdWJzdGl0dWVJZCAmJlxyXG4gICAgICB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5tb2RlbC5vdXRPZk9mZmljZS5zdWJzdGl0dWVJZCkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICB0aGlzLnN1YnN0aXR1dGUuc2V0VmFsdWUodSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIGFjdGl2ZS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkpKS5cclxuICAgICAgc3Vic2NyaWJlKGFjdGl2ZSA9PiB7XHJcbiAgICAgICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICAgICAgZnJvbS5lbmFibGUoKTtcclxuICAgICAgICAgIGZyb20udmFsdWUgJiYgdG8uZW5hYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLnN1YnN0aXR1dGUuZW5hYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLnN1YnN0aXR1dGUuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICAgIHRoaXMuc3Vic3RpdHVlSW5wdXQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBmcm9tLmRpc2FibGUoKTtcclxuICAgICAgICAgIHRvLmRpc2FibGUoKTtcclxuICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZS5kaXNhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMub3VzZXJzJCA9IHRoaXMuc3Vic3RpdHV0ZS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkpLFxyXG4gICAgICBmaWx0ZXIodiA9PiBpc1N0cmluZyh2KSksXHJcbiAgICAgIHN3aXRjaE1hcCh2ID0+IHRoaXMuX2FjY291bnRzLmZpbmRBbGwodiBhcyBhbnkpKSxcclxuICAgICAgbWFwKHIgPT4gci5maWx0ZXIodSA9PiB1LmlkICE9PSB0aGlzLm1vZGVsLnVzZXJJZCkpKTtcclxuICAgIGZyb20udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2RpYWxvZ1JlZi5hZnRlckNsb3NlZCgpKSkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICBpZiAodilcclxuICAgICAgICAgIHRvLmVuYWJsZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRvLmRpc2FibGUoKTtcclxuICAgICAgfSk7XHJcbiAgICBpZiAoIXRoaXMubW9kZWwuZ3JhbnRBY2Nlc3MgfHwgIXRoaXMubW9kZWwuZ3JhbnRBY2Nlc3MuYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuZ3JhbnRzLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ncmFudEFjY2Vzcy5jb250cm9scy5hY3RpdmUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2RpYWxvZ1JlZi5hZnRlckNsb3NlZCgpKSkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICBpZiAodikge1xyXG4gICAgICAgICAgdGhpcy5ncmFudHMuZW5hYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLmdyYW50cy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgICAgdGhpcy5ncmFudElucHV0LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5ncmFudHMuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZ3VzZXJzJCA9IHRoaXMuZ3JhbnRzLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKSksXHJcbiAgICAgIGZpbHRlcih2ID0+IGlzU3RyaW5nKHYpKSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4gdGhpcy5fYWNjb3VudHMuZmluZEFsbCh2IGFzIGFueSkpLFxyXG4gICAgICBtYXAociA9PiByLmZpbHRlcih1ID0+IHUuaWQgIT09IHRoaXMubW9kZWwudXNlcklkKSkpO1xyXG4gIH1cclxuICB1c2VyRGlzcGxheSA9IChpdGVtOiBVc2VySW5mbykgPT4ge1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiBudWxsO1xyXG4gIH1cclxuICBzZXRJZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xyXG4gICAgY29uc3QgeyBpZCB9ID0gZXZlbnQub3B0aW9uLnZhbHVlIGFzIFVzZXJJbmZvO1xyXG4gICAgdGhpcy5vdXRPZk9mZmljZS5jb250cm9scy5zdWJzdGl0dWVJZC5zZXRWYWx1ZShpZCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBpZFxyXG4gICAqL1xyXG4gIHJlbW92ZUdyYW50KGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVzZXJzID0gdGhpcy5mb3JtLnZhbHVlLmdyYW50QWNjZXNzIS51c2VycyE7XHJcbiAgICBjb25zdCBpbmRleCA9IHVzZXJzLmluZGV4T2YoaWQpO1xyXG5cclxuICAgIGlmIChpbmRleCA+PSAwKVxyXG4gICAgICB1c2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe30pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gaW5wXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgYWRkR3JhbnQoaW5wOiBIVE1MSW5wdXRFbGVtZW50LCBldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLmZvcm0udmFsdWUuZ3JhbnRBY2Nlc3M/LnVzZXJzO1xyXG4gICAgY29uc3QgaWQgPSBldmVudC5vcHRpb24udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgaWYgKCF1c2VycylcclxuICAgICAgdGhpcy5ncmFudEFjY2Vzcy5jb250cm9scy51c2Vycy5zZXRWYWx1ZShbaWRdKTtcclxuICAgIGVsc2VcclxuICAgICAgdXNlcnMucHVzaChpZCk7XHJcbiAgICBpbnAudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHt9KTtcclxuICB9XHJcbn1cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3snU2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19PC9oMj5cclxuPG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gZ2FwXCIgZm9ybUdyb3VwTmFtZT1cIm91dE9mT2ZmaWNlXCI+XHJcbiAgICAgIDxoNCBjbGFzcz1cIlwiPnt7J091dE9mT2ZmaWNlJ3x0cmFuc2xhdGV9fTwvaDQ+XHJcbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImFjdGl2ZVwiPnt7J0FjdGl2ZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgPGJyIC8+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInN1YnN0aXR1dGVcIiB0eXBlPVwic2VhcmNoXCIgW21hdEF1dG9jb21wbGV0ZV09XCJzYXV0b1wiICNzdWJzdGl0dWVJbnB1dFxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBc3NvY2lhdGUnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cIm91dE9mT2ZmaWNlLnZhbHVlLmFjdGl2ZVwiIC8+XHJcbiAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjc2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwidXNlckRpc3BsYXlcIlxyXG4gICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwic2V0SWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICBAZm9yICh1IG9mIG91c2VycyQgfCBhc3luYzsgdHJhY2sgdSkge1xyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ1XCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e3UubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eydEYXRlcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbZm9ybUdyb3VwXT1cImZvcm1cIiBbcmFuZ2VQaWNrZXJdPVwiZGF0ZXNcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBmb3JtQ29udHJvbE5hbWU9XCJmcm9tXCIgW3BsYWNlaG9sZGVyXT1cIidGcm9tJ3x0cmFuc2xhdGVcIiBbbWluXT1cInRvZGF5XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRFbmREYXRlIGZvcm1Db250cm9sTmFtZT1cInRvXCIgW3BsYWNlaG9sZGVyXT1cIidUbyd8dHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxyXG4gICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkYXRlc1wiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjZGF0ZXMgW3RvdWNoVWldPVwiaXNNb2JpbGVcIj48L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLTxociAvPi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCIgZm9ybUdyb3VwTmFtZT1cImdyYW50QWNjZXNzXCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwiXCI+e3snR3JhbnRBY2Nlc3MnfHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhY3RpdmVcIj57eydBY3RpdmUnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2dyYW50TGlzdCBbYXR0ci5hcmlhLWxhYmVsXT1cIlwiIFtkaXNhYmxlZF09XCIhZ3JhbnRBY2Nlc3MudmFsdWUuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKHUgb2YgZ3JhbnRBY2Nlc3MudmFsdWUudXNlcnMgfHwgW107IHRyYWNrIHUpIHtcclxuICAgICAgICAgICAgICA8bWF0LWNoaXAtcm93XHJcbiAgICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImdyYW50QWNjZXNzLnZhbHVlLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVHcmFudCh1KVwiPlxyXG4gICAgICAgICAgICAgICAge3t1IHwgdXNlck5hbWUgfCBhc3luY319XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XHJcbiAgICAgICAgICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImdyYW50c1wiIHBsYWNlaG9sZGVyPVwie3snVXNlcnMnfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJncmFudEFjY2Vzcy52YWx1ZS5hY3RpdmVcIlxyXG4gICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImdyYW50QXV0b1wiXHJcbiAgICAgICAgICAgICNncmFudElucHV0XHJcbiAgICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiZ3JhbnRMaXN0XCJcclxuICAgICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjZ3JhbnRBdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cImFkZEdyYW50KGdyYW50SW5wdXQsICRldmVudClcIj5cclxuICAgICAgICAgICAgICBAZm9yICh1IG9mIGd1c2VycyQgfCBhc3luYzsgdHJhY2sgdSkge1xyXG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInUuaWRcIj5cclxuICAgICAgICAgICAgICAgICAge3t1Lm5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICBAaWYgKHUuZW1haWwpIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDsgLSB7e3UuZW1haWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==