@bizdoc/core 3.2.9 → 3.3.2

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 (455) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +3 -3
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +8 -8
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/fesm2022/bizdoc-core.mjs +2152 -1924
  10. package/fesm2022/bizdoc-core.mjs.map +1 -1
  11. package/lib/admin/admin-menu.component.d.ts +1 -3
  12. package/lib/admin/architecture/designer.base.d.ts +3 -3
  13. package/lib/admin/architecture/elements/form.component.d.ts +1 -1
  14. package/lib/bizdoc.module.d.ts +6 -7
  15. package/lib/compose/trace/trace.base.d.ts +1 -1
  16. package/lib/core/base.d.ts +5 -0
  17. package/lib/core/configuration.d.ts +3 -0
  18. package/lib/core/fields/options.base.d.ts +2 -2
  19. package/lib/core/functions.d.ts +1 -1
  20. package/lib/core/inputs/combination-picker-body.d.ts +0 -2
  21. package/lib/core/inputs/combination-picker.d.ts +1 -1
  22. package/lib/core/session.service.d.ts +2 -2
  23. package/lib/core/slots/slots.component.d.ts +1 -0
  24. package/lib/core/tagging/edit-input.component.d.ts +7 -3
  25. package/lib/core/tagging/tagging.component-base.d.ts +2 -2
  26. package/lib/core/translate.service.d.ts +2 -2
  27. package/lib/core/window-title.service.d.ts +1 -0
  28. package/lib/cube/matrix/matrix.base.d.ts +1 -1
  29. package/lib/cube/view-base.d.ts +1 -1
  30. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  31. package/lib/home/home-base.component.d.ts +1 -1
  32. package/lib/home/home.desktop.component.d.ts +5 -3
  33. package/lib/notifications/types/notification-base.d.ts +1 -1
  34. package/lib/reports/cube/usage-base.d.ts +1 -1
  35. package/lib/routes.mobile.d.ts +1 -1
  36. package/lib/views/cube/cube-base.d.ts +1 -1
  37. package/package.json +31 -33
  38. package/esm2022/bizdoc-core.mjs +0 -5
  39. package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
  40. package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
  41. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
  42. package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
  43. package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
  44. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
  45. package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
  46. package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
  47. package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
  48. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
  49. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
  50. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
  51. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
  52. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
  53. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
  54. package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
  55. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
  56. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
  57. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
  58. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
  59. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
  60. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
  61. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
  62. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
  63. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
  64. package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
  65. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
  66. package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
  67. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
  68. package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
  69. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
  70. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
  71. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
  72. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
  73. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
  74. package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
  75. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
  76. package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
  77. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
  78. package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
  79. package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
  80. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
  81. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
  82. package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
  83. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
  84. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
  85. package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
  86. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
  87. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
  88. package/esm2022/lib/admin/core/ace.input.mjs +0 -144
  89. package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
  90. package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
  91. package/esm2022/lib/admin/core/search.input.mjs +0 -52
  92. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
  93. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
  94. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
  95. package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
  96. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
  97. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
  98. package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
  99. package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
  100. package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
  101. package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
  102. package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
  103. package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
  104. package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
  105. package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
  106. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
  107. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
  108. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
  109. package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
  110. package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
  111. package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
  112. package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
  113. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
  114. package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
  115. package/esm2022/lib/admin/system.service.mjs +0 -127
  116. package/esm2022/lib/admin/utility-ref.mjs +0 -39
  117. package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
  118. package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
  119. package/esm2022/lib/app.component.mjs +0 -73
  120. package/esm2022/lib/bizdoc.module.mjs +0 -100
  121. package/esm2022/lib/browse/browse-items.component.mjs +0 -496
  122. package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
  123. package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
  124. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
  125. package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
  126. package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
  127. package/esm2022/lib/chat/chat-info.mjs +0 -77
  128. package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
  129. package/esm2022/lib/chat/chat.service.mjs +0 -122
  130. package/esm2022/lib/chat/contacts.component.mjs +0 -107
  131. package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
  132. package/esm2022/lib/chat/conversation.component.mjs +0 -196
  133. package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
  134. package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
  135. package/esm2022/lib/compose/action/action-ref.mjs +0 -19
  136. package/esm2022/lib/compose/action/action.base.mjs +0 -50
  137. package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
  138. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
  139. package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
  140. package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
  141. package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
  142. package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
  143. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
  144. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
  145. package/esm2022/lib/compose/box/box.component.mjs +0 -44
  146. package/esm2022/lib/compose/box/control.component.mjs +0 -50
  147. package/esm2022/lib/compose/box/row.component.mjs +0 -41
  148. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
  149. package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
  150. package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
  151. package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
  152. package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
  153. package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
  154. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
  155. package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
  156. package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
  157. package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
  158. package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
  159. package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
  160. package/esm2022/lib/compose/dismiss.service.mjs +0 -25
  161. package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
  162. package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
  163. package/esm2022/lib/compose/document.component.mjs +0 -48
  164. package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
  165. package/esm2022/lib/compose/document.pane.component.mjs +0 -27
  166. package/esm2022/lib/compose/events/events.component.mjs +0 -29
  167. package/esm2022/lib/compose/form-ref.mjs +0 -43
  168. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
  169. package/esm2022/lib/compose/form.component.mjs +0 -512
  170. package/esm2022/lib/compose/new-menu.component.mjs +0 -94
  171. package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
  172. package/esm2022/lib/compose/privilage.directive.mjs +0 -64
  173. package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
  174. package/esm2022/lib/compose/state.component.mjs +0 -37
  175. package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
  176. package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
  177. package/esm2022/lib/compose/trace/people.component.mjs +0 -39
  178. package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
  179. package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
  180. package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
  181. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
  182. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -345
  183. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
  184. package/esm2022/lib/core/account.service.mjs +0 -38
  185. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
  186. package/esm2022/lib/core/animations.mjs +0 -168
  187. package/esm2022/lib/core/authentication.mjs +0 -4
  188. package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
  189. package/esm2022/lib/core/base.mjs +0 -2
  190. package/esm2022/lib/core/checkbox.mjs +0 -38
  191. package/esm2022/lib/core/colors.mjs +0 -322
  192. package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
  193. package/esm2022/lib/core/configuration.mjs +0 -17
  194. package/esm2022/lib/core/datasource.service.mjs +0 -75
  195. package/esm2022/lib/core/decorators.mjs +0 -46
  196. package/esm2022/lib/core/document-factory.service.mjs +0 -156
  197. package/esm2022/lib/core/fields/address.designer.mjs +0 -39
  198. package/esm2022/lib/core/fields/address.field.mjs +0 -65
  199. package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
  200. package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
  201. package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
  202. package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
  203. package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
  204. package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
  205. package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
  206. package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
  207. package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
  208. package/esm2022/lib/core/fields/date.designer.mjs +0 -40
  209. package/esm2022/lib/core/fields/date.field.mjs +0 -40
  210. package/esm2022/lib/core/fields/expression.field.mjs +0 -87
  211. package/esm2022/lib/core/fields/file.designer.mjs +0 -39
  212. package/esm2022/lib/core/fields/file.field.mjs +0 -35
  213. package/esm2022/lib/core/fields/html.designer.mjs +0 -61
  214. package/esm2022/lib/core/fields/html.field.mjs +0 -44
  215. package/esm2022/lib/core/fields/input.designer.mjs +0 -38
  216. package/esm2022/lib/core/fields/input.field.mjs +0 -54
  217. package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
  218. package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
  219. package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
  220. package/esm2022/lib/core/fields/options.base.mjs +0 -41
  221. package/esm2022/lib/core/fields/options.component.mjs +0 -58
  222. package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
  223. package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
  224. package/esm2022/lib/core/fields/select.designer.mjs +0 -104
  225. package/esm2022/lib/core/fields/select.field.mjs +0 -36
  226. package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
  227. package/esm2022/lib/core/fields/signature.field.mjs +0 -52
  228. package/esm2022/lib/core/fields/switch.field.mjs +0 -35
  229. package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
  230. package/esm2022/lib/core/fields/tags.field.mjs +0 -51
  231. package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
  232. package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
  233. package/esm2022/lib/core/fields/time.designer.mjs +0 -41
  234. package/esm2022/lib/core/fields/time.field.mjs +0 -39
  235. package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
  236. package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
  237. package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
  238. package/esm2022/lib/core/firebase.service.mjs +0 -51
  239. package/esm2022/lib/core/functions.mjs +0 -225
  240. package/esm2022/lib/core/guide/guide.component.mjs +0 -220
  241. package/esm2022/lib/core/guide/guide.service.mjs +0 -124
  242. package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
  243. package/esm2022/lib/core/http.interceptor.mjs +0 -63
  244. package/esm2022/lib/core/hub.service.mjs +0 -117
  245. package/esm2022/lib/core/identity/identity.component.mjs +0 -66
  246. package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
  247. package/esm2022/lib/core/info/document-info.service.mjs +0 -21
  248. package/esm2022/lib/core/info/location-info.component.mjs +0 -60
  249. package/esm2022/lib/core/info/map-info.mjs +0 -42
  250. package/esm2022/lib/core/inputs/address.input.mjs +0 -203
  251. package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
  252. package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
  253. package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
  254. package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
  255. package/esm2022/lib/core/inputs/file.input.mjs +0 -432
  256. package/esm2022/lib/core/inputs/select.input.mjs +0 -254
  257. package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
  258. package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
  259. package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
  260. package/esm2022/lib/core/layout.component.mjs +0 -93
  261. package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
  262. package/esm2022/lib/core/mailbox.service.mjs +0 -445
  263. package/esm2022/lib/core/models.mjs +0 -25
  264. package/esm2022/lib/core/none.component.mjs +0 -37
  265. package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
  266. package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
  267. package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
  268. package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
  269. package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
  270. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
  271. package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
  272. package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
  273. package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
  274. package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
  275. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
  276. package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
  277. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
  278. package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
  279. package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
  280. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
  281. package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
  282. package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
  283. package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
  284. package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
  285. package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
  286. package/esm2022/lib/core/popup/popup.component.mjs +0 -36
  287. package/esm2022/lib/core/popup/popup.service.mjs +0 -158
  288. package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
  289. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
  290. package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
  291. package/esm2022/lib/core/prompt.service.mjs +0 -88
  292. package/esm2022/lib/core/router.mjs +0 -37
  293. package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
  294. package/esm2022/lib/core/session.service.mjs +0 -291
  295. package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
  296. package/esm2022/lib/core/slots/router.directive.mjs +0 -68
  297. package/esm2022/lib/core/slots/router.service.mjs +0 -40
  298. package/esm2022/lib/core/slots/slots.component.mjs +0 -1191
  299. package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
  300. package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
  301. package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -231
  302. package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
  303. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
  304. package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
  305. package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -137
  306. package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
  307. package/esm2022/lib/core/tagging/users.component.mjs +0 -32
  308. package/esm2022/lib/core/translate.service.mjs +0 -125
  309. package/esm2022/lib/core/translations.mjs +0 -1068
  310. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
  311. package/esm2022/lib/core/window-title.service.mjs +0 -61
  312. package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
  313. package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
  314. package/esm2022/lib/cube/cube-info.service.mjs +0 -103
  315. package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
  316. package/esm2022/lib/cube/cube-view.component.mjs +0 -186
  317. package/esm2022/lib/cube/cube.service.mjs +0 -446
  318. package/esm2022/lib/cube/declarations.mjs +0 -2
  319. package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
  320. package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
  321. package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
  322. package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
  323. package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
  324. package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
  325. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
  326. package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
  327. package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
  328. package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
  329. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
  330. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
  331. package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
  332. package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
  333. package/esm2022/lib/cube/parallel/item.mjs +0 -40
  334. package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
  335. package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
  336. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
  337. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
  338. package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
  339. package/esm2022/lib/cube/view-base.mjs +0 -74
  340. package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
  341. package/esm2022/lib/cube/view.pane.component.mjs +0 -99
  342. package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
  343. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
  344. package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
  345. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
  346. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
  347. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
  348. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
  349. package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
  350. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
  351. package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
  352. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
  353. package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
  354. package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
  355. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
  356. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
  357. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
  358. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
  359. package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
  360. package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
  361. package/esm2022/lib/designer.module.mjs +0 -106
  362. package/esm2022/lib/desktop.module.mjs +0 -140
  363. package/esm2022/lib/home/about/about.dialog.mjs +0 -25
  364. package/esm2022/lib/home/home-base.component.mjs +0 -92
  365. package/esm2022/lib/home/home.desktop.component.mjs +0 -286
  366. package/esm2022/lib/home/home.mobile.component.mjs +0 -131
  367. package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
  368. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
  369. package/esm2022/lib/home/sign/sign.component.mjs +0 -56
  370. package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
  371. package/esm2022/lib/mobile.module.mjs +0 -61
  372. package/esm2022/lib/modules/chart.module.mjs +0 -44
  373. package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
  374. package/esm2022/lib/modules/date.adapter.mjs +0 -23
  375. package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
  376. package/esm2022/lib/modules/dayjs.module.mjs +0 -43
  377. package/esm2022/lib/modules/diagram.module.mjs +0 -39
  378. package/esm2022/lib/modules/gantt.module.mjs +0 -22
  379. package/esm2022/lib/modules/grid.module.mjs +0 -26
  380. package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
  381. package/esm2022/lib/modules/material.module.mjs +0 -182
  382. package/esm2022/lib/modules/paginator.intl.mjs +0 -21
  383. package/esm2022/lib/modules/pivot.module.mjs +0 -24
  384. package/esm2022/lib/modules/schedule.module.mjs +0 -24
  385. package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
  386. package/esm2022/lib/modules/stepper.intl.mjs +0 -17
  387. package/esm2022/lib/modules/texteditor.module.mjs +0 -26
  388. package/esm2022/lib/notifications/filter.component.mjs +0 -24
  389. package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
  390. package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
  391. package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
  392. package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
  393. package/esm2022/lib/notifications/notifications.service.mjs +0 -78
  394. package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
  395. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
  396. package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
  397. package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
  398. package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
  399. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
  400. package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
  401. package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
  402. package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
  403. package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
  404. package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
  405. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
  406. package/esm2022/lib/options/options.component.mjs +0 -308
  407. package/esm2022/lib/options/options.desktop.component.mjs +0 -26
  408. package/esm2022/lib/options/options.mobile.component.mjs +0 -23
  409. package/esm2022/lib/reports/arguments-component.mjs +0 -81
  410. package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
  411. package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
  412. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
  413. package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
  414. package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
  415. package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
  416. package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
  417. package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
  418. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
  419. package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
  420. package/esm2022/lib/reports/report-ref.mjs +0 -38
  421. package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
  422. package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
  423. package/esm2022/lib/reports/report.pane.component.mjs +0 -109
  424. package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
  425. package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
  426. package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
  427. package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
  428. package/esm2022/lib/routes.desktop.mjs +0 -209
  429. package/esm2022/lib/routes.mobile.mjs +0 -85
  430. package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
  431. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
  432. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
  433. package/esm2022/lib/search/cube.component.mjs +0 -47
  434. package/esm2022/lib/search/declarations.mjs +0 -7
  435. package/esm2022/lib/search/document.component.mjs +0 -41
  436. package/esm2022/lib/search/guide.component.mjs +0 -28
  437. package/esm2022/lib/search/path.component.mjs +0 -44
  438. package/esm2022/lib/search/search.service.mjs +0 -155
  439. package/esm2022/lib/shared.module.mjs +0 -622
  440. package/esm2022/lib/system.module.mjs +0 -562
  441. package/esm2022/lib/views/cube/chart.component.mjs +0 -74
  442. package/esm2022/lib/views/cube/cube-base.mjs +0 -101
  443. package/esm2022/lib/views/cube/explore.component.mjs +0 -85
  444. package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
  445. package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
  446. package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
  447. package/esm2022/lib/views/cube/sum.component.mjs +0 -66
  448. package/esm2022/lib/views/cube/view.component.mjs +0 -101
  449. package/esm2022/lib/views/document-view-ref.mjs +0 -27
  450. package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
  451. package/esm2022/lib/views/view-item.component.mjs +0 -68
  452. package/esm2022/lib/views/views.component.mjs +0 -32
  453. package/esm2022/lib/views/views.mobile.component.mjs +0 -21
  454. package/esm2022/lib/views/views.pane.component.mjs +0 -29
  455. package/esm2022/public-api.mjs +0 -182
@@ -1,127 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { MatSidenav } from '@angular/material/sidenav';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { ReportViewerComponent } from './report-viewer.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../core/window-title.service";
8
- import * as i2 from "@angular/router";
9
- import * as i3 from "../core/session.service";
10
- import * as i4 from "../core/prompt.service";
11
- import * as i5 from "../core/guide/guide.service";
12
- import * as i6 from "@angular/material/sidenav";
13
- import * as i7 from "@angular/material/toolbar";
14
- import * as i8 from "@angular/material/button";
15
- import * as i9 from "@angular/material/icon";
16
- import * as i10 from "./report-viewer.component";
17
- import * as i11 from "../core/animated-icon/animated-icon.directive";
18
- import * as i12 from "../core/popup/tooltip.directive";
19
- import * as i13 from "./arguments-component";
20
- import * as i14 from "../core/pipes/translate.pipe";
21
- /** reportviewer component*/
22
- export class ReportMobileComponent {
23
- constructor(_title, _route, _session, _cd, _sb, _guide) {
24
- this._title = _title;
25
- this._route = _route;
26
- this._session = _session;
27
- this._cd = _cd;
28
- this._sb = _sb;
29
- this._guide = _guide;
30
- this.args = {};
31
- this.mode = 'filter';
32
- this._destroy = new Subject();
33
- }
34
- ngOnInit() {
35
- this._route.params.pipe(takeUntil(this._destroy)).subscribe(p => {
36
- const id = p['id'];
37
- this.report = this._session.profile.reports.find(r => r.name === id);
38
- this.hasFilters = (this.report.arguments && this.report.arguments.length > 0) || this.report.argumentsTemplate !== undefined;
39
- this._cd.detectChanges();
40
- this._title.set(this.report.title);
41
- this.args = this._fromQueryArgs(this._route.snapshot.queryParams);
42
- this.anyFilters = Object.keys(this.args).length > 0;
43
- this._navigating = true;
44
- this.viewer.execute();
45
- });
46
- this._route.queryParams.pipe(takeUntil(this._destroy)).subscribe(p => {
47
- if (!this._navigating) {
48
- this.args = this._fromQueryArgs(p);
49
- this.viewer.execute();
50
- }
51
- else
52
- this._navigating = false;
53
- });
54
- }
55
- guide() {
56
- this._guide.start(this.report.guide);
57
- }
58
- clearFilter() {
59
- this.args = {};
60
- this.anyFilters = false;
61
- this._cd.detectChanges();
62
- this.viewer.execute();
63
- }
64
- /**
65
- *
66
- * @param qargs
67
- */
68
- _fromQueryArgs(qargs) {
69
- const args = {};
70
- Object.keys(qargs).forEach(k => {
71
- const val = qargs[k];
72
- if (val) {
73
- const argument = this.report.arguments.find(a => a.name === k);
74
- if (argument)
75
- switch (argument.controlType) {
76
- case 'date':
77
- args[k] = new Date(val);
78
- break;
79
- case 'checkbox':
80
- case 'switch':
81
- args[k] = val === 'true';
82
- break;
83
- default:
84
- args[k] = val;
85
- }
86
- else
87
- args[k] = val;
88
- }
89
- });
90
- return args;
91
- }
92
- filterToggle() {
93
- this.mode = 'filter';
94
- this.filter.toggle().then(() => this.viewer.resize());
95
- }
96
- /**
97
- *
98
- * @param item
99
- */
100
- click(item) {
101
- this.viewer.explore(item).then(r => {
102
- this.item = r;
103
- this.mode = 'explore';
104
- }, () => this._sb.error());
105
- }
106
- argsChange(args) {
107
- this.args = args;
108
- this.viewer.execute();
109
- }
110
- ngOnDestroy() {
111
- this._destroy.next();
112
- this._destroy.complete();
113
- }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportMobileComponent, deps: [{ token: i1.WindowTitleService }, { token: i2.ActivatedRoute }, { token: i3.SessionService }, { token: i0.ChangeDetectorRef }, { token: i4.PromptService }, { token: i5.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ReportMobileComponent, selector: "bizdoc-report", viewQueries: [{ propertyName: "filter", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "viewer", first: true, predicate: ReportViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n @if (report.guide) {\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"filter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\">\r\n <mat-sidenav-content>\r\n <bizdoc-report-viewer [report]=\"report\" [args]=\"args\"></bizdoc-report-viewer>\r\n </mat-sidenav-content>\r\n <mat-sidenav mode=\"over\" opened=\"false\" #filter position=\"end\">\r\n @if (viewer.reportRef) {\r\n <bizdoc-report-arguments [args]=\"args\" (argsChange)=\"argsChange($event)\" [reportRef]=\"viewer.reportRef\"\r\n [template]=\"report.argumentsTemplate\" [arguments]=\"report.arguments\"></bizdoc-report-arguments>\r\n }\r\n </mat-sidenav>\r\n</mat-sidenav-container>\r\n", styles: [".contents{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i6.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: ["report", "args"] }, { kind: "directive", type: i11.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i13.ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: ["reportRef", "template", "arguments", "args"], outputs: ["argsChange"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
116
- }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportMobileComponent, decorators: [{
118
- type: Component,
119
- args: [{ selector: 'bizdoc-report', template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n @if (report.guide) {\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"filter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\">\r\n <mat-sidenav-content>\r\n <bizdoc-report-viewer [report]=\"report\" [args]=\"args\"></bizdoc-report-viewer>\r\n </mat-sidenav-content>\r\n <mat-sidenav mode=\"over\" opened=\"false\" #filter position=\"end\">\r\n @if (viewer.reportRef) {\r\n <bizdoc-report-arguments [args]=\"args\" (argsChange)=\"argsChange($event)\" [reportRef]=\"viewer.reportRef\"\r\n [template]=\"report.argumentsTemplate\" [arguments]=\"report.arguments\"></bizdoc-report-arguments>\r\n }\r\n </mat-sidenav>\r\n</mat-sidenav-container>\r\n", styles: [".contents{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"] }]
120
- }], ctorParameters: () => [{ type: i1.WindowTitleService }, { type: i2.ActivatedRoute }, { type: i3.SessionService }, { type: i0.ChangeDetectorRef }, { type: i4.PromptService }, { type: i5.GuideService }], propDecorators: { filter: [{
121
- type: ViewChild,
122
- args: [MatSidenav, { static: true }]
123
- }], viewer: [{
124
- type: ViewChild,
125
- args: [ReportViewerComponent, { static: true }]
126
- }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0Lm1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQubW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC5tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVFsRSw0QkFBNEI7QUFDNUIsTUFBTSxPQUFPLHFCQUFxQjtJQVc5QixZQUNZLE1BQTBCLEVBQzFCLE1BQXNCLEVBQ3RCLFFBQXdCLEVBQ3hCLEdBQXNCLEVBQ3RCLEdBQWtCLEVBQ2xCLE1BQW9CO1FBTHBCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQWRoQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBeUIsUUFBUSxDQUFDO1FBTXJCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBT1osQ0FBQztJQUNyQyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFN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SSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQWpHUSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw2RkFLbkIsVUFBVSx1RkFDVixxQkFBcUIsOERDekJwQywrL0NBeUJBOzsyRkROYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksZUFBZTt3T0FVZ0IsTUFBTTtzQkFBOUMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNhLE1BQU07c0JBQXpELFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2luZG93VGl0bGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS93aW5kb3ctdGl0bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aWRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvZ3VpZGUvZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlcG9ydFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0Lm1vYmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZXBvcnQubW9iaWxlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuLyoqIHJlcG9ydHZpZXdlciBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0TW9iaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcmVwb3J0OiBSZXBvcnQ7XHJcbiAgICBpdGVtPzogYW55O1xyXG4gICAgYXJnczogUGFyYW1NYXAgPSB7fTtcclxuICAgIG1vZGU6ICdleHBsb3JlJyB8ICdmaWx0ZXInID0gJ2ZpbHRlcic7XHJcbiAgICBAVmlld0NoaWxkKE1hdFNpZGVuYXYsIHsgc3RhdGljOiB0cnVlIH0pIGZpbHRlcjogTWF0U2lkZW5hdjtcclxuICAgIEBWaWV3Q2hpbGQoUmVwb3J0Vmlld2VyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB2aWV3ZXI6IFJlcG9ydFZpZXdlckNvbXBvbmVudDtcclxuICAgIGhhc0ZpbHRlcnM6IGJvb2xlYW47XHJcbiAgICBhbnlGaWx0ZXJzOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBfbmF2aWdhdGluZzogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfdGl0bGU6IFdpbmRvd1RpdGxlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UpIHsgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcm91dGUucGFyYW1zLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgICAgICAgdGhpcy5yZXBvcnQgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucmVwb3J0cy5maW5kKHIgPT4gci5uYW1lID09PSBpZCkhO1xyXG4gICAgICAgICAgICB0aGlzLmhhc0ZpbHRlcnMgPSAodGhpcy5yZXBvcnQuYXJndW1lbnRzICYmIHRoaXMucmVwb3J0LmFyZ3VtZW50cy5sZW5ndGggPiAwKSB8fCB0aGlzLnJlcG9ydC5hcmd1bWVudHNUZW1wbGF0ZSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlLnNldCh0aGlzLnJlcG9ydC50aXRsZSk7XHJcbiAgICAgICAgICAgIHRoaXMuYXJncyA9IHRoaXMuX2Zyb21RdWVyeUFyZ3ModGhpcy5fcm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMpO1xyXG4gICAgICAgICAgICB0aGlzLmFueUZpbHRlcnMgPSBPYmplY3Qua2V5cyh0aGlzLmFyZ3MpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdlci5leGVjdXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fcm91dGUucXVlcnlQYXJhbXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShwID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9uYXZpZ2F0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFyZ3MgPSB0aGlzLl9mcm9tUXVlcnlBcmdzKHApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3ZXIuZXhlY3V0ZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGd1aWRlKCkge1xyXG4gICAgICAgIHRoaXMuX2d1aWRlLnN0YXJ0KHRoaXMucmVwb3J0Lmd1aWRlISk7XHJcbiAgICB9XHJcbiAgICBjbGVhckZpbHRlcigpIHtcclxuICAgICAgICB0aGlzLmFyZ3MgPSB7fTtcclxuICAgICAgICB0aGlzLmFueUZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIuZXhlY3V0ZSgpO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHFhcmdzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2Zyb21RdWVyeUFyZ3MocWFyZ3M6IGFueSk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgYXJnczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHFhcmdzKS5mb3JFYWNoKGsgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBxYXJnc1trXTtcclxuICAgICAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXJndW1lbnQgPSB0aGlzLnJlcG9ydC5hcmd1bWVudHMhLmZpbmQoYSA9PiBhLm5hbWUgPT09IGspO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3VtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoYXJndW1lbnQuY29udHJvbFR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzW2tdID0gbmV3IERhdGUodmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjaGVja2JveCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N3aXRjaCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzW2tdID0gdmFsID09PSAndHJ1ZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Nba10gPSB2YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIGFyZ3Nba10gPSB2YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gYXJncztcclxuICAgIH1cclxuICAgIGZpbHRlclRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLm1vZGUgPSAnZmlsdGVyJztcclxuICAgICAgICB0aGlzLmZpbHRlci50b2dnbGUoKS50aGVuKCgpID0+IHRoaXMudmlld2VyLnJlc2l6ZSgpKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpdGVtXHJcbiAgICAgKi9cclxuICAgIGNsaWNrKGl0ZW06IGFueSkge1xyXG4gICAgICAgIHRoaXMudmlld2VyLmV4cGxvcmUoaXRlbSkudGhlbihyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtID0gcjtcclxuICAgICAgICAgICAgdGhpcy5tb2RlID0gJ2V4cGxvcmUnO1xyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgYXJnc0NoYW5nZShhcmdzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICAgICAgdGhpcy5hcmdzID0gYXJncztcclxuICAgICAgICB0aGlzLnZpZXdlci5leGVjdXRlKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgICAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ2aWV3ZXIuZXhlY3V0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5hdXRvcmVuZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmlld2VyLmV4cG9ydEV4Y2VsKClcIiBiaXpkb2NUb29sdGlwPVwie3snRG93bmxvYWQnIHwgdHJhbnNsYXRlfX1cIj48bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIEBpZiAocmVwb3J0Lmd1aWRlKSB7XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGhhc0ZpbHRlcnMpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhckZpbHRlcigpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYW55RmlsdGVyc1wiPjxtYXQtaWNvbj5jbGVhcl9hbGw8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGhhc0ZpbHRlcnMpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmaWx0ZXIoJGV2ZW50KVwiIGJpemRvY1Rvb2x0aXA9XCJ7eydGaWx0ZXInIHwgdHJhbnNsYXRlfX1cIj48bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJhbnlGaWx0ZXJzXCI+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cInBhZ2UtY29udGFpbmVyXCI+XHJcbiAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbiAgICA8Yml6ZG9jLXJlcG9ydC12aWV3ZXIgW3JlcG9ydF09XCJyZXBvcnRcIiBbYXJnc109XCJhcmdzXCI+PC9iaXpkb2MtcmVwb3J0LXZpZXdlcj5cclxuICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbiAgPG1hdC1zaWRlbmF2IG1vZGU9XCJvdmVyXCIgb3BlbmVkPVwiZmFsc2VcIiAjZmlsdGVyIHBvc2l0aW9uPVwiZW5kXCI+XHJcbiAgICBAaWYgKHZpZXdlci5yZXBvcnRSZWYpIHtcclxuICAgICAgPGJpemRvYy1yZXBvcnQtYXJndW1lbnRzIFthcmdzXT1cImFyZ3NcIiAoYXJnc0NoYW5nZSk9XCJhcmdzQ2hhbmdlKCRldmVudClcIiBbcmVwb3J0UmVmXT1cInZpZXdlci5yZXBvcnRSZWZcIlxyXG4gICAgICBbdGVtcGxhdGVdPVwicmVwb3J0LmFyZ3VtZW50c1RlbXBsYXRlXCIgW2FyZ3VtZW50c109XCJyZXBvcnQuYXJndW1lbnRzXCI+PC9iaXpkb2MtcmVwb3J0LWFyZ3VtZW50cz5cclxuICAgIH1cclxuICA8L21hdC1zaWRlbmF2PlxyXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cclxuIl19
@@ -1,109 +0,0 @@
1
- import { Component, ViewChild, HostListener, ElementRef } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { debounceTime, takeUntil } from 'rxjs/operators';
4
- import { ReportViewerComponent } from './report-viewer.component';
5
- import { ReportArgumentsComponent } from './arguments-component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../core/session.service";
8
- import * as i2 from "../core/slots/pane-ref";
9
- import * as i3 from "../core/popup/popup.service";
10
- import * as i4 from "../core/prompt.service";
11
- import * as i5 from "../core/guide/guide.service";
12
- import * as i6 from "@angular/material/toolbar";
13
- import * as i7 from "@angular/material/button";
14
- import * as i8 from "@angular/material/icon";
15
- import * as i9 from "./report-viewer.component";
16
- import * as i10 from "../core/animated-icon/animated-icon.directive";
17
- import * as i11 from "../core/popup/tooltip.directive";
18
- import * as i12 from "../core/pipes/translate.pipe";
19
- /** report slot component*/
20
- export class ReportPaneComponent {
21
- constructor(_session, _pane, _popup, _cd, _sb, _guide) {
22
- this._session = _session;
23
- this._pane = _pane;
24
- this._popup = _popup;
25
- this._cd = _cd;
26
- this._sb = _sb;
27
- this._guide = _guide;
28
- this.args = {};
29
- this._destroy = new Subject();
30
- }
31
- ngOnInit() {
32
- this._pane.paramsChange().subscribe(p => {
33
- const id = p['id'];
34
- this.report = this._session.profile.reports.find(r => r.name === id);
35
- this.hasFilters = (this.report.arguments && this.report.arguments.length > 0) || this.report.argumentsTemplate !== undefined;
36
- this._pane.title = this.report.title;
37
- this._pane.guide = this.report.guide;
38
- this._cd.detectChanges();
39
- });
40
- this._pane.queryParamsChange().subscribe(() => this.viewer.execute());
41
- this._pane.resized().subscribe(() => this.viewer.resize());
42
- }
43
- openFilter(evt) {
44
- this._popup.open(ReportArgumentsComponent, this.filterEl.nativeElement).opened().
45
- subscribe(f => {
46
- f.arguments = this.report.arguments;
47
- f.template = this.report.argumentsTemplate;
48
- f.reportRef = this.viewer.reportRef;
49
- f.args = this.args;
50
- f.argsChange.pipe(takeUntil(this._destroy), debounceTime(150)).subscribe(a => {
51
- this.args = a;
52
- this.anyFilters = Object.keys(a).length > 0;
53
- this._cd.detectChanges();
54
- this.viewer.execute();
55
- });
56
- });
57
- }
58
- clearFilter() {
59
- this.args = {};
60
- this.anyFilters = false;
61
- this._cd.detectChanges();
62
- this.viewer.execute();
63
- }
64
- /**
65
- *
66
- * @param item
67
- */
68
- click(item) {
69
- this.viewer.explore(item).then(r => {
70
- }, () => this._sb.error());
71
- }
72
- /**
73
- * Alt-q
74
- * @param event
75
- */
76
- handleKeydown(event) {
77
- if (event.altKey) {
78
- if (event.key === 'q' || event.key === 'Q') {
79
- this.openFilter();
80
- event.preventDefault();
81
- event.stopPropagation();
82
- }
83
- }
84
- }
85
- guide(evt) {
86
- this._guide.start(this.report.guide);
87
- evt && evt.preventDefault();
88
- }
89
- ngOnDestroy() {
90
- this._destroy.next();
91
- this._destroy.complete();
92
- }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportPaneComponent, deps: [{ token: i1.SessionService }, { token: i2.PaneRef }, { token: i3.Popup }, { token: i0.ChangeDetectorRef }, { token: i4.PromptService }, { token: i5.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ReportPaneComponent, selector: "bizdoc-report-pane", host: { listeners: { "window.keydown": "handleKeydown($event)" } }, viewQueries: [{ propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }, { propertyName: "viewer", first: true, predicate: ReportViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n @if (report.guide) {\r\n <button mat-icon-button (click)=\"guide($event)\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"openFilter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\" #filterEl><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<bizdoc-report-viewer [report]=\"report\" [args]=\"args\" class=\"flex\"></bizdoc-report-viewer>\r\n", styles: [":host{min-width:560px;display:block;height:100%;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: ["report", "args"] }, { kind: "directive", type: i10.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportPaneComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'bizdoc-report-pane', template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n @if (report.guide) {\r\n <button mat-icon-button (click)=\"guide($event)\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n }\r\n @if (hasFilters) {\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"openFilter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\" #filterEl><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<bizdoc-report-viewer [report]=\"report\" [args]=\"args\" class=\"flex\"></bizdoc-report-viewer>\r\n", styles: [":host{min-width:560px;display:block;height:100%;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"] }]
99
- }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.PaneRef }, { type: i3.Popup }, { type: i0.ChangeDetectorRef }, { type: i4.PromptService }, { type: i5.GuideService }], propDecorators: { filterEl: [{
100
- type: ViewChild,
101
- args: ['filterEl', { read: ElementRef }]
102
- }], viewer: [{
103
- type: ViewChild,
104
- args: [ReportViewerComponent, { static: true }]
105
- }], handleKeydown: [{
106
- type: HostListener,
107
- args: ['window.keydown', ['$event']]
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBcUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPakUsMkJBQTJCO0FBQzNCLE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsWUFDVSxRQUF3QixFQUN4QixLQUFtQyxFQUNuQyxNQUFhLEVBQ2IsR0FBc0IsRUFDdEIsR0FBa0IsRUFDbEIsTUFBb0I7UUFMcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBOEI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNiLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQVo5QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBS0gsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRaEQsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdG9yUmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEd1aWRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvZ3VpZGUvZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlcG9ydCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFJlcG9ydFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4uL2NvcmUvcG9wdXAvcG9wdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlcG9ydEFyZ3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vYXJndW1lbnRzLWNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yZXBvcnQtcGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQucGFuZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiByZXBvcnQgc2xvdCBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0UGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZXBvcnQ6IFJlcG9ydDtcclxuICBhcmdzOiBQYXJhbU1hcCA9IHt9O1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbHRlckVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGZpbHRlckVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFJlcG9ydFZpZXdlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdmlld2VyOiBSZXBvcnRWaWV3ZXJDb21wb25lbnQ7XHJcbiAgaGFzRmlsdGVyczogYm9vbGVhbjtcclxuICBhbnlGaWx0ZXJzOiBib29sZWFuO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmPFJlcG9ydFBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9ndWlkZTogR3VpZGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2UoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgdGhpcy5yZXBvcnQgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucmVwb3J0cy5maW5kKHIgPT4gci5uYW1lID09PSBpZCkhO1xyXG4gICAgICB0aGlzLmhhc0ZpbHRlcnMgPSAodGhpcy5yZXBvcnQuYXJndW1lbnRzICYmIHRoaXMucmVwb3J0LmFyZ3VtZW50cy5sZW5ndGggPiAwKSB8fCB0aGlzLnJlcG9ydC5hcmd1bWVudHNUZW1wbGF0ZSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLl9wYW5lLnRpdGxlID0gdGhpcy5yZXBvcnQudGl0bGU7XHJcbiAgICAgIHRoaXMuX3BhbmUuZ3VpZGUgPSB0aGlzLnJlcG9ydC5ndWlkZTtcclxuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnF1ZXJ5UGFyYW1zQ2hhbmdlKCkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMudmlld2VyLmV4ZWN1dGUoKSk7XHJcbiAgICB0aGlzLl9wYW5lLnJlc2l6ZWQoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy52aWV3ZXIucmVzaXplKCkpO1xyXG4gIH1cclxuICBvcGVuRmlsdGVyKGV2dD86IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFJlcG9ydEFyZ3VtZW50c0NvbXBvbmVudCwgdGhpcy5maWx0ZXJFbC5uYXRpdmVFbGVtZW50KS5vcGVuZWQoKS5cclxuICAgICAgc3Vic2NyaWJlKGYgPT4ge1xyXG4gICAgICAgIGYuYXJndW1lbnRzID0gdGhpcy5yZXBvcnQuYXJndW1lbnRzO1xyXG4gICAgICAgIGYudGVtcGxhdGUgPSB0aGlzLnJlcG9ydC5hcmd1bWVudHNUZW1wbGF0ZTtcclxuICAgICAgICBmLnJlcG9ydFJlZiA9IHRoaXMudmlld2VyLnJlcG9ydFJlZjtcclxuICAgICAgICBmLmFyZ3MgPSB0aGlzLmFyZ3M7XHJcbiAgICAgICAgZi5hcmdzQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBkZWJvdW5jZVRpbWUoMTUwKSkuc3Vic2NyaWJlKGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hcmdzID0gYTtcclxuICAgICAgICAgIHRoaXMuYW55RmlsdGVycyA9IE9iamVjdC5rZXlzKGEpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB0aGlzLnZpZXdlci5leGVjdXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBjbGVhckZpbHRlcigpIHtcclxuICAgIHRoaXMuYXJncyA9IHt9O1xyXG4gICAgdGhpcy5hbnlGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG4gICAgdGhpcy52aWV3ZXIuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBpdGVtXHJcbiAgICovXHJcbiAgY2xpY2soaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnZpZXdlci5leHBsb3JlKGl0ZW0pLnRoZW4ociA9PiB7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICogQWx0LXFcclxuICogQHBhcmFtIGV2ZW50XHJcbiAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdy5rZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWx0S2V5KSB7XHJcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdxJyB8fCBldmVudC5rZXkgPT09ICdRJykge1xyXG4gICAgICAgIHRoaXMub3BlbkZpbHRlcigpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ3VpZGUoZXZ0PzogRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLl9ndWlkZS5zdGFydCh0aGlzLnJlcG9ydC5ndWlkZSEpO1xyXG4gICAgZXZ0ICYmIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ2aWV3ZXIuZXhlY3V0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5hdXRvcmVuZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmlld2VyLmV4cG9ydEV4Y2VsKClcIiBiaXpkb2NUb29sdGlwPVwie3snRG93bmxvYWQnIHwgdHJhbnNsYXRlfX1cIj48bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIEBpZiAocmVwb3J0Lmd1aWRlKSB7XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGhhc0ZpbHRlcnMpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhckZpbHRlcigpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYW55RmlsdGVyc1wiPjxtYXQtaWNvbj5jbGVhcl9hbGw8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5GaWx0ZXIoJGV2ZW50KVwiIGJpemRvY1Rvb2x0aXA9XCJ7eydGaWx0ZXInIHwgdHJhbnNsYXRlfX1cIiAjZmlsdGVyRWw+PG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwiYW55RmlsdGVyc1wiPmZpbHRlcl9saXN0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICB9XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxiaXpkb2MtcmVwb3J0LXZpZXdlciBbcmVwb3J0XT1cInJlcG9ydFwiIFthcmdzXT1cImFyZ3NcIiBjbGFzcz1cImZsZXhcIj48L2JpemRvYy1yZXBvcnQtdmlld2VyPlxyXG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../core/session.service";
4
- import * as i2 from "@angular/material/list";
5
- import * as i3 from "@angular/material/icon";
6
- import * as i4 from "../core/popup/tooltip.directive";
7
- import * as i5 from "../core/slots/router.directive";
8
- export class ReportsMenuComponent {
9
- constructor(session) {
10
- this.change = new EventEmitter();
11
- this.reports = session.profile.reports;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportsMenuComponent, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: { collapsed: "collapsed" }, outputs: { change: "change" }, ngImport: i0, template: "<!--<span class=\"mat-subheader\">BizDoc</span>\r\n<h1 class=\"mat-headline-5\">{{'Reports' | translate}}</h1>-->\r\n\r\n<mat-nav-list>\r\n @for (r of reports; track r) {\r\n <mat-list-item (click)=\"change.emit()\" [slotRouterLink]='[\"reports\", r.name]' slotRouterLinkActive=\"active\">\r\n <mat-icon matListItemIcon [bizdocTooltip]=\"r.title\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">{{r.icon}}</mat-icon>\r\n <span matListItemTitle>{{r.title}}</span>\r\n </mat-list-item>\r\n }\r\n</mat-nav-list>\r\n", dependencies: [{ kind: "component", type: i2.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i5.SlotRouterDirective, selector: "[slotRouterLink]", inputs: ["slotRouterLink", "slotRouterLinkActive", "slotRouterLinkDisabled", "slotRouterLinkPolicy", "slotRouterLinkOptions"] }], animations: [] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportsMenuComponent, decorators: [{
17
- type: Component,
18
- args: [{ selector: 'bizdoc-reports-menu', animations: [], template: "<!--<span class=\"mat-subheader\">BizDoc</span>\r\n<h1 class=\"mat-headline-5\">{{'Reports' | translate}}</h1>-->\r\n\r\n<mat-nav-list>\r\n @for (r of reports; track r) {\r\n <mat-list-item (click)=\"change.emit()\" [slotRouterLink]='[\"reports\", r.name]' slotRouterLinkActive=\"active\">\r\n <mat-icon matListItemIcon [bizdocTooltip]=\"r.title\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">{{r.icon}}</mat-icon>\r\n <span matListItemTitle>{{r.title}}</span>\r\n </mat-list-item>\r\n }\r\n</mat-nav-list>\r\n" }]
19
- }], ctorParameters: () => [{ type: i1.SessionService }], propDecorators: { collapsed: [{
20
- type: Input
21
- }], change: [{
22
- type: Output
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydHMtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnRzLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVV2RSxNQUFNLE9BQ0Usb0JBQW9CO0lBSTFCLFlBQVksT0FBdUI7UUFGaEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUV6QyxDQUFDOzhHQVBLLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDhIQ1g1QixraUJBV0EsZ2hDREhjLEVBQUU7OzJGQUdSLG9CQUFvQjtrQkFOM0IsU0FBUzsrQkFDRSxxQkFBcUIsY0FFbkIsRUFBRTttRkFJTCxTQUFTO3NCQUFqQixLQUFLO2dCQUNhLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXBvcnQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydHMtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydHMtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW11cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgUmVwb3J0c01lbnVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbGxhcHNlZDogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHJlYWRvbmx5IHJlcG9ydHM6IFJlcG9ydFtdO1xyXG4gIGNvbnN0cnVjdG9yKHNlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnJlcG9ydHMgPSBzZXNzaW9uLnByb2ZpbGUucmVwb3J0cztcclxuXHJcbiAgfVxyXG59XHJcbiIsIjwhLS08c3BhbiBjbGFzcz1cIm1hdC1zdWJoZWFkZXJcIj5CaXpEb2M8L3NwYW4+XHJcbjxoMSBjbGFzcz1cIm1hdC1oZWFkbGluZS01XCI+e3snUmVwb3J0cycgfCB0cmFuc2xhdGV9fTwvaDE+LS0+XHJcblxyXG48bWF0LW5hdi1saXN0PlxyXG4gIEBmb3IgKHIgb2YgcmVwb3J0czsgdHJhY2sgcikge1xyXG4gIDxtYXQtbGlzdC1pdGVtIChjbGljayk9XCJjaGFuZ2UuZW1pdCgpXCIgW3Nsb3RSb3V0ZXJMaW5rXT0nW1wicmVwb3J0c1wiLCByLm5hbWVdJyBzbG90Um91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxyXG4gICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbiBbYml6ZG9jVG9vbHRpcF09XCJyLnRpdGxlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+e3tyLmljb259fTwvbWF0LWljb24+XHJcbiAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7ci50aXRsZX19PC9zcGFuPlxyXG4gIDwvbWF0LWxpc3QtaXRlbT5cclxuICB9XHJcbjwvbWF0LW5hdi1saXN0PlxyXG4iXX0=
@@ -1,39 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ViewChild } from "@angular/core";
3
- import { MatSort } from "@angular/material/sort";
4
- import { MatTableDataSource } from "@angular/material/table";
5
- import { BizDoc } from "../../core/decorators";
6
- import { listAnimation } from "../../core/animations";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/table";
9
- import * as i2 from "@angular/material/sort";
10
- import * as i3 from "../../core/identity/identity.component";
11
- import * as i4 from "../../core/pipes/time-ago.pipe";
12
- import * as i5 from "../../core/pipes/translate.pipe";
13
- import * as i6 from "../../core/pipes/state.pipe";
14
- import * as i7 from "../../core/pipes/action.pipe";
15
- let SubstitutionComponent = class SubstitutionComponent {
16
- constructor() {
17
- this.displayColumns = ['number', 'substituteId', 'action', 'state'];
18
- }
19
- onBind(result) {
20
- this.dataSource = new MatTableDataSource(result);
21
- this.dataSource.sort = this.sort;
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SubstitutionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: SubstitutionComponent, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" @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\"> {{element.number}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"substituteId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Who' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <bizdoc-identity-name [identity]=\"element.substituteId\" [by]=\"element.byId\"></bizdoc-identity-name>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"action\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Action' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> @if (element.action) {\r\n <span>{{element.actionId | action : 'past'}} {{element.replied | amTimeAgo}}</span>\r\n }</td>\r\n </ng-container>\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.stateId | state}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"value\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Value' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.value}} </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row [@item]=\"dataSource.data.length\" *matRowDef=\"let element; columns: displayColumns;\"></tr>\r\n</table>\r\n", dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i3.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "pipe", type: i4.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.StatePipe, name: "state" }, { kind: "pipe", type: i7.ActionPipe, name: "action" }], animations: [listAnimation] }); }
25
- };
26
- SubstitutionComponent = __decorate([
27
- BizDoc({
28
- selector: 'bizdoc-substitution'
29
- })
30
- ], SubstitutionComponent);
31
- export { SubstitutionComponent };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SubstitutionComponent, decorators: [{
33
- type: Component,
34
- args: [{ animations: [listAnimation], template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" @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\"> {{element.number}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"substituteId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Who' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <bizdoc-identity-name [identity]=\"element.substituteId\" [by]=\"element.byId\"></bizdoc-identity-name>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"action\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Action' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> @if (element.action) {\r\n <span>{{element.actionId | action : 'past'}} {{element.replied | amTimeAgo}}</span>\r\n }</td>\r\n </ng-container>\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.stateId | state}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"value\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Value' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.value}} </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row [@item]=\"dataSource.data.length\" *matRowDef=\"let element; columns: displayColumns;\"></tr>\r\n</table>\r\n" }]
35
- }], propDecorators: { sort: [{
36
- type: ViewChild,
37
- args: [MatSort, { static: true }]
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic3RpdHV0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3N1YnN0aXR1dGlvbi9zdWJzdGl0dXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvc3Vic3RpdHV0aW9uL3N1YnN0aXR1dGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVVwRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUEzQjtRQUNTLG1CQUFjLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztLQU96RTtJQUpDLE1BQU0sQ0FBQyxNQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7OEdBUEsscUJBQXFCO2tHQUFyQixxQkFBcUIsMEZBRWhCLE9BQU8sOERDakJwQix5bURBNEJBLG94RERuQmMsQ0FBQyxhQUFhLENBQUM7O0FBTXJCLHFCQUFxQjtJQUo1QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUscUJBQXFCO0tBQ2hDLENBQUM7R0FFTSxxQkFBcUIsQ0FRNUI7OzJGQVJPLHFCQUFxQjtrQkFSNUIsU0FBUztpQ0FFSSxDQUFDLGFBQWEsQ0FBQzs4QkFRVyxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGxpc3RBbmltYXRpb24gfSBmcm9tIFwiLi4vLi4vY29yZS9hbmltYXRpb25zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3N1YnN0aXR1dGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW2xpc3RBbmltYXRpb25dXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXN1YnN0aXR1dGlvbidcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgU3Vic3RpdHV0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PEl0ZW0sIGFueT4ge1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlDb2x1bW5zID0gWydudW1iZXInLCAnc3Vic3RpdHV0ZUlkJywgJ2FjdGlvbicsICdzdGF0ZSddO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBvbkJpbmQocmVzdWx0OiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVzdWx0KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgSXRlbSB7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgc3Vic3RpdHV0ZUlkOiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBudW1iZXI7XHJcbiAgcmVwbGllZD86IERhdGU7XHJcbiAgc3ViamVjdD86IHN0cmluZztcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgc3RhdGU6IHN0cmluZztcclxuICBieUlkPzogc3RyaW5nO1xyXG59XHJcbiIsIjx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiIEBsaXN0PlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibnVtYmVyXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydOdW1iZXInIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Lm51bWJlcn19IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdWJzdGl0dXRlSWRcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ICdXaG8nIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJlbGVtZW50LnN1YnN0aXR1dGVJZFwiIFtieV09XCJlbGVtZW50LmJ5SWRcIj48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvblwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snQWN0aW9uJyB8IHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IEBpZiAoZWxlbWVudC5hY3Rpb24pIHtcclxuICAgICAgPHNwYW4+e3tlbGVtZW50LmFjdGlvbklkIHwgYWN0aW9uIDogJ3Bhc3QnfX0ge3tlbGVtZW50LnJlcGxpZWQgfCBhbVRpbWVBZ299fTwvc3Bhbj5cclxuICAgIH08L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3RhdGVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1N0YXR1cycgfCB0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuc3RhdGVJZCB8IHN0YXRlfX0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZhbHVlXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydWYWx1ZScgfCB0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudmFsdWV9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheUNvbHVtbnNcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93IFtAaXRlbV09XCJkYXRhU291cmNlLmRhdGEubGVuZ3RoXCIgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5Q29sdW1ucztcIj48L3RyPlxyXG48L3RhYmxlPlxyXG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
- import { MatSort } from '@angular/material/sort';
3
- import { MatTableDataSource } from '@angular/material/table';
4
- import { listAnimation } from '../../core/animations';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/table";
7
- import * as i2 from "@angular/material/sort";
8
- /** table-view component*/
9
- export class TableViewComponent {
10
- constructor() {
11
- this.itemClick = new EventEmitter();
12
- }
13
- ngOnInit() {
14
- this.displayedColumns = this.columns.filter(c => !c.flags || c.flags.indexOf('Hidden') < 0).map(c => c.name);
15
- }
16
- onBind(result) {
17
- this.dataSource = new MatTableDataSource(result);
18
- this.dataSource.sort = this.sort;
19
- }
20
- rowClick(item) {
21
- if (this.selectable)
22
- this.itemClick.emit(item);
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: TableViewComponent, selector: "bizdoc-table-view", inputs: { columns: "columns", selectable: "selectable" }, outputs: { itemClick: "itemClick" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" @list>\r\n @for (c of columns; track c) {\r\n <ng-container [matColumnDef]=\"c.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label || c.name}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element[c.name]}} </td>\r\n </ng-container>\r\n }\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row @item *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"rowClick(element)\"></tr>\r\n</table>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }], animations: [listAnimation] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableViewComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'bizdoc-table-view', animations: [listAnimation], template: "<table mat-table matSort [dataSource]=\"dataSource\" @list>\r\n @for (c of columns; track c) {\r\n <ng-container [matColumnDef]=\"c.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label || c.name}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element[c.name]}} </td>\r\n </ng-container>\r\n }\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row @item *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"rowClick(element)\"></tr>\r\n</table>\r\n" }]
30
- }], propDecorators: { columns: [{
31
- type: Input
32
- }], selectable: [{
33
- type: Input
34
- }], itemClick: [{
35
- type: Output
36
- }], sort: [{
37
- type: ViewChild,
38
- args: [MatSort, { static: true }]
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy90YWJsZS90YWJsZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3RhYmxlL3RhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVF0RCwwQkFBMEI7QUFDMUIsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVVxQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWVuRDtJQVhDLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVM7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQWpCVSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw4TEFJbEIsT0FBTyw4RENsQnBCLDRoQkFVQSx1OENEQ2MsQ0FBQyxhQUFhLENBQUM7OzJGQUdoQixrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsbUJBQW1CLGNBR2pCLENBQUMsYUFBYSxDQUFDOzhCQUlsQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDYSxTQUFTO3NCQUEzQixNQUFNO2dCQUMrQixJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEZpZWxkSW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgbGlzdEFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy10YWJsZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtsaXN0QW5pbWF0aW9uXVxyXG59KVxyXG4vKiogdGFibGUtdmlldyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgVGFibGVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PGFueSwgYW55PiwgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb2x1bW5zITogRmllbGRJbmZvW107XHJcbiAgQElucHV0KCkgc2VsZWN0YWJsZTogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiAhYy5mbGFncyB8fGMuZmxhZ3MuaW5kZXhPZignSGlkZGVuJykgPCAwKS5tYXAoYyA9PiBjLm5hbWUpO1xyXG4gIH1cclxuICBvbkJpbmQocmVzdWx0OiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVzdWx0KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gIH1cclxuICByb3dDbGljayhpdGVtOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpXHJcbiAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgQGxpc3Q+XHJcbiAgQGZvciAoYyBvZiBjb2x1bW5zOyB0cmFjayBjKSB7XHJcbiAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiYy5uYW1lXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbCB8fCBjLm5hbWV9fTwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudFtjLm5hbWVdfX0gPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93IEBpdGVtICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiAoY2xpY2spPVwicm93Q2xpY2soZWxlbWVudClcIj48L3RyPlxyXG48L3RhYmxlPlxyXG4iXX0=
@@ -1,95 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ViewChild } from "@angular/core";
3
- import { KanbanComponent } from "@syncfusion/ej2-angular-kanban";
4
- import { forkJoin, Subject } from "rxjs";
5
- import { tap, takeUntil } from "rxjs/operators";
6
- import { BizDoc } from "../../core/decorators";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../report-ref";
9
- import * as i2 from "../../core/mailbox.service";
10
- import * as i3 from "../../core/account.service";
11
- import * as i4 from "../../core/prompt.service";
12
- import * as i5 from "../../core/info/document-info.service";
13
- import * as i6 from "../../core/session.service";
14
- import * as i7 from "@syncfusion/ej2-angular-kanban";
15
- /** */
16
- let TasksComponent = class TasksComponent {
17
- constructor(_reportRef, _mailbox, _accounts, _sb, _info, _session) {
18
- this._reportRef = _reportRef;
19
- this._mailbox = _mailbox;
20
- this._accounts = _accounts;
21
- this._sb = _sb;
22
- this._info = _info;
23
- this._session = _session;
24
- this.cardSettings = { contentField: 'subject', headerField: 'number', showHeader: true };
25
- this._map = {};
26
- this._destroy = new Subject();
27
- const { states, swimlane, assignable } = this._reportRef.options;
28
- if (swimlane !== false)
29
- this.swimlaneSettings = {
30
- allowDragAndDrop: assignable !== false,
31
- textField: 'userName',
32
- keyField: 'userId'
33
- };
34
- this.allowDragAndDrop = assignable !== false;
35
- this.columns = this._session.profile.states.filter(s => !states || states.indexOf(s.name) > -1).map(s => {
36
- this._map[s.name] = s;
37
- return { headerText: s.title, keyField: s.name, allowToggle: true };
38
- });
39
- _reportRef.resize().
40
- pipe(takeUntil(this._destroy)).
41
- subscribe(d => this.height = d.height - 35);
42
- }
43
- /**
44
- *
45
- * @param data
46
- */
47
- onBind(data) {
48
- if (data.length)
49
- this._decorate(data).subscribe(() => this.dataSource = data);
50
- else
51
- this.dataSource = [];
52
- }
53
- _decorate(data) {
54
- const observables = data.map(r => this._accounts.get(r.userId).pipe(tap(u => r.userName = u.name)));
55
- return forkJoin(observables);
56
- }
57
- /**
58
- *
59
- * @param evt
60
- */
61
- drag(evt) {
62
- const { id, stateId, userId } = evt.data[0];
63
- this._mailbox.changeState(id, stateId, userId).
64
- subscribe({ error: () => this._sb.error() });
65
- }
66
- /**
67
- *
68
- * @param id
69
- */
70
- preview(id) {
71
- this._info.open(id);
72
- }
73
- cardRendered(evt) {
74
- const { stateId } = evt.data, { color: borderColor } = this._map[stateId];
75
- //borderColor && setStyleAttribute(evt.element as HTMLElement, { borderColor });
76
- }
77
- ngOnDestroy() {
78
- this._destroy.next();
79
- this._destroy.complete();
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TasksComponent, deps: [{ token: i1.ReportRef }, { token: i2.MailboxService }, { token: i3.AccountService }, { token: i4.PromptService }, { token: i5.DocumentInfo }, { token: i6.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TasksComponent, selector: "ng-component", viewQueries: [{ propertyName: "kanban", first: true, predicate: KanbanComponent, descendants: true }], ngImport: i0, template: "<ejs-kanban (dragStop)=\"drag($event)\" [allowDragAndDrop]=\"allowDragAndDrop\" [swimlaneSettings]=\"swimlaneSettings\"\r\n [cardSettings]=\"cardSettings\" [dataSource]=\"dataSource\" keyField=\"stateId\" [columns]=\"columns\"\r\n height=\"auto\"\r\n (cardRendered)='cardRendered($event)'>\r\n</ejs-kanban>\r\n<ng-template #cardTemplate let-data>\r\n <div class='card-template'>\r\n <div class='e-card-header'>\r\n <div class='e-card-header-caption'>\r\n <div class='e-card-header-title e-tooltip-text'><a (click)=\"preview(data.id)\">#{{data.number}}</a></div>\r\n </div>\r\n </div>\r\n <div class='e-card-content e-tooltip-text'>\r\n <div class='e-text'>{{data.subject}}</div>\r\n </div>\r\n <!--<div class='e-card-custom-footer'>\r\n <div class=\"e-card-tag-field e-tooltip-text\" *ngFor=\"let tag of data.tags\"></div>\r\n <div class='e-card-avatar'></div>\r\n </div>-->\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: i7.KanbanComponent, selector: "ejs-kanban", inputs: ["allowDragAndDrop", "allowKeyboard", "cardHeight", "cardSettings", "columns", "constraintType", "cssClass", "dataSource", "dialogSettings", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "enableTooltip", "enableVirtualization", "externalDropId", "height", "keyField", "locale", "query", "showEmptyColumn", "sortSettings", "stackedHeaders", "swimlaneSettings", "tooltipTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "cardClick", "cardDoubleClick", "cardRendered", "created", "dataBinding", "dataBound", "dataSourceChanged", "dataStateChange", "dialogClose", "dialogOpen", "drag", "dragStart", "dragStop", "queryCellInfo"] }] }); }
83
- };
84
- TasksComponent = __decorate([
85
- BizDoc({ selector: 'bizdoc-tasks' })
86
- ], TasksComponent);
87
- export { TasksComponent };
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TasksComponent, decorators: [{
89
- type: Component,
90
- args: [{ template: "<ejs-kanban (dragStop)=\"drag($event)\" [allowDragAndDrop]=\"allowDragAndDrop\" [swimlaneSettings]=\"swimlaneSettings\"\r\n [cardSettings]=\"cardSettings\" [dataSource]=\"dataSource\" keyField=\"stateId\" [columns]=\"columns\"\r\n height=\"auto\"\r\n (cardRendered)='cardRendered($event)'>\r\n</ejs-kanban>\r\n<ng-template #cardTemplate let-data>\r\n <div class='card-template'>\r\n <div class='e-card-header'>\r\n <div class='e-card-header-caption'>\r\n <div class='e-card-header-title e-tooltip-text'><a (click)=\"preview(data.id)\">#{{data.number}}</a></div>\r\n </div>\r\n </div>\r\n <div class='e-card-content e-tooltip-text'>\r\n <div class='e-text'>{{data.subject}}</div>\r\n </div>\r\n <!--<div class='e-card-custom-footer'>\r\n <div class=\"e-card-tag-field e-tooltip-text\" *ngFor=\"let tag of data.tags\"></div>\r\n <div class='e-card-avatar'></div>\r\n </div>-->\r\n </div>\r\n</ng-template>\r\n" }]
91
- }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.MailboxService }, { type: i3.AccountService }, { type: i4.PromptService }, { type: i5.DocumentInfo }, { type: i6.SessionService }], propDecorators: { kanban: [{
92
- type: ViewChild,
93
- args: [KanbanComponent]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvdGFza3MvdGFza3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvdGFza3MvdGFza3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQWdHLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0osT0FBTyxFQUFjLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVUvQyxNQUFNO0FBTUosSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQVVwQixZQUFvQixVQUF5QyxFQUNuRCxRQUF3QixFQUN4QixTQUF5QixFQUN6QixHQUFrQixFQUNsQixLQUFtQixFQUNuQixRQUF3QjtRQUxkLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ25ELGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVp6QixpQkFBWSxHQUFzQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFLL0YsU0FBSSxHQUFpQyxFQUFFLENBQUM7UUFDeEMsYUFBUSxH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RSxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RixnRkFBZ0Y7SUFDbEYsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F4RUssY0FBYztrR0FBZCxjQUFjLDRGQUNULGVBQWUsZ0RDckI1QixrK0JBcUJBOztBRERRLGNBQWM7SUFGckIsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDO0dBRTdCLGNBQWMsQ0F5RXJCOzsyRkF6RU8sY0FBYztrQkFMckIsU0FBUzs7NE5BTW9CLE1BQU07c0JBQWpDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBLYW5iYW5Db21wb25lbnQsIENvbHVtbnNNb2RlbCwgRHJhZ0V2ZW50QXJncywgQ2FyZFNldHRpbmdzTW9kZWwsIFN3aW1sYW5lU2V0dGluZ3NNb2RlbCwgQ2FyZFJlbmRlcmVkRXZlbnRBcmdzIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWthbmJhblwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgU3RhdGUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tIFwiLi4vcmVwb3J0LXJlZlwiO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL21haWxib3guc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSBcIi4uLy4uL2NvcmUvaW5mby9kb2N1bWVudC1pbmZvLnNlcnZpY2VcIjtcclxuXHJcbi8qKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3Rhc2tzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtdGFza3MnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFRhc2tzQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PE1vZGVsLCBBeGVzPiwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKEthbmJhbkNvbXBvbmVudCkga2FuYmFuOiBLYW5iYW5Db21wb25lbnQ7XHJcbiAgcmVhZG9ubHkgY29sdW1uczogQ29sdW1uc01vZGVsW107XHJcbiAgcmVhZG9ubHkgY2FyZFNldHRpbmdzOiBDYXJkU2V0dGluZ3NNb2RlbCA9IHsgY29udGVudEZpZWxkOiAnc3ViamVjdCcsIGhlYWRlckZpZWxkOiAnbnVtYmVyJywgc2hvd0hlYWRlcjogdHJ1ZSB9O1xyXG4gIHJlYWRvbmx5IHN3aW1sYW5lU2V0dGluZ3M6IFN3aW1sYW5lU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSBhbGxvd0RyYWdBbmREcm9wOiBib29sZWFuO1xyXG4gIGRhdGFTb3VyY2U6IE1vZGVsW107XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbWFwOiB7IFtzdGF0ZUlkOiBzdHJpbmddOiBTdGF0ZSB9ID0ge307XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY8VGFza3NTZXR0aW5nc01vZGVsPixcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pbmZvOiBEb2N1bWVudEluZm8sXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG5cclxuICAgIGNvbnN0IHsgc3RhdGVzLCBzd2ltbGFuZSwgYXNzaWduYWJsZSB9ID0gdGhpcy5fcmVwb3J0UmVmLm9wdGlvbnM7XHJcbiAgICBpZiAoc3dpbWxhbmUgIT09IGZhbHNlKVxyXG4gICAgICB0aGlzLnN3aW1sYW5lU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgYWxsb3dEcmFnQW5kRHJvcDogYXNzaWduYWJsZSAhPT0gZmFsc2UsXHJcbiAgICAgICAgdGV4dEZpZWxkOiAndXNlck5hbWUnLFxyXG4gICAgICAgIGtleUZpZWxkOiAndXNlcklkJ1xyXG4gICAgICB9O1xyXG4gICAgdGhpcy5hbGxvd0RyYWdBbmREcm9wID0gYXNzaWduYWJsZSAhPT0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuc3RhdGVzLmZpbHRlcihzID0+ICFzdGF0ZXMgfHwgc3RhdGVzLmluZGV4T2Yocy5uYW1lKSA+IC0xKS5tYXAocyA9PiB7XHJcbiAgICAgIHRoaXMuX21hcFtzLm5hbWVdID0gcztcclxuICAgICAgcmV0dXJuIHsgaGVhZGVyVGV4dDogcy50aXRsZSwga2V5RmllbGQ6IHMubmFtZSwgYWxsb3dUb2dnbGU6IHRydWUgfSBhcyBDb2x1bW5zTW9kZWw7XHJcbiAgICB9KTtcclxuICAgIF9yZXBvcnRSZWYucmVzaXplKCkuXHJcbiAgICAgIHBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGQgPT5cclxuICAgICAgICB0aGlzLmhlaWdodCA9IGQuaGVpZ2h0IC0gMzUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqL1xyXG4gIG9uQmluZChkYXRhOiBNb2RlbFtdKSB7XHJcbiAgICBpZiAoZGF0YS5sZW5ndGgpXHJcbiAgICAgIHRoaXMuX2RlY29yYXRlKGRhdGEpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGEpO1xyXG4gICAgZWxzZSB0aGlzLmRhdGFTb3VyY2UgPSBbXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGVjb3JhdGUoZGF0YTogTW9kZWxbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPVxyXG4gICAgICBkYXRhLm1hcChyID0+IHRoaXMuX2FjY291bnRzLmdldChyLnVzZXJJZCkucGlwZSh0YXAodSA9PiByLnVzZXJOYW1lID0gdS5uYW1lKSkpO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqL1xyXG4gIGRyYWcoZXZ0OiBEcmFnRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGlkLCBzdGF0ZUlkLCB1c2VySWQgfSA9IGV2dC5kYXRhWzBdIGFzIE1vZGVsO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VTdGF0ZShpZCwgc3RhdGVJZCwgdXNlcklkKS5cclxuICAgICAgc3Vic2NyaWJlKHsgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKCkgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBpZFxyXG4gICAqL1xyXG4gIHByZXZpZXcoaWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5faW5mby5vcGVuKGlkKTtcclxuICB9XHJcbiAgY2FyZFJlbmRlcmVkKGV2dDogQ2FyZFJlbmRlcmVkRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IHN0YXRlSWQgfSA9IChldnQuZGF0YSBhcyBhbnkgYXMgTW9kZWwpLCB7IGNvbG9yOiBib3JkZXJDb2xvciB9ID0gdGhpcy5fbWFwW3N0YXRlSWRdO1xyXG4gICAgLy9ib3JkZXJDb2xvciAmJiBzZXRTdHlsZUF0dHJpYnV0ZShldnQuZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgeyBib3JkZXJDb2xvciB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBudW1iZXI6IHN0cmluZztcclxuICBzdWJqZWN0OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdmFsdWU6IG51bWJlcjtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBzdGF0ZUlkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFza3NTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogc3RyaW5nW107XHJcbiAgc3dpbWxhbmU/OiBib29sZWFuO1xyXG4gIGFzc2lnbmFibGU/OiBib29sZWFuO1xyXG4gIHN0YXRlcz86IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBBeGVzIHtcclxuICBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcik7XHJcbn1cclxuIiwiPGVqcy1rYW5iYW4gKGRyYWdTdG9wKT1cImRyYWcoJGV2ZW50KVwiIFthbGxvd0RyYWdBbmREcm9wXT1cImFsbG93RHJhZ0FuZERyb3BcIiBbc3dpbWxhbmVTZXR0aW5nc109XCJzd2ltbGFuZVNldHRpbmdzXCJcclxuICAgICAgICAgICAgW2NhcmRTZXR0aW5nc109XCJjYXJkU2V0dGluZ3NcIiBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIga2V5RmllbGQ9XCJzdGF0ZUlkXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgIGhlaWdodD1cImF1dG9cIlxyXG4gICAgICAgICAgICAoY2FyZFJlbmRlcmVkKT0nY2FyZFJlbmRlcmVkKCRldmVudCknPlxyXG48L2Vqcy1rYW5iYW4+XHJcbjxuZy10ZW1wbGF0ZSAjY2FyZFRlbXBsYXRlIGxldC1kYXRhPlxyXG4gIDxkaXYgY2xhc3M9J2NhcmQtdGVtcGxhdGUnPlxyXG4gICAgPGRpdiBjbGFzcz0nZS1jYXJkLWhlYWRlcic+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2UtY2FyZC1oZWFkZXItY2FwdGlvbic+XHJcbiAgICAgICAgPGRpdiBjbGFzcz0nZS1jYXJkLWhlYWRlci10aXRsZSBlLXRvb2x0aXAtdGV4dCc+PGEgKGNsaWNrKT1cInByZXZpZXcoZGF0YS5pZClcIj4je3tkYXRhLm51bWJlcn19PC9hPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz0nZS1jYXJkLWNvbnRlbnQgZS10b29sdGlwLXRleHQnPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdlLXRleHQnPnt7ZGF0YS5zdWJqZWN0fX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLTxkaXYgY2xhc3M9J2UtY2FyZC1jdXN0b20tZm9vdGVyJz5cclxuICAgICAgPGRpdiBjbGFzcz1cImUtY2FyZC10YWctZmllbGQgZS10b29sdGlwLXRleHRcIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGRhdGEudGFnc1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdlLWNhcmQtYXZhdGFyJz48L2Rpdj5cclxuICAgIDwvZGl2Pi0tPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=