@bizdoc/core 2.1.2 → 2.1.4

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 (522) hide show
  1. package/bizdoc-core.d.ts.map +1 -0
  2. package/esm2022/lib/admin/architecture/designer.component.mjs +1 -1
  3. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -4
  4. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -4
  5. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +2 -3
  6. package/esm2022/lib/admin/core/color-picker.input.mjs +2 -3
  7. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +42 -38
  8. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +30 -28
  9. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +13 -11
  10. package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -7
  11. package/esm2022/lib/admin/form/designer/section.component.mjs +5 -7
  12. package/esm2022/lib/admin/form/designer/settings.component.mjs +5 -7
  13. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -2
  14. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +4 -4
  15. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -4
  16. package/esm2022/lib/admin/patterns/patterns.component.mjs +7 -5
  17. package/esm2022/lib/admin/permissions/permissions.component.mjs +7 -5
  18. package/esm2022/lib/admin/positions/positions.component.mjs +57 -54
  19. package/esm2022/lib/browse/browse-items.component.mjs +57 -43
  20. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  21. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +25 -24
  22. package/esm2022/lib/chat/chat-info.mjs +2 -2
  23. package/esm2022/lib/chat/contacts.component.mjs +7 -5
  24. package/esm2022/lib/chat/conversation.component.mjs +27 -22
  25. package/esm2022/lib/compose/action/action-picker.component.mjs +9 -7
  26. package/esm2022/lib/compose/action/action.base.mjs +4 -3
  27. package/esm2022/lib/compose/action/moveto-action.component.mjs +1 -1
  28. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +2 -2
  29. package/esm2022/lib/compose/comments/comment.component.mjs +9 -8
  30. package/esm2022/lib/compose/comments/comments.component.mjs +15 -13
  31. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +10 -8
  32. package/esm2022/lib/compose/compose-resolve.service.mjs +10 -5
  33. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  34. package/esm2022/lib/compose/copy/copy.dialog.mjs +2 -3
  35. package/esm2022/lib/compose/document.mobile.component.mjs +3 -2
  36. package/esm2022/lib/compose/document.pane.component.mjs +3 -2
  37. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +10 -6
  38. package/esm2022/lib/compose/tag/tags.component.mjs +3 -5
  39. package/esm2022/lib/compose/trace/trace.component.mjs +4 -3
  40. package/esm2022/lib/core/avatar/avatar.component.mjs +2 -2
  41. package/esm2022/lib/core/component-factory-resolver.mjs +12 -4
  42. package/esm2022/lib/core/guide/guide.component.mjs +17 -18
  43. package/esm2022/lib/core/http.interceptor.mjs +9 -6
  44. package/esm2022/lib/core/identity/identity.component.mjs +2 -2
  45. package/esm2022/lib/core/info/location-info.component.mjs +2 -3
  46. package/esm2022/lib/core/inputs/combination-picker-body.mjs +9 -8
  47. package/esm2022/lib/core/inputs/combination-picker.mjs +1 -1
  48. package/esm2022/lib/core/inputs/combination-pool.mjs +6 -6
  49. package/esm2022/lib/core/inputs/file.input.mjs +28 -28
  50. package/esm2022/lib/core/mailbox.service.mjs +69 -63
  51. package/esm2022/lib/core/slots/router.service.mjs +4 -2
  52. package/esm2022/lib/core/slots/slots.component.mjs +13 -13
  53. package/esm2022/lib/core/tagging/edit-input.component.mjs +9 -12
  54. package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -6
  55. package/esm2022/lib/core/tagging/tagging.pipe.mjs +2 -2
  56. package/esm2022/lib/core/translate.service.mjs +3 -3
  57. package/esm2022/lib/cube/accum/accum.component.mjs +10 -8
  58. package/esm2022/lib/cube/chart/chart.component.mjs +10 -8
  59. package/esm2022/lib/cube/cube.service.mjs +81 -73
  60. package/esm2022/lib/cube/explore/explore-items.component.mjs +38 -34
  61. package/esm2022/lib/cube/explore/item-resolver.service.mjs +13 -15
  62. package/esm2022/lib/cube/grid/grid.component.mjs +24 -23
  63. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +25 -20
  64. package/esm2022/lib/cube/matrix/matrix.base.mjs +6 -6
  65. package/esm2022/lib/cube/matrix/popup.component.mjs +7 -4
  66. package/esm2022/lib/cube/matrix/table.component.mjs +24 -20
  67. package/esm2022/lib/cube/parallel/parallel.component.mjs +12 -10
  68. package/esm2022/lib/cube/pivot/pivot.component.mjs +1 -1
  69. package/esm2022/lib/cube/sum/sum.component.mjs +15 -16
  70. package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -4
  71. package/esm2022/lib/dashboard/cube/documents.widget.mjs +10 -8
  72. package/esm2022/lib/dashboard/recents/recents.widget.mjs +9 -7
  73. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -2
  74. package/esm2022/lib/designer.module.mjs +9 -3
  75. package/esm2022/lib/desktop.module.mjs +4 -4
  76. package/esm2022/lib/home/home.desktop.component.mjs +16 -14
  77. package/esm2022/lib/home/home.mobile.component.mjs +2 -2
  78. package/esm2022/lib/home/notifications/notifications.component.mjs +2 -2
  79. package/esm2022/lib/home/tools.component.mjs +2 -2
  80. package/esm2022/lib/impersonate/impersonate.component.mjs +10 -9
  81. package/esm2022/lib/mobile.module.mjs +4 -4
  82. package/esm2022/lib/notifications/notifications-table.component.mjs +2 -2
  83. package/esm2022/lib/notifications/notifications.component-base.mjs +2 -2
  84. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +2 -2
  85. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -2
  86. package/esm2022/lib/notifications/types/notification-base.mjs +2 -2
  87. package/esm2022/lib/options/options.component.mjs +5 -8
  88. package/esm2022/lib/options/options.service.mjs +7 -5
  89. package/esm2022/lib/reports/cube/usage.component.mjs +3 -2
  90. package/esm2022/lib/routes.desktop.mjs +3 -3
  91. package/esm2022/lib/routes.mobile.mjs +17 -9
  92. package/esm2022/lib/scheduler/schedule.component.mjs +18 -17
  93. package/esm2022/lib/search/search.service.mjs +2 -2
  94. package/esm2022/lib/system.module.mjs +2 -6
  95. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  96. package/esm2022/lib/views/cube/explore.component.mjs +13 -11
  97. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +20 -8
  98. package/esm2022/public-api.mjs +2 -2
  99. package/fesm2022/bizdoc-core.mjs +951 -821
  100. package/fesm2022/bizdoc-core.mjs.map +1 -1
  101. package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
  102. package/lib/admin/admin-menu.component.d.ts.map +1 -0
  103. package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +1 -0
  104. package/lib/admin/architecture/declarations.d.ts.map +1 -0
  105. package/lib/admin/architecture/designer-element.component.d.ts.map +1 -0
  106. package/lib/admin/architecture/designer-privileges.component.d.ts.map +1 -0
  107. package/lib/admin/architecture/designer.base.d.ts.map +1 -0
  108. package/lib/admin/architecture/designer.component.d.ts.map +1 -0
  109. package/lib/admin/architecture/elements/action.component.d.ts.map +1 -0
  110. package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +1 -0
  111. package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +1 -0
  112. package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +1 -0
  113. package/lib/admin/architecture/elements/attribute.component.d.ts.map +1 -0
  114. package/lib/admin/architecture/elements/box-form.component.d.ts.map +1 -0
  115. package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +1 -0
  116. package/lib/admin/architecture/elements/control.component.d.ts.map +1 -0
  117. package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +1 -0
  118. package/lib/admin/architecture/elements/cube-view.component.d.ts.map +1 -0
  119. package/lib/admin/architecture/elements/cube.component.d.ts.map +1 -0
  120. package/lib/admin/architecture/elements/document-state-widget.component.d.ts.map +1 -0
  121. package/lib/admin/architecture/elements/documents-report.component.d.ts.map +1 -0
  122. package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +1 -0
  123. package/lib/admin/architecture/elements/explore-view.component.d.ts.map +1 -0
  124. package/lib/admin/architecture/elements/folder.component.d.ts.map +1 -0
  125. package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +1 -0
  126. package/lib/admin/architecture/elements/form.component.d.ts.map +1 -0
  127. package/lib/admin/architecture/elements/guide.component.d.ts.map +1 -0
  128. package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +1 -0
  129. package/lib/admin/architecture/elements/node.component.d.ts.map +1 -0
  130. package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +1 -0
  131. package/lib/admin/architecture/elements/performance-report.component.d.ts.map +1 -0
  132. package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +1 -0
  133. package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +1 -0
  134. package/lib/admin/architecture/elements/policy.component.d.ts.map +1 -0
  135. package/lib/admin/architecture/elements/report.component.d.ts.map +1 -0
  136. package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +1 -0
  137. package/lib/admin/architecture/elements/role.component.d.ts.map +1 -0
  138. package/lib/admin/architecture/elements/rule.component.d.ts.map +1 -0
  139. package/lib/admin/architecture/elements/state.component.d.ts.map +1 -0
  140. package/lib/admin/architecture/elements/sum-view.component.d.ts.map +1 -0
  141. package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +1 -0
  142. package/lib/admin/architecture/elements/type.component.d.ts.map +1 -0
  143. package/lib/admin/architecture/elements/usage-report.component.d.ts.map +1 -0
  144. package/lib/admin/architecture/elements/utility.component.d.ts.map +1 -0
  145. package/lib/admin/architecture/elements/view.component.d.ts.map +1 -0
  146. package/lib/admin/architecture/elements/widget.component.d.ts.map +1 -0
  147. package/lib/admin/architecture/icon-picker.component.d.ts.map +1 -0
  148. package/lib/admin/core/ace.input.d.ts.map +1 -0
  149. package/lib/admin/core/color-picker.input.d.ts.map +1 -0
  150. package/lib/admin/core/localized-string.component.d.ts.map +1 -0
  151. package/lib/admin/core/search.input.d.ts.map +1 -0
  152. package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
  153. package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
  154. package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
  155. package/lib/admin/document-trace/timeline.d.ts.map +1 -0
  156. package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
  157. package/lib/admin/form/designer/box-designer.component.d.ts.map +1 -0
  158. package/lib/admin/form/designer/declarations.d.ts.map +1 -0
  159. package/lib/admin/form/designer/properties.component.d.ts.map +1 -0
  160. package/lib/admin/form/designer/section.component.d.ts.map +1 -0
  161. package/lib/admin/form/designer/settings.component.d.ts.map +1 -0
  162. package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
  163. package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
  164. package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
  165. package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
  166. package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
  167. package/lib/admin/indices/manage-cube-index.component.d.ts +1 -1
  168. package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
  169. package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
  170. package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
  171. package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
  172. package/lib/admin/positions/positions.component.d.ts +1 -3
  173. package/lib/admin/positions/positions.component.d.ts.map +1 -0
  174. package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
  175. package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
  176. package/lib/admin/system.service.d.ts.map +1 -0
  177. package/lib/admin/utility-ref.d.ts.map +1 -0
  178. package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
  179. package/lib/admin/utility.pane.component.d.ts.map +1 -0
  180. package/lib/app.component.d.ts.map +1 -0
  181. package/lib/bizdoc.module.d.ts.map +1 -0
  182. package/lib/browse/browse-items.component.d.ts +1 -1
  183. package/lib/browse/browse-items.component.d.ts.map +1 -0
  184. package/lib/browse/browse.mobile.component.d.ts.map +1 -0
  185. package/lib/browse/browse.pane.component.d.ts.map +1 -0
  186. package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
  187. package/lib/browse/filter/filter.component.d.ts.map +1 -0
  188. package/lib/browse/folders-menu.component.d.ts.map +1 -0
  189. package/lib/chat/chat-info.d.ts.map +1 -0
  190. package/lib/chat/chat.mobile.component.d.ts.map +1 -0
  191. package/lib/chat/chat.service.d.ts.map +1 -0
  192. package/lib/chat/contacts.component.d.ts.map +1 -0
  193. package/lib/chat/contacts.pane.component.d.ts.map +1 -0
  194. package/lib/chat/conversation.component.d.ts.map +1 -0
  195. package/lib/chat/conversation.pane.component.d.ts.map +1 -0
  196. package/lib/compose/action/action-picker.component.d.ts.map +1 -0
  197. package/lib/compose/action/action-ref.d.ts.map +1 -0
  198. package/lib/compose/action/action.base.d.ts.map +1 -0
  199. package/lib/compose/action/action.dialog.d.ts.map +1 -0
  200. package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
  201. package/lib/compose/action/assign-action.component.d.ts.map +1 -0
  202. package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
  203. package/lib/compose/action/return-action.component.d.ts.map +1 -0
  204. package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
  205. package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
  206. package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
  207. package/lib/compose/box/box.component.d.ts.map +1 -0
  208. package/lib/compose/box/control.component.d.ts.map +1 -0
  209. package/lib/compose/box/row.component.d.ts.map +1 -0
  210. package/lib/compose/can-deactivate-changes.service.d.ts +3 -3
  211. package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
  212. package/lib/compose/comments/comment.component.d.ts.map +1 -0
  213. package/lib/compose/comments/comments.component.d.ts.map +1 -0
  214. package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
  215. package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
  216. package/lib/compose/comments/edits.component.d.ts.map +1 -0
  217. package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
  218. package/lib/compose/comments/votes.component.d.ts.map +1 -0
  219. package/lib/compose/compose-resolve.service.d.ts +3 -3
  220. package/lib/compose/compose-resolve.service.d.ts.map +1 -0
  221. package/lib/compose/compose.mobile.component.d.ts.map +1 -0
  222. package/lib/compose/compose.pane.component.d.ts.map +1 -0
  223. package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
  224. package/lib/compose/dismiss.service.d.ts.map +1 -0
  225. package/lib/compose/document-resolver.service.d.ts.map +1 -0
  226. package/lib/compose/document.component.d.ts.map +1 -0
  227. package/lib/compose/document.mobile.component.d.ts +1 -1
  228. package/lib/compose/document.mobile.component.d.ts.map +1 -0
  229. package/lib/compose/document.pane.component.d.ts +1 -1
  230. package/lib/compose/document.pane.component.d.ts.map +1 -0
  231. package/lib/compose/events/events.component.d.ts.map +1 -0
  232. package/lib/compose/form-ref.d.ts.map +1 -0
  233. package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
  234. package/lib/compose/form.component.d.ts.map +1 -0
  235. package/lib/compose/new-menu.component.d.ts.map +1 -0
  236. package/lib/compose/privilage.directive.d.ts.map +1 -0
  237. package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
  238. package/lib/compose/state.component.d.ts.map +1 -0
  239. package/lib/compose/tag/tags.component.d.ts.map +1 -0
  240. package/lib/compose/trace/flow.component.d.ts.map +1 -0
  241. package/lib/compose/trace/people.component.d.ts.map +1 -0
  242. package/lib/compose/trace/trace.base.d.ts.map +1 -0
  243. package/lib/compose/trace/trace.component.d.ts.map +1 -0
  244. package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
  245. package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
  246. package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
  247. package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
  248. package/lib/core/NgComponentOutlet.d.ts.map +1 -0
  249. package/lib/core/account.service.d.ts.map +1 -0
  250. package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
  251. package/lib/core/animations.d.ts.map +1 -0
  252. package/lib/core/authentication.d.ts.map +1 -0
  253. package/lib/core/avatar/avatar.component.d.ts.map +1 -0
  254. package/lib/core/base.d.ts.map +1 -0
  255. package/lib/core/checkbox.d.ts.map +1 -0
  256. package/lib/core/colors.d.ts.map +1 -0
  257. package/lib/core/component-factory-resolver.d.ts.map +1 -0
  258. package/lib/core/configuration.d.ts.map +1 -0
  259. package/lib/core/datasource.service.d.ts.map +1 -0
  260. package/lib/core/decorators.d.ts.map +1 -0
  261. package/lib/core/fields/address.designer.d.ts.map +1 -0
  262. package/lib/core/fields/address.field.d.ts.map +1 -0
  263. package/lib/core/fields/autocomplete.field.d.ts.map +1 -0
  264. package/lib/core/fields/checkbox.designer.d.ts.map +1 -0
  265. package/lib/core/fields/checkbox.field.d.ts.map +1 -0
  266. package/lib/core/fields/checklist.designer.d.ts.map +1 -0
  267. package/lib/core/fields/checklist.field.d.ts.map +1 -0
  268. package/lib/core/fields/date-range.designer.d.ts.map +1 -0
  269. package/lib/core/fields/date-range.field.d.ts.map +1 -0
  270. package/lib/core/fields/date.designer.d.ts.map +1 -0
  271. package/lib/core/fields/date.field.d.ts.map +1 -0
  272. package/lib/core/fields/expression.field.d.ts.map +1 -0
  273. package/lib/core/fields/file.designer.d.ts.map +1 -0
  274. package/lib/core/fields/file.field.d.ts.map +1 -0
  275. package/lib/core/fields/html.designer.d.ts.map +1 -0
  276. package/lib/core/fields/html.field.d.ts.map +1 -0
  277. package/lib/core/fields/input.designer.d.ts.map +1 -0
  278. package/lib/core/fields/input.field.d.ts.map +1 -0
  279. package/lib/core/fields/localized-string.field.d.ts.map +1 -0
  280. package/lib/core/fields/numeric.designer.d.ts.map +1 -0
  281. package/lib/core/fields/numeric.field.d.ts.map +1 -0
  282. package/lib/core/fields/options.base.d.ts.map +1 -0
  283. package/lib/core/fields/options.component.d.ts.map +1 -0
  284. package/lib/core/fields/radio-button.designer.d.ts.map +1 -0
  285. package/lib/core/fields/radio-button.field.d.ts.map +1 -0
  286. package/lib/core/fields/select.designer.d.ts.map +1 -0
  287. package/lib/core/fields/select.field.d.ts.map +1 -0
  288. package/lib/core/fields/signature.designer.d.ts.map +1 -0
  289. package/lib/core/fields/signature.field.d.ts.map +1 -0
  290. package/lib/core/fields/switch.field.d.ts.map +1 -0
  291. package/lib/core/fields/textarea.designer.d.ts.map +1 -0
  292. package/lib/core/fields/textarea.field.d.ts.map +1 -0
  293. package/lib/core/fields/time.designer.d.ts.map +1 -0
  294. package/lib/core/fields/time.field.d.ts.map +1 -0
  295. package/lib/core/fields/timespan.field.d.ts.map +1 -0
  296. package/lib/core/fields/yesno.designer.d.ts.map +1 -0
  297. package/lib/core/fields/yesno.field.d.ts.map +1 -0
  298. package/lib/core/firebase.service.d.ts.map +1 -0
  299. package/lib/core/functions.d.ts.map +1 -0
  300. package/lib/core/guide/guide.component.d.ts.map +1 -0
  301. package/lib/core/guide/guide.service.d.ts.map +1 -0
  302. package/lib/core/guide/help-tip.component.d.ts.map +1 -0
  303. package/lib/core/http.interceptor.d.ts.map +1 -0
  304. package/lib/core/hub.service.d.ts.map +1 -0
  305. package/lib/core/identity/identity.component.d.ts.map +1 -0
  306. package/lib/core/info/attachment-info.service.d.ts.map +1 -0
  307. package/lib/core/info/document-info.service.d.ts.map +1 -0
  308. package/lib/core/info/location-info.component.d.ts.map +1 -0
  309. package/lib/core/info/map-info.d.ts.map +1 -0
  310. package/lib/core/inputs/address.input.d.ts.map +1 -0
  311. package/lib/core/inputs/auto-complete.input.d.ts.map +1 -0
  312. package/lib/core/inputs/combination-picker-body.d.ts.map +1 -0
  313. package/lib/core/inputs/combination-picker.d.ts.map +1 -0
  314. package/lib/core/inputs/combination-pool.d.ts.map +1 -0
  315. package/lib/core/inputs/file.input.d.ts.map +1 -0
  316. package/lib/core/inputs/select.input.d.ts.map +1 -0
  317. package/lib/core/inputs/signature.input.d.ts.map +1 -0
  318. package/lib/core/inputs/time-picker.d.ts.map +1 -0
  319. package/lib/core/inputs/timespan.input.d.ts.map +1 -0
  320. package/lib/core/layout.component.d.ts.map +1 -0
  321. package/lib/core/lottie-animation.d.ts.map +1 -0
  322. package/lib/core/mailbox.service.d.ts +2 -2
  323. package/lib/core/mailbox.service.d.ts.map +1 -0
  324. package/lib/core/models.d.ts.map +1 -0
  325. package/lib/core/none.component.d.ts.map +1 -0
  326. package/lib/core/pipes/action.pipe.d.ts.map +1 -0
  327. package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
  328. package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
  329. package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
  330. package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
  331. package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
  332. package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
  333. package/lib/core/pipes/form.pipe.d.ts.map +1 -0
  334. package/lib/core/pipes/join.pipe.d.ts.map +1 -0
  335. package/lib/core/pipes/localized-string.pipe.d.ts.map +1 -0
  336. package/lib/core/pipes/role.pipe.d.ts.map +1 -0
  337. package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
  338. package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
  339. package/lib/core/pipes/state.pipe.d.ts.map +1 -0
  340. package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
  341. package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
  342. package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
  343. package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
  344. package/lib/core/popup/popup-ref.d.ts.map +1 -0
  345. package/lib/core/popup/popup.component.d.ts.map +1 -0
  346. package/lib/core/popup/popup.service.d.ts.map +1 -0
  347. package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
  348. package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
  349. package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
  350. package/lib/core/prompt.service.d.ts.map +1 -0
  351. package/lib/core/router.d.ts.map +1 -0
  352. package/lib/core/save-changes.dialog.d.ts.map +1 -0
  353. package/lib/core/session.service.d.ts.map +1 -0
  354. package/lib/core/slots/pane-ref.d.ts.map +1 -0
  355. package/lib/core/slots/router.directive.d.ts.map +1 -0
  356. package/lib/core/slots/router.service.d.ts.map +1 -0
  357. package/lib/core/slots/slots.component.d.ts.map +1 -0
  358. package/lib/core/tagging/documents.component.d.ts.map +1 -0
  359. package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
  360. package/lib/core/tagging/emoji.component.d.ts.map +1 -0
  361. package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
  362. package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
  363. package/lib/core/tagging/tagging.directive.d.ts +1 -1
  364. package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
  365. package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
  366. package/lib/core/tagging/users.component.d.ts.map +1 -0
  367. package/lib/core/translate.service.d.ts.map +1 -0
  368. package/lib/core/translations.d.ts.map +1 -0
  369. package/lib/core/window-title.service.d.ts.map +1 -0
  370. package/lib/cube/accum/accum.component.d.ts.map +1 -0
  371. package/lib/cube/chart/chart.component.d.ts.map +1 -0
  372. package/lib/cube/cube-info.service.d.ts.map +1 -0
  373. package/lib/cube/cube-menu.component.d.ts.map +1 -0
  374. package/lib/cube/cube-view.component.d.ts.map +1 -0
  375. package/lib/cube/cube.service.d.ts.map +1 -0
  376. package/lib/cube/declarations.d.ts.map +1 -0
  377. package/lib/cube/explore/document-item.component.d.ts.map +1 -0
  378. package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
  379. package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
  380. package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
  381. package/lib/cube/explore/item-resolver.service.d.ts +8 -9
  382. package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
  383. package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
  384. package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
  385. package/lib/cube/filter/filter.component.d.ts.map +1 -0
  386. package/lib/cube/grid/grid.component.d.ts.map +1 -0
  387. package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
  388. package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
  389. package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
  390. package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
  391. package/lib/cube/matrix/popup.component.d.ts.map +1 -0
  392. package/lib/cube/matrix/table.component.d.ts.map +1 -0
  393. package/lib/cube/parallel/item.d.ts.map +1 -0
  394. package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
  395. package/lib/cube/pivot/pivot.component.d.ts +1 -2
  396. package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
  397. package/lib/cube/sum/sum.component.d.ts.map +1 -0
  398. package/lib/cube/view-base.d.ts.map +1 -0
  399. package/lib/cube/view.mobile.component.d.ts.map +1 -0
  400. package/lib/cube/view.pane.component.d.ts.map +1 -0
  401. package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
  402. package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
  403. package/lib/dashboard/cube/compare.widget.d.ts +1 -1
  404. package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
  405. package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
  406. package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
  407. package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
  408. package/lib/dashboard/cube/document-state.widget.d.ts.map +1 -0
  409. package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
  410. package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
  411. package/lib/dashboard/dashboard.component.d.ts.map +1 -0
  412. package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
  413. package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
  414. package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
  415. package/lib/dashboard/score/compare-groups.widget.d.ts +1 -1
  416. package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
  417. package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
  418. package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
  419. package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
  420. package/lib/dashboard/widget-item.component.d.ts.map +1 -0
  421. package/lib/dashboard/widget-ref.d.ts.map +1 -0
  422. package/lib/designer.module.d.ts +27 -25
  423. package/lib/designer.module.d.ts.map +1 -0
  424. package/lib/desktop.module.d.ts.map +1 -0
  425. package/lib/home/about/about.dialog.d.ts.map +1 -0
  426. package/lib/home/home-base.component.d.ts.map +1 -0
  427. package/lib/home/home.desktop.component.d.ts.map +1 -0
  428. package/lib/home/home.mobile.component.d.ts.map +1 -0
  429. package/lib/home/notifications/notifications.component.d.ts.map +1 -0
  430. package/lib/home/options/options.component.d.ts.map +1 -0
  431. package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
  432. package/lib/home/sign/sign.component.d.ts.map +1 -0
  433. package/lib/home/tools.component.d.ts.map +1 -0
  434. package/lib/impersonate/impersonate.component.d.ts.map +1 -0
  435. package/lib/mobile.module.d.ts.map +1 -0
  436. package/lib/modules/chart.module.d.ts.map +1 -0
  437. package/lib/modules/circular-gauge.module.d.ts.map +1 -0
  438. package/lib/modules/date.adapter.d.ts.map +1 -0
  439. package/lib/modules/datepicker.intl.d.ts.map +1 -0
  440. package/lib/modules/dayjs.module.d.ts.map +1 -0
  441. package/lib/modules/diagram.module.d.ts.map +1 -0
  442. package/lib/modules/gantt.module.d.ts.map +1 -0
  443. package/lib/modules/grid.module.d.ts.map +1 -0
  444. package/lib/modules/linear-gauge.module.d.ts.map +1 -0
  445. package/lib/modules/material.module.d.ts.map +1 -0
  446. package/lib/modules/paginator.intl.d.ts.map +1 -0
  447. package/lib/modules/pivot.module.d.ts.map +1 -0
  448. package/lib/modules/schedule.module.d.ts.map +1 -0
  449. package/lib/modules/spreadsheet.module.d.ts.map +1 -0
  450. package/lib/modules/stepper.intl.d.ts.map +1 -0
  451. package/lib/modules/texteditor.module.d.ts.map +1 -0
  452. package/lib/notifications/filter.component.d.ts.map +1 -0
  453. package/lib/notifications/notifications-table.component.d.ts.map +1 -0
  454. package/lib/notifications/notifications.component-base.d.ts.map +1 -0
  455. package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
  456. package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
  457. package/lib/notifications/notifications.service.d.ts.map +1 -0
  458. package/lib/notifications/types/commented.notification.d.ts.map +1 -0
  459. package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
  460. package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
  461. package/lib/notifications/types/invite.notification.d.ts.map +1 -0
  462. package/lib/notifications/types/liked.notification.d.ts +1 -1
  463. package/lib/notifications/types/liked.notification.d.ts.map +1 -0
  464. package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
  465. package/lib/notifications/types/notification-base.d.ts.map +1 -0
  466. package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
  467. package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
  468. package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
  469. package/lib/notifications/types/text.notification.d.ts.map +1 -0
  470. package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
  471. package/lib/options/options.component.d.ts.map +1 -0
  472. package/lib/options/options.service.d.ts.map +1 -0
  473. package/lib/reports/arguments-component.d.ts.map +1 -0
  474. package/lib/reports/cube/documents.component.d.ts.map +1 -0
  475. package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
  476. package/lib/reports/cube/role-performance.component.d.ts.map +1 -0
  477. package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
  478. package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
  479. package/lib/reports/cube/usage-base.d.ts.map +1 -0
  480. package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
  481. package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
  482. package/lib/reports/cube/usage.component.d.ts +1 -1
  483. package/lib/reports/cube/usage.component.d.ts.map +1 -0
  484. package/lib/reports/report-ref.d.ts.map +1 -0
  485. package/lib/reports/report-viewer.component.d.ts.map +1 -0
  486. package/lib/reports/report.mobile.component.d.ts.map +1 -0
  487. package/lib/reports/report.pane.component.d.ts.map +1 -0
  488. package/lib/reports/reports-menu.component.d.ts.map +1 -0
  489. package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
  490. package/lib/reports/table/table-view.component.d.ts.map +1 -0
  491. package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
  492. package/lib/routes.desktop.d.ts.map +1 -0
  493. package/lib/routes.mobile.d.ts.map +1 -0
  494. package/lib/scheduler/schedule.component.d.ts.map +1 -0
  495. package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
  496. package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
  497. package/lib/search/cube.component.d.ts.map +1 -0
  498. package/lib/search/declarations.d.ts.map +1 -0
  499. package/lib/search/document.component.d.ts.map +1 -0
  500. package/lib/search/guide.component.d.ts.map +1 -0
  501. package/lib/search/path.component.d.ts.map +1 -0
  502. package/lib/search/search.service.d.ts.map +1 -0
  503. package/lib/shared.module.d.ts.map +1 -0
  504. package/lib/system.module.d.ts +21 -23
  505. package/lib/system.module.d.ts.map +1 -0
  506. package/lib/views/cube/chart.component.d.ts.map +1 -0
  507. package/lib/views/cube/cube-base.d.ts.map +1 -0
  508. package/lib/views/cube/explore.component.d.ts.map +1 -0
  509. package/lib/views/cube/matrix.component.d.ts.map +1 -0
  510. package/lib/views/cube/parallel.component.d.ts.map +1 -0
  511. package/lib/views/cube/pivot.component.d.ts.map +1 -0
  512. package/lib/views/cube/sum.component.d.ts.map +1 -0
  513. package/lib/views/cube/view.component.d.ts.map +1 -0
  514. package/lib/views/document-view-ref.d.ts.map +1 -0
  515. package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
  516. package/lib/views/view-item.component.d.ts.map +1 -0
  517. package/lib/views/views.component.d.ts.map +1 -0
  518. package/lib/views/views.mobile.component.d.ts.map +1 -0
  519. package/lib/views/views.pane.component.d.ts.map +1 -0
  520. package/package.json +2 -2
  521. package/public-api.d.ts +1 -1
  522. package/public-api.d.ts.map +1 -0
@@ -1,10 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, Component, Optional, Self, Input, Output, HostBinding, ViewChild, InjectionToken, Injectable, Inject, Injector, ViewContainerRef, Directive, Pipe, EventEmitter, ElementRef, HostListener, NgModule, ViewChildren, Host, SkipSelf, ViewEncapsulation, APP_INITIALIZER, ContentChild } from '@angular/core';
2
+ import { TemplateRef, Component, Optional, Self, Input, Output, HostBinding, ViewChild, InjectionToken, Injectable, Inject, Injector, ViewContainerRef, Directive, Pipe, EventEmitter, ElementRef, HostListener, NgModule, ViewChildren, inject, Host, SkipSelf, ViewEncapsulation, APP_INITIALIZER, ContentChild } from '@angular/core';
3
3
  import * as i4 from '@angular/material/form-field';
4
4
  import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
5
- import { Subject, merge, Observable, firstValueFrom, of, fromEvent, forkJoin, takeUntil, shareReplay as shareReplay$1, tap as tap$1, map as map$1, BehaviorSubject, interval, takeWhile, filter as filter$1, debounceTime as debounceTime$1, from, first as first$1, throwError, switchMap as switchMap$1, isObservable, startWith as startWith$1, EMPTY } from 'rxjs';
6
- import { filter, map, tap, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, startWith, first, take, finalize, catchError } from 'rxjs/operators';
7
- import { ESCAPE, RIGHT_ARROW, LEFT_ARROW, ENTER, COMMA, UP_ARROW, DOWN_ARROW, SEMICOLON } from '@angular/cdk/keycodes';
5
+ import { Subject, merge, Observable, firstValueFrom, of, fromEvent, forkJoin, takeUntil, shareReplay as shareReplay$1, tap as tap$1, map as map$1, BehaviorSubject, interval, takeWhile, catchError, filter as filter$1, debounceTime as debounceTime$1, from, first as first$1, throwError, switchMap as switchMap$1, isObservable, startWith as startWith$1, EMPTY } from 'rxjs';
6
+ import { filter, map, tap, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, startWith, first, take, finalize, catchError as catchError$1 } from 'rxjs/operators';
8
7
  import * as i5$6 from '@angular/cdk/portal';
9
8
  import { TemplatePortal, ComponentPortal, PortalModule } from '@angular/cdk/portal';
10
9
  import * as i1 from '@angular/forms';
@@ -62,7 +61,7 @@ import * as i5$1 from '@angular/material/autocomplete';
62
61
  import { MatAutocompleteTrigger, MatAutocompleteModule } from '@angular/material/autocomplete';
63
62
  import { trigger, state, style, transition, animate, query, stagger, animateChild, keyframes } from '@angular/animations';
64
63
  import * as i1$4 from '@angular/router';
65
- import { NavigationStart as NavigationStart$1, ActivationEnd, RouterModule } from '@angular/router';
64
+ import { NavigationStart as NavigationStart$1, ActivationEnd, ActivatedRouteSnapshot, RouterModule } from '@angular/router';
66
65
  import * as i2$4 from '@angular/material/dialog';
67
66
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
68
67
  import * as i8 from '@angular/material/snack-bar';
@@ -119,6 +118,7 @@ import customParseFormat from 'dayjs/plugin/customParseFormat';
119
118
  import localizedFormat from 'dayjs/plugin/localizedFormat';
120
119
  import { Platform } from '@angular/cdk/platform';
121
120
  import { SelectionModel } from '@angular/cdk/collections';
121
+ import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes';
122
122
  import * as i12 from '@syncfusion/ej2-angular-charts';
123
123
  import { AccumulationChart, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, RangeNavigator, AreaSeries, LineSeries, DateTime, RangeTooltip, Sparkline, SparklineTooltip, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, Chart as Chart$1, Category, Tooltip as Tooltip$1, Legend, Selection as Selection$1, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, AccumulationChartComponent, ChartComponent } from '@syncfusion/ej2-angular-charts';
124
124
  import { Workbook } from '@syncfusion/ej2-excel-export';
@@ -605,7 +605,7 @@ class ColorPicker {
605
605
  hasBackdrop: true,
606
606
  backdropClass: 'cdk-overlay-transparent-backdrop'
607
607
  });
608
- merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE))).subscribe(() => this.close());
608
+ merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.key === 'Escape'))).subscribe(() => this.close());
609
609
  return ref;
610
610
  }
611
611
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ColorPicker, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -2666,7 +2666,7 @@ class TranslateService {
2666
2666
  if ('en' === this._session.language)
2667
2667
  return Promise.resolve();
2668
2668
  const observables = files.map(f => this._http.get('/assets/i18n/' + f.replace('{0}', culture)).pipe(tap(loadCldr)));
2669
- return forkJoin(observables).toPromise();
2669
+ return firstValueFrom(forkJoin(observables));
2670
2670
  }
2671
2671
  get(key, ...args) {
2672
2672
  return this._get(key, this._gender, args);
@@ -4678,12 +4678,20 @@ function decoratorOfType(decoratedType, decoratorType) {
4678
4678
  }
4679
4679
  class BizDocComponentFactoryResolver {
4680
4680
  constructor() {
4681
- //_appRef
4682
- // .componentTypes.forEach(t => {
4681
+ // _appRef
4682
+ // .componentTypes.forEach(t => {
4683
+ // const { selector } = reflectComponentType(t);
4684
+ //var annotations = Reflect.getMetadata('annotations', this.constructor);
4685
+ //var componentMetadata = annotations.find(annotation => {
4686
+ // return (annotation instanceof ComponentMetadata);
4687
+ //});
4688
+ //var selector = componentMetadata.selector // my-component
4683
4689
  // const type = t['__bizdoc'] as ComponentType;
4684
4690
  // REGISTRY[type.selector] = t;
4685
- // });
4691
+ // console.info(`${t.name} ${selector}`)//REGISTRY[selector] = t;
4692
+ // });
4686
4693
  //this._factories = Array.from(_componentFactoryResolver['_factories'].keys());
4694
+ // _appRef.
4687
4695
  }
4688
4696
  component(componentSelector) {
4689
4697
  const comp = REGISTRY[componentSelector];
@@ -4930,8 +4938,7 @@ class GuideComponent {
4930
4938
  withGrowAfterOpen();
4931
4939
  if (outOfBound(element)) {
4932
4940
  element.scrollIntoView({ behavior: 'smooth' });
4933
- await interval(150).pipe(takeWhile(() => outOfBound(element))).
4934
- toPromise();
4941
+ await firstValueFrom(interval(150).pipe(takeWhile(() => outOfBound(element))));
4935
4942
  }
4936
4943
  execute &&
4937
4944
  element.click();
@@ -4949,19 +4956,20 @@ class GuideComponent {
4949
4956
  this._data.name && localStorage.removeItem(this._data.name + '_guide_step');
4950
4957
  }
4951
4958
  keydown(evt) {
4952
- if (!this.working)
4953
- switch (evt.keyCode) {
4954
- case LEFT_ARROW:
4955
- this._moveBy(this._session.direction === 'ltr' ? -1 : 1);
4956
- break;
4957
- case RIGHT_ARROW:
4958
- this._moveBy(this._session.direction === 'ltr' ? 1 : -1);
4959
- break;
4960
- case ESCAPE:
4961
- this.close();
4962
- evt.stopPropagation();
4963
- break;
4964
- }
4959
+ if (this.working)
4960
+ return;
4961
+ switch (evt.key) {
4962
+ case 'ArrowLeft':
4963
+ this._moveBy(this._session.direction === 'ltr' ? -1 : 1);
4964
+ break;
4965
+ case 'ArrowRight':
4966
+ this._moveBy(this._session.direction === 'ltr' ? 1 : -1);
4967
+ break;
4968
+ case 'Escape':
4969
+ this.close();
4970
+ evt.stopPropagation();
4971
+ break;
4972
+ }
4965
4973
  }
4966
4974
  next() {
4967
4975
  this._moveBy(1);
@@ -5391,27 +5399,29 @@ class MailboxService {
5391
5399
  // // implementation
5392
5400
  //}
5393
5401
  return new Observable(observe => {
5394
- this._http.request(req).subscribe(event => {
5395
- if (event instanceof ProgressEvent) {
5396
- // observe.next(new UploadEvent(
5397
- // file.name,
5398
- // (event as ProgressEvent).loaded,
5399
- // (event as ProgressEvent).total
5400
- // ));
5401
- }
5402
- else if (event instanceof HttpResponse) {
5403
- const res = event;
5404
- if (res.status === 200) {
5405
- const model = res.body;
5406
- observe.next(model);
5402
+ this._http.request(req).subscribe({
5403
+ next: event => {
5404
+ if (event instanceof ProgressEvent) {
5405
+ // observe.next(new UploadEvent(
5406
+ // file.name,
5407
+ // (event as ProgressEvent).loaded,
5408
+ // (event as ProgressEvent).total
5409
+ // ));
5407
5410
  }
5408
- else
5409
- observe.error({ status: res.status, error: res.body });
5411
+ else if (event instanceof HttpResponse) {
5412
+ const res = event;
5413
+ if (res.status === 200) {
5414
+ const model = res.body;
5415
+ observe.next(model);
5416
+ }
5417
+ else
5418
+ observe.error({ status: res.status, error: res.body });
5419
+ observe.complete();
5420
+ }
5421
+ }, error: e => {
5422
+ observe.error(e);
5410
5423
  observe.complete();
5411
5424
  }
5412
- }, e => {
5413
- observe.error(e);
5414
- observe.complete();
5415
5425
  });
5416
5426
  return {
5417
5427
  unsubscribe() {
@@ -5438,25 +5448,27 @@ class MailboxService {
5438
5448
  const req = new HttpRequest('POST', url, fd, {
5439
5449
  reportProgress: true,
5440
5450
  });
5441
- this._http.request(req).subscribe(event => {
5442
- if (event instanceof ProgressEvent) {
5443
- // This is an upload progress event. Compute and show the % done:
5444
- //const percentDone = Math.round(100 * event.loaded / event.total);
5445
- //console.log(`File is ${percentDone}% uploaded.`);
5446
- }
5447
- else if (event instanceof HttpResponse) {
5448
- const res = event;
5449
- if (res.status === 200) {
5450
- const model = res.body;
5451
- observe.next(isArray(files) ? model : model[0]);
5451
+ this._http.request(req).subscribe({
5452
+ next: event => {
5453
+ if (event instanceof ProgressEvent) {
5454
+ // This is an upload progress event. Compute and show the % done:
5455
+ //const percentDone = Math.round(100 * event.loaded / event.total);
5456
+ //console.log(`File is ${percentDone}% uploaded.`);
5452
5457
  }
5453
- else
5454
- observe.error({ status: res.status, error: res.body });
5458
+ else if (event instanceof HttpResponse) {
5459
+ const res = event;
5460
+ if (res.status === 200) {
5461
+ const model = res.body;
5462
+ observe.next(isArray(files) ? model : model[0]);
5463
+ }
5464
+ else
5465
+ observe.error({ status: res.status, error: res.body });
5466
+ observe.complete();
5467
+ }
5468
+ }, error: e => {
5469
+ observe.error(e);
5455
5470
  observe.complete();
5456
5471
  }
5457
- }, e => {
5458
- observe.error(e);
5459
- observe.complete();
5460
5472
  });
5461
5473
  return {
5462
5474
  unsubscribe() {
@@ -5482,10 +5494,10 @@ class MailboxService {
5482
5494
  return this._http.put(`/api/comments/viewed/${id}`, {}, { headers: { 'no-progress': 'true' } }).pipe(tap((e) => this._change$.next({ id, viewed: e.time })));
5483
5495
  }
5484
5496
  typing(id) {
5485
- return this._http.put(`/api/comments/typing/${id}`, {}, { headers: { 'no-progress': 'true' } }).toPromise();
5497
+ return this._http.put(`/api/comments/typing/${id}`, {}, { headers: { 'no-progress': 'true' } });
5486
5498
  }
5487
5499
  editing(id) {
5488
- return this._http.put(`/api/mailbox/editing/${id}`, {}, { headers: { 'no-progress': 'true' } }).toPromise();
5500
+ return this._http.put(`/api/mailbox/editing/${id}`, {}, { headers: { 'no-progress': 'true' } });
5489
5501
  }
5490
5502
  copy(id) {
5491
5503
  return this._http.post(`/api/mailbox/copy/${id}`, {});
@@ -5673,32 +5685,34 @@ class UploadEvent {
5673
5685
  }
5674
5686
  function reportProgress(attachment) {
5675
5687
  return (source) => new Observable(observe => {
5676
- source.subscribe(r => {
5677
- //TODO progress
5678
- //if (event instanceof ProgressEvent) {
5679
- // observe.next(new UploadEvent(
5680
- // file.name,
5681
- // (event as ProgressEvent).loaded,
5682
- // (event as ProgressEvent).total
5683
- // ));
5684
- //} else if (event instanceof HttpResponse) {
5685
- // const res = event as HttpResponse<any>;
5686
- // if (res.status === 200) {
5687
- // const model = res.body as Attachment;
5688
- // observe.next(model);
5689
- // }
5690
- // else
5691
- // observe.error({ status: res.status, error: res.body });
5692
- // observe.complete();
5693
- //if (a instanceof UploadEvent) {
5694
- // Object.assign(item, {
5695
- // progress: a.loaded / a.total
5696
- // });
5697
- // return;
5698
- //}
5699
- observe.next(r);
5700
- observe.complete();
5701
- }, e => observe.error(e));
5688
+ source.subscribe({
5689
+ next: r => {
5690
+ //TODO progress
5691
+ //if (event instanceof ProgressEvent) {
5692
+ // observe.next(new UploadEvent(
5693
+ // file.name,
5694
+ // (event as ProgressEvent).loaded,
5695
+ // (event as ProgressEvent).total
5696
+ // ));
5697
+ //} else if (event instanceof HttpResponse) {
5698
+ // const res = event as HttpResponse<any>;
5699
+ // if (res.status === 200) {
5700
+ // const model = res.body as Attachment;
5701
+ // observe.next(model);
5702
+ // }
5703
+ // else
5704
+ // observe.error({ status: res.status, error: res.body });
5705
+ // observe.complete();
5706
+ //if (a instanceof UploadEvent) {
5707
+ // Object.assign(item, {
5708
+ // progress: a.loaded / a.total
5709
+ // });
5710
+ // return;
5711
+ //}
5712
+ observe.next(r);
5713
+ observe.complete();
5714
+ }, error: e => observe.error(e)
5715
+ });
5702
5716
  });
5703
5717
  }
5704
5718
  class PositionError {
@@ -5822,8 +5836,9 @@ class ActionBase {
5822
5836
  this._accounts.getAll(origin.map(r => r.userId)).subscribe(u => this._sb.toast('SentTo', number, (action.adjective || action.past || action.title).toLowerCase(), this._translate.join(u.map(u => u.name))));
5823
5837
  else
5824
5838
  this._sb.toast('Sent', number, (action.adjective || action.past || action.title).toLowerCase());
5825
- }, e => {
5839
+ }), catchError(e => {
5826
5840
  this._handleError(e, 'SendErr');
5841
+ throw new Error();
5827
5842
  }));
5828
5843
  }
5829
5844
  _handleError(response, message, ...args) {
@@ -6039,12 +6054,14 @@ class ActionPicker extends ActionBase {
6039
6054
  this.workingChange.emit(true);
6040
6055
  this.working = true;
6041
6056
  return super._ok(action, params).
6042
- subscribe(() => {
6043
- this.working = false;
6044
- this.workingChange.emit(false);
6045
- }, e => {
6046
- this.working = false;
6047
- this.workingChange.emit(false);
6057
+ subscribe({
6058
+ next: () => {
6059
+ this.working = false;
6060
+ this.workingChange.emit(false);
6061
+ }, error: e => {
6062
+ this.working = false;
6063
+ this.workingChange.emit(false);
6064
+ }
6048
6065
  });
6049
6066
  }
6050
6067
  });
@@ -6712,64 +6729,68 @@ class CubeService {
6712
6729
  */
6713
6730
  _decorate(cube, xAxis, series) {
6714
6731
  return (source) => new Observable(observe => {
6715
- source.subscribe(r => {
6716
- const observables = [];
6717
- const options = this._session.profile.cubes.find(c => c.name === cube);
6718
- const axisTypeMap = {};
6719
- options.axes.forEach(x => axisTypeMap[x.name] = x.dataType);
6720
- if (!r.length) {
6721
- observe.next(r);
6722
- observe.complete();
6723
- return;
6724
- }
6725
- const base = r[0].points;
6726
- r.forEach((s, i) => {
6727
- s.points.forEach(p => {
6728
- if (!p.x)
6729
- return;
6730
- const pobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
6731
- pipe(tap(o => p.name = o.join(AXES_LABEL_DIVIDER)));
6732
- observables.push(pobservable);
6733
- if (i > 0) {
6734
- let j = 0, missing = true;
6735
- while (j < base.length) {
6736
- let x = base[j].x;
6737
- if (p.x === x) {
6738
- missing = false;
6739
- break;
6732
+ source.subscribe({
6733
+ next: r => {
6734
+ const observables = [];
6735
+ const options = this._session.profile.cubes.find(c => c.name === cube);
6736
+ const axisTypeMap = {};
6737
+ options.axes.forEach(x => axisTypeMap[x.name] = x.dataType);
6738
+ if (!r.length) {
6739
+ observe.next(r);
6740
+ observe.complete();
6741
+ return;
6742
+ }
6743
+ const base = r[0].points;
6744
+ r.forEach((s, i) => {
6745
+ s.points.forEach(p => {
6746
+ if (!p.x)
6747
+ return;
6748
+ const pobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
6749
+ pipe(tap(o => p.name = o.join(AXES_LABEL_DIVIDER)));
6750
+ observables.push(pobservable);
6751
+ if (i > 0) {
6752
+ let j = 0, missing = true;
6753
+ while (j < base.length) {
6754
+ let x = base[j].x;
6755
+ if (p.x === x) {
6756
+ missing = false;
6757
+ break;
6758
+ }
6759
+ if (p.x < x)
6760
+ break;
6761
+ j++;
6762
+ }
6763
+ if (missing) {
6764
+ const clone = { x: p.x, y: 0 };
6765
+ base.splice(j, 0, clone);
6766
+ const cobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
6767
+ pipe(tap(o => clone.name = o.join(AXES_LABEL_DIVIDER)));
6768
+ observables.push(cobservable);
6740
6769
  }
6741
- if (p.x < x)
6742
- break;
6743
- j++;
6744
- }
6745
- if (missing) {
6746
- const clone = { x: p.x, y: 0 };
6747
- base.splice(j, 0, clone);
6748
- const cobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
6749
- pipe(tap(o => clone.name = o.join(AXES_LABEL_DIVIDER)));
6750
- observables.push(cobservable);
6751
6770
  }
6771
+ });
6772
+ if (s.index) {
6773
+ const index = options.indices.find(i => i.name === s.index);
6774
+ s.title = index.title;
6775
+ }
6776
+ else if (s.name) {
6777
+ const sobservable = forkJoin(s.name.split(AXES_CODE_DIVIDER).map((k, i) => this._type.get(axisTypeMap[series[i]], k))).pipe(tap(v => s.title = v.join(AXES_LABEL_DIVIDER)));
6778
+ observables.push(sobservable);
6752
6779
  }
6753
6780
  });
6754
- if (s.index) {
6755
- const index = options.indices.find(i => i.name === s.index);
6756
- s.title = index.title;
6757
- }
6758
- else if (s.name) {
6759
- const sobservable = forkJoin(s.name.split(AXES_CODE_DIVIDER).map((k, i) => this._type.get(axisTypeMap[series[i]], k))).pipe(tap(v => s.title = v.join(AXES_LABEL_DIVIDER)));
6760
- observables.push(sobservable);
6761
- }
6762
- });
6763
- if (observables.length)
6764
- forkJoin(observables).subscribe(() => {
6781
+ if (observables.length)
6782
+ forkJoin(observables).subscribe({
6783
+ next: () => {
6784
+ observe.next(r);
6785
+ observe.complete();
6786
+ }, error: e => observe.error(e)
6787
+ });
6788
+ else {
6765
6789
  observe.next(r);
6766
6790
  observe.complete();
6767
- }, e => observe.error(e));
6768
- else {
6769
- observe.next(r);
6770
- observe.complete();
6771
- }
6772
- }, e => observe.error(e));
6791
+ }
6792
+ }, error: e => observe.error(e)
6793
+ });
6773
6794
  });
6774
6795
  }
6775
6796
  /**
@@ -6779,27 +6800,31 @@ class CubeService {
6779
6800
  _decorateTable(cube, columns) {
6780
6801
  const ccube = this._session.profile.cubes.find(c => c.name === cube), axes = ccube.axes.filter(a => !columns || columns.indexOf(a.name) > -1);
6781
6802
  return (source) => new Observable(observe => {
6782
- source.subscribe(r => {
6783
- const observables = [];
6784
- r.forEach(row => axes.forEach(a => {
6785
- const { name, dataType } = a, value = row[name];
6786
- if (value !== undefined) {
6787
- // keep key
6788
- row['_' + name] = value;
6789
- const observable = this._type.get(dataType, value).pipe(tap(v => row[name] = v || value));
6790
- observables.push(observable);
6791
- }
6792
- }));
6793
- if (observables.length)
6794
- forkJoin(observables).subscribe(() => {
6795
- observe.next(r);
6803
+ source.subscribe({
6804
+ next: r => {
6805
+ const observables = [];
6806
+ r.forEach(row => axes.forEach(a => {
6807
+ const { name, dataType } = a, value = row[name];
6808
+ if (value !== undefined) {
6809
+ // keep key
6810
+ row['_' + name] = value;
6811
+ const observable = this._type.get(dataType, value).pipe(tap(v => row[name] = v || value));
6812
+ observables.push(observable);
6813
+ }
6814
+ }));
6815
+ if (observables.length)
6816
+ forkJoin(observables).subscribe({
6817
+ next: () => {
6818
+ observe.next(r);
6819
+ observe.complete();
6820
+ }, error: e => observe.error(e)
6821
+ });
6822
+ else {
6823
+ observe.next([]);
6796
6824
  observe.complete();
6797
- }, e => observe.error(e));
6798
- else {
6799
- observe.next([]);
6800
- observe.complete();
6801
- }
6802
- }, e => observe.error(e));
6825
+ }
6826
+ }, error: e => observe.error(e)
6827
+ });
6803
6828
  });
6804
6829
  }
6805
6830
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeService, deps: [{ token: BIZDOC_CONFIG }, { token: i1$3.HttpClient }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -7125,7 +7150,9 @@ class PanesRouter {
7125
7150
  }
7126
7151
  navigate(commands, options) {
7127
7152
  return new Promise((resolve, reject) => {
7128
- this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe((e) => resolve(e.pane), reject);
7153
+ this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe({
7154
+ next: (e) => resolve(e.pane), error: reject
7155
+ });
7129
7156
  this._navigate$.next(isArray(commands) ? { commands: commands, ...options } : { component: commands, ...options });
7130
7157
  });
7131
7158
  }
@@ -7254,7 +7281,7 @@ class ChatInfo {
7254
7281
  format(person) {
7255
7282
  if (this._config && isString(this._config.app)) {
7256
7283
  const { app } = this._config;
7257
- return `<a href="${app.formatArgs(person.id)}">${name}</a>`;
7284
+ return `<a href="${app.formatArgs(person.id)}">${person.name} </a>`;
7258
7285
  }
7259
7286
  else if (this._config !== false)
7260
7287
  return `<a data-info="${person.id}">${person.name}</a>`;
@@ -7335,7 +7362,7 @@ class IdentityName {
7335
7362
  * @param e
7336
7363
  */
7337
7364
  chat(e) {
7338
- const userId = e.srcElement.getAttribute('data-info');
7365
+ const userId = e.target.getAttribute('data-info');
7339
7366
  userId &&
7340
7367
  this._chat.open(userId, { mode: this.chating });
7341
7368
  }
@@ -7970,7 +7997,7 @@ class ExpandedItemComponent {
7970
7997
  target = await this._target(id);
7971
7998
  }
7972
7999
  if (substituteId) {
7973
- const substituting = await this._accounts.get(substituteId).toPromise();
8000
+ const substituting = await firstValueFrom(this._accounts.get(substituteId));
7974
8001
  if (replied) {
7975
8002
  const time = this._fromNow(replied), action = this._session.profile.actions.find(a => a.name === action), adjective = (action.adjective || action.title).toLowerCase();
7976
8003
  if (target)
@@ -8025,12 +8052,12 @@ class ExpandedItemComponent {
8025
8052
  if ((origin.byId || origin.userId) === this._session.userId)
8026
8053
  this.note = this._translate.get('ActionByYou', adjective);
8027
8054
  else if (origin.byId) {
8028
- const who = await this._accounts.get(origin.userId).toPromise();
8029
- const by = await this._accounts.get(origin.byId).toPromise();
8055
+ const who = await firstValueFrom(this._accounts.get(origin.userId));
8056
+ const by = await firstValueFrom(this._accounts.get(origin.byId));
8030
8057
  this.note = this._translate.get('ActionByBy', adjective, by.name, who.name);
8031
8058
  }
8032
8059
  else {
8033
- const who = await this._accounts.get(origin.userId).toPromise();
8060
+ const who = await firstValueFrom(this._accounts.get(origin.userId));
8034
8061
  this.note = this._translate.get('ActionBy', adjective, who.name);
8035
8062
  }
8036
8063
  }
@@ -8040,7 +8067,7 @@ class ExpandedItemComponent {
8040
8067
  if (ownerById === this._session.profile.byId)
8041
8068
  this.note = this._translate.personalize('YouSubmittedNoteBy', this._session.profile.byGender, this._session.profile.name, time);
8042
8069
  else {
8043
- const by = await this._accounts.get(ownerById).toPromise();
8070
+ const by = await firstValueFrom(this._accounts.get(ownerById));
8044
8071
  if (this._session.isImpersonating)
8045
8072
  this.note = this._translate.personalize('SubmittedNoteBy', by.gender, this._formatUserElement(by), this._session.profile.name, time);
8046
8073
  else
@@ -8058,8 +8085,7 @@ class ExpandedItemComponent {
8058
8085
  async _target(id) {
8059
8086
  const origin = this.model.recipients.filter(r => r.originId === id);
8060
8087
  if (origin.length) {
8061
- const users = await this._accounts.getAll(origin.map(r => r.userId)).
8062
- toPromise();
8088
+ const users = await firstValueFrom(this._accounts.getAll(origin.map(r => r.userId)));
8063
8089
  return this._translate.join(users.map(u => this._formatUserElement(u)));
8064
8090
  }
8065
8091
  }
@@ -8092,7 +8118,7 @@ class ExpandedItemComponent {
8092
8118
  const { senderId } = this.model;
8093
8119
  // sender
8094
8120
  if (senderId && (senderId !== this._session.userId)) {
8095
- const who = await this._accounts.get(senderId).toPromise();
8121
+ const who = await firstValueFrom(this._accounts.get(senderId));
8096
8122
  this.sender = this._formatUserElement(who);
8097
8123
  }
8098
8124
  this._comments();
@@ -8112,7 +8138,7 @@ class ExpandedItemComponent {
8112
8138
  recipients = recipients.filter((r, i) => recipients.indexOf(r) === i); /* unique */
8113
8139
  if (recipients.length > 0) {
8114
8140
  if (recipients.indexOf(this._session.userId) < 0 || recipients.length > 1) {
8115
- const users = await this._accounts.getAll(recipients.filter(r => r !== this._session.userId)).toPromise();
8141
+ const users = await firstValueFrom(this._accounts.getAll(recipients.filter(r => r !== this._session.userId)));
8116
8142
  const names = users.map(p => this._formatUserElement(p));
8117
8143
  recipients.indexOf(this._session.userId) > -1 &&
8118
8144
  names.push(this._translate.get('Yourself'));
@@ -8125,7 +8151,7 @@ class ExpandedItemComponent {
8125
8151
  * @param e
8126
8152
  */
8127
8153
  chat(e) {
8128
- const userId = e.srcElement.getAttribute('data-info');
8154
+ const userId = e.target.getAttribute('data-info');
8129
8155
  userId &&
8130
8156
  this._chat.open(userId);
8131
8157
  }
@@ -8148,18 +8174,20 @@ class ExpandedItemComponent {
8148
8174
  }).afterClosed().subscribe(args => {
8149
8175
  if (args) {
8150
8176
  this.mode = 'working';
8151
- this._mailbox.send(id, version, formId, null, action, args).subscribe(async (r) => {
8152
- const caction = this._session.profile.actions.find(a => a.name === action), adjective = caction.adjective || caction.title;
8153
- const target = await this._target(id);
8154
- if (target)
8155
- this._sb.toast('SentTo', number, adjective.toLowerCase(), target);
8156
- else
8157
- this._sb.toast('Sent', number, adjective.toLowerCase());
8158
- this.sent.emit(this.model);
8159
- this.mode = 'done';
8160
- }, e => {
8161
- this._handleResponse(e, this.model, 'SendErr');
8162
- this.mode = 'failed';
8177
+ this._mailbox.send(id, version, formId, null, action, args).subscribe({
8178
+ next: async (r) => {
8179
+ const caction = this._session.profile.actions.find(a => a.name === action), adjective = caction.adjective || caction.title;
8180
+ const target = await this._target(id);
8181
+ if (target)
8182
+ this._sb.toast('SentTo', number, adjective.toLowerCase(), target);
8183
+ else
8184
+ this._sb.toast('Sent', number, adjective.toLowerCase());
8185
+ this.sent.emit(this.model);
8186
+ this.mode = 'done';
8187
+ }, error: e => {
8188
+ this._handleResponse(e, this.model, 'SendErr');
8189
+ this.mode = 'failed';
8190
+ }
8163
8191
  });
8164
8192
  }
8165
8193
  });
@@ -8354,27 +8382,33 @@ class BrowseItemsComponent {
8354
8382
  });
8355
8383
  });
8356
8384
  }
8357
- open(item, evt) {
8358
- this._retrieve(item).subscribe(() => this.onopen.next(item), () => this._sb.error());
8385
+ open(item, _) {
8386
+ this._retrieve(item).subscribe({
8387
+ next: () => this.onopen.next(item), error: () => this._sb.error()
8388
+ });
8359
8389
  }
8360
8390
  view(item, evt) {
8361
8391
  evt.stopPropagation();
8362
- this._retrieve(item).subscribe(() => this.onview.next(item), () => this._sb.error());
8392
+ this._retrieve(item).subscribe({
8393
+ next: () => this.onview.next(item), error: () => this._sb.error()
8394
+ });
8363
8395
  }
8364
8396
  refresh() {
8365
8397
  this._pendingItems = {};
8366
8398
  this._loading$.next(true);
8367
8399
  return this._mailbox.findAll({ ...this.filters, folderId: this.folderId, type: this.filterType }, { take: TAKE }).
8368
8400
  pipe(finalize(() => this._loading$.next(false))).
8369
- subscribe(r => {
8370
- this.selection.clear();
8371
- this.dataSource = new MatTableDataSource(r);
8372
- this.sort.active = this.sorting;
8373
- this.sort.start = this.direction;
8374
- this.dataSource.sort = this.sort;
8375
- this.dataSource.paginator = this.paginator;
8376
- this.paginator.pageIndex > 0 && this.paginator.firstPage();
8377
- }, () => this._sb.error());
8401
+ subscribe({
8402
+ next: r => {
8403
+ this.selection.clear();
8404
+ this.dataSource = new MatTableDataSource(r);
8405
+ this.sort.active = this.sorting;
8406
+ this.sort.start = this.direction;
8407
+ this.dataSource.sort = this.sort;
8408
+ this.dataSource.paginator = this.paginator;
8409
+ this.paginator.pageIndex > 0 && this.paginator.firstPage();
8410
+ }, error: () => this._sb.error()
8411
+ });
8378
8412
  }
8379
8413
  _group(data) {
8380
8414
  const groups = {};
@@ -8407,10 +8441,12 @@ class BrowseItemsComponent {
8407
8441
  flag(item, evt) {
8408
8442
  const extra = item;
8409
8443
  extra.working = true;
8410
- this._mailbox.flag(item.id, !item.flag).subscribe(() => {
8411
- item.flag = !item.flag;
8412
- extra.working = false;
8413
- }, () => extra.working = false);
8444
+ this._mailbox.flag(item.id, !item.flag).subscribe({
8445
+ next: () => {
8446
+ item.flag = !item.flag;
8447
+ extra.working = false;
8448
+ }, error: () => extra.working = false
8449
+ });
8414
8450
  evt.stopPropagation();
8415
8451
  }
8416
8452
  get sorting() {
@@ -8439,10 +8475,12 @@ class BrowseItemsComponent {
8439
8475
  }
8440
8476
  toggleExpanded(item, event) {
8441
8477
  if (this.expandedElement != item) {
8442
- this._retrieve(item).subscribe(() => {
8443
- //playAudio('navigation_hover-tap');
8444
- this.expandedElement = item;
8445
- }, () => this._sb.error());
8478
+ this._retrieve(item).subscribe({
8479
+ next: () => {
8480
+ //playAudio('navigation_hover-tap');
8481
+ this.expandedElement = item;
8482
+ }, error: () => this._sb.error()
8483
+ });
8446
8484
  }
8447
8485
  else
8448
8486
  this.expandedElement = null;
@@ -8468,33 +8506,37 @@ class BrowseItemsComponent {
8468
8506
  _sharedActions() {
8469
8507
  if (this.selection.hasValue() && !this.isAllDraft()) {
8470
8508
  this.sharedActions = [];
8471
- forkJoin(this.selection.selected.map(i => this._retrieve(i))).subscribe((m) => {
8472
- if (!m[0].actions)
8473
- return;
8474
- const actions = m[0].actions.slice();
8475
- for (let i = 1; i < m.length; i++) {
8476
- let item = m[i];
8477
- if (!item.actions)
8509
+ forkJoin(this.selection.selected.map(i => this._retrieve(i))).subscribe({
8510
+ next: (m) => {
8511
+ if (!m[0].actions)
8478
8512
  return;
8479
- for (let j = 0; j < actions.length; j++) {
8480
- if (item.actions.indexOf(actions[j]) < 0)
8481
- actions.splice(j, 1);
8513
+ const actions = m[0].actions.slice();
8514
+ for (let i = 1; i < m.length; i++) {
8515
+ let item = m[i];
8516
+ if (!item.actions)
8517
+ return;
8518
+ for (let j = 0; j < actions.length; j++) {
8519
+ if (item.actions.indexOf(actions[j]) < 0)
8520
+ actions.splice(j, 1);
8521
+ }
8482
8522
  }
8523
+ this.sharedActions = this._session.profile.actions.filter(a => actions.indexOf(a.name) > -1 && (this.selection.selected.length === 1 || a.multiple !== false));
8483
8524
  }
8484
- this.sharedActions = this._session.profile.actions.filter(a => actions.indexOf(a.name) > -1 && (this.selection.selected.length === 1 || a.multiple !== false));
8485
- }, undefined);
8525
+ });
8486
8526
  }
8487
8527
  else
8488
8528
  this.sharedActions = [];
8489
8529
  }
8490
8530
  copy(item) {
8491
- this._mailbox.copy(item.documentId).subscribe(i => {
8492
- this._sb.toast('Copied', i.number || formTitle(item.formId));
8493
- this._router.navigate(['mailbox/i', i.id.encodeId()], {
8494
- state: { item: i },
8495
- policy: OpenPolicy.Clear
8496
- });
8497
- }, () => this._sb.error());
8531
+ this._mailbox.copy(item.documentId).subscribe({
8532
+ next: i => {
8533
+ this._sb.toast('Copied', i.number || formTitle(item.formId));
8534
+ this._router.navigate(['mailbox/i', i.id.encodeId()], {
8535
+ state: { item: i },
8536
+ policy: OpenPolicy.Clear
8537
+ });
8538
+ }, error: () => this._sb.error()
8539
+ });
8498
8540
  function formTitle(name) {
8499
8541
  const form = this._session.profile.forms.find(f => f.name === name);
8500
8542
  return form.title;
@@ -8509,8 +8551,7 @@ class BrowseItemsComponent {
8509
8551
  const items = this.selection.selected.slice();
8510
8552
  const errors = new Subject();
8511
8553
  errors.pipe().subscribe(m => this._sb.errorString(m));
8512
- const promises = items.map(m => fn(m).pipe(tap(() => {
8513
- }, (e) => {
8554
+ const promises = items.map(m => fn(m).pipe(catchError((e) => {
8514
8555
  let message;
8515
8556
  switch (e.status) {
8516
8557
  case 404:
@@ -8527,6 +8568,7 @@ class BrowseItemsComponent {
8527
8568
  message = this._translate.get(error);
8528
8569
  }
8529
8570
  errors.next(message);
8571
+ throw new Error();
8530
8572
  }), finalize(() => m.working = false)));
8531
8573
  return forkJoin(promises).pipe(tap(() => {
8532
8574
  errors.unsubscribe();
@@ -8730,7 +8772,7 @@ class TagsComponent {
8730
8772
  }
8731
8773
  add(event) {
8732
8774
  if (!this.auto.isOpen) {
8733
- const { input, value } = event;
8775
+ const { chipInput, value } = event;
8734
8776
  if ((value || '').trim()) {
8735
8777
  const tag = value.trim();
8736
8778
  this.data.tags.push(tag);
@@ -8738,9 +8780,7 @@ class TagsComponent {
8738
8780
  this._options.push(tag);
8739
8781
  this._save();
8740
8782
  }
8741
- if (input) {
8742
- input.value = '';
8743
- }
8783
+ chipInput?.clear();
8744
8784
  this.control.setValue(null);
8745
8785
  }
8746
8786
  }
@@ -8842,7 +8882,7 @@ class AvatarComponent {
8842
8882
  }
8843
8883
  _initials(name) {
8844
8884
  this.initials = name.split(REGEX).map(p => p.charAt(0).toUpperCase()).
8845
- join('').substr(0, 3);
8885
+ join('').substring(0, 3);
8846
8886
  let c = this.initials.charCodeAt(0);
8847
8887
  if (this.initials.length > 1)
8848
8888
  c += this.initials.charCodeAt(1) * 18;
@@ -9063,7 +9103,7 @@ class ComposeFormComponent {
9063
9103
  this.model.attachments.push(model);
9064
9104
  this.working = false;
9065
9105
  this.workingChange.emit(false);
9066
- }), catchError(e => {
9106
+ }), catchError$1(e => {
9067
9107
  this._handleError(e, 'UploadFailed', f.name);
9068
9108
  this.working = false;
9069
9109
  this.workingChange.emit(false);
@@ -9464,8 +9504,8 @@ class ComposePaneComponent {
9464
9504
  * @param event
9465
9505
  */
9466
9506
  handleKeydown(event) {
9467
- if (event.ctrlKey && (event.which === 83 || event.which === 115)) {
9468
- if (this.dirty && !this.working)
9507
+ if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
9508
+ this.dirty && !this.working &&
9469
9509
  this.save();
9470
9510
  event.preventDefault();
9471
9511
  }
@@ -9564,7 +9604,7 @@ class BrowsePaneComponent {
9564
9604
  get folder() { return this._session.profile.folders.find(f => f.name === this.folderId); }
9565
9605
  openFilter(evt) {
9566
9606
  //this.filterElement.nativeElement.scrollIntoView({ behavior: 'smooth' });
9567
- this._popup.open(BrowseFilterComponent, evt.srcElement, { position: 'end' }).
9607
+ this._popup.open(BrowseFilterComponent, evt.target, { position: 'end' }).
9568
9608
  opened().subscribe(e => {
9569
9609
  e.folderId = this.folderId;
9570
9610
  e.values = this.filters;
@@ -9577,7 +9617,7 @@ class BrowsePaneComponent {
9577
9617
  * @param event
9578
9618
  */
9579
9619
  handleKeydown(event) {
9580
- if (event.ctrlKey && (event.which === 70 || event.which === 102)) {
9620
+ if (event.ctrlKey && (event.key === 'f' || event.key === 'F')) {
9581
9621
  this.search.nativeElement.focus();
9582
9622
  event.preventDefault();
9583
9623
  }
@@ -9753,13 +9793,15 @@ class CubeAccumulationChartComponent {
9753
9793
  this._service.series(this.cube, this._xAxis, {
9754
9794
  filters: this.filters,
9755
9795
  scope: this.scope
9756
- }).subscribe(r => {
9757
- this.dataSource = r[0].points;
9758
- this._draw();
9759
- this.loadingChange.emit(false);
9760
- }, (e) => {
9761
- this._sb.error(errResource(e));
9762
- this.loadingChange.emit(false);
9796
+ }).subscribe({
9797
+ next: r => {
9798
+ this.dataSource = r[0].points;
9799
+ this._draw();
9800
+ this.loadingChange.emit(false);
9801
+ }, error: (e) => {
9802
+ this._sb.error(errResource(e));
9803
+ this.loadingChange.emit(false);
9804
+ }
9763
9805
  });
9764
9806
  }
9765
9807
  _draw() {
@@ -10021,13 +10063,15 @@ class CubeChartComponent {
10021
10063
  indices: this.indices, series: this.series,
10022
10064
  filters: this.filters,
10023
10065
  scope: this.scope
10024
- }).subscribe(r => {
10025
- this._data = r;
10026
- this._draw();
10027
- this.loadingChange.emit(false);
10028
- }, (e) => {
10029
- this._sb.error(errResource(e));
10030
- this.loadingChange.emit(false);
10066
+ }).subscribe({
10067
+ next: r => {
10068
+ this._data = r;
10069
+ this._draw();
10070
+ this.loadingChange.emit(false);
10071
+ }, error: (e) => {
10072
+ this._sb.error(errResource(e));
10073
+ this.loadingChange.emit(false);
10074
+ }
10031
10075
  });
10032
10076
  }
10033
10077
  /** */
@@ -10287,8 +10331,7 @@ class CubeGridComponent {
10287
10331
  pipe(tap(r => this._rows = r));
10288
10332
  promises.push(observe);
10289
10333
  // prepare
10290
- this._prepare =
10291
- forkJoin(promises).toPromise();
10334
+ this._prepare = firstValueFrom(forkJoin(promises));
10292
10335
  this.execute();
10293
10336
  }
10294
10337
  /** */
@@ -10301,27 +10344,29 @@ class CubeGridComponent {
10301
10344
  execute() {
10302
10345
  this.loadingChange.emit(true);
10303
10346
  this._service.series(this._cube.name, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
10304
- subscribe(series => {
10305
- this._prepare.then(() => {
10306
- const rows = [];
10307
- series.filter(s => s.index).forEach(s => {
10308
- const row = { title: s.title, type: 'Index', key: s.index };
10309
- this._normalize(row, s.points);
10310
- rows.push(row);
10311
- });
10312
- this._rows.forEach(r => {
10313
- const row = { title: r.value, key: r.key }, serie = series.find(s => s.name === r.key);
10314
- serie &&
10315
- this._normalize(row, serie.points);
10316
- rows.push(row);
10347
+ subscribe({
10348
+ next: series => {
10349
+ this._prepare.then(() => {
10350
+ const rows = [];
10351
+ series.filter(s => s.index).forEach(s => {
10352
+ const row = { title: s.title, type: 'Index', key: s.index };
10353
+ this._normalize(row, s.points);
10354
+ rows.push(row);
10355
+ });
10356
+ this._rows.forEach(r => {
10357
+ const row = { title: r.value, key: r.key }, serie = series.find(s => s.name === r.key);
10358
+ serie &&
10359
+ this._normalize(row, serie.points);
10360
+ rows.push(row);
10361
+ });
10362
+ this.dataSource = rows;
10363
+ this._draw();
10364
+ this.loadingChange.emit(false);
10317
10365
  });
10318
- this.dataSource = rows;
10319
- this._draw();
10366
+ }, error: (e) => {
10367
+ this._sb.error(errResource(e));
10320
10368
  this.loadingChange.emit(false);
10321
- });
10322
- }, (e) => {
10323
- this._sb.error(errResource(e));
10324
- this.loadingChange.emit(false);
10369
+ }
10325
10370
  });
10326
10371
  }
10327
10372
  _normalize(row, points) {
@@ -10972,18 +11017,18 @@ class CubeSpreadsheetComponent {
10972
11017
  width: 120
10973
11018
  }];
10974
11019
  // acquire columns source
10975
- let observe = this._ds.all(xAxis.dataType).toPromise().
11020
+ let promise = firstValueFrom(this._ds.all(xAxis.dataType)).
10976
11021
  then(c => {
10977
11022
  this._xcolumns = c;
10978
11023
  c.forEach(_ => this.columns.push({
10979
11024
  width: 90
10980
11025
  }));
10981
11026
  });
10982
- promises.push(observe);
11027
+ promises.push(promise);
10983
11028
  // acquire rows source
10984
- observe = this._ds.all(yAxis.dataType).toPromise().
11029
+ promise = firstValueFrom(this._ds.all(yAxis.dataType)).
10985
11030
  then(r => this._yrows = r);
10986
- promises.push(observe);
11031
+ promises.push(promise);
10987
11032
  this._prepare = Promise.all(promises);
10988
11033
  }
10989
11034
  else {
@@ -11021,25 +11066,29 @@ class CubeSpreadsheetComponent {
11021
11066
  this.loadingChange.emit(true);
11022
11067
  if (this._series)
11023
11068
  this._service.series(this.cube, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
11024
- subscribe(data => {
11025
- this._prepare.then(() => {
11026
- this._dataseries(data);
11027
- this._draw();
11069
+ subscribe({
11070
+ next: data => {
11071
+ this._prepare.then(() => {
11072
+ this._dataseries(data);
11073
+ this._draw();
11074
+ this.loadingChange.emit(false);
11075
+ });
11076
+ }, error: e => {
11077
+ this._sb.error(errResource(e));
11028
11078
  this.loadingChange.emit(false);
11029
- });
11030
- }, e => {
11031
- this._sb.error(errResource(e));
11032
- this.loadingChange.emit(false);
11079
+ }
11033
11080
  });
11034
11081
  else
11035
11082
  this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
11036
- subscribe(data => {
11037
- this._datatable(data);
11038
- this._draw();
11039
- this.loadingChange.emit(false);
11040
- }, e => {
11041
- this._sb.error(errResource(e));
11042
- this.loadingChange.emit(false);
11083
+ subscribe({
11084
+ next: data => {
11085
+ this._datatable(data);
11086
+ this._draw();
11087
+ this.loadingChange.emit(false);
11088
+ }, error: e => {
11089
+ this._sb.error(errResource(e));
11090
+ this.loadingChange.emit(false);
11091
+ }
11043
11092
  });
11044
11093
  }
11045
11094
  _datatable(data) {
@@ -11776,16 +11825,16 @@ class TaggingDirective {
11776
11825
  _handleKeydown(evt) {
11777
11826
  if (!this._instance)
11778
11827
  return;
11779
- if (evt.char && !TEXT_CHAR.test(evt.char))
11828
+ !TEXT_CHAR.test(evt.key) &&
11780
11829
  this._close();
11781
- else if (evt.keyCode == UP_ARROW || evt.keyCode == DOWN_ARROW) {
11830
+ if (evt.key == 'ArrowUp' || evt.key == 'ArrowDown') {
11782
11831
  this._instance.keyManager.onKeydown(evt);
11783
11832
  const { key } = this._instance.keyManager.activeItem;
11784
11833
  this._assign(key);
11785
11834
  evt.preventDefault();
11786
11835
  evt.stopPropagation();
11787
11836
  }
11788
- else if (evt.keyCode === ENTER) {
11837
+ else if (evt.key === 'Enter') {
11789
11838
  if (this._instance.keyManager.activeItemIndex > -1) {
11790
11839
  const { key, value } = this._instance.keyManager.activeItem;
11791
11840
  this._select(key, value);
@@ -11793,7 +11842,7 @@ class TaggingDirective {
11793
11842
  evt.preventDefault();
11794
11843
  evt.stopPropagation();
11795
11844
  }
11796
- else if (evt.keyCode == ESCAPE) {
11845
+ else if (evt.key === 'Escape') {
11797
11846
  this._close();
11798
11847
  evt.preventDefault();
11799
11848
  evt.stopPropagation();
@@ -11939,18 +11988,16 @@ class EditInputComponent {
11939
11988
  this.autofocus && setTimeout(this.focus.bind(this));
11940
11989
  }
11941
11990
  _key(evt) {
11942
- if (evt.cancelBubble)
11943
- return;
11944
- if (evt.which === ENTER && !evt.shiftKey) {
11991
+ if (evt.key === 'Enter' && !evt.shiftKey) {
11945
11992
  this._submit();
11946
- event.preventDefault();
11947
- event.stopPropagation();
11993
+ evt.preventDefault();
11994
+ evt.stopPropagation();
11948
11995
  }
11949
- else if (evt.which === ESCAPE) {
11996
+ else if (evt.key === 'Escape') {
11950
11997
  if (this._textElement.nativeElement.value && this._textElement.nativeElement.value.length) {
11951
11998
  this._textElement.nativeElement.value = null;
11952
- event.preventDefault();
11953
- event.stopPropagation();
11999
+ evt.preventDefault();
12000
+ evt.stopPropagation();
11954
12001
  }
11955
12002
  }
11956
12003
  }
@@ -11966,7 +12013,7 @@ class EditInputComponent {
11966
12013
  this.onOk.emit({ text, resource: this._resource, image: this._image });
11967
12014
  }
11968
12015
  _textChange(evt) {
11969
- this._text = evt.srcElement.value;
12016
+ this._text = evt.target.value;
11970
12017
  this.change.emit(this._text);
11971
12018
  }
11972
12019
  _htmlChange(evt) {
@@ -12048,7 +12095,7 @@ class EditInputComponent {
12048
12095
  let reader = new FileReader();
12049
12096
  reader.onload = function (event) {
12050
12097
  const { result } = event.target;
12051
- me._image = result.substr(22);
12098
+ me._image = result.substring(22);
12052
12099
  };
12053
12100
  reader.readAsDataURL(blob);
12054
12101
  }
@@ -12162,7 +12209,7 @@ class TaggingPipe {
12162
12209
  return this._sanitizer.bypassSecurityTrustHtml(text);
12163
12210
  }
12164
12211
  _click(evt) {
12165
- const src = evt.srcElement;
12212
+ const src = evt.target;
12166
12213
  if (src.tagName === 'A') {
12167
12214
  const id = src.getAttribute('data-id');
12168
12215
  if (id) {
@@ -12295,7 +12342,7 @@ class CommentComponent {
12295
12342
  * @param e
12296
12343
  */
12297
12344
  chat(e) {
12298
- const userId = e.srcElement.getAttribute('data-info');
12345
+ const userId = e.target.getAttribute('data-info');
12299
12346
  userId &&
12300
12347
  this._chat.open(userId);
12301
12348
  }
@@ -12332,10 +12379,12 @@ class CommentComponent {
12332
12379
  ok: 'Delete',
12333
12380
  color: 'warn'
12334
12381
  }).subscribe(ok => {
12335
- ok && this._mailbox.removecomment(this.item.id).subscribe(() => {
12336
- this.item.deleted = true;
12337
- this.deleted.emit();
12338
- }, () => this._ps.error());
12382
+ ok && this._mailbox.removecomment(this.item.id).subscribe({
12383
+ next: () => {
12384
+ this.item.deleted = true;
12385
+ this.deleted.emit();
12386
+ }, error: () => this._ps.error()
12387
+ });
12339
12388
  });
12340
12389
  }
12341
12390
  edits() {
@@ -12353,7 +12402,7 @@ class CommentComponent {
12353
12402
  positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
12354
12403
  });
12355
12404
  oRef.attach(new TemplatePortal(this.previewTemplate, this._vc));
12356
- merge(oRef.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE)), oRef.backdropClick()).subscribe(() => oRef.detach());
12405
+ merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
12357
12406
  }
12358
12407
  votes() {
12359
12408
  this._open(CommentLikesComponent, {
@@ -12388,7 +12437,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
12388
12437
  args: ['previewTemplate']
12389
12438
  }] } });
12390
12439
 
12391
- const TYPING_NOTIFY = 500, TYPING_MESSAGE_TIME = 1500;
12440
+ const TYPING_NOTIFY$1 = 500, TYPING_MESSAGE_TIME = 1500;
12392
12441
  class CommentsComponent {
12393
12442
  /** comments ctor */
12394
12443
  constructor(_accounts, _session, _sb, _translate, _chat, _mailbox, _messaging, _config) {
@@ -12440,7 +12489,7 @@ class CommentsComponent {
12440
12489
  comment.deleted = true;
12441
12490
  this.change.emit();
12442
12491
  });
12443
- this._textChange.pipe(debounceTime(TYPING_NOTIFY), takeUntil$1(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId));
12492
+ this._textChange.pipe(debounceTime(TYPING_NOTIFY$1), takeUntil$1(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId).subscribe());
12444
12493
  }
12445
12494
  _formatUserElement(person) {
12446
12495
  if (this._config.chating !== false)
@@ -12453,7 +12502,7 @@ class CommentsComponent {
12453
12502
  * @param e
12454
12503
  */
12455
12504
  chat(e) {
12456
- const userId = e.srcElement.getAttribute('data-info');
12505
+ const userId = e.target.getAttribute('data-info');
12457
12506
  userId &&
12458
12507
  this._chat.open(userId);
12459
12508
  }
@@ -12548,16 +12597,18 @@ class CommentsComponent {
12548
12597
  const options = { ...evt };
12549
12598
  if (this._replyTo)
12550
12599
  options.parentId = this._replyTo.id;
12551
- this._mailbox.comment(this.model.documentId, options).subscribe(c => {
12552
- this.model.comments.push(c);
12553
- this.input.clear();
12554
- this.model.viewed = c.time;
12555
- this.change.emit();
12556
- setTimeout(() => this._scrollToBottom());
12557
- this.sending = false;
12558
- }, () => {
12559
- this._sb.error();
12560
- this.sending = false;
12600
+ this._mailbox.comment(this.model.documentId, options).subscribe({
12601
+ next: c => {
12602
+ this.model.comments.push(c);
12603
+ this.input.clear();
12604
+ this.model.viewed = c.time;
12605
+ this.change.emit();
12606
+ setTimeout(() => this._scrollToBottom());
12607
+ this.sending = false;
12608
+ }, error: () => {
12609
+ this._sb.error();
12610
+ this.sending = false;
12611
+ }
12561
12612
  });
12562
12613
  }
12563
12614
  ngOnDestroy() {
@@ -12744,41 +12795,45 @@ class ExploreItemsComponent {
12744
12795
  _view() {
12745
12796
  this._loading$.next(true);
12746
12797
  (this.index ? this._service.resolveIndex(this.cube, this.index) :
12747
- this._service.resolve(this.cube, this.axes)).subscribe(e => {
12748
- const { columns, template } = e;
12749
- (this.index ? this._service.indices(this.cube, this.index, this.axes, { scope: this.scope }) :
12750
- this._service.explore(this.cube, this.axes, { scope: this.scope })).subscribe(r => {
12751
- if (this.index && !columns.length) {
12752
- this._cube.axes.
12753
- filter(a => this.axes[a.name] === undefined && a.selectionMode !== 'None' &&
12754
- r.find(row => row[a.name] !== undefined)).
12755
- forEach(a => columns.push({ controlType: 'text', name: a.name, label: a.title }));
12756
- const index = this._cube.indices.find(i => i.name === this.index);
12757
- columns.push({
12758
- controlType: 'number', name: 'value', label: index.title,
12759
- kind: FieldKind.Currency
12760
- });
12761
- this.columns = columns;
12762
- this.displayedColumns = columns.map(c => c.name);
12763
- this._template = null;
12764
- this.selectable = false;
12765
- }
12766
- else {
12767
- this.columns = columns;
12768
- this.displayedColumns =
12769
- columns.filter(c => !c.flags || (c.flags.indexOf('Hidden') < 0 && c.flags.indexOf('Key') < 0)).
12770
- map(c => c.name);
12771
- this._template = template;
12772
- this.selectable = template !== null;
12773
- }
12774
- this._datasource(r);
12775
- }, () => {
12798
+ this._service.resolve(this.cube, this.axes)).subscribe({
12799
+ next: e => {
12800
+ const { columns, template } = e;
12801
+ (this.index ? this._service.indices(this.cube, this.index, this.axes, { scope: this.scope }) :
12802
+ this._service.explore(this.cube, this.axes, { scope: this.scope })).subscribe({
12803
+ next: r => {
12804
+ if (this.index && !columns.length) {
12805
+ this._cube.axes.
12806
+ filter(a => this.axes[a.name] === undefined && a.selectionMode !== 'None' &&
12807
+ r.find(row => row[a.name] !== undefined)).
12808
+ forEach(a => columns.push({ controlType: 'text', name: a.name, label: a.title }));
12809
+ const index = this._cube.indices.find(i => i.name === this.index);
12810
+ columns.push({
12811
+ controlType: 'number', name: 'value', label: index.title,
12812
+ kind: FieldKind.Currency
12813
+ });
12814
+ this.columns = columns;
12815
+ this.displayedColumns = columns.map(c => c.name);
12816
+ this._template = null;
12817
+ this.selectable = false;
12818
+ }
12819
+ else {
12820
+ this.columns = columns;
12821
+ this.displayedColumns =
12822
+ columns.filter(c => !c.flags || (c.flags.indexOf('Hidden') < 0 && c.flags.indexOf('Key') < 0)).
12823
+ map(c => c.name);
12824
+ this._template = template;
12825
+ this.selectable = template !== null;
12826
+ }
12827
+ this._datasource(r);
12828
+ }, error: () => {
12829
+ this._loading$.next(false);
12830
+ this._sb.error();
12831
+ }
12832
+ });
12833
+ }, error: () => {
12776
12834
  this._loading$.next(false);
12777
12835
  this._sb.error();
12778
- });
12779
- }, () => {
12780
- this._loading$.next(false);
12781
- this._sb.error();
12836
+ }
12782
12837
  });
12783
12838
  }
12784
12839
  _datasource(data) {
@@ -13916,7 +13971,7 @@ class WorkflowComponent {
13916
13971
  * @param event
13917
13972
  */
13918
13973
  handleKeyboardEvent(event) {
13919
- if (this.dirty && event.ctrlKey && (event.which === 83 || event.which === 115)) {
13974
+ if (this.dirty && event.ctrlKey && (event.key === 's' || event.key === 'S')) {
13920
13975
  this.save();
13921
13976
  event.preventDefault();
13922
13977
  }
@@ -14000,7 +14055,7 @@ class WorkflowComponent {
14000
14055
  this._form.workflow.connectors = obj.connectors;
14001
14056
  this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version');
14002
14057
  this.saving = true;
14003
- return this._service.save(this._form).toPromise().then(v => {
14058
+ return firstValueFrom(this._service.save(this._form)).then(v => {
14004
14059
  this._ps.toast('ChangesSaved');
14005
14060
  if (this._form.workflow.version < v) {
14006
14061
  this._ps.toast('DiagramVersion', v);
@@ -14057,7 +14112,7 @@ class UtilityRef {
14057
14112
  execute(args) {
14058
14113
  return this._http.post(`/api/utility/${encodeURIComponent(this._utility.name)}`, args, { observe: 'response' }).pipe(tap((r) => {
14059
14114
  this._jobId = r.headers.get('job-id');
14060
- }), map((r) => r.body), catchError((e) => {
14115
+ }), map((r) => r.body), catchError$1((e) => {
14061
14116
  if (e.status === 406) // validation exception
14062
14117
  this._sb.errorString(e.error);
14063
14118
  else
@@ -14945,7 +15000,7 @@ class TraceViewComponent extends TraceBase {
14945
15000
  * @param id
14946
15001
  */
14947
15002
  function profileOf(id) {
14948
- return me._accounts.get(id).toPromise();
15003
+ return firstValueFrom(me._accounts.get(id));
14949
15004
  }
14950
15005
  /**
14951
15006
  * user name, chat anchor tag
@@ -15228,7 +15283,7 @@ class TraceViewComponent extends TraceBase {
15228
15283
  this._data && this._filter();
15229
15284
  }
15230
15285
  chat(e) {
15231
- const userId = e.srcElement.getAttribute('data-info');
15286
+ const userId = e.target.getAttribute('data-info');
15232
15287
  userId &&
15233
15288
  this._chat.open(userId);
15234
15289
  }
@@ -15602,24 +15657,25 @@ class ScheduleViewComponent {
15602
15657
  }
15603
15658
  this.starting = dates[0],
15604
15659
  this.ending = dates[dates.length - 1];
15605
- this._mailbox.events(this.starting, this.ending).subscribe(r => {
15606
- const data = r.map(e => {
15607
- return {
15608
- Id: e.id,
15609
- documentId: e.documentId,
15610
- StartTime: new Date(e.starting),
15611
- EndTime: e.ending ? new Date(e.ending) : null,
15612
- Subject: e.title,
15613
- IsAllDay: !e.ending || e.ending === e.starting
15614
- };
15615
- });
15616
- this.schedule.eventSettings.dataSource = data;
15617
- this.page = this.starting.valueOf();
15618
- }, () => this._sb.error());
15660
+ this._mailbox.events(this.starting, this.ending).subscribe({
15661
+ next: r => {
15662
+ const data = r.map(e => {
15663
+ return {
15664
+ Id: e.id,
15665
+ documentId: e.documentId,
15666
+ StartTime: new Date(e.starting),
15667
+ EndTime: e.ending ? new Date(e.ending) : null,
15668
+ Subject: e.title,
15669
+ IsAllDay: !e.ending || e.ending === e.starting
15670
+ };
15671
+ });
15672
+ this.schedule.eventSettings.dataSource = data;
15673
+ this.page = this.starting.valueOf();
15674
+ }, error: () => this._sb.error()
15675
+ });
15619
15676
  }
15620
15677
  drag(_) {
15621
- this._mailbox.changeEvent(1, { starting: null }).subscribe(() => {
15622
- }, () => this._sb.error());
15678
+ this._mailbox.changeEvent(1, { starting: null }).subscribe({ error: () => this._sb.error() });
15623
15679
  }
15624
15680
  nav(e) {
15625
15681
  switch (e.action) {
@@ -15723,7 +15779,7 @@ class FormResolve {
15723
15779
  this._service = _service;
15724
15780
  }
15725
15781
  onResolve(params) {
15726
- return this._service.form(params['id']).toPromise();
15782
+ return firstValueFrom(this._service.form(params['id']));
15727
15783
  }
15728
15784
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FormResolve, deps: [{ token: SystemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
15729
15785
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FormResolve }); }
@@ -15787,7 +15843,7 @@ class CubeMatrixBase {
15787
15843
  delete axes[g];
15788
15844
  });
15789
15845
  this.axes = axes;
15790
- this._listen().then(() => {
15846
+ this._listen().subscribe(() => {
15791
15847
  const combination = this._combine(axes);
15792
15848
  this.title = combination.join(ACCOUNT_DELIMITER);
15793
15849
  });
@@ -15809,10 +15865,10 @@ class CubeMatrixBase {
15809
15865
  const axes = { ...this.axes };
15810
15866
  axes[name] = value;
15811
15867
  this.onFilter(axes);
15812
- this._listen().then(() => this.values[name] = value);
15868
+ this._listen().subscribe(() => this.values[name] = value);
15813
15869
  }
15814
15870
  _listen() {
15815
- return this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).toPromise();
15871
+ return this.table.loadingChange.pipe(filter$1(ok => !ok), first$1());
15816
15872
  }
15817
15873
  onFilter(axes) {
15818
15874
  this.axes = axes;
@@ -15825,14 +15881,14 @@ class CubeMatrixBase {
15825
15881
  const axes = { ...pattern.axes };
15826
15882
  this._service.base(this.cube, axes, this.originalAxes);
15827
15883
  this.axes = { ...axes, ...this.values };
15828
- this._listen().then(() => {
15884
+ this._listen().subscribe(() => {
15829
15885
  this.title = pattern.title;
15830
15886
  this.pattern = pattern;
15831
15887
  });
15832
15888
  }
15833
15889
  reset() {
15834
15890
  this._populate();
15835
- this._listen().then(() => {
15891
+ this._listen().subscribe(() => {
15836
15892
  this.pattern = null;
15837
15893
  this.title = null;
15838
15894
  });
@@ -15915,10 +15971,11 @@ class CubeMatrixComponent {
15915
15971
  this.xAxis = this.cube.axes.find(a => a.name === this._xAxis);
15916
15972
  this.series = this.cube.axes.find(a => a.name === this._series);
15917
15973
  this.data = null;
15918
- this._prepare = forkJoin(this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)), this._ds.all(this.xAxis.dataType).pipe(tap(c => this.columns = c))).toPromise().then(() => {
15919
- this._indices && this._addindices();
15920
- this._sum && this._addsumheaders();
15921
- });
15974
+ this._prepare = firstValueFrom(forkJoin([this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)),
15975
+ this._ds.all(this.xAxis.dataType).pipe(tap(c => this.columns = c)).pipe(tap(() => {
15976
+ this._indices && this._addindices();
15977
+ this._sum && this._addsumheaders();
15978
+ }))]));
15922
15979
  this.refresh();
15923
15980
  }
15924
15981
  else if (changes['filters'])
@@ -15983,20 +16040,23 @@ class CubeMatrixComponent {
15983
16040
  filters: this.filters,
15984
16041
  inverseIndices: this.indexAt === 'XAxis',
15985
16042
  scope: this.scope
15986
- }).subscribe(r => {
15987
- const data = this._serialize(r);
15988
- this._clone(data);
15989
- this._sum && this._calculatesum(data);
15990
- this._totals(data);
15991
- this._stringify(data);
15992
- this.data = data;
15993
- clearTimeout(progressTask);
15994
- this.loadingChange.next(this.loading = false);
15995
- }, (e) => {
15996
- this._sb.error(errResource(e));
15997
- clearTimeout(progressTask);
15998
- this.loadingChange.next(this.loading = false);
15999
- this.loadingChange.error(e);
16043
+ }).subscribe({
16044
+ next: r => {
16045
+ const data = this._serialize(r);
16046
+ this._clone(data);
16047
+ this._sum && this._calculatesum(data);
16048
+ this._totals(data);
16049
+ this._stringify(data);
16050
+ this.data = data;
16051
+ clearTimeout(progressTask);
16052
+ this.loadingChange.next(this.loading = false);
16053
+ },
16054
+ error: (e) => {
16055
+ this._sb.error(errResource(e));
16056
+ clearTimeout(progressTask);
16057
+ this.loadingChange.next(this.loading = false);
16058
+ this.loadingChange.error(e);
16059
+ }
16000
16060
  }));
16001
16061
  }
16002
16062
  _serialize(series) {
@@ -16397,7 +16457,7 @@ class NotificationBase {
16397
16457
  return this._chat.format(person);
16398
16458
  }
16399
16459
  open(e) {
16400
- const userId = e.srcElement.getAttribute('data-info');
16460
+ const userId = e.target.getAttribute('data-info');
16401
16461
  if (userId)
16402
16462
  this._chat.open(userId);
16403
16463
  else if (this.notification.recipientId)
@@ -16469,7 +16529,7 @@ class CubeAnomalyNotification {
16469
16529
  forkJoin(observables).subscribe(a => this.axes = this._translate.join(a.map((e, i) => e || this.notification.axes[i])));
16470
16530
  }
16471
16531
  open(e) {
16472
- const id = e.srcElement.getAttribute('data-info');
16532
+ const id = e.target.getAttribute('data-info');
16473
16533
  if (id) {
16474
16534
  this._router.navigate(['mailbox/i', parseInt(id).encodeId()]);
16475
16535
  }
@@ -16547,7 +16607,7 @@ class LikedNotification extends NotificationBase {
16547
16607
  this._accounts = _accounts;
16548
16608
  }
16549
16609
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LikedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: AccountService }, { token: TranslateService }, { token: RouterImpl }, { token: SessionService }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
16550
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: LikedNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ng-container *ngIf='message'>
16610
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: LikedNotification, selector: "bizdoc-liked-notification", usesInheritance: true, ngImport: i0, template: `<ng-container *ngIf='message'>
16551
16611
  <span *ngIf='notification.userIds.length < 3' [innerHTML]='message | sanitizeHtml'></span>
16552
16612
  <span *ngIf='notification.userIds.length >= 3' [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
16553
16613
  </ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
@@ -16555,6 +16615,7 @@ class LikedNotification extends NotificationBase {
16555
16615
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LikedNotification, decorators: [{
16556
16616
  type: Component,
16557
16617
  args: [{
16618
+ selector: 'bizdoc-liked-notification',
16558
16619
  template: `<ng-container *ngIf='message'>
16559
16620
  <span *ngIf='notification.userIds.length < 3' [innerHTML]='message | sanitizeHtml'></span>
16560
16621
  <span *ngIf='notification.userIds.length >= 3' [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
@@ -16778,7 +16839,7 @@ class NotificationsComponentBase {
16778
16839
  }
16779
16840
  }
16780
16841
  _getInjector(item) {
16781
- return Injector.create([{ provide: NOTIFICATION_DATA, useValue: item }], this._injector);
16842
+ return Injector.create({ providers: [{ provide: NOTIFICATION_DATA, useValue: item }], parent: this._injector });
16782
16843
  }
16783
16844
  }
16784
16845
 
@@ -16918,7 +16979,7 @@ class NotificationsTableComponent extends NotificationsComponentBase {
16918
16979
  this.selection.select(...this.dataSource.data);
16919
16980
  }
16920
16981
  openFilter(evt) {
16921
- const popupRef = this._popup.open(NotificationsFilterComponent, evt.srcElement);
16982
+ const popupRef = this._popup.open(NotificationsFilterComponent, evt.target);
16922
16983
  popupRef.opened().
16923
16984
  subscribe(e => {
16924
16985
  e.form.setValue({ text: this.dataSource.filter, showDeleted: this.showDeleted });
@@ -17128,10 +17189,12 @@ class ContactsComponent {
17128
17189
  this.selected.next(item);
17129
17190
  }
17130
17191
  forget(item) {
17131
- this._service.forget(item.id).subscribe(() => {
17132
- item.forgotten = true;
17133
- this.contacts.remove(item);
17134
- }, () => this._sb.error());
17192
+ this._service.forget(item.id).subscribe({
17193
+ next: () => {
17194
+ item.forgotten = true;
17195
+ this.contacts.remove(item);
17196
+ }, error: () => this._sb.error()
17197
+ });
17135
17198
  }
17136
17199
  ngOnDestroy() {
17137
17200
  this._destroy.next();
@@ -17170,7 +17233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
17170
17233
  }]
17171
17234
  }], ctorParameters: function () { return [{ type: PaneRef }, { type: TranslateService }, { type: PanesRouter }]; } });
17172
17235
 
17173
- const CONTACT_TYPING_NOTE = 1500;
17236
+ const TYPING_NOTIFY = 500, CONTACT_TYPING_NOTE = 1500;
17174
17237
  class ConversationComponent {
17175
17238
  constructor(config, _service, _messaging, _translate, _accounts, _sb, _vc, _overlay) {
17176
17239
  this._service = _service;
@@ -17216,26 +17279,30 @@ class ConversationComponent {
17216
17279
  if (e.contactId === this.contact.id)
17217
17280
  this.watermark = e.time;
17218
17281
  });
17219
- this._textChange.pipe(debounceTime(350), takeUntil$1(this._destroy)).subscribe(() => this._service.typing(this.contact.id));
17282
+ this._textChange.pipe(debounceTime(TYPING_NOTIFY), takeUntil$1(this._destroy)).subscribe(() => this._service.typing(this.contact.id));
17220
17283
  }
17221
17284
  ngOnChanges(_) {
17222
17285
  this.profile &&
17223
17286
  this._preserveDraft && this._persist();
17224
- this._accounts.get(this.contact.id).subscribe(u => {
17225
- this.profile = u;
17226
- }, () => this._sb.error());
17287
+ this._accounts.get(this.contact.id).subscribe({
17288
+ next: u => {
17289
+ this.profile = u;
17290
+ }, error: () => this._sb.error()
17291
+ });
17227
17292
  // latest
17228
17293
  this.watermark = this.contact.visited || this.contact.watermark ? (this.contact.visited && this.contact.watermark ?
17229
17294
  this.contact.watermark > this.contact.visited ?
17230
17295
  this.contact.watermark : this.contact.visited :
17231
17296
  this.contact.watermark || this.contact.visited) : null;
17232
17297
  // fetch
17233
- this._service.conversations(this.contact.id).subscribe(cs => {
17234
- this.items = cs.reverse();
17235
- this._scrollToBottom();
17236
- !this.contact.count &&
17237
- this.focus();
17238
- }, () => this._sb.error());
17298
+ this._service.conversations(this.contact.id).subscribe({
17299
+ next: c => {
17300
+ this.items = c.reverse();
17301
+ this._scrollToBottom();
17302
+ !this.contact.count &&
17303
+ this.focus();
17304
+ }, error: () => this._sb.error()
17305
+ });
17239
17306
  if (this._preserveDraft) {
17240
17307
  const text = localStorage.getItem(this.contact.id);
17241
17308
  if (text)
@@ -17268,14 +17335,16 @@ class ConversationComponent {
17268
17335
  }
17269
17336
  send(evt) {
17270
17337
  this.sending = true;
17271
- this._service.send(this.contact.id, evt).subscribe(c => {
17272
- this.items.push(c);
17273
- this._input.clear();
17274
- this._scrollToBottom();
17275
- this.sending = false;
17276
- }, e => {
17277
- this.sending = false;
17278
- this._sb.error();
17338
+ this._service.send(this.contact.id, evt).subscribe({
17339
+ next: c => {
17340
+ this.items.push(c);
17341
+ this._input.clear();
17342
+ this._scrollToBottom();
17343
+ this.sending = false;
17344
+ }, error: e => {
17345
+ this.sending = false;
17346
+ this._sb.error();
17347
+ }
17279
17348
  });
17280
17349
  }
17281
17350
  onFocus() {
@@ -17303,7 +17372,7 @@ class ConversationComponent {
17303
17372
  positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
17304
17373
  });
17305
17374
  oRef.attach(new TemplatePortal(this.previewTemplate, this._vc, { item }));
17306
- merge(oRef.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE)), oRef.backdropClick()).subscribe(() => oRef.detach());
17375
+ merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
17307
17376
  }
17308
17377
  ngOnDestroy() {
17309
17378
  if (this._typingTask)
@@ -17760,42 +17829,42 @@ class DocumentInfoPaneComponent {
17760
17829
  });
17761
17830
  }
17762
17831
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPaneComponent, deps: [{ token: PaneRef }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
17763
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPaneComponent, selector: "ng-component", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
17832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPaneComponent, selector: "bizdoc-document-info-pane", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
17764
17833
  }
17765
17834
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPaneComponent, decorators: [{
17766
17835
  type: Component,
17767
17836
  args: [{
17837
+ selector: 'bizdoc-document-info-pane',
17768
17838
  template: `<bizdoc-document [model]=model></bizdoc-document>`
17769
17839
  }]
17770
17840
  }], ctorParameters: function () { return [{ type: PaneRef }, { type: SessionService }]; } });
17771
17841
 
17772
- class ItemResolver {
17842
+ class CubeItemResolver {
17773
17843
  constructor(_service) {
17774
17844
  this._service = _service;
17775
17845
  }
17776
17846
  onResolve(params, queryParams) {
17777
17847
  return this._service.item(params['cube'], queryParams, params['key']);
17778
17848
  }
17779
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolver, deps: [{ token: CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
17780
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolver }); }
17849
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, deps: [{ token: CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
17850
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver }); }
17781
17851
  }
17782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolver, decorators: [{
17852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, decorators: [{
17783
17853
  type: Injectable
17784
17854
  }], ctorParameters: function () { return [{ type: CubeService }]; } });
17785
- class ItemResolveService {
17786
- constructor(_service, _router) {
17855
+ class CubeItemResolveService {
17856
+ constructor(_service) {
17787
17857
  this._service = _service;
17788
- this._router = _router;
17789
17858
  }
17790
17859
  resolve(route) {
17791
17860
  return this._service.item(route.params['cube'], route.queryParams, route.params['key']);
17792
17861
  }
17793
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolveService, deps: [{ token: CubeService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
17794
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolveService }); }
17862
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, deps: [{ token: CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
17863
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService }); }
17795
17864
  }
17796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ItemResolveService, decorators: [{
17865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, decorators: [{
17797
17866
  type: Injectable
17798
- }], ctorParameters: function () { return [{ type: CubeService }, { type: i1$4.Router }]; } });
17867
+ }], ctorParameters: function () { return [{ type: CubeService }]; } });
17799
17868
 
17800
17869
  class UserNamePipe {
17801
17870
  transform(value) {
@@ -17873,7 +17942,7 @@ class OptionsComponent {
17873
17942
  return item ? item.name : null;
17874
17943
  };
17875
17944
  this.voating = !config.comments || config.comments.voting !== false;
17876
- merge(overlayRef.keydownEvents().pipe(filter(k => k.keyCode === 27)), overlayRef.backdropClick()).
17945
+ merge(overlayRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), overlayRef.backdropClick()).
17877
17946
  subscribe(() => overlayRef.dispose());
17878
17947
  }
17879
17948
  ngOnInit() {
@@ -17942,7 +18011,7 @@ class OptionsComponent {
17942
18011
  this.notifications.open();
17943
18012
  }
17944
18013
  this.form.valueChanges.pipe(debounceTime(200), takeUntil$1(this._destroy)).subscribe(() => this.form.valid &&
17945
- this._session.update(this.form.getRawValue()).subscribe(undefined, () => this._sb.error()));
18014
+ this._session.update(this.form.getRawValue()).subscribe({ error: () => this._sb.error() }));
17946
18015
  }
17947
18016
  _toggle(group, active, ...controls) {
17948
18017
  controls.forEach(name => {
@@ -17956,17 +18025,14 @@ class OptionsComponent {
17956
18025
  this.form.controls['notifications'].controls['sound'].setValue(!this.options.notifications.sound);
17957
18026
  }
17958
18027
  addTag(event) {
17959
- const input = event.input;
17960
- const value = event.value;
18028
+ const { chipInput, value } = event;
17961
18029
  // Add our fruit
17962
18030
  if ((value || '').trim()) {
17963
18031
  this.options.tags.push(value.trim());
17964
18032
  this.form.patchValue({});
17965
18033
  }
17966
18034
  // Reset the input value
17967
- if (input) {
17968
- input.value = '';
17969
- }
18035
+ chipInput?.clear();
17970
18036
  }
17971
18037
  removeTag(tag) {
17972
18038
  this.options.tags.remove(tag);
@@ -18047,10 +18113,12 @@ class OptionsService {
18047
18113
  direction: this._dir.value
18048
18114
  });
18049
18115
  const oRef = this._overlay.create(config);
18050
- const injector = Injector.create([
18051
- { provide: OPTION_PANEL, useValue: { open: section } },
18052
- { provide: OverlayRef, useValue: oRef },
18053
- ], this._injector);
18116
+ const injector = Injector.create({
18117
+ providers: [
18118
+ { provide: OPTION_PANEL, useValue: { open: section } },
18119
+ { provide: OverlayRef, useValue: oRef },
18120
+ ], parent: this._injector
18121
+ });
18054
18122
  const portal = new ComponentPortal(OptionsComponent, null, injector);
18055
18123
  oRef.attach(portal);
18056
18124
  oRef.backdropClick().subscribe(() => oRef.dispose());
@@ -18101,7 +18169,7 @@ class AppHttpInterceptor {
18101
18169
  setHeaders: headers,
18102
18170
  url
18103
18171
  });
18104
- const handle = next.handle(request).pipe(catchError((e) => {
18172
+ const handle = next.handle(request).pipe(catchError$1((e) => {
18105
18173
  if (this._authenticationInProgress$)
18106
18174
  return this._authenticationInProgress$;
18107
18175
  else if (e.status === 401)
@@ -18110,12 +18178,15 @@ class AppHttpInterceptor {
18110
18178
  return this.intercept(req, next);
18111
18179
  }));
18112
18180
  else
18113
- return throwError(e);
18181
+ throw new Error(e.message);
18114
18182
  }));
18115
18183
  if (!req.headers.has('no-progress')) {
18116
18184
  this._ongoingCounter$.next(1);
18117
- return handle.pipe(tap(event => event instanceof HttpResponse
18118
- && this._ongoingCounter$.next(0), () => this._ongoingCounter$.next(0)));
18185
+ return handle.pipe(tap({
18186
+ next: event => event instanceof HttpResponse
18187
+ && this._ongoingCounter$.next(0),
18188
+ error: () => this._ongoingCounter$.next(0)
18189
+ }));
18119
18190
  }
18120
18191
  else
18121
18192
  return handle;
@@ -18128,7 +18199,7 @@ class AppHttpInterceptor {
18128
18199
  this.active$ = this._ongoingCounter$.asObservable().pipe(map(c => c > 0));
18129
18200
  if (baseUrl) {
18130
18201
  if (baseUrl.endsWith('/'))
18131
- this._baseUrl = baseUrl.substr(0, baseUrl.length - 1);
18202
+ this._baseUrl = baseUrl.substring(0, baseUrl.length - 1);
18132
18203
  else
18133
18204
  this._baseUrl = baseUrl;
18134
18205
  }
@@ -18324,17 +18395,19 @@ class ImpersonateDialog {
18324
18395
  filter(u => u.name.toLowerCase().indexOf(name) > -1 && u.id !== this._me);
18325
18396
  })) : of([])));
18326
18397
  this.logging = false;
18327
- _dialogRef.keydownEvents().pipe(takeUntil$1(this._destroy), filter(k => k.keyCode === ENTER)).
18398
+ _dialogRef.keydownEvents().pipe(takeUntil$1(this._destroy), filter(k => k.key === 'Enter')).
18328
18399
  subscribe(() => this.item && this.go());
18329
18400
  }
18330
18401
  go() {
18331
18402
  this.logging = true;
18332
- this._session.impersonate(this.item.id).subscribe(() => {
18333
- this.logging = false;
18334
- this._dialogRef.close(true);
18335
- }, () => {
18336
- this.logging = false;
18337
- this._sb.error();
18403
+ this._session.impersonate(this.item.id).subscribe({
18404
+ next: () => {
18405
+ this.logging = false;
18406
+ this._dialogRef.close(true);
18407
+ }, error: () => {
18408
+ this.logging = false;
18409
+ this._sb.error();
18410
+ }
18338
18411
  });
18339
18412
  }
18340
18413
  display(item) {
@@ -18505,7 +18578,7 @@ class QuickNotificationsComponent extends NotificationsComponentBase {
18505
18578
  });
18506
18579
  }
18507
18580
  open(item, evt) {
18508
- if (evt.srcElement.tagName !== 'MAT-ICON') {
18581
+ if (evt.target.tagName !== 'MAT-ICON') {
18509
18582
  if (!item.read)
18510
18583
  this._service.read(item.id, item.sent, true).subscribe(() => item.read = true);
18511
18584
  this._popupRef.close();
@@ -18633,7 +18706,7 @@ class SearchService {
18633
18706
  this._cr = _cr;
18634
18707
  }
18635
18708
  _createInjector() {
18636
- return Injector.create([], this._injector);
18709
+ return Injector.create({ providers: [], parent: this._injector });
18637
18710
  }
18638
18711
  search(value) {
18639
18712
  const profile = this._session.profile;
@@ -18774,7 +18847,7 @@ class QuickToolsComponent {
18774
18847
  notifs(evt) {
18775
18848
  this.profile.notifications.length &&
18776
18849
  this._session.notificationsTouch();
18777
- this._popup.open(QuickNotificationsComponent, evt.srcElement, { position: 'start' });
18850
+ this._popup.open(QuickNotificationsComponent, evt.target, { position: 'start' });
18778
18851
  }
18779
18852
  open(evt) {
18780
18853
  if (this.searching)
@@ -18893,8 +18966,8 @@ class SlotsComponent {
18893
18966
  parent = relativeTo || this.panes[this.selectedIndex];
18894
18967
  let parentpath = parent.path;
18895
18968
  while (path.startsWith('../')) {
18896
- parentpath = parentpath.substr(0, parentpath.lastIndexOf('/'));
18897
- path = path.substr(3);
18969
+ parentpath = parentpath.substring(0, parentpath.lastIndexOf('/'));
18970
+ path = path.substring(3);
18898
18971
  }
18899
18972
  path = parentpath + '/' + path;
18900
18973
  }
@@ -19454,7 +19527,7 @@ class SlotsComponent {
19454
19527
  if (isPromise(value))
19455
19528
  await value.then(r => data[key] = r);
19456
19529
  else if (isObservable(value))
19457
- await value.pipe(tap(r => data[key] = r)).toPromise();
19530
+ await firstValueFrom(value.pipe(tap(r => data[key] = r)));
19458
19531
  else
19459
19532
  data[key] = value;
19460
19533
  }
@@ -19797,7 +19870,7 @@ class SlotsComponent {
19797
19870
  else if (isPromise(ok))
19798
19871
  return ok;
19799
19872
  else
19800
- return ok.toPromise();
19873
+ return firstValueFrom(ok);
19801
19874
  }
19802
19875
  scrollTo(index) {
19803
19876
  const item = this._children.item(index);
@@ -19825,14 +19898,14 @@ class SlotsComponent {
19825
19898
  el.focus();
19826
19899
  }
19827
19900
  onPaneResize(pane, event) {
19828
- const el = event.srcElement.previousElementSibling;
19901
+ const el = event.target.previousElementSibling;
19829
19902
  const // remember mouse down info
19830
19903
  width = el.clientWidth, d = this._rtl ? -1 : 1;
19831
- event.srcElement.classList.add('resizing');
19904
+ event.target.classList.add('resizing');
19832
19905
  this.dragging = true;
19833
19906
  document.onmousemove = onMouseMove;
19834
19907
  document.onmouseup = () => {
19835
- event.srcElement.classList.remove('resizing');
19908
+ event.target.classList.remove('resizing');
19836
19909
  document.onmousemove = document.onmouseup = null;
19837
19910
  this.dragging = false;
19838
19911
  };
@@ -19844,15 +19917,15 @@ class SlotsComponent {
19844
19917
  }
19845
19918
  }
19846
19919
  onTabResize(event) {
19847
- const el = event.srcElement.nextElementSibling;
19920
+ const el = event.target.nextElementSibling;
19848
19921
  const me = this,
19849
19922
  // remember mouse down info
19850
19923
  width = el.clientWidth, d = this._rtl ? 1 : -1;
19851
- event.srcElement.classList.add('resizing');
19924
+ event.target.classList.add('resizing');
19852
19925
  this.dragging = true;
19853
19926
  document.onmousemove = onMouseMove;
19854
19927
  document.onmouseup = () => {
19855
- event.srcElement.classList.remove('resizing');
19928
+ event.target.classList.remove('resizing');
19856
19929
  document.onmousemove = document.onmouseup = null;
19857
19930
  this.dragging = false;
19858
19931
  me.enableNavigationArrows();
@@ -19924,7 +19997,7 @@ function prepareRoutes(routes, treePath) {
19924
19997
  fullPath,
19925
19998
  regEx: new RegExp('^' + fullPath.
19926
19999
  replace('/', '\\/').
19927
- replace(PANE_PARAMS_REGEX, e => `(?<${e.substr(1)}>[\\w@\\-]*)`))
20000
+ replace(PANE_PARAMS_REGEX, e => `(?<${e.substring(1)}>[\\w@\\-]*)`))
19928
20001
  });
19929
20002
  if (route.children) {
19930
20003
  let children = prepareRoutes(route.children, fullPath);
@@ -20177,10 +20250,10 @@ class HomeComponent extends HomeBase {
20177
20250
  }
20178
20251
  /** options */
20179
20252
  options(evt) {
20180
- this._popup.open(QuickOptionsComponent, evt.srcElement, { position: 'end' });
20253
+ this._popup.open(QuickOptionsComponent, evt.target, { position: 'end' });
20181
20254
  }
20182
20255
  signout(evt) {
20183
- this._popup.open(QuickSignComponent, evt.srcElement, { position: 'end' });
20256
+ this._popup.open(QuickSignComponent, evt.target, { position: 'end' });
20184
20257
  }
20185
20258
  nav(path) {
20186
20259
  this._router.navigate([path]);
@@ -20209,15 +20282,17 @@ class HomeComponent extends HomeBase {
20209
20282
  _create() {
20210
20283
  this.creating = true;
20211
20284
  this._mailbox.create(this.forms[0].name).
20212
- subscribe(r => {
20213
- this.creating = false;
20214
- this._router.navigate(['mailbox/i', r.id.encodeId()], {
20215
- policy: OpenPolicy.Clear,
20216
- state: { item: r }
20217
- });
20218
- }, (e) => {
20219
- this._handleErr(e);
20220
- this.creating = false;
20285
+ subscribe({
20286
+ next: r => {
20287
+ this.creating = false;
20288
+ this._router.navigate(['mailbox/i', r.id.encodeId()], {
20289
+ policy: OpenPolicy.Clear,
20290
+ state: { item: r }
20291
+ });
20292
+ }, error: (e) => {
20293
+ this._handleErr(e);
20294
+ this.creating = false;
20295
+ }
20221
20296
  });
20222
20297
  }
20223
20298
  _handleErr(response) {
@@ -20269,7 +20344,7 @@ class HomeComponent extends HomeBase {
20269
20344
  * @param event
20270
20345
  */
20271
20346
  handleKeyboardEvent(event) {
20272
- if (event.altKey && (event.which === 110 || event.which === 78)) {
20347
+ if (event.altKey && (event.key === 'n' || event.key === 'N')) {
20273
20348
  if (this.submenu === 'new')
20274
20349
  this.submenu = null;
20275
20350
  else {
@@ -20282,7 +20357,7 @@ class HomeComponent extends HomeBase {
20282
20357
  }
20283
20358
  event.preventDefault();
20284
20359
  }
20285
- else if (event.ctrlKey && event.which === 190) {
20360
+ else if (event.ctrlKey && event.key === '.') {
20286
20361
  if (this.submenu && !this._collapseToggle) {
20287
20362
  this.submenuMode = this.submenuMode === 'shrink' ? 'full' : 'shrink';
20288
20363
  this._collapseToggle = true;
@@ -20315,7 +20390,7 @@ class CopyDialog {
20315
20390
  constructor(_service, dialogRef) {
20316
20391
  this._service = _service;
20317
20392
  this.search = new FormControl();
20318
- dialogRef.keydownEvents().pipe(filter(k => k.keyCode === ENTER)).
20393
+ dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter')).
20319
20394
  subscribe(() => this.selectedItem && dialogRef.close(this.selectedItem));
20320
20395
  }
20321
20396
  ngOnInit() {
@@ -20352,17 +20427,21 @@ class FormSelectorSheet {
20352
20427
  this.forms = _session.profile.forms.filter(f => f.creatable);
20353
20428
  }
20354
20429
  open(form) {
20355
- this._mailbox.create(form).subscribe(i => this._route(i), e => this._error(e));
20430
+ this._mailbox.create(form).subscribe({
20431
+ next: i => this._route(i), error: e => this._error(e)
20432
+ });
20356
20433
  this._bsRef.dismiss();
20357
20434
  }
20358
20435
  copy(event) {
20359
20436
  event.preventDefault();
20360
20437
  this._bsRef.afterDismissed().subscribe(() => this._dialog.open(CopyDialog).afterClosed().subscribe(i => {
20361
20438
  i &&
20362
- this._mailbox.copy(i.documentId).subscribe(i => {
20363
- this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
20364
- this._route(i);
20365
- }, e => this._error(e));
20439
+ this._mailbox.copy(i.documentId).subscribe({
20440
+ next: i => {
20441
+ this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
20442
+ this._route(i);
20443
+ }, error: e => this._error(e)
20444
+ });
20366
20445
  }));
20367
20446
  this._bsRef.dismiss();
20368
20447
  }
@@ -20500,7 +20579,7 @@ class HomeMobileComponent extends HomeBase {
20500
20579
  }
20501
20580
  /** options */
20502
20581
  options(evt) {
20503
- this._popup.open(QuickOptionsComponent, evt.srcElement, { position: 'end' });
20582
+ this._popup.open(QuickOptionsComponent, evt.target, { position: 'end' });
20504
20583
  }
20505
20584
  signout() {
20506
20585
  this.menuDrawer.close();
@@ -20745,7 +20824,7 @@ const PANES_CONFIG = [{
20745
20824
  path: 'i/:template/:key',
20746
20825
  component: ExploreItemPaneComponent,
20747
20826
  policy: OpenPolicy.Tab | OpenPolicy.Expandable,
20748
- resolve: { item: ItemResolver }
20827
+ resolve: { item: CubeItemResolver }
20749
20828
  }]
20750
20829
  },
20751
20830
  {
@@ -20964,7 +21043,7 @@ class CanDeactivateCompose {
20964
21043
  constructor(_sb) {
20965
21044
  this._sb = _sb;
20966
21045
  }
20967
- canDeactivate(component, _currentRoute, _currentState, _nextState) {
21046
+ canDeactivate(component) {
20968
21047
  if (component.form.dirty)
20969
21048
  return this._sb.ask('SaveChangesAsk', 'SaveChanges', { i18n: true, color: 'primary', ok: 'Save', cancel: 'Ignore' }).pipe(switchMap(ok => {
20970
21049
  if (ok)
@@ -21224,7 +21303,10 @@ class RecipientResolveService {
21224
21303
  return of(item);
21225
21304
  }
21226
21305
  const id = route.paramMap.get('id').decodeId();
21227
- return this._mailbox.get(id).pipe(tap(null, () => this._sb.error()));
21306
+ return this._mailbox.get(id).pipe(catchError(() => {
21307
+ this._sb.error();
21308
+ throw new Error();
21309
+ }));
21228
21310
  }
21229
21311
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RecipientResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21230
21312
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RecipientResolveService }); }
@@ -21247,7 +21329,10 @@ class DocumentResolveService {
21247
21329
  return of(item);
21248
21330
  }
21249
21331
  const id = route.paramMap.get('id').decodeId();
21250
- return this._mailbox.info(id).pipe(tap(null, () => this._sb.error()));
21332
+ return this._mailbox.info(id).pipe(catchError(() => {
21333
+ this._sb.error();
21334
+ throw new Error();
21335
+ }));
21251
21336
  }
21252
21337
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21253
21338
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentResolveService }); }
@@ -21325,11 +21410,12 @@ class DocumentInfoPageComponent {
21325
21410
  });
21326
21411
  }
21327
21412
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPageComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
21328
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPageComponent, selector: "ng-component", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
21413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPageComponent, selector: "bizdoc-document-info-page", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
21329
21414
  }
21330
21415
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPageComponent, decorators: [{
21331
21416
  type: Component,
21332
21417
  args: [{
21418
+ selector: 'bizdoc-document-info-page',
21333
21419
  template: `<bizdoc-document [model]=model></bizdoc-document>`
21334
21420
  }]
21335
21421
  }], ctorParameters: function () { return [{ type: i1$4.ActivatedRoute }, { type: WindowTitleService }]; } });
@@ -21353,20 +21439,26 @@ const ROUTES = [
21353
21439
  {
21354
21440
  path: 'mailbox',
21355
21441
  children: [
21356
- {
21357
- path: 'i/:id/views',
21358
- resolve: { item: RecipientResolveService },
21359
- component: DocumentViewMobileComponent
21360
- },
21361
21442
  {
21362
21443
  path: 'i/:id',
21363
21444
  component: ComposeComponent,
21364
- resolve: { item: RecipientResolveService },
21365
- canDeactivate: [CanDeactivateCompose],
21445
+ resolve: {
21446
+ item: () => inject(RecipientResolveService).resolve(inject(ActivatedRouteSnapshot))
21447
+ },
21448
+ children: [
21449
+ {
21450
+ path: 'views',
21451
+ component: DocumentViewMobileComponent
21452
+ },
21453
+ ],
21454
+ canDeactivate: [() => inject(CanDeactivateCompose).
21455
+ canDeactivate(inject(ComposeComponent))],
21366
21456
  },
21367
21457
  {
21368
21458
  path: 'd/:id', component: DocumentInfoPageComponent,
21369
- resolve: { item: DocumentResolveService }
21459
+ resolve: {
21460
+ item: () => inject(DocumentResolveService).resolve(inject(ActivatedRouteSnapshot))
21461
+ }
21370
21462
  },
21371
21463
  {
21372
21464
  path: 'f/:id', component: BrowseComponent,
@@ -21705,7 +21797,7 @@ class MapComponent {
21705
21797
  });
21706
21798
  infowindow.open(map, marker);
21707
21799
  }, MARKER_DELAY);
21708
- this._ref.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE)).subscribe(() => this._ref.detach());
21800
+ this._ref.keydownEvents().pipe(filter(k => k.key === 'Escape')).subscribe(() => this._ref.detach());
21709
21801
  this._ref.backdropClick().pipe().subscribe(() => this._ref.detach());
21710
21802
  }
21711
21803
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MapComponent, deps: [{ token: i1$1.OverlayRef }, { token: LOCATION_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -21782,9 +21874,12 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
21782
21874
  this.originalAxes = base;
21783
21875
  }
21784
21876
  ngOnInit() {
21785
- this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe(() => this.preloading = false, (e) => {
21786
- if (e.status === 401)
21787
- this._ref.close();
21877
+ this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe({
21878
+ next: () => this.preloading = false,
21879
+ error: (e) => {
21880
+ if (e.status === 401)
21881
+ this._ref.close();
21882
+ }
21788
21883
  });
21789
21884
  }
21790
21885
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -22280,19 +22375,20 @@ class FileInput {
22280
22375
  '.' + AttachmentInfo.fileExt(item.fileName) + ',' + item.contentType;
22281
22376
  this._prompt({ multiple: false, accept }).then(files => {
22282
22377
  this._mailbox.checkIn(this._model.id, this._model.version, item.id, files[0]).
22283
- pipe().
22284
- subscribe(a => {
22285
- delete item.checkedOut;
22286
- Object.assign(item, a);
22287
- if (this.multiple) {
22288
- const index = this.value.indexOf(item.id);
22289
- // replace value with new id
22290
- this.value.splice(index, 1, a.id);
22291
- }
22292
- else
22293
- this.value = a.id;
22294
- this._sb.toast(this._translate.get('CheckedIn', item.fileName));
22295
- }, e => this._handleError(e));
22378
+ subscribe({
22379
+ next: a => {
22380
+ delete item.checkedOut;
22381
+ Object.assign(item, a);
22382
+ if (this.multiple) {
22383
+ const index = this.value.indexOf(item.id);
22384
+ // replace value with new id
22385
+ this.value.splice(index, 1, a.id);
22386
+ }
22387
+ else
22388
+ this.value = a.id;
22389
+ this._sb.toast(this._translate.get('CheckedIn', item.fileName));
22390
+ }, error: e => this._handleError(e)
22391
+ });
22296
22392
  });
22297
22393
  }
22298
22394
  checkOut(item) {
@@ -22303,13 +22399,15 @@ class FileInput {
22303
22399
  });
22304
22400
  }
22305
22401
  discard(item) {
22306
- const task = () => this._mailbox.removeattachment(this._model.id, item.id).subscribe(_ => {
22307
- this.items.remove(item);
22308
- this._value = this.multiple ? this.items.length ? this.items.map(i => i.id) : null : null;
22309
- this._onChange && this._onChange(this.value);
22310
- const aitem = this._model.attachments.find(a => a.id === item.id);
22311
- aitem.deleted = true;
22312
- }, e => this._handleError(e));
22402
+ const task = () => this._mailbox.removeattachment(this._model.id, item.id).subscribe({
22403
+ next: () => {
22404
+ this.items.remove(item);
22405
+ this._value = this.multiple ? this.items.length ? this.items.map(i => i.id) : null : null;
22406
+ this._onChange && this._onChange(this.value);
22407
+ const aitem = this._model.attachments.find(a => a.id === item.id);
22408
+ aitem.deleted = true;
22409
+ }, error: e => this._handleError(e)
22410
+ });
22313
22411
  if (this._model.draft)
22314
22412
  task();
22315
22413
  else
@@ -22441,10 +22539,7 @@ class FileInput {
22441
22539
  this._input.nativeElement.multiple = options.multiple;
22442
22540
  }
22443
22541
  this._input.nativeElement.click();
22444
- return new Promise((resolve, reject) => {
22445
- this._pending.pipe(first()).
22446
- subscribe(resolve, reject);
22447
- });
22542
+ return firstValueFrom(this._pending);
22448
22543
  }
22449
22544
  /**
22450
22545
  *
@@ -22452,7 +22547,7 @@ class FileInput {
22452
22547
  */
22453
22548
  _change(evt) {
22454
22549
  this._onTouched && this._onTouched();
22455
- const { files } = evt.srcElement;
22550
+ const { files } = evt.target;
22456
22551
  const arr = [];
22457
22552
  for (var i = 0; i < files.length; i++) {
22458
22553
  let file = files.item(i);
@@ -22492,7 +22587,7 @@ class FileInput {
22492
22587
  if (item.checkedOut) {
22493
22588
  // check in
22494
22589
  let observable = this._mailbox.checkIn(this._model.id, this._model.version, item.id, file).
22495
- pipe(reportProgress(item), catchError(e => {
22590
+ pipe(reportProgress(item), catchError$1(e => {
22496
22591
  this._handleError(e);
22497
22592
  return of(false);
22498
22593
  }), tap((a) => {
@@ -22509,7 +22604,7 @@ class FileInput {
22509
22604
  else if (this.canEdit(item)) {
22510
22605
  // existing item, override
22511
22606
  let observable = this._mailbox.upload(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
22512
- pipe(reportProgress(item), catchError(e => {
22607
+ pipe(reportProgress(item), catchError$1(e => {
22513
22608
  this._handleError(e);
22514
22609
  return of(false);
22515
22610
  }), tap((a) => {
@@ -22529,7 +22624,7 @@ class FileInput {
22529
22624
  //this.items.push(this._createItem(a));
22530
22625
  // upload new
22531
22626
  let observable = this._mailbox.upload(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
22532
- pipe(/*TODO reportProgress(item), */ catchError(e => {
22627
+ pipe(/*TODO reportProgress(item), */ catchError$1(e => {
22533
22628
  this._handleError(e);
22534
22629
  return of(false);
22535
22630
  }), tap((a) => {
@@ -23617,13 +23712,15 @@ class CubeDocumentsWidget {
23617
23712
  this.dataSource.sort = this.sort;
23618
23713
  }
23619
23714
  open(item) {
23620
- this._mailbox.info(item.id).subscribe(item => {
23621
- this._router.navigate(['mailbox/d', item.documentId.encodeId()], {
23622
- state: {
23623
- item
23624
- }
23625
- });
23626
- }, () => this._sb.error());
23715
+ this._mailbox.info(item.id).subscribe({
23716
+ next: item => {
23717
+ this._router.navigate(['mailbox/d', item.documentId.encodeId()], {
23718
+ state: {
23719
+ item
23720
+ }
23721
+ });
23722
+ }, error: () => this._sb.error()
23723
+ });
23627
23724
  }
23628
23725
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeDocumentsWidget, deps: [{ token: RouterImpl }, { token: MailboxService }, { token: PromptService }, { token: WidgetRef }], target: i0.ɵɵFactoryTarget.Component }); }
23629
23726
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeDocumentsWidget, selector: "ng-component", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z0\" matSort @list>\r\n <ng-container matColumnDef=\"number\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Number' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element)\">#{{element.number}}</a></td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"subject\">\r\n <th mat-header-cell *matHeaderCellDef> {{'Subject' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"text\"> {{element.subject}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Status' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.state | state }} </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\r\n <tr mat-row @item *matRowDef=\"let row; columns: columns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n"], dependencies: [{ kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [
@@ -23734,12 +23831,14 @@ class RecentsWidget {
23734
23831
  _navigate(item, commands, extra) {
23735
23832
  item.loading = true;
23736
23833
  this._service.get(item.id).
23737
- subscribe(i => {
23738
- this._router.navigate(['mailbox/i', item.id.encodeId(), ...commands], { ...extra, state: { item: i } });
23739
- item.loading = false;
23740
- }, () => {
23741
- this._ps.error();
23742
- item.loading = false;
23834
+ subscribe({
23835
+ next: i => {
23836
+ this._router.navigate(['mailbox/i', item.id.encodeId(), ...commands], { ...extra, state: { item: i } });
23837
+ item.loading = false;
23838
+ }, error: () => {
23839
+ this._ps.error();
23840
+ item.loading = false;
23841
+ }
23743
23842
  });
23744
23843
  }
23745
23844
  open(item) {
@@ -24111,7 +24210,7 @@ let CompareGroupsWidget = CompareGroupsWidget_1 = class CompareGroupsWidget {
24111
24210
  this._destroy.complete();
24112
24211
  }
24113
24212
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CompareGroupsWidget, deps: [{ token: TranslateService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
24114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CompareGroupsWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
24213
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CompareGroupsWidget, selector: "bizdoc-compare-groups", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
24115
24214
  };
24116
24215
  CompareGroupsWidget = CompareGroupsWidget_1 = __decorate([
24117
24216
  BizDoc({
@@ -24122,6 +24221,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
24122
24221
  type: Component,
24123
24222
  args: [{
24124
24223
  //templateUrl: './compare-groups.widget.html',
24224
+ selector: 'bizdoc-compare-groups',
24125
24225
  template: '',
24126
24226
  providers: [LineSeriesService, CrosshairService, ColumnSeriesService],
24127
24227
  host: {
@@ -26161,11 +26261,13 @@ class CombinationPickerBody {
26161
26261
  this._axes.forEach(a => values[a.name] && (args[a.name] = values[a.name]));
26162
26262
  this._service.combinations(this._cube.name, args, { take: this._data.limit, progress: false }).
26163
26263
  pipe(finalize(() => this._working = false)).
26164
- subscribe(r => {
26165
- this._combinations = r;
26166
- this._switchMode('results');
26167
- r.length === this._data.limit && this._snackbar.toast('TakeMore');
26168
- }, () => this._snackbar.error());
26264
+ subscribe({
26265
+ next: r => {
26266
+ this._combinations = r;
26267
+ this._switchMode('results');
26268
+ r.length === this._data.limit && this._snackbar.toast('TakeMore');
26269
+ }, error: () => this._snackbar.error()
26270
+ });
26169
26271
  }
26170
26272
  /**
26171
26273
  * item select
@@ -26201,11 +26303,10 @@ class CombinationPickerBody {
26201
26303
  ...defaults
26202
26304
  };
26203
26305
  codes.slice(0, this._axes.length).forEach((a, i) => axes[this._axes[i].name] = a);
26204
- this._accountInfo.popup(axes, evt.srcElement, {
26306
+ this._accountInfo.popup(axes, evt.target, {
26205
26307
  ...this._data.exploreSettings,
26206
26308
  cube: this._cube.name
26207
26309
  });
26208
- evt.cancelBubble = true;
26209
26310
  evt.preventDefault();
26210
26311
  evt.stopPropagation();
26211
26312
  }
@@ -26521,10 +26622,10 @@ class CombinationPool {
26521
26622
  control.valueChanges.pipe(debounceTime(250), takeUntil$1(this._destroy)).subscribe(v => {
26522
26623
  this.model[a.name] = v;
26523
26624
  this._populate().
26524
- then(() => this.modelChange.next(this.model));
26625
+ pipe(tap(() => this.modelChange.next(this.model))).subscribe();
26525
26626
  });
26526
26627
  });
26527
- this._populate();
26628
+ this._populate().subscribe();
26528
26629
  }
26529
26630
  _populate() {
26530
26631
  this.working = true;
@@ -26534,7 +26635,7 @@ class CombinationPool {
26534
26635
  if (val)
26535
26636
  values[a.name] = val;
26536
26637
  });
26537
- return this._service.constraints(this._cube.name, values, { source: this.source }).toPromise().then(r => {
26638
+ return this._service.constraints(this._cube.name, values, { source: this.source }).pipe(tap(r => {
26538
26639
  Object.keys(r).forEach(t => {
26539
26640
  this._values[t] = r[t];
26540
26641
  const keys = this._keys[t] = Object.keys(r[t]);
@@ -26549,7 +26650,7 @@ class CombinationPool {
26549
26650
  });
26550
26651
  Object.assign(this._values, r);
26551
26652
  this.working = false;
26552
- });
26653
+ }));
26553
26654
  }
26554
26655
  clear(axis) {
26555
26656
  const control = this.form.controls[axis];
@@ -27044,7 +27145,7 @@ class QuickCommentComponent {
27044
27145
  this._destroy = new Subject();
27045
27146
  }
27046
27147
  ngOnInit() {
27047
- this._textChange.pipe(debounceTime$1(TYPING_NOTIFY), takeUntil(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId));
27148
+ this._textChange.pipe(debounceTime$1(TYPING_NOTIFY$1), takeUntil(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId).subscribe());
27048
27149
  this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).
27049
27150
  subscribe(e => {
27050
27151
  this._accounts.get(e.userId).subscribe(u => {
@@ -27058,12 +27159,14 @@ class QuickCommentComponent {
27058
27159
  const { text, resource } = evt;
27059
27160
  this.sending = true;
27060
27161
  this._mailbox.comment(this.model.documentId, { text, resource }).
27061
- subscribe(c => {
27062
- this.model.comments.push(c);
27063
- this.sending = false;
27064
- }, () => {
27065
- this._sb.error();
27066
- this.sending = false;
27162
+ subscribe({
27163
+ next: c => {
27164
+ this.model.comments.push(c);
27165
+ this.sending = false;
27166
+ }, error: () => {
27167
+ this._sb.error();
27168
+ this.sending = false;
27169
+ }
27067
27170
  });
27068
27171
  }
27069
27172
  ngOnDestroy() {
@@ -27156,8 +27259,7 @@ class CubeBase {
27156
27259
  return null;
27157
27260
  const axes = {};
27158
27261
  this._viewRef.options.aggregate.forEach(a => axes[a] = this.originalAxes[a]);
27159
- return await this._service.nameOf(axes, this.cube.name).
27160
- toPromise();
27262
+ return await firstValueFrom(this._service.nameOf(axes, this.cube.name));
27161
27263
  }
27162
27264
  aggregate(originalAxes) {
27163
27265
  const axes = { ...originalAxes };
@@ -27522,14 +27624,17 @@ class TimelineViewComponent {
27522
27624
  }
27523
27625
  if (l.byId) {
27524
27626
  const who = this._users.get(l.userId), by = this._users.get(l.byId);
27525
- const promise = forkJoin(who, by).pipe(tap(ns => {
27627
+ const promise = forkJoin([who, by]).pipe(tap(ns => {
27526
27628
  const [who, by] = ns;
27527
27629
  task.name = this._translate.get('By', who.name, by.name);
27528
27630
  // if (l.role) {
27529
27631
  // const role = this.session.profile.roles.find(o => o.name === l.role);
27530
27632
  // if (role) task.name += `, ${role.name}`;
27531
27633
  // }
27532
- }, () => this._ps.error()));
27634
+ }), catchError(() => {
27635
+ this._ps.error();
27636
+ throw new Error();
27637
+ }));
27533
27638
  promisses.push(promise);
27534
27639
  }
27535
27640
  else if (l.userId) {
@@ -27539,7 +27644,10 @@ class TimelineViewComponent {
27539
27644
  // const role = this.session.profile.roles.find(o => o.name === l.role);
27540
27645
  // if (role) task.name += `, ${role.name}`;
27541
27646
  // }
27542
- }, () => this._ps.error()));
27647
+ }), catchError(() => {
27648
+ this._ps.error();
27649
+ throw new Error();
27650
+ }));
27543
27651
  promisses.push(promise);
27544
27652
  }
27545
27653
  });
@@ -27561,7 +27669,7 @@ class TimelineViewComponent {
27561
27669
  if (r.substituteId) {
27562
27670
  const by = this._users.get(r.substituteId);
27563
27671
  const who = this._users.get(r.userId);
27564
- const promise = forkJoin(who, by).pipe(tap(u => {
27672
+ const promise = forkJoin([who, by]).pipe(tap(u => {
27565
27673
  task.name = this._translate.get('WhoSubstituting', u[0].name, u[1].name);
27566
27674
  if (u[0].role)
27567
27675
  task.name += `, ${u[0].role}`;
@@ -27570,7 +27678,10 @@ class TimelineViewComponent {
27570
27678
  if (role)
27571
27679
  task.name += `, ${role.name}`;
27572
27680
  }
27573
- }, () => this._ps.error()));
27681
+ }), catchError(() => {
27682
+ this._ps.error();
27683
+ throw new Error();
27684
+ }));
27574
27685
  promisses.push(promise);
27575
27686
  }
27576
27687
  else {
@@ -27583,7 +27694,10 @@ class TimelineViewComponent {
27583
27694
  if (role)
27584
27695
  task.name += `, ${role.name}`;
27585
27696
  }
27586
- }, () => this._ps.error()));
27697
+ }), catchError(() => {
27698
+ this._ps.error();
27699
+ throw new Error();
27700
+ }));
27587
27701
  promisses.push(promise);
27588
27702
  }
27589
27703
  if (r.nodeId) {
@@ -27702,7 +27816,7 @@ class CubeSumComponent {
27702
27816
  this._fish(axis);
27703
27817
  }
27704
27818
  async _strict(axis) {
27705
- const keys = await this._ds.keys(this.primaryAxis.dataType).toPromise(), keyIndex = keys.indexOf(axis);
27819
+ const keys = await firstValueFrom(this._ds.keys(this.primaryAxis.dataType)), keyIndex = keys.indexOf(axis);
27706
27820
  const filters = { ...this.filters };
27707
27821
  const axes = [axis];
27708
27822
  if (keyIndex > 0)
@@ -27710,11 +27824,11 @@ class CubeSumComponent {
27710
27824
  if (keyIndex === keys.length - 1)
27711
27825
  axes.push(keys[keyIndex + 1]);
27712
27826
  filters[this.primaryAxis.name] = axis;
27713
- const results = await this._service.series(this._cube.name, this.primaryAxis.name, {
27827
+ const results = await firstValueFrom(this._service.series(this._cube.name, this.primaryAxis.name, {
27714
27828
  indices: this.indices,
27715
27829
  scope: this.scope,
27716
27830
  filters
27717
- }).toPromise().catch(this._handleErr.bind(this));
27831
+ })).catch(this._handleErr.bind(this));
27718
27832
  for (var i = 0; i < results.length; i++) {
27719
27833
  const { index, title, points } = results[i];
27720
27834
  for (var j = 0; j < points.length; j++) {
@@ -27745,18 +27859,18 @@ class CubeSumComponent {
27745
27859
  }
27746
27860
  const parallel = async (direction) => {
27747
27861
  const parentKey = this.filters[this.parentAxis];
27748
- const parentKeys = await this._ds.keys(this._parentAxis.dataType).toPromise();
27862
+ const parentKeys = await firstValueFrom(this._ds.keys(this._parentAxis.dataType));
27749
27863
  const index = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[index + direction];
27750
27864
  if (!scope)
27751
27865
  return;
27752
27866
  filters[this.parentAxis] = scope;
27753
27867
  const axis = keys[keys.length + direction];
27754
27868
  filters[this.primaryAxis.name] = axis;
27755
- const results = await this._service.series(this._cube.name, this.primaryAxis.name, {
27869
+ const results = await firstValueFrom(this._service.series(this._cube.name, this.primaryAxis.name, {
27756
27870
  indices: this.indices,
27757
27871
  scope: this.scope,
27758
27872
  filters
27759
- }).toPromise().catch(this._handleErr.bind(this));
27873
+ })).catch(this._handleErr.bind(this));
27760
27874
  const level = { axis, indices: [], scope };
27761
27875
  for (var i = 0; i < results.length; i++) {
27762
27876
  const { index, title, points } = results[i];
@@ -27783,11 +27897,10 @@ class CubeSumComponent {
27783
27897
  try {
27784
27898
  const filters = { ...this.filters };
27785
27899
  delete filters[this.xAxis];
27786
- const results = this._results = await this._service.series(this._cube.name, this.xAxis, {
27900
+ const results = this._results = await firstValueFrom(this._service.series(this._cube.name, this.xAxis, {
27787
27901
  indices: this.indices, filters,
27788
27902
  scope: this.scope
27789
- }).
27790
- toPromise().catch(this._handleErr.bind(this));
27903
+ })).catch(this._handleErr.bind(this));
27791
27904
  this.current = {
27792
27905
  axis,
27793
27906
  value: 0,
@@ -27872,8 +27985,7 @@ class CubeSumComponent {
27872
27985
  async getAggregateLabel() {
27873
27986
  const axes = { ...this.filters };
27874
27987
  delete axes[this.xAxis];
27875
- return await this._service.nameOf(axes, this._cube.name).
27876
- toPromise();
27988
+ return await firstValueFrom(this._service.nameOf(axes, this._cube.name));
27877
27989
  }
27878
27990
  _calculate(level) {
27879
27991
  const indices = level.indices
@@ -27966,17 +28078,17 @@ class CubeSumComponent {
27966
28078
  async _parallel(direction, parentKey) {
27967
28079
  if (!this._parentAxis)
27968
28080
  return;
27969
- const parentKeys = await this._ds.keys(this._parentAxis.dataType).toPromise();
28081
+ const parentKeys = await firstValueFrom(this._ds.keys(this._parentAxis.dataType));
27970
28082
  const keyIndex = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[keyIndex + direction];
27971
28083
  if (!scope)
27972
28084
  return;
27973
28085
  const filters = { ...this.filters };
27974
28086
  filters[this.parentAxis] = scope;
27975
28087
  delete filters[this.xAxis];
27976
- const results = this._scoperesults = await this._service.series(this._cube.name, this.xAxis, {
28088
+ const results = this._scoperesults = await firstValueFrom(this._service.series(this._cube.name, this.xAxis, {
27977
28089
  indices: this.indices, filters,
27978
28090
  scope: this.scope
27979
- }).toPromise().catch(this._handleErr.bind(this));
28091
+ })).catch(this._handleErr.bind(this));
27980
28092
  this._scope = scope;
27981
28093
  if (!results.some(s => s.points.length))
27982
28094
  return;
@@ -27984,7 +28096,7 @@ class CubeSumComponent {
27984
28096
  scope,
27985
28097
  indices: []
27986
28098
  };
27987
- const parentTitle = await this._ds.get(this._parentAxis.dataType, scope).toPromise();
28099
+ const parentTitle = await firstValueFrom(this._ds.get(this._parentAxis.dataType, scope));
27988
28100
  for (var j = 0; j < results.length; j++) {
27989
28101
  let { index, title, points, name } = results[j], q = direction > 0 ? 0 : points.length - 1, point = points[q];
27990
28102
  if (index) {
@@ -28203,16 +28315,18 @@ let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
28203
28315
  item(evt) {
28204
28316
  const { keys } = evt;
28205
28317
  this.loading = true;
28206
- this._service.item(this.cube.name, this.axes, keys).subscribe(item => {
28207
- this._router.navigate(['cube', this.cube.name, 'explore', 'i', evt.template, keys[0]], {
28208
- queryParams: this.axes,
28209
- state: { item },
28210
- group: this.group,
28211
- });
28212
- this.loading = false;
28213
- }, e => {
28214
- this.loading = false;
28215
- this._sb.error(e.status === 401 ? 'Unauthorized' : null);
28318
+ this._service.item(this.cube.name, this.axes, keys).subscribe({
28319
+ next: item => {
28320
+ this._router.navigate(['cube', this.cube.name, 'explore', 'i', evt.template, keys[0]], {
28321
+ queryParams: this.axes,
28322
+ state: { item },
28323
+ group: this.group,
28324
+ });
28325
+ this.loading = false;
28326
+ }, error: e => {
28327
+ this.loading = false;
28328
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
28329
+ }
28216
28330
  });
28217
28331
  }
28218
28332
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeExploreViewComponent, deps: [{ token: DocumentViewRef }, { token: PromptService }, { token: RouterImpl }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -28320,15 +28434,17 @@ class CubeParallelComponent {
28320
28434
  indices: this.indices,
28321
28435
  groupIndices: true,
28322
28436
  scope: this.scope
28323
- }).subscribe(r => {
28324
- this._data = r;
28325
- this._draw();
28326
- if (this.items.length)
28327
- this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
28328
- this._loading.next(false);
28329
- }, (e) => {
28330
- this._sb.error(errResource(e));
28331
- this._loading.next(false);
28437
+ }).subscribe({
28438
+ next: r => {
28439
+ this._data = r;
28440
+ this._draw();
28441
+ if (this.items.length)
28442
+ this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
28443
+ this._loading.next(false);
28444
+ }, error: (e) => {
28445
+ this._sb.error(errResource(e));
28446
+ this._loading.next(false);
28447
+ }
28332
28448
  });
28333
28449
  }
28334
28450
  _draw() {
@@ -28506,7 +28622,7 @@ let CubeUsageComponent = class CubeUsageComponent {
28506
28622
  this._instance = this._vc.createComponent(comp).instance;
28507
28623
  }
28508
28624
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeUsageComponent, deps: [{ token: ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
28509
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeUsageComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
28625
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeUsageComponent, selector: "bizdoc-cube-usage", ngImport: i0, template: '', isInline: true }); }
28510
28626
  };
28511
28627
  CubeUsageComponent = __decorate([
28512
28628
  BizDoc({
@@ -28516,6 +28632,7 @@ CubeUsageComponent = __decorate([
28516
28632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeUsageComponent, decorators: [{
28517
28633
  type: Component,
28518
28634
  args: [{
28635
+ selector: 'bizdoc-cube-usage',
28519
28636
  template: ''
28520
28637
  }]
28521
28638
  }], ctorParameters: function () { return [{ type: ReportRef }, { type: i0.ViewContainerRef }]; } });
@@ -28662,7 +28779,7 @@ let CubePerformanceWidget = CubePerformanceWidget_1 = class CubePerformanceWidge
28662
28779
  });
28663
28780
  const cube = this._session.profile.cubes.find(c => c.name === this._widgetRef.options.cube || this._widgetRef.options.cube == null);
28664
28781
  const axis = cube.axes.find(a => a.name === this._widgetRef.options.series);
28665
- const title = await this._type.get(axis.dataType, item.series).toPromise();
28782
+ const title = await firstValueFrom(this._type.get(axis.dataType, item.series));
28666
28783
  series.push({
28667
28784
  type: 'Line',
28668
28785
  xName: 'date',
@@ -28698,7 +28815,7 @@ let CubePerformanceWidget = CubePerformanceWidget_1 = class CubePerformanceWidge
28698
28815
  this._destroy.complete();
28699
28816
  }
28700
28817
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubePerformanceWidget, deps: [{ token: TranslateService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
28701
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubePerformanceWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
28818
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubePerformanceWidget, selector: "bizdoc-cube-performance", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
28702
28819
  };
28703
28820
  CubePerformanceWidget = CubePerformanceWidget_1 = __decorate([
28704
28821
  BizDoc({
@@ -28709,6 +28826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
28709
28826
  type: Component,
28710
28827
  args: [{
28711
28828
  //templateUrl: './compare.widget.html',
28829
+ selector: 'bizdoc-cube-performance',
28712
28830
  template: '',
28713
28831
  providers: [LineSeriesService, CrosshairService, ColumnSeriesService],
28714
28832
  host: {
@@ -29443,7 +29561,7 @@ class MobileModule {
29443
29561
  SharedModule], exports: [HomeMobileComponent, BrowseComponent, CubeMobileViewComponent, ComposeComponent, ReportComponent, FormSelectorSheet, CopyDialog, SchedulerComponent, NotificationsComponent,
29444
29562
  ChatComponent] }); }
29445
29563
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MobileModule, providers: [CanDeactivateCompose,
29446
- ItemResolveService,
29564
+ CubeItemResolveService,
29447
29565
  RecipientResolveService, DocumentResolveService
29448
29566
  ], imports: [CommonModule,
29449
29567
  HttpClientModule,
@@ -29458,7 +29576,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
29458
29576
  ChatComponent, CubeMatrixMobileComponent, DocumentViewMobileComponent
29459
29577
  ],
29460
29578
  providers: [CanDeactivateCompose,
29461
- ItemResolveService,
29579
+ CubeItemResolveService,
29462
29580
  RecipientResolveService, DocumentResolveService
29463
29581
  ],
29464
29582
  imports: [
@@ -29533,30 +29651,32 @@ class TraceElementComponent {
29533
29651
  assign(recipient) {
29534
29652
  this._dialog.open(ReassignDialog, { data: { exclude: [recipient.userId] } }).afterClosed().
29535
29653
  subscribe((m) => {
29536
- m && this._utilityRef.execute({ id: recipient.id, ...m }).subscribe(r => {
29537
- Object.assign(this.model, r);
29538
- }, () => this._sb.error());
29654
+ m && this._utilityRef.execute({ id: recipient.id, ...m }).subscribe({
29655
+ next: r => {
29656
+ Object.assign(this.model, r);
29657
+ }, error: () => this._sb.error()
29658
+ });
29539
29659
  });
29540
29660
  }
29541
29661
  async recipientInfo(recipient) {
29542
29662
  const info = [];
29543
- const who = await this._accounts.get(recipient.userId).toPromise();
29663
+ const who = await firstValueFrom(this._accounts.get(recipient.userId));
29544
29664
  if (recipient.escalated) {
29545
29665
  const escalation = this.timeline.log.find(l => l.type === 'Escalation' && l.recipientId === recipient.originId);
29546
- const to = await this._accounts.get(escalation.userId).toPromise();
29666
+ const to = await firstValueFrom(this._accounts.get(escalation.userId));
29547
29667
  info.push(this._translate.get('EscalatedBy', this._chat.format(to), this._chat.format(who)));
29548
29668
  }
29549
29669
  if (recipient.substituteId) {
29550
- const substitute = await this._accounts.get(recipient.substituteId).toPromise();
29670
+ const substitute = await firstValueFrom(this._accounts.get(recipient.substituteId));
29551
29671
  if (recipient.byId) {
29552
- const by = await this._accounts.get(recipient.byId).toPromise();
29672
+ const by = await firstValueFrom(this._accounts.get(recipient.byId));
29553
29673
  info.push(this._translate.get('SubstitutingBy', this._chat.format(who), this._chat.format(substitute), this._chat.format(by)));
29554
29674
  }
29555
29675
  else
29556
29676
  info.push(this._translate.get('Substituting', this._chat.format(who), this._chat.format(substitute)));
29557
29677
  }
29558
29678
  else if (recipient.byId) {
29559
- const by = await this._accounts.get(recipient.byId).toPromise();
29679
+ const by = await firstValueFrom(this._accounts.get(recipient.byId));
29560
29680
  info.push(this._translate.get('By', this._chat.format(who), this._chat.format(by)));
29561
29681
  }
29562
29682
  else
@@ -29581,7 +29701,7 @@ class TraceElementComponent {
29581
29701
  });
29582
29702
  }
29583
29703
  chat(e) {
29584
- const userId = e.srcElement.getAttribute('data-info');
29704
+ const userId = e.target.getAttribute('data-info');
29585
29705
  userId &&
29586
29706
  this._chat.open(userId);
29587
29707
  }
@@ -29651,36 +29771,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
29651
29771
  args: ['nameInput', { static: true, read: ElementRef }]
29652
29772
  }] } });
29653
29773
 
29654
- class SearchInput {
29655
- constructor() {
29656
- this.valueChange = new EventEmitter();
29657
- this._search = new FormControl(null);
29658
- }
29659
- ngOnInit() {
29660
- this._search.valueChanges.subscribe(v => this.valueChange.emit(v));
29661
- }
29662
- _leave() {
29663
- this._search.setValue(null);
29664
- document.activeElement.blur();
29665
- }
29666
- ngOnDestroy() {
29667
- this.valueChange.complete();
29668
- }
29669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInput, selector: "bizdoc-search-input", outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.escape": "_leave()" } }, ngImport: i0, template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
29671
- <mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, isInline: true, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9$1.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
29672
- }
29673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, decorators: [{
29674
- type: Component,
29675
- args: [{ selector: 'bizdoc-search-input', template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
29676
- <mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"] }]
29677
- }], ctorParameters: function () { return []; }, propDecorators: { valueChange: [{
29678
- type: Output
29679
- }], _leave: [{
29680
- type: HostListener,
29681
- args: ['keydown.escape']
29682
- }] } });
29683
-
29684
29774
  let ManageCubeIndexUtility = class ManageCubeIndexUtility {
29685
29775
  constructor(_dir, _ref, session, _vc, _sb, _overlay) {
29686
29776
  this._dir = _dir;
@@ -29736,7 +29826,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
29736
29826
  hasBackdrop: true,
29737
29827
  panelClass: 'home-panel'
29738
29828
  });
29739
- merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE))).pipe(takeUntil$1(this._destroy)).subscribe(() => oRef.detach());
29829
+ merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter(k => k.key === 'Escape'))).pipe(takeUntil$1(this._destroy)).subscribe(() => oRef.detach());
29740
29830
  }
29741
29831
  _find(axes) {
29742
29832
  const n = this.names.length;
@@ -29813,6 +29903,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
29813
29903
  args: ['editTmpl', { static: true }]
29814
29904
  }] } });
29815
29905
 
29906
+ class SearchInput {
29907
+ constructor() {
29908
+ this.valueChange = new EventEmitter();
29909
+ this._search = new FormControl(null);
29910
+ }
29911
+ ngOnInit() {
29912
+ this._search.valueChanges.subscribe(v => this.valueChange.emit(v));
29913
+ }
29914
+ _leave() {
29915
+ this._search.setValue(null);
29916
+ document.activeElement.blur();
29917
+ }
29918
+ ngOnDestroy() {
29919
+ this.valueChange.complete();
29920
+ }
29921
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29922
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInput, selector: "bizdoc-search-input", outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.escape": "_leave()" } }, ngImport: i0, template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
29923
+ <mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, isInline: true, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9$1.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
29924
+ }
29925
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, decorators: [{
29926
+ type: Component,
29927
+ args: [{ selector: 'bizdoc-search-input', template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
29928
+ <mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"] }]
29929
+ }], ctorParameters: function () { return []; }, propDecorators: { valueChange: [{
29930
+ type: Output
29931
+ }], _leave: [{
29932
+ type: HostListener,
29933
+ args: ['keydown.escape']
29934
+ }] } });
29935
+
29816
29936
  let PermissionsUtility = class PermissionsUtility {
29817
29937
  constructor(_utilityRef, _session, _sb, _fb) {
29818
29938
  this._utilityRef = _utilityRef;
@@ -29864,10 +29984,12 @@ let PermissionsUtility = class PermissionsUtility {
29864
29984
  this.dirty = true;
29865
29985
  }
29866
29986
  save() {
29867
- this._utilityRef.execute(this._data).subscribe(() => {
29868
- this.dirty = false;
29869
- this._sb.toast('ChangesSaved');
29870
- }, () => this._sb.error());
29987
+ this._utilityRef.execute(this._data).subscribe({
29988
+ next: () => {
29989
+ this.dirty = false;
29990
+ this._sb.toast('ChangesSaved');
29991
+ }, error: () => this._sb.error()
29992
+ });
29871
29993
  }
29872
29994
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: SessionService }, { token: PromptService }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
29873
29995
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n <button mat-menu-item *ngFor=\"let f of forms\" (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n <ng-container [matColumnDef]=\"r.name\" *ngFor=\"let r of roles\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
@@ -29959,12 +30081,14 @@ class SystemDiffComponent {
29959
30081
  this._working.pipe(takeUntil$1(this._destroy), debounceTime(100)).subscribe(v => v && (this.progress = v));
29960
30082
  this._working.next(50);
29961
30083
  // populate versions
29962
- this._utilityRef.populate().subscribe(e => {
29963
- this.versions = e;
29964
- this._working.next(100);
29965
- e.length > 1 &&
29966
- this.compare(0);
29967
- }, () => this._sb.error());
30084
+ this._utilityRef.populate().subscribe({
30085
+ next: e => {
30086
+ this.versions = e;
30087
+ this._working.next(100);
30088
+ e.length > 1 &&
30089
+ this.compare(0);
30090
+ }, error: () => this._sb.error()
30091
+ });
29968
30092
  }
29969
30093
  /**
29970
30094
  *
@@ -29976,24 +30100,26 @@ class SystemDiffComponent {
29976
30100
  return;
29977
30101
  const { time: date2 } = version;
29978
30102
  this._working.next(25);
29979
- this._utilityRef.execute({ date1, date2 }).subscribe(r => {
29980
- this.html = '';
29981
- this._working.next(50);
29982
- this.activeDate = date1;
29983
- const results = this._compare(r[0], r[1]);
29984
- if (results)
29985
- results.then(d => {
29986
- this._working.next(75);
29987
- this.html = this._generate(d);
29988
- this._scrollTop();
30103
+ this._utilityRef.execute({ date1, date2 }).subscribe({
30104
+ next: r => {
30105
+ this.html = '';
30106
+ this._working.next(50);
30107
+ this.activeDate = date1;
30108
+ const results = this._compare(r[0], r[1]);
30109
+ if (results)
30110
+ results.then(d => {
30111
+ this._working.next(75);
30112
+ this.html = this._generate(d);
30113
+ this._scrollTop();
30114
+ this._working.next(100);
30115
+ this.none = false;
30116
+ });
30117
+ else {
29989
30118
  this._working.next(100);
29990
- this.none = false;
29991
- });
29992
- else {
29993
- this._working.next(100);
29994
- this.none = true;
29995
- }
29996
- }, () => this._sb.error());
30119
+ this.none = true;
30120
+ }
30121
+ }, error: () => this._sb.error()
30122
+ });
29997
30123
  }
29998
30124
  _scrollTop() {
29999
30125
  setTimeout(() => this.contents.nativeElement.parentElement.scroll({ top: 0, behavior: 'smooth' }));
@@ -30052,7 +30178,7 @@ class SystemDiffComponent {
30052
30178
  else if (!b.find(b => b == e)) {
30053
30179
  const length = diff.push(e);
30054
30180
  if (scope.nodes.indexOf('positions') > -1) {
30055
- const promise = this._accounts.get(e).toPromise().then(v => diff[length - 1] = v.name);
30181
+ const promise = firstValueFrom(this._accounts.get(e)).then(v => diff[length - 1] = v.name);
30056
30182
  promises.push(promise);
30057
30183
  }
30058
30184
  diff[STATE + (length - 1).toString()] = ChangeState.Added;
@@ -30077,7 +30203,7 @@ class SystemDiffComponent {
30077
30203
  else if (!a.find(a => a == e)) {
30078
30204
  const length = diff.push(e);
30079
30205
  if (scope.nodes.indexOf('positions') > -1) {
30080
- const promise = this._accounts.get(e).toPromise().then(v => diff[length - 1] = v.name);
30206
+ const promise = firstValueFrom(this._accounts.get(e)).then(v => diff[length - 1] = v.name);
30081
30207
  promises.push(promise);
30082
30208
  }
30083
30209
  diff[STATE + (length - 1).toString()] = ChangeState.Removed;
@@ -30126,7 +30252,7 @@ class SystemDiffComponent {
30126
30252
  }
30127
30253
  if (scope.nodes.indexOf('positions') > -1) {
30128
30254
  diff[ORIGINAL_VALUE + k] = aVal;
30129
- const promise = this._ds.get(scope.type, k).toPromise().then(v => {
30255
+ const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => {
30130
30256
  const name = isString(v) ? v : v[Object.keys(v)[0]];
30131
30257
  diff[name] = obj;
30132
30258
  if (bVal === undefined)
@@ -30144,12 +30270,12 @@ class SystemDiffComponent {
30144
30270
  else {
30145
30271
  diff[k] = aVal;
30146
30272
  if (k === 'userId') {
30147
- const promise = this._accounts.get(aVal).toPromise().then(v => diff[k] = v.name);
30273
+ const promise = firstValueFrom(this._accounts.get(aVal)).then(v => diff[k] = v.name);
30148
30274
  promises.push(promise);
30149
30275
  }
30150
30276
  if (bVal !== undefined) {
30151
30277
  if (k === 'userId') {
30152
- const promise = this._accounts.get(bVal).toPromise().then(v => diff[ORIGINAL_VALUE + k] = v.name);
30278
+ const promise = firstValueFrom(this._accounts.get(bVal)).then(v => diff[ORIGINAL_VALUE + k] = v.name);
30153
30279
  promises.push(promise);
30154
30280
  }
30155
30281
  else
@@ -30168,14 +30294,14 @@ class SystemDiffComponent {
30168
30294
  if (scope.nodes.indexOf('positions') > -1) {
30169
30295
  const obj = [];
30170
30296
  diff[ORIGINAL_VALUE + k] = bVal;
30171
- const promise = this._ds.get(scope.type, k).toPromise().then(v => {
30297
+ const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => {
30172
30298
  const name = isString(v) ? v : v[Object.keys(v)[0]];
30173
30299
  diff[name] = obj;
30174
30300
  diff[STATE + name] = ChangeState.Removed;
30175
30301
  });
30176
30302
  promises.push(promise);
30177
30303
  bVal && bVal.forEach((e, i) => {
30178
- const promise = this._accounts.get(e).toPromise().then(v => obj[i] = v.name);
30304
+ const promise = firstValueFrom(this._accounts.get(e)).then(v => obj[i] = v.name);
30179
30305
  promises.push(promise);
30180
30306
  });
30181
30307
  }
@@ -30191,7 +30317,7 @@ class SystemDiffComponent {
30191
30317
  else {
30192
30318
  diff[k] = bVal;
30193
30319
  if (k === 'userId') {
30194
- const promise = this._accounts.get(bVal).toPromise().then(v => diff[k] = v.name);
30320
+ const promise = firstValueFrom(this._accounts.get(bVal)).then(v => diff[k] = v.name);
30195
30321
  promises.push(promise);
30196
30322
  }
30197
30323
  }
@@ -30262,7 +30388,7 @@ class SystemDiffComponent {
30262
30388
  else {
30263
30389
  const length = prestine.push(e);
30264
30390
  if (scope.nodes.indexOf('positions') > -1) {
30265
- const promise = this._accounts.get(e).toPromise().then(v => prestine[length - 1] = v.name);
30391
+ const promise = firstValueFrom(this._accounts.get(e)).then(v => prestine[length - 1] = v.name);
30266
30392
  promises.push(promise);
30267
30393
  }
30268
30394
  }
@@ -30282,7 +30408,7 @@ class SystemDiffComponent {
30282
30408
  return;
30283
30409
  promises.push(promise);
30284
30410
  if (scope.nodes.indexOf('positions') > -1) {
30285
- const promise = this._ds.get(scope.type, k).toPromise().then(v => prestine[isString(v) ? v : v[Object.keys(v)[0]]] = obj);
30411
+ const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => prestine[isString(v) ? v : v[Object.keys(v)[0]]] = obj);
30286
30412
  promises.push(promise);
30287
30413
  }
30288
30414
  else
@@ -30291,7 +30417,7 @@ class SystemDiffComponent {
30291
30417
  else {
30292
30418
  prestine[k] = aVal;
30293
30419
  if (k === 'userId') {
30294
- const promise = this._accounts.get(aVal).toPromise().then(v => prestine[k] = v.name);
30420
+ const promise = firstValueFrom(this._accounts.get(aVal)).then(v => prestine[k] = v.name);
30295
30421
  promises.push(promise);
30296
30422
  }
30297
30423
  }
@@ -30413,7 +30539,7 @@ class SystemDiffComponent {
30413
30539
  * @param evt
30414
30540
  */
30415
30541
  collapse(evt) {
30416
- let el = evt.srcElement;
30542
+ let el = evt.target;
30417
30543
  while (el && !el.classList.contains('scope'))
30418
30544
  el = el.parentElement;
30419
30545
  el && el.classList.toggle('collapse') && el.classList.remove('focus');
@@ -30431,7 +30557,7 @@ class SystemDiffComponent {
30431
30557
  */
30432
30558
  focusIn(evt) {
30433
30559
  this.focusOut();
30434
- let el = evt.srcElement;
30560
+ let el = evt.target;
30435
30561
  while (el && !el.classList.contains('scope'))
30436
30562
  el = el.parentElement;
30437
30563
  el && !el.classList.contains('collapse') && el.classList.add('focus');
@@ -30666,33 +30792,35 @@ class DocumentTraceComponent {
30666
30792
  _open(id) {
30667
30793
  this.diagram?.destroy();
30668
30794
  this.loading = 'buffer';
30669
- this._utilityRef.populate(id).subscribe(e => {
30670
- this._highLightedIds = [];
30671
- this.model = e;
30672
- this._timeline();
30673
- this.mode = 'diagram';
30674
- this.loading = null;
30675
- this._cd.detectChanges();
30676
- this.diagram = new Diagram({
30677
- width: '100%', height: '100%',
30678
- snapSettings: this.snapSettings,
30679
- layout: this.layout,
30680
- getConnectorDefaults: this.connDefaults,
30681
- selectedItems: this.selectedItems,
30682
- tool: this.diagramTool,
30683
- constraints: this.diagramConstraints,
30684
- getNodeDefaults: this.nodeDefaults,
30685
- scrollSettings: this.scrollSettings,
30686
- nodes: e.diagram.nodes,
30687
- connectors: e.diagram.connectors,
30688
- selectionChange: this.selectionChange.bind(this)
30689
- }, this.diagramElement.nativeElement);
30690
- this._version();
30691
- this._indicators();
30692
- this.diagram.fitToPage();
30693
- }, () => {
30694
- this.loading = null;
30695
- this._sb.error();
30795
+ this._utilityRef.populate(id).subscribe({
30796
+ next: e => {
30797
+ this._highLightedIds = [];
30798
+ this.model = e;
30799
+ this._timeline();
30800
+ this.mode = 'diagram';
30801
+ this.loading = null;
30802
+ this._cd.detectChanges();
30803
+ this.diagram = new Diagram({
30804
+ width: '100%', height: '100%',
30805
+ snapSettings: this.snapSettings,
30806
+ layout: this.layout,
30807
+ getConnectorDefaults: this.connDefaults,
30808
+ selectedItems: this.selectedItems,
30809
+ tool: this.diagramTool,
30810
+ constraints: this.diagramConstraints,
30811
+ getNodeDefaults: this.nodeDefaults,
30812
+ scrollSettings: this.scrollSettings,
30813
+ nodes: e.diagram.nodes,
30814
+ connectors: e.diagram.connectors,
30815
+ selectionChange: this.selectionChange.bind(this)
30816
+ }, this.diagramElement.nativeElement);
30817
+ this._version();
30818
+ this._indicators();
30819
+ this.diagram.fitToPage();
30820
+ }, error: () => {
30821
+ this.loading = null;
30822
+ this._sb.error();
30823
+ }
30696
30824
  });
30697
30825
  }
30698
30826
  open(item) {
@@ -31134,10 +31262,12 @@ let PatternsComponent = class PatternsComponent {
31134
31262
  });
31135
31263
  }
31136
31264
  save() {
31137
- this._ref.execute(this.dataSource.data).subscribe(() => {
31138
- this.dirty = false;
31139
- this._sb.toast('ChangesSaved');
31140
- }, () => this._sb.error());
31265
+ this._ref.execute(this.dataSource.data).subscribe({
31266
+ next: () => {
31267
+ this.dirty = false;
31268
+ this._sb.toast('ChangesSaved');
31269
+ }, error: () => this._sb.error()
31270
+ });
31141
31271
  }
31142
31272
  ngOnDestroy() {
31143
31273
  this._destroy.next();
@@ -31209,9 +31339,11 @@ class PositionsComponent {
31209
31339
  }));
31210
31340
  }
31211
31341
  _prepare() {
31212
- return forkJoin(this._service.datatypes().
31213
- pipe(tap$1(t => this.datatypes =
31214
- t.filter(t => t.assignable))), this._datasources.map('users').pipe(tap$1(u => this.profiles = u)));
31342
+ return forkJoin([this._service.datatypes().
31343
+ pipe(tap$1(t => this.datatypes =
31344
+ t.filter(t => t.assignable))),
31345
+ this._datasources.map('users').pipe(tap$1(u => this.profiles = u))
31346
+ ]);
31215
31347
  }
31216
31348
  search(value) {
31217
31349
  this.dataSource.filter = value;
@@ -31220,48 +31352,50 @@ class PositionsComponent {
31220
31352
  const type = this.type = this.datatypes.find(t => t.name === name);
31221
31353
  const roles = this.roles = this._session.profile.roles.filter(r => r.dataType === name);
31222
31354
  this.loading = 'query';
31223
- this._datasources.all(type.name).subscribe(t => {
31224
- this.source = t;
31225
- const model = this._everything[type.name];
31226
- let positions = model.positions;
31227
- if (!positions)
31228
- positions = model.positions = {};
31229
- if (!model.groups)
31230
- model.groups = [];
31231
- if (!model.patterns)
31232
- model.patterns = [];
31233
- roles.forEach(r => {
31234
- if (!positions[r.name])
31235
- positions[r.name] = {};
31236
- });
31237
- this.positions = positions;
31238
- const rows = [];
31239
- model.patterns && model.patterns.forEach(p => {
31240
- const row = { type: 'pattern', key: p.name };
31241
- row[type.columns ? type.columns[0].name : 'value'] = p.title;
31242
- rows.push(row);
31243
- });
31244
- model.groups && model.groups.forEach(g => {
31245
- const row = { type: 'group', key: g.name };
31246
- row[type.columns ? type.columns[0].name : 'value'] = g.title;
31247
- rows.push(row);
31248
- });
31249
- t.forEach(t => {
31250
- const row = { type: 'key', ...t };
31251
- type.columns && type.columns.forEach(c => {
31252
- row[c.name] = t.value[c.name];
31355
+ this._datasources.all(type.name).subscribe({
31356
+ next: t => {
31357
+ this.source = t;
31358
+ const model = this._everything[type.name];
31359
+ let positions = model.positions;
31360
+ if (!positions)
31361
+ positions = model.positions = {};
31362
+ if (!model.groups)
31363
+ model.groups = [];
31364
+ if (!model.patterns)
31365
+ model.patterns = [];
31366
+ roles.forEach(r => {
31367
+ if (!positions[r.name])
31368
+ positions[r.name] = {};
31253
31369
  });
31254
- rows.push(row);
31255
- });
31256
- this.dataSource = new MatTableDataSource(rows);
31257
- this.dataSource.sort = this.sort;
31258
- this._columns();
31259
- !roles.length &&
31260
- this._dialog.open(this.noRoleTpl).afterClosed().subscribe(ok => ok && this.newRole());
31261
- this.loading = null;
31262
- }, () => {
31263
- this.loading = null;
31264
- this._ps.error();
31370
+ this.positions = positions;
31371
+ const rows = [];
31372
+ model.patterns && model.patterns.forEach(p => {
31373
+ const row = { type: 'pattern', key: p.name };
31374
+ row[type.columns ? type.columns[0].name : 'value'] = p.title;
31375
+ rows.push(row);
31376
+ });
31377
+ model.groups && model.groups.forEach(g => {
31378
+ const row = { type: 'group', key: g.name };
31379
+ row[type.columns ? type.columns[0].name : 'value'] = g.title;
31380
+ rows.push(row);
31381
+ });
31382
+ t.forEach(t => {
31383
+ const row = { type: 'key', ...t };
31384
+ type.columns && type.columns.forEach(c => {
31385
+ row[c.name] = t.value[c.name];
31386
+ });
31387
+ rows.push(row);
31388
+ });
31389
+ this.dataSource = new MatTableDataSource(rows);
31390
+ this.dataSource.sort = this.sort;
31391
+ this._columns();
31392
+ !roles.length &&
31393
+ this._dialog.open(this.noRoleTpl).afterClosed().subscribe(ok => ok && this.newRole());
31394
+ this.loading = null;
31395
+ }, error: () => {
31396
+ this.loading = null;
31397
+ this._ps.error();
31398
+ }
31265
31399
  });
31266
31400
  }
31267
31401
  _columns() {
@@ -31275,7 +31409,7 @@ class PositionsComponent {
31275
31409
  edit(key, evt) {
31276
31410
  if (evt.target.tagName === 'MAT-ICON')
31277
31411
  return;
31278
- let cell = evt.srcElement;
31412
+ let cell = evt.target;
31279
31413
  while (cell.tagName !== 'TD')
31280
31414
  cell = cell.parentElement;
31281
31415
  const role = cell.getAttribute('data-role');
@@ -31285,14 +31419,14 @@ class PositionsComponent {
31285
31419
  let positions = this.positions[role][key];
31286
31420
  if (!positions)
31287
31421
  positions = this.positions[role][key] = [];
31288
- this._popup.open(PositionsPopup, evt.srcElement, {
31422
+ this._popup.open(PositionsPopup, evt.target, {
31289
31423
  data: { title: crole.title, positions }
31290
31424
  }).opened().subscribe(e => e.valueChange.pipe(takeUntil$1(this._destroy)).subscribe(() => this.dirty = true));
31291
31425
  }
31292
31426
  _openDialog(tmpl, form, values) {
31293
31427
  form.reset(values);
31294
31428
  const dialogRef = this._dialog.open(tmpl);
31295
- dialogRef.keydownEvents().pipe(filter(k => k.keyCode === ENTER), takeUntil$1(dialogRef.afterClosed())).
31429
+ dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter'), takeUntil$1(dialogRef.afterClosed())).
31296
31430
  subscribe(() => form.valid && dialogRef.close(form.value));
31297
31431
  return dialogRef.afterClosed().pipe(switchMap(v => v ? of(v) : EMPTY));
31298
31432
  }
@@ -31378,7 +31512,7 @@ class PositionsComponent {
31378
31512
  * @param event
31379
31513
  */
31380
31514
  handleKeyboardEvent(event) {
31381
- if (this.dirty && event.ctrlKey && (event.which === 83 || event.which === 115)) {
31515
+ if (this.dirty && event.ctrlKey && (event.key === 's' || event.key === 'S')) {
31382
31516
  this.save();
31383
31517
  event.preventDefault();
31384
31518
  }
@@ -31386,7 +31520,7 @@ class PositionsComponent {
31386
31520
  save() {
31387
31521
  this.saving = true;
31388
31522
  this.loading = 'indeterminate';
31389
- return this._utilityRef.execute(this._everything).toPromise().then(() => {
31523
+ return firstValueFrom(this._utilityRef.execute(this._everything)).then(() => {
31390
31524
  this._ps.toast('ChangesSaved');
31391
31525
  this.dirty = false;
31392
31526
  this.loading = null;
@@ -31472,7 +31606,7 @@ class PositionsComponent {
31472
31606
  addcolumns(g.name, row);
31473
31607
  rows.push(row);
31474
31608
  });
31475
- let datasource = await this._datasources.all(type.name).toPromise();
31609
+ let datasource = await firstValueFrom(this._datasources.all(type.name));
31476
31610
  datasource.forEach(d => {
31477
31611
  const row = {
31478
31612
  index: rows.length + 1,
@@ -31515,7 +31649,7 @@ class PositionsComponent {
31515
31649
  book.save(`${this._translate.get('Positions')}.xlsx`);
31516
31650
  }
31517
31651
  // async upload(evt: InputEvent) {
31518
- // const { files } = evt.srcElement as HTMLInputElement;
31652
+ // const { files } = evt.target as HTMLInputElement;
31519
31653
  // if (files && files.length) {
31520
31654
  // const file = files.item(0);
31521
31655
  // var reader = new FileReader();
@@ -32210,7 +32344,7 @@ class IconPickerComponent {
32210
32344
  });
32211
32345
  const portal = new TemplatePortal(this.panel, this._vc);
32212
32346
  this._overlayRef.attach(portal);
32213
- merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter$1(k => k.keyCode === ESCAPE))).subscribe(() => this._overlayRef.detach());
32347
+ merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).subscribe(() => this._overlayRef.detach());
32214
32348
  }
32215
32349
  _trackBy(index, el) {
32216
32350
  return el.name;
@@ -32657,7 +32791,7 @@ class ActionDesignerComponent extends DesignerTypeElementComponent {
32657
32791
  super.ngOnInit();
32658
32792
  }
32659
32793
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ActionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32660
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ActionDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32794
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ActionDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32661
32795
  }
32662
32796
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ActionDesignerComponent, decorators: [{
32663
32797
  type: Component,
@@ -33396,7 +33530,7 @@ class StateDesignComponent extends DesignerTypeElementComponent {
33396
33530
  super.ngOnInit();
33397
33531
  }
33398
33532
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: StateDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33399
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
33533
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
33400
33534
  }
33401
33535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: StateDesignComponent, decorators: [{
33402
33536
  type: Component,
@@ -33768,12 +33902,10 @@ class ControlPropertiesComponent {
33768
33902
  * @param event
33769
33903
  */
33770
33904
  handleKeyboardEvent(event) {
33771
- if (event.ctrlKey) {
33772
- if (event.which === 83 || event.which === 115) {
33773
- this.form.dirty && this.save();
33774
- event.preventDefault();
33775
- event.stopPropagation();
33776
- }
33905
+ if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
33906
+ this.form.dirty && this.save();
33907
+ event.preventDefault();
33908
+ event.stopPropagation();
33777
33909
  }
33778
33910
  }
33779
33911
  ngOnInit() {
@@ -33829,12 +33961,10 @@ class SectionPropertiesComponent {
33829
33961
  * @param event
33830
33962
  */
33831
33963
  handleKeyboardEvent(event) {
33832
- if (event.ctrlKey) {
33833
- if (event.which === 83 || event.which === 115) {
33834
- this.form.dirty && this.save();
33835
- event.preventDefault();
33836
- event.stopPropagation();
33837
- }
33964
+ if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
33965
+ this.form.dirty && this.save();
33966
+ event.preventDefault();
33967
+ event.stopPropagation();
33838
33968
  }
33839
33969
  }
33840
33970
  ngOnInit() {
@@ -33867,12 +33997,10 @@ class BoxSettingsComponent {
33867
33997
  * @param event
33868
33998
  */
33869
33999
  handleKeyboardEvent(event) {
33870
- if (event.ctrlKey) {
33871
- if (event.which === 83 || event.which === 115) {
33872
- this.form.dirty && this.save();
33873
- event.preventDefault();
33874
- event.stopPropagation();
33875
- }
34000
+ if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
34001
+ this.form.dirty && this.save();
34002
+ event.preventDefault();
34003
+ event.stopPropagation();
33876
34004
  }
33877
34005
  }
33878
34006
  save() { this._paneRef.close(this.form.value); }
@@ -34791,10 +34919,12 @@ class DesignerModule {
34791
34919
  };
34792
34920
  }
34793
34921
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34794
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, declarations: [LocalizedStringComponent, LocalizedStringControlDesigner,
34922
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, declarations: [SearchInput, ColorPicker,
34923
+ LocalizedStringComponent, LocalizedStringControlDesigner,
34795
34924
  ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, ControlOptionsComponent, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner], imports: [CommonModule,
34796
34925
  ReactiveFormsModule,
34797
- SharedModule], exports: [LocalizedStringComponent, LocalizedStringControlDesigner,
34926
+ SharedModule], exports: [SearchInput, ColorPicker,
34927
+ LocalizedStringComponent, LocalizedStringControlDesigner,
34798
34928
  ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner] }); }
34799
34929
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, imports: [CommonModule,
34800
34930
  ReactiveFormsModule,
@@ -34804,6 +34934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
34804
34934
  type: NgModule,
34805
34935
  args: [{
34806
34936
  declarations: [
34937
+ SearchInput, ColorPicker,
34807
34938
  LocalizedStringComponent, LocalizedStringControlDesigner,
34808
34939
  ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, ControlOptionsComponent, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner,
34809
34940
  ],
@@ -34813,6 +34944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
34813
34944
  SharedModule
34814
34945
  ],
34815
34946
  exports: [
34947
+ SearchInput, ColorPicker,
34816
34948
  LocalizedStringComponent, LocalizedStringControlDesigner,
34817
34949
  ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner,
34818
34950
  ]
@@ -35205,7 +35337,6 @@ class SystemModule {
35205
35337
  FormDesignerComponent, SectionPropertiesComponent, BoxSettingsComponent, DesignControlComponent, ControlPropertiesComponent,
35206
35338
  PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
35207
35339
  UtilityWrapperComponent, UtilityPaneComponent,
35208
- SearchInput, ColorPicker,
35209
35340
  ReassignDialog,
35210
35341
  SystemDiffComponent, DocumentTraceComponent, TraceElementComponent, ProfilerComponent,
35211
35342
  PositionsComponent, PositionsPopup,
@@ -35251,7 +35382,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
35251
35382
  FormDesignerComponent, SectionPropertiesComponent, BoxSettingsComponent, DesignControlComponent, ControlPropertiesComponent,
35252
35383
  PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
35253
35384
  UtilityWrapperComponent, UtilityPaneComponent,
35254
- SearchInput, ColorPicker,
35255
35385
  ReassignDialog,
35256
35386
  SystemDiffComponent, DocumentTraceComponent, TraceElementComponent, ProfilerComponent,
35257
35387
  PositionsComponent, PositionsPopup,
@@ -35280,7 +35410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
35280
35410
  PositionsComponent,
35281
35411
  WorkflowComponent,
35282
35412
  RoleNodeComponent,
35283
- PatternsComponent,
35413
+ PatternsComponent
35284
35414
  ],
35285
35415
  }]
35286
35416
  }] });
@@ -35359,7 +35489,7 @@ class DesktopModule {
35359
35489
  CubeMatrixPaneComponent,
35360
35490
  SchedulerPaneComponent,
35361
35491
  ContactsPaneComponent, ConversationPaneComponent] }); }
35362
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesktopModule, providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, ItemResolver,
35492
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesktopModule, providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, CubeItemResolver,
35363
35493
  PanesRouter, AdminDismiss], imports: [CommonModule,
35364
35494
  HttpClientModule,
35365
35495
  ReactiveFormsModule,
@@ -35389,7 +35519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
35389
35519
  SchedulerPaneComponent,
35390
35520
  ContactsPaneComponent, ConversationPaneComponent,
35391
35521
  CubeListingComponent, DocumentListingComponent, PathListingComponent, GuideListingComponent],
35392
- providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, ItemResolver,
35522
+ providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, CubeItemResolver,
35393
35523
  PanesRouter, AdminDismiss],
35394
35524
  imports: [
35395
35525
  CommonModule,
@@ -35496,5 +35626,5 @@ function withRoute(routes) {
35496
35626
  * Generated bundle index. Do not edit.
35497
35627
  */
35498
35628
 
35499
- export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, ItemResolveService, JoinPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
35629
+ export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
35500
35630
  //# sourceMappingURL=bizdoc-core.mjs.map