@bizdoc/core 3.2.10 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +52 -6
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +52 -8
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/fesm2022/bizdoc-core.mjs +2129 -1873
  10. package/fesm2022/bizdoc-core.mjs.map +1 -1
  11. package/lib/admin/admin-menu.component.d.ts +1 -3
  12. package/lib/admin/architecture/designer.base.d.ts +3 -3
  13. package/lib/admin/architecture/elements/form.component.d.ts +1 -1
  14. package/lib/compose/form-ref.d.ts +1 -0
  15. package/lib/compose/trace/trace.base.d.ts +1 -1
  16. package/lib/core/base.d.ts +5 -0
  17. package/lib/core/fields/options.base.d.ts +2 -2
  18. package/lib/core/inputs/combination-picker-body.d.ts +0 -2
  19. package/lib/core/inputs/combination-picker.d.ts +1 -1
  20. package/lib/core/session.service.d.ts +2 -2
  21. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  22. package/lib/core/translate.service.d.ts +2 -2
  23. package/lib/cube/cube.service.d.ts +1 -1
  24. package/lib/cube/matrix/matrix.base.d.ts +1 -1
  25. package/lib/cube/view-base.d.ts +1 -1
  26. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  27. package/lib/home/home-base.component.d.ts +1 -1
  28. package/lib/home/home.desktop.component.d.ts +5 -3
  29. package/lib/notifications/types/notification-base.d.ts +1 -1
  30. package/lib/reports/cube/usage-base.d.ts +1 -1
  31. package/lib/views/cube/cube-base.d.ts +1 -1
  32. package/package.json +31 -33
  33. package/esm2022/bizdoc-core.mjs +0 -5
  34. package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
  35. package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
  36. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
  37. package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
  38. package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
  39. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
  40. package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
  41. package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
  42. package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
  43. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
  44. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
  45. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
  46. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
  47. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
  48. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
  49. package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
  50. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
  51. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
  52. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
  53. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
  54. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
  55. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
  56. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
  57. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
  58. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
  59. package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
  60. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
  61. package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
  62. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
  63. package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
  64. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
  65. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
  66. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
  67. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
  68. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
  69. package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
  70. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
  71. package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
  72. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
  73. package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
  74. package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
  75. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
  76. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
  77. package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
  78. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
  79. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
  80. package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
  81. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
  82. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
  83. package/esm2022/lib/admin/core/ace.input.mjs +0 -144
  84. package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
  85. package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
  86. package/esm2022/lib/admin/core/search.input.mjs +0 -52
  87. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
  88. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
  89. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
  90. package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
  91. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
  92. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
  93. package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
  94. package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
  95. package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
  96. package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
  97. package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
  98. package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
  99. package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
  100. package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
  101. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
  102. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
  103. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
  104. package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
  105. package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
  106. package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
  107. package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
  108. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
  109. package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
  110. package/esm2022/lib/admin/system.service.mjs +0 -127
  111. package/esm2022/lib/admin/utility-ref.mjs +0 -39
  112. package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
  113. package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
  114. package/esm2022/lib/app.component.mjs +0 -73
  115. package/esm2022/lib/bizdoc.module.mjs +0 -110
  116. package/esm2022/lib/browse/browse-items.component.mjs +0 -496
  117. package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
  118. package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
  119. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
  120. package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
  121. package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
  122. package/esm2022/lib/chat/chat-info.mjs +0 -77
  123. package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
  124. package/esm2022/lib/chat/chat.service.mjs +0 -122
  125. package/esm2022/lib/chat/contacts.component.mjs +0 -107
  126. package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
  127. package/esm2022/lib/chat/conversation.component.mjs +0 -196
  128. package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
  129. package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
  130. package/esm2022/lib/compose/action/action-ref.mjs +0 -19
  131. package/esm2022/lib/compose/action/action.base.mjs +0 -50
  132. package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
  133. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
  134. package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
  135. package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
  136. package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
  137. package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
  138. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
  139. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
  140. package/esm2022/lib/compose/box/box.component.mjs +0 -44
  141. package/esm2022/lib/compose/box/control.component.mjs +0 -50
  142. package/esm2022/lib/compose/box/row.component.mjs +0 -41
  143. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
  144. package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
  145. package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
  146. package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
  147. package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
  148. package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
  149. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
  150. package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
  151. package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
  152. package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
  153. package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
  154. package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
  155. package/esm2022/lib/compose/dismiss.service.mjs +0 -25
  156. package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
  157. package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
  158. package/esm2022/lib/compose/document.component.mjs +0 -48
  159. package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
  160. package/esm2022/lib/compose/document.pane.component.mjs +0 -27
  161. package/esm2022/lib/compose/events/events.component.mjs +0 -29
  162. package/esm2022/lib/compose/form-ref.mjs +0 -43
  163. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
  164. package/esm2022/lib/compose/form.component.mjs +0 -512
  165. package/esm2022/lib/compose/new-menu.component.mjs +0 -94
  166. package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
  167. package/esm2022/lib/compose/privilage.directive.mjs +0 -64
  168. package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
  169. package/esm2022/lib/compose/state.component.mjs +0 -37
  170. package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
  171. package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
  172. package/esm2022/lib/compose/trace/people.component.mjs +0 -39
  173. package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
  174. package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
  175. package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
  176. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
  177. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -343
  178. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
  179. package/esm2022/lib/core/account.service.mjs +0 -38
  180. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
  181. package/esm2022/lib/core/animations.mjs +0 -168
  182. package/esm2022/lib/core/authentication.mjs +0 -4
  183. package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
  184. package/esm2022/lib/core/base.mjs +0 -2
  185. package/esm2022/lib/core/checkbox.mjs +0 -38
  186. package/esm2022/lib/core/colors.mjs +0 -322
  187. package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
  188. package/esm2022/lib/core/configuration.mjs +0 -17
  189. package/esm2022/lib/core/datasource.service.mjs +0 -75
  190. package/esm2022/lib/core/decorators.mjs +0 -46
  191. package/esm2022/lib/core/document-factory.service.mjs +0 -156
  192. package/esm2022/lib/core/fields/address.designer.mjs +0 -39
  193. package/esm2022/lib/core/fields/address.field.mjs +0 -65
  194. package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
  195. package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
  196. package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
  197. package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
  198. package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
  199. package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
  200. package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
  201. package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
  202. package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
  203. package/esm2022/lib/core/fields/date.designer.mjs +0 -40
  204. package/esm2022/lib/core/fields/date.field.mjs +0 -40
  205. package/esm2022/lib/core/fields/expression.field.mjs +0 -87
  206. package/esm2022/lib/core/fields/file.designer.mjs +0 -39
  207. package/esm2022/lib/core/fields/file.field.mjs +0 -35
  208. package/esm2022/lib/core/fields/html.designer.mjs +0 -61
  209. package/esm2022/lib/core/fields/html.field.mjs +0 -44
  210. package/esm2022/lib/core/fields/input.designer.mjs +0 -38
  211. package/esm2022/lib/core/fields/input.field.mjs +0 -54
  212. package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
  213. package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
  214. package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
  215. package/esm2022/lib/core/fields/options.base.mjs +0 -41
  216. package/esm2022/lib/core/fields/options.component.mjs +0 -58
  217. package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
  218. package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
  219. package/esm2022/lib/core/fields/select.designer.mjs +0 -104
  220. package/esm2022/lib/core/fields/select.field.mjs +0 -36
  221. package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
  222. package/esm2022/lib/core/fields/signature.field.mjs +0 -52
  223. package/esm2022/lib/core/fields/switch.field.mjs +0 -35
  224. package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
  225. package/esm2022/lib/core/fields/tags.field.mjs +0 -51
  226. package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
  227. package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
  228. package/esm2022/lib/core/fields/time.designer.mjs +0 -41
  229. package/esm2022/lib/core/fields/time.field.mjs +0 -39
  230. package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
  231. package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
  232. package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
  233. package/esm2022/lib/core/firebase.service.mjs +0 -51
  234. package/esm2022/lib/core/functions.mjs +0 -225
  235. package/esm2022/lib/core/guide/guide.component.mjs +0 -220
  236. package/esm2022/lib/core/guide/guide.service.mjs +0 -124
  237. package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
  238. package/esm2022/lib/core/http.interceptor.mjs +0 -63
  239. package/esm2022/lib/core/hub.service.mjs +0 -117
  240. package/esm2022/lib/core/identity/identity.component.mjs +0 -66
  241. package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
  242. package/esm2022/lib/core/info/document-info.service.mjs +0 -21
  243. package/esm2022/lib/core/info/location-info.component.mjs +0 -60
  244. package/esm2022/lib/core/info/map-info.mjs +0 -42
  245. package/esm2022/lib/core/inputs/address.input.mjs +0 -203
  246. package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
  247. package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
  248. package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
  249. package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
  250. package/esm2022/lib/core/inputs/file.input.mjs +0 -432
  251. package/esm2022/lib/core/inputs/select.input.mjs +0 -254
  252. package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
  253. package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
  254. package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
  255. package/esm2022/lib/core/layout.component.mjs +0 -93
  256. package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
  257. package/esm2022/lib/core/mailbox.service.mjs +0 -445
  258. package/esm2022/lib/core/models.mjs +0 -25
  259. package/esm2022/lib/core/none.component.mjs +0 -37
  260. package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
  261. package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
  262. package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
  263. package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
  264. package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
  265. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
  266. package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
  267. package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
  268. package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
  269. package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
  270. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
  271. package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
  272. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
  273. package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
  274. package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
  275. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
  276. package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
  277. package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
  278. package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
  279. package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
  280. package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
  281. package/esm2022/lib/core/popup/popup.component.mjs +0 -36
  282. package/esm2022/lib/core/popup/popup.service.mjs +0 -158
  283. package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
  284. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
  285. package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
  286. package/esm2022/lib/core/prompt.service.mjs +0 -88
  287. package/esm2022/lib/core/router.mjs +0 -37
  288. package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
  289. package/esm2022/lib/core/session.service.mjs +0 -291
  290. package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
  291. package/esm2022/lib/core/slots/router.directive.mjs +0 -68
  292. package/esm2022/lib/core/slots/router.service.mjs +0 -40
  293. package/esm2022/lib/core/slots/slots.component.mjs +0 -1193
  294. package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
  295. package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
  296. package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -238
  297. package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
  298. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
  299. package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
  300. package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -136
  301. package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
  302. package/esm2022/lib/core/tagging/users.component.mjs +0 -32
  303. package/esm2022/lib/core/translate.service.mjs +0 -125
  304. package/esm2022/lib/core/translations.mjs +0 -1068
  305. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
  306. package/esm2022/lib/core/window-title.service.mjs +0 -65
  307. package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
  308. package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
  309. package/esm2022/lib/cube/cube-info.service.mjs +0 -103
  310. package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
  311. package/esm2022/lib/cube/cube-view.component.mjs +0 -186
  312. package/esm2022/lib/cube/cube.service.mjs +0 -446
  313. package/esm2022/lib/cube/declarations.mjs +0 -2
  314. package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
  315. package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
  316. package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
  317. package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
  318. package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
  319. package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
  320. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
  321. package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
  322. package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
  323. package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
  324. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
  325. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
  326. package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
  327. package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
  328. package/esm2022/lib/cube/parallel/item.mjs +0 -40
  329. package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
  330. package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
  331. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
  332. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
  333. package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
  334. package/esm2022/lib/cube/view-base.mjs +0 -74
  335. package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
  336. package/esm2022/lib/cube/view.pane.component.mjs +0 -99
  337. package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
  338. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
  339. package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
  340. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
  341. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
  342. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
  343. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
  344. package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
  345. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
  346. package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
  347. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
  348. package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
  349. package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
  350. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
  351. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
  352. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
  353. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
  354. package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
  355. package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
  356. package/esm2022/lib/designer.module.mjs +0 -106
  357. package/esm2022/lib/desktop.module.mjs +0 -140
  358. package/esm2022/lib/home/about/about.dialog.mjs +0 -25
  359. package/esm2022/lib/home/home-base.component.mjs +0 -92
  360. package/esm2022/lib/home/home.desktop.component.mjs +0 -286
  361. package/esm2022/lib/home/home.mobile.component.mjs +0 -131
  362. package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
  363. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
  364. package/esm2022/lib/home/sign/sign.component.mjs +0 -56
  365. package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
  366. package/esm2022/lib/mobile.module.mjs +0 -63
  367. package/esm2022/lib/modules/chart.module.mjs +0 -44
  368. package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
  369. package/esm2022/lib/modules/date.adapter.mjs +0 -23
  370. package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
  371. package/esm2022/lib/modules/dayjs.module.mjs +0 -43
  372. package/esm2022/lib/modules/diagram.module.mjs +0 -43
  373. package/esm2022/lib/modules/gantt.module.mjs +0 -22
  374. package/esm2022/lib/modules/grid.module.mjs +0 -26
  375. package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
  376. package/esm2022/lib/modules/material.module.mjs +0 -182
  377. package/esm2022/lib/modules/paginator.intl.mjs +0 -21
  378. package/esm2022/lib/modules/pivot.module.mjs +0 -24
  379. package/esm2022/lib/modules/schedule.module.mjs +0 -24
  380. package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
  381. package/esm2022/lib/modules/stepper.intl.mjs +0 -17
  382. package/esm2022/lib/modules/texteditor.module.mjs +0 -26
  383. package/esm2022/lib/notifications/filter.component.mjs +0 -24
  384. package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
  385. package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
  386. package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
  387. package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
  388. package/esm2022/lib/notifications/notifications.service.mjs +0 -78
  389. package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
  390. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
  391. package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
  392. package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
  393. package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
  394. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
  395. package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
  396. package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
  397. package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
  398. package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
  399. package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
  400. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
  401. package/esm2022/lib/options/options.component.mjs +0 -308
  402. package/esm2022/lib/options/options.desktop.component.mjs +0 -26
  403. package/esm2022/lib/options/options.mobile.component.mjs +0 -23
  404. package/esm2022/lib/reports/arguments-component.mjs +0 -81
  405. package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
  406. package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
  407. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
  408. package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
  409. package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
  410. package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
  411. package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
  412. package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
  413. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
  414. package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
  415. package/esm2022/lib/reports/report-ref.mjs +0 -38
  416. package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
  417. package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
  418. package/esm2022/lib/reports/report.pane.component.mjs +0 -109
  419. package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
  420. package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
  421. package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
  422. package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
  423. package/esm2022/lib/routes.desktop.mjs +0 -209
  424. package/esm2022/lib/routes.mobile.mjs +0 -84
  425. package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
  426. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
  427. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
  428. package/esm2022/lib/search/cube.component.mjs +0 -47
  429. package/esm2022/lib/search/declarations.mjs +0 -7
  430. package/esm2022/lib/search/document.component.mjs +0 -41
  431. package/esm2022/lib/search/guide.component.mjs +0 -28
  432. package/esm2022/lib/search/path.component.mjs +0 -44
  433. package/esm2022/lib/search/search.service.mjs +0 -155
  434. package/esm2022/lib/shared.module.mjs +0 -622
  435. package/esm2022/lib/system.module.mjs +0 -562
  436. package/esm2022/lib/views/cube/chart.component.mjs +0 -74
  437. package/esm2022/lib/views/cube/cube-base.mjs +0 -101
  438. package/esm2022/lib/views/cube/explore.component.mjs +0 -85
  439. package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
  440. package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
  441. package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
  442. package/esm2022/lib/views/cube/sum.component.mjs +0 -66
  443. package/esm2022/lib/views/cube/view.component.mjs +0 -101
  444. package/esm2022/lib/views/document-view-ref.mjs +0 -27
  445. package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
  446. package/esm2022/lib/views/view-item.component.mjs +0 -68
  447. package/esm2022/lib/views/views.component.mjs +0 -32
  448. package/esm2022/lib/views/views.mobile.component.mjs +0 -21
  449. package/esm2022/lib/views/views.pane.component.mjs +0 -29
  450. package/esm2022/public-api.mjs +0 -182
@@ -1,269 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ViewChild } from '@angular/core';
3
- import { ChartComponent } from '@syncfusion/ej2-angular-charts';
4
- import { Workbook } from '@syncfusion/ej2-excel-export';
5
- import { Subject, startWith, takeUntil } from 'rxjs';
6
- /// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
7
- import dayjs from 'dayjs';
8
- import { BizDoc } from '../../core/decorators';
9
- import { FONT_FAMILY } from '../../core/colors';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../core/router";
12
- import * as i2 from "../../core/account.service";
13
- import * as i3 from "../../core/session.service";
14
- import * as i4 from "../../core/translate.service";
15
- import * as i5 from "../report-ref";
16
- import * as i6 from "@syncfusion/ej2-angular-charts";
17
- import * as i7 from "../../core/pipes/translate.pipe";
18
- let PerformanceWindComponent = class PerformanceWindComponent {
19
- constructor(_router, _accounts, _session, _translate, _reportRef) {
20
- this._router = _router;
21
- this._accounts = _accounts;
22
- this._session = _session;
23
- this._translate = _translate;
24
- this._reportRef = _reportRef;
25
- this.margin = { left: 20, right: 20 };
26
- this.legendSettings = {
27
- position: 'Left',
28
- visible: true,
29
- isInversed: this._session.inverse,
30
- enablePages: true,
31
- enableHighlight: true,
32
- };
33
- this.tooltip = {
34
- enable: true,
35
- textStyle: {
36
- fontFamily: FONT_FAMILY
37
- }
38
- };
39
- this.titleStyle = {
40
- fontFamily: FONT_FAMILY
41
- };
42
- this.primaryXAxis = { valueType: 'Double' };
43
- this.primaryYAxis = {};
44
- this.linearTooltip = {
45
- enable: true,
46
- textStyle: {
47
- fontFamily: FONT_FAMILY
48
- }
49
- };
50
- this.linearTitleStyle = {
51
- fontFamily: FONT_FAMILY,
52
- fontWeight: '300',
53
- size: '12px',
54
- };
55
- this.line = {
56
- width: 5
57
- };
58
- this.majorTicks = {
59
- height: 6, width: 1
60
- };
61
- this.minorTicks = {
62
- height: 3
63
- };
64
- this.labelStyle = {
65
- font: { size: '0' },
66
- format: 'p1',
67
- };
68
- this.standardMarker = {
69
- visible: true,
70
- shape: 'Triangle',
71
- width: 5,
72
- height: 5
73
- };
74
- this.marker = {
75
- visible: true,
76
- width: 5,
77
- height: 5,
78
- shape: 'Pentagon',
79
- };
80
- this.inverse = this._session.inverse;
81
- this.actions = {};
82
- this._destroy = new Subject();
83
- _session.profile.actions.forEach(a => this.actions[a.name] = a);
84
- _session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
85
- this.theme = t.dark ? 'Material3Dark' : 'Material3';
86
- this.accentColor = this._session.getAccent(900);
87
- this.primeryColor = this._session.getPrimery();
88
- this.chart?.refreshAxis();
89
- });
90
- }
91
- onBind(data) {
92
- this.records = null;
93
- if (!data.length)
94
- return;
95
- this.durationMax = 0, this.durationMin = 0;
96
- let accumStd = 0, stdCount = 0, accumDuration = 0, maxStd = 0, map = {};
97
- this.standards = [];
98
- data.forEach(e => {
99
- let accumStd1 = 0, stdCount1 = 0, accumDuration1 = 0;
100
- e.items.forEach(e => {
101
- if (e.standardTime) {
102
- if (e.standardTime > maxStd)
103
- maxStd = e.standardTime;
104
- stdCount1++;
105
- accumStd1 += e.standardTime;
106
- this.standards.push(e);
107
- }
108
- if (e.duration > this.durationMax)
109
- this.durationMax = e.duration;
110
- if (e.duration < this.durationMin || this.durationMin === 0)
111
- this.durationMin = e.duration;
112
- accumDuration1 += e.duration;
113
- });
114
- const durationAvg = accumDuration1 / data.length, standardAvg = stdCount1 ? accumStd1 / stdCount1 : 0;
115
- map[e.userId] = {
116
- items: e.items,
117
- standardAvg,
118
- durationAvg,
119
- };
120
- accumDuration += durationAvg;
121
- if (stdCount1) {
122
- stdCount++;
123
- accumStd += standardAvg;
124
- }
125
- });
126
- this.standards = this.standards.
127
- sort((e1, e2) => e1.standardTime < e2.standardTime ? -1 : 1);
128
- this.standardAvg = stdCount ? accumStd / stdCount : 0,
129
- this.durationAvg = accumDuration / data.length;
130
- this._accounts.getAll(data.map(e => e.userId)).
131
- subscribe(users => {
132
- this.deviationMax = 0, this.deviationMin = 0;
133
- this.records = [];
134
- users.forEach(u => {
135
- const info = map[u.id], value = Math.round(info.durationAvg /
136
- (info.standardAvg || this.durationAvg)), deviation = value > 1 ? (value - 1) * 100 : -value * 100;
137
- info.deviation = deviation;
138
- if (deviation > this.deviationMax)
139
- this.deviationMax = deviation;
140
- if (deviation < this.deviationMin || this.deviationMin === 0)
141
- this.deviationMin = deviation;
142
- this.records.push({
143
- name: u.name,
144
- ...info,
145
- deviation
146
- });
147
- });
148
- const colors = this._session.accentPalette;
149
- this.palettes = [this.primeryColor,
150
- ...colors
151
- ];
152
- while (this.records.length > this.palettes.length)
153
- this.palettes.push(...colors);
154
- this.title = this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
155
- this.subTitle = this.standardAvg ?
156
- this._translate.get('StandardValue', dayjs.duration(this.standardAvg, 'seconds').format('DD:HH:mm')) : null;
157
- });
158
- }
159
- linearTooltipRender(evt) {
160
- const index = evt.axis.pointers.indexOf(evt.pointer);
161
- evt.content = this._translate.get(index === 0 ? 'AverageValue' : 'StandardValue', dayjs.duration(evt.pointer.value, 's').format('DD:HH:mm'));
162
- }
163
- highlight(index) {
164
- this.chart.highlightModule.clusterSelection(this.chart, { series: index + 1, point: 0 });
165
- }
166
- onExport() {
167
- const book = new Workbook({
168
- worksheets: [
169
- {
170
- enableRtl: this._session.inverse,
171
- name: this._translate.get('SheetN', 1),
172
- columns: [
173
- { index: 1, width: 250 },
174
- { index: 2, width: 150 },
175
- { index: 3, width: 150 },
176
- ],
177
- rows: [{
178
- index: 1,
179
- cells: [{
180
- index: 1,
181
- type: 'text',
182
- value: this._translate.get('Name'),
183
- bold: true
184
- }, {
185
- index: 2,
186
- type: 'time',
187
- value: this._translate.get('Duration'),
188
- bold: true
189
- }, {
190
- index: 3,
191
- type: 'text',
192
- value: this._translate.get('Deviation'),
193
- bold: true
194
- },
195
- ]
196
- }, ...this.records.map((r, i) => ({
197
- index: 2 + i,
198
- cells: [
199
- {
200
- type: 'text',
201
- index: 1,
202
- value: r.name,
203
- style: {
204
- hAlign: 'left'
205
- }
206
- },
207
- {
208
- type: 'text',
209
- index: 2,
210
- value: dayjs.duration(r.durationAvg, 's').format('DD:HH:mm'),
211
- style: {
212
- hAlign: 'right',
213
- }
214
- },
215
- {
216
- type: 'number',
217
- index: 3,
218
- value: r.deviation,
219
- style: {
220
- hAlign: 'right',
221
- }
222
- }
223
- ]
224
- }))],
225
- },
226
- ],
227
- }, 'xlsx');
228
- book.save(`${this._reportRef.name}.xlsx`);
229
- }
230
- tooltipRender(evt) {
231
- evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
232
- }
233
- labelRender(evt) {
234
- switch (evt.axis.name) {
235
- case 'primaryYAxis':
236
- evt.text = dayjs.duration(evt.value, 's').humanize();
237
- break;
238
- case 'primaryXAxis':
239
- evt.text = dayjs(evt.value * 1000).format('MMM YYYY');
240
- break;
241
- }
242
- }
243
- explore(evt) {
244
- const { pointIndex, seriesIndex } = evt;
245
- if (seriesIndex === 0)
246
- return;
247
- const { documentId } = this.chart.series[seriesIndex].dataSource[pointIndex];
248
- this._router.navigate(['mailbox', 'd', documentId.encodeId()]);
249
- }
250
- ngOnDestroy() {
251
- this._destroy.next();
252
- }
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PerformanceWindComponent, deps: [{ token: i1.RouterImpl }, { token: i2.AccountService }, { token: i3.SessionService }, { token: i4.TranslateService }, { token: i5.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: PerformanceWindComponent, selector: "ng-component", viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: " @if(records) {\r\n<!--<div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n</div>-->\r\n<ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n</ejs-chart>\r\n}\r\n", styles: [":host{flex:1;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.legend{overflow-y:auto;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;max-width:400px}\n"], dependencies: [{ kind: "component", type: i6.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i6.SeriesDirective, selector: "e-series-collection>e-series", inputs: ["animation", "bearFillColor", "binInterval", "border", "boxPlotMode", "bullFillColor", "cardinalSplineTension", "close", "colorName", "columnFacet", "columnSpacing", "columnWidth", "columnWidthInPixel", "connector", "cornerRadius", "dashArray", "dataSource", "dragSettings", "drawType", "emptyPointSettings", "enableComplexProperty", "enableSolidCandles", "enableTooltip", "errorBar", "fill", "groupName", "high", "intermediateSumIndexes", "isClosed", "legendImageUrl", "legendShape", "low", "marker", "maxRadius", "minRadius", "name", "negativeFillColor", "noRisers", "nonHighlightStyle", "opacity", "open", "paretoOptions", "pointColorMapping", "query", "segmentAxis", "segments", "selectionStyle", "showMean", "showNormalDistribution", "size", "splineType", "stackingGroup", "step", "sumIndexes", "summaryFillColor", "tooltipFormat", "tooltipMappingName", "trendlines", "type", "unSelectedStyle", "visible", "volume", "width", "xAxisName", "xName", "yAxisName", "yName", "zOrder"] }, { kind: "directive", type: i6.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
255
- };
256
- PerformanceWindComponent = __decorate([
257
- BizDoc({
258
- selector: 'bizdoc-performance-wind'
259
- })
260
- ], PerformanceWindComponent);
261
- export { PerformanceWindComponent };
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PerformanceWindComponent, decorators: [{
263
- type: Component,
264
- args: [{ template: " @if(records) {\r\n<!--<div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n</div>-->\r\n<ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n</ejs-chart>\r\n}\r\n", styles: [":host{flex:1;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.legend{overflow-y:auto;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;max-width:400px}\n"] }]
265
- }], ctorParameters: () => [{ type: i1.RouterImpl }, { type: i2.AccountService }, { type: i3.SessionService }, { type: i4.TranslateService }, { type: i5.ReportRef }], propDecorators: { chart: [{
266
- type: ViewChild,
267
- args: [ChartComponent]
268
- }] } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2luZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy9jdWJlL3BlcmZvcm1hbmNlLXdpbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS13aW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsY0FBYyxFQUF1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7O0FBU3pDLElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXdCO0lBMEVuQyxZQUNVLE9BQW1CLEVBQ25CLFNBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLFVBQStDO1FBSi9DLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBcUM7UUFqRWhELFdBQU0sR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFF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QyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyRCxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEQsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQW9CO1FBQzFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLElBQUksV0FBVyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBRTlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFrQixDQUFDLFVBQVUsQ0FBYyxDQUFDO1FBRW5HLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQXRRVSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyRkFDeEIsY0FBYyxnREMxQjNCLHN6RkF3RUE7O0FEL0NhLHdCQUF3QjtJQUhwQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0F1UXBDOzsyRkF2UVksd0JBQXdCO2tCQVBwQyxTQUFTOztnTUFRbUIsS0FBSztzQkFBL0IsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJUG9pbnRFdmVudEFyZ3MsIElUb29sdGlwUmVuZGVyRXZlbnRBcmdzLCBDaGFydCwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgTGVnZW5kU2V0dGluZ3NNb2RlbCwgVG9vbHRpcFNldHRpbmdzTW9kZWwsIHRpdGxlU2V0dGluZ3NNb2RlbCwgTWFyZ2luTW9kZWwsIFNlcmllc01hcmtlck1vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXR0aW5nc01vZGVsIGFzIFRNb2RlbCwgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MgYXMgSVRSZW5kZXJFdmVudEFyZ3MsIEF4aXNNb2RlbCwgVGlja01vZGVsLCBMYWJlbE1vZGVsLCBMaW5lTW9kZWwsIEZvbnRNb2RlbCwgTGluZWFyR2F1Z2UgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1saW5lYXJnYXVnZSc7XHJcbmltcG9ydCB7IENoYXJ0Q29tcG9uZW50LCBNYXJrZXJTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFdvcmtzaGVldCwgUm93LCBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgU3ViamVjdCwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vbm9kZV9tb2R1bGVzL2RheWpzL3BsdWdpbi9kdXJhdGlvbi5kLnRzXCIgLz5cclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSAnLi4vcmVwb3J0LXJlZic7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aW9uLCBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdwZXJmb3JtYW5jZS13aW5kLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJ3BlcmZvcm1hbmNlLXdpbmQuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wZXJmb3JtYW5jZS13aW5kJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VXaW5kQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PERhdGFNb2RlbD4sIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChDaGFydENvbXBvbmVudCkgY2hhcnQ6IENoYXJ0O1xyXG4gIGR1cmF0aW9uQXZnOiBudW1iZXI7XHJcbiAgZHVyYXRpb25NaW46IG51bWJlcjtcclxuICBkdXJhdGlvbk1heDogbnVtYmVyO1xyXG4gIGRldmlhdGlvbk1heDogbnVtYmVyO1xyXG4gIGRldmlhdGlvbk1pbjogbnVtYmVyO1xyXG4gIHN0YW5kYXJkQXZnOiBudW1iZXI7XHJcbiAgcmVjb3JkczogUmVjb3JkW10gfCBudWxsO1xyXG4gIHN0YW5kYXJkczogSXRlbU1vZGVsW107XHJcbiAgc3ViVGl0bGU6IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBhY2NlbnRDb2xvcjogc3RyaW5nO1xyXG4gIHByaW1lcnlDb2xvcjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1hcmdpbiA9IHsgbGVmdDogMjAsIHJpZ2h0OiAyMCB9IGFzIE1hcmdpbk1vZGVsO1xyXG4gIHJlYWRvbmx5IGxlZ2VuZFNldHRpbmdzID0ge1xyXG4gICAgcG9zaXRpb246ICdMZWZ0JyxcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBpc0ludmVyc2VkOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICBlbmFibGVQYWdlczogdHJ1ZSxcclxuICAgIGVuYWJsZUhpZ2hsaWdodDogdHJ1ZSxcclxuICB9IGFzIExlZ2VuZFNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH0gYXMgVG9vbHRpcFNldHRpbmdzTW9kZWw7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbDMnIHwgJ01hdGVyaWFsM0RhcmsnO1xyXG4gIHJlYWRvbmx5IHRpdGxlU3R5bGUgPSB7XHJcbiAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gIH0gYXMgdGl0bGVTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IHByaW1hcnlYQXhpcyA9IHsgdmFsdWVUeXBlOiAnRG91YmxlJyB9IGFzIEF4aXNNb2RlbDtcclxuICByZWFkb25seSBwcmltYXJ5WUF4aXMgPSB7fSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgbGluZWFyVG9vbHRpcCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH0gYXMgVE1vZGVsO1xyXG4gIHJlYWRvbmx5IGxpbmVhclRpdGxlU3R5bGUgPSB7XHJcbiAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWSxcclxuICAgIGZvbnRXZWlnaHQ6ICczMDAnLFxyXG4gICAgc2l6ZTogJzEycHgnLFxyXG4gIH0gYXMgRm9udE1vZGVsO1xyXG4gIHJlYWRvbmx5IGxpbmUgPSB7XHJcbiAgICB3aWR0aDogNVxyXG4gIH0gYXMgTGluZU1vZGVsO1xyXG4gIHJlYWRvbmx5IG1ham9yVGlja3MgPSB7XHJcbiAgICBoZWlnaHQ6IDYsIHdpZHRoOiAxXHJcbiAgfSBhcyBUaWNrTW9kZWw7XHJcbiAgcmVhZG9ubHkgbWlub3JUaWNrcyA9IHtcclxuICAgIGhlaWdodDogM1xyXG4gIH0gYXMgVGlja01vZGVsO1xyXG4gIHJlYWRvbmx5IGxhYmVsU3R5bGUgPSB7XHJcbiAgICBmb250OiB7IHNpemU6ICcwJyB9LFxyXG4gICAgZm9ybWF0OiAncDEnLFxyXG4gIH0gYXMgTGFiZWxNb2RlbDtcclxuICByZWFkb25seSBzdGFuZGFyZE1hcmtlciA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBzaGFwZTogJ1RyaWFuZ2xlJyxcclxuICAgIHdpZHRoOiA1LFxyXG4gICAgaGVpZ2h0OiA1XHJcbiAgfSBhcyBNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG1hcmtlciA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogNSxcclxuICAgIGhlaWdodDogNSxcclxuICAgIHNoYXBlOiAnUGVudGFnb24nLFxyXG4gIH0gYXMgTWFya2VyU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSBpbnZlcnNlID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHByaXZhdGUgYWN0aW9uczogeyBbbmFtZTogc3RyaW5nXTogQWN0aW9uIH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwYWxldHRlczogc3RyaW5nW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmPFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD5cclxuICApIHtcclxuICAgIF9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5mb3JFYWNoKGEgPT5cclxuICAgICAgdGhpcy5hY3Rpb25zW2EubmFtZV0gPSBhXHJcbiAgICApO1xyXG4gICAgX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksIHN0YXJ0V2l0aChfc2Vzc2lvbi50aGVtZSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICB0aGlzLmFjY2VudENvbG9yID0gdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoOTAwKTtcclxuICAgICAgdGhpcy5wcmltZXJ5Q29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKTtcclxuICAgICAgdGhpcy5jaGFydD8ucmVmcmVzaEF4aXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogRGF0YU1vZGVsW10pIHtcclxuICAgIHRoaXMucmVjb3JkcyA9IG51bGw7XHJcbiAgICBpZiAoIWRhdGEubGVuZ3RoKSByZXR1cm47XHJcbiAgICB0aGlzLmR1cmF0aW9uTWF4ID0gMCwgdGhpcy5kdXJhdGlvbk1pbiA9IDA7XHJcbiAgICBsZXQgYWNjdW1TdGQgPSAwLCBzdGRDb3VudCA9IDAsIGFjY3VtRHVyYXRpb24gPSAwLCBtYXhTdGQgPSAwLFxyXG4gICAgICBtYXA6IHtcclxuICAgICAgICBbdXNlcklkOiBzdHJpbmddOiBSZWNvcmRcclxuICAgICAgfSA9IHt9O1xyXG4gICAgdGhpcy5zdGFuZGFyZHMgPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChlID0+IHtcclxuICAgICAgbGV0IGFjY3VtU3RkMSA9IDAsIHN0ZENvdW50MSA9IDAsIGFjY3VtRHVyYXRpb24xID0gMDtcclxuICAgICAgZS5pdGVtcy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkVGltZSkge1xyXG4gICAgICAgICAgaWYgKGUuc3RhbmRhcmRUaW1lID4gbWF4U3RkKVxyXG4gICAgICAgICAgICBtYXhTdGQgPSBlLnN0YW5kYXJkVGltZTtcclxuICAgICAgICAgIHN0ZENvdW50MSsrO1xyXG4gICAgICAgICAgYWNjdW1TdGQxICs9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZHMucHVzaChlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGUuZHVyYXRpb24gPiB0aGlzLmR1cmF0aW9uTWF4KVxyXG4gICAgICAgICAgdGhpcy5kdXJhdGlvbk1heCA9IGUuZHVyYXRpb247XHJcbiAgICAgICAgaWYgKGUuZHVyYXRpb24gPCB0aGlzLmR1cmF0aW9uTWluIHx8IHRoaXMuZHVyYXRpb25NaW4gPT09IDApXHJcbiAgICAgICAgICB0aGlzLmR1cmF0aW9uTWluID0gZS5kdXJhdGlvbjtcclxuICAgICAgICBhY2N1bUR1cmF0aW9uMSArPSBlLmR1cmF0aW9uO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uMSAvIGRhdGEubGVuZ3RoLCBzdGFuZGFyZEF2ZyA9IHN0ZENvdW50MSA/IGFjY3VtU3RkMSAvIHN0ZENvdW50MSA6IDA7XHJcbiAgICAgIG1hcFtlLnVzZXJJZF0gPSB7XHJcbiAgICAgICAgaXRlbXM6IGUuaXRlbXMsXHJcbiAgICAgICAgc3RhbmRhcmRBdmcsXHJcbiAgICAgICAgZHVyYXRpb25BdmcsXHJcbiAgICAgIH07XHJcbiAgICAgIGFjY3VtRHVyYXRpb24gKz0gZHVyYXRpb25Bdmc7XHJcbiAgICAgIGlmIChzdGRDb3VudDEpIHtcclxuICAgICAgICBzdGRDb3VudCsrO1xyXG4gICAgICAgIGFjY3VtU3RkICs9IHN0YW5kYXJkQXZnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RhbmRhcmRzID0gdGhpcy5zdGFuZGFyZHMuXHJcbiAgICAgIHNvcnQoKGUxLCBlMikgPT4gKGUxLnN0YW5kYXJkVGltZSBhcyBudW1iZXIpIDwgKGUyLnN0YW5kYXJkVGltZSBhcyBudW1iZXIpID8gLTEgOiAxKTtcclxuICAgIHRoaXMuc3RhbmRhcmRBdmcgPSBzdGRDb3VudCA/IGFjY3VtU3RkIC8gc3RkQ291bnQgOiAwLFxyXG4gICAgICB0aGlzLmR1cmF0aW9uQXZnID0gYWNjdW1EdXJhdGlvbiAvIGRhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKGRhdGEubWFwKGUgPT4gZS51c2VySWQpKS5cclxuICAgICAgc3Vic2NyaWJlKHVzZXJzID0+IHtcclxuICAgICAgICB0aGlzLmRldmlhdGlvbk1heCA9IDAsIHRoaXMuZGV2aWF0aW9uTWluID0gMDtcclxuICAgICAgICB0aGlzLnJlY29yZHMgPSBbXTtcclxuICAgICAgICB1c2Vycy5mb3JFYWNoKHUgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5mbyA9IG1hcFt1LmlkXSxcclxuICAgICAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKGluZm8uZHVyYXRpb25BdmcgL1xyXG4gICAgICAgICAgICAgIChpbmZvLnN0YW5kYXJkQXZnIHx8IHRoaXMuZHVyYXRpb25BdmcpKSxcclxuICAgICAgICAgICAgZGV2aWF0aW9uID0gdmFsdWUgPiAxID8gKHZhbHVlIC0gMSkgKiAxMDAgOiAtIHZhbHVlICogMTAwO1xyXG4gICAgICAgICAgaW5mby5kZXZpYXRpb24gPSBkZXZpYXRpb247XHJcbiAgICAgICAgICBpZiAoZGV2aWF0aW9uID4gdGhpcy5kZXZpYXRpb25NYXgpXHJcbiAgICAgICAgICAgIHRoaXMuZGV2aWF0aW9uTWF4ID0gZGV2aWF0aW9uO1xyXG4gICAgICAgICAgaWYgKGRldmlhdGlvbiA8IHRoaXMuZGV2aWF0aW9uTWluIHx8IHRoaXMuZGV2aWF0aW9uTWluID09PSAwKVxyXG4gICAgICAgICAgICB0aGlzLmRldmlhdGlvbk1pbiA9IGRldmlhdGlvbjtcclxuICAgICAgICAgIHRoaXMucmVjb3JkcyEucHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IHUubmFtZSxcclxuICAgICAgICAgICAgLi4uaW5mbyxcclxuICAgICAgICAgICAgZGV2aWF0aW9uXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBjb2xvcnMgPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICAgICAgdGhpcy5wYWxldHRlcyA9IFt0aGlzLnByaW1lcnlDb2xvcixcclxuICAgICAgICAuLi5jb2xvcnNcclxuICAgICAgICBdO1xyXG4gICAgICAgIHdoaWxlICh0aGlzLnJlY29yZHMubGVuZ3RoID4gdGhpcy5wYWxldHRlcy5sZW5ndGgpXHJcbiAgICAgICAgICB0aGlzLnBhbGV0dGVzLnB1c2goLi4uY29sb3JzKTtcclxuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZVZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5kdXJhdGlvbkF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpLFxyXG4gICAgICAgICAgdGhpcy5zdWJUaXRsZSA9IHRoaXMuc3RhbmRhcmRBdmcgP1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGFuZGFyZFZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5zdGFuZGFyZEF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpIDogbnVsbDtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGxpbmVhclRvb2x0aXBSZW5kZXIoZXZ0OiBJVFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgY29uc3QgaW5kZXggPSBldnQuYXhpcy5wb2ludGVycy5pbmRleE9mKGV2dC5wb2ludGVyKTtcclxuICAgIGV2dC5jb250ZW50ID0gdGhpcy5fdHJhbnNsYXRlLmdldChpbmRleCA9PT0gMCA/ICdBdmVyYWdlVmFsdWUnIDogJ1N0YW5kYXJkVmFsdWUnLCBkYXlqcy5kdXJhdGlvbihldnQucG9pbnRlci52YWx1ZSwgJ3MnKS5mb3JtYXQoJ0REOkhIOm1tJykpO1xyXG4gIH1cclxuICBoaWdobGlnaHQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5jaGFydC5oaWdobGlnaHRNb2R1bGUuY2x1c3RlclNlbGVjdGlvbih0aGlzLmNoYXJ0LCB7IHNlcmllczogaW5kZXggKyAxLCBwb2ludDogMCB9KTtcclxuICB9XHJcbiAgb25FeHBvcnQoKSB7XHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICAgICAgICB7IGluZGV4OiAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uLFxyXG4gICAgICAgICAgICAgIHsgaW5kZXg6IDIsIHdpZHRoOiAxNTAgfSBhcyBDb2x1bW4sXHJcbiAgICAgICAgICAgICAgeyBpbmRleDogMywgd2lkdGg6IDE1MCB9IGFzIENvbHVtbixcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgcm93czogW3tcclxuICAgICAgICAgICAgICBpbmRleDogMSxcclxuICAgICAgICAgICAgICBjZWxsczogW3tcclxuICAgICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ05hbWUnKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMixcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0aW1lJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdEdXJhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sIHtcclxuICAgICAgICAgICAgICAgIGluZGV4OiAzLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0RldmlhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICB9IGFzIFJvdywgLi4udGhpcy5yZWNvcmRzIS5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMiArIGksXHJcbiAgICAgICAgICAgICAgICBjZWxsczogW1xyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ2xlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAyLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXlqcy5kdXJhdGlvbihyLmR1cmF0aW9uQXZnLCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLmRldmlhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfV1cclxuICAgICAgICAgICAgICB9IGFzIFJvd1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICldLFxyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXQsXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RoaXMuX3JlcG9ydFJlZi5uYW1lfS54bHN4YCk7XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZXZ0OiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQuZGF0YSEucG9pbnRZIGFzIGFueSwgJ3MnKS5mb3JtYXQoJ0REOkhIOm1tJyk7XHJcbiAgfVxyXG4gIGxhYmVsUmVuZGVyKGV2dDogSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgc3dpdGNoIChldnQuYXhpcy5uYW1lKSB7XHJcbiAgICAgIGNhc2UgJ3ByaW1hcnlZQXhpcyc6XHJcbiAgICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQudmFsdWUsICdzJykuaHVtYW5pemUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncHJpbWFyeVhBeGlzJzpcclxuICAgICAgICBldnQudGV4dCA9IGRheWpzKGV2dC52YWx1ZSAqIDEwMDApLmZvcm1hdCgnTU1NIFlZWVknKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgZXhwbG9yZShldnQ6IElQb2ludEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBwb2ludEluZGV4LCBzZXJpZXNJbmRleCB9ID0gZXZ0O1xyXG4gICAgaWYgKHNlcmllc0luZGV4ID09PSAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgeyBkb2N1bWVudElkIH0gPSAodGhpcy5jaGFydC5zZXJpZXNbc2VyaWVzSW5kZXhdLmRhdGFTb3VyY2UgYXMgYW55KVtwb2ludEluZGV4XSBhcyBJdGVtTW9kZWw7XHJcblxyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveCcsICdkJywgZG9jdW1lbnRJZC5lbmNvZGVJZCgpXSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgRGF0YU1vZGVsIHtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBpdGVtczogSXRlbU1vZGVsW107XHJcbn1cclxuaW50ZXJmYWNlIEl0ZW1Nb2RlbCB7XHJcbiAgZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gIGRhdGU6IG51bWJlcjtcclxuICBzdGFuZGFyZFRpbWU/OiBudW1iZXI7XHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuICBpc0ZZSTogYm9vbGVhbjtcclxuICBhY3Rpb25JZDogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBSZWNvcmQge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZEF2Zz86IG51bWJlcjtcclxuICBkZXZpYXRpb24/OiBudW1iZXI7XHJcbiAgaXRlbXM6IEl0ZW1Nb2RlbFtdO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiIsIiBAaWYocmVjb3Jkcykge1xyXG48IS0tPGRpdiBjbGFzcz1cImxlZ2VuZFwiPlxyXG4gIEBmb3IgKHIgb2YgcmVjb3JkczsgdHJhY2sgcjsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICA8ZGl2IChtb3VzZW92ZXIpPVwiaGlnaGxpZ2h0KGkpXCI+XHJcbiAgICA8ZWpzLWxpbmVhcmdhdWdlIHN0eWxlPVwiZGlzcGxheTogYmxvY2tcIiBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIiBvcmllbnRhdGlvbj1cIkhvcml6b250YWxcIiBbdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJsaW5lYXJUb29sdGlwXCIgd2lkdGg9XCIxOTBweFwiIGhlaWdodD1cIjQ1cHhcIiBbdGl0bGVdPVwici5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3RpdGxlU3R5bGVdPVwibGluZWFyVGl0bGVTdHlsZVwiICh0b29sdGlwUmVuZGVyKT1cImxpbmVhclRvb2x0aXBSZW5kZXIoJGV2ZW50KVwiPlxyXG4gICAgICA8ZS1heGVzPlxyXG4gICAgICAgIDxlLWF4aXMgW21pbmltdW1dPSdkdXJhdGlvbk1pbiAtIDEnIFttYXhpbXVtXT0nZHVyYXRpb25NYXggKyAxJyBbbWlub3JUaWNrc109XCJtaW5vclRpY2tzXCIgW21ham9yVGlja3NdPVwibWFqb3JUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxTdHlsZV09XCJsYWJlbFN0eWxlXCIgW2xpbmVdPVwibGluZVwiIGZvcm1hdD0ncDEnPlxyXG4gICAgICAgICAgPGUtcG9pbnRlcnM+XHJcbiAgICAgICAgICAgIDxlLXBvaW50ZXIgW3ZhbHVlXT1cInIuZHVyYXRpb25BdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPTdcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPTdcclxuICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdNYXJrZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT0nYWNjZW50Q29sb3InXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249J091dHNpZGUnIFthbmltYXRpb25EdXJhdGlvbl09XCIxNTAwXCI+PC9lLXBvaW50ZXI+XHJcbiAgICAgICAgICAgIEBpZihyLnN0YW5kYXJkQXZnKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgIDxlLXBvaW50ZXIgbWFya2VyVHlwZT0nUmVjdGFuZ2xlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyLnN0YW5kYXJkQXZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj0nQ3Jvc3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByaW1lcnlDb2xvclwiPjwvZS1wb2ludGVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2UtcG9pbnRlcnM+XHJcbiAgICAgICAgPC9lLWF4aXM+XHJcbiAgICAgIDwvZS1heGVzPlxyXG4gICAgPC9lanMtbGluZWFyZ2F1Z2U+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj4tLT5cclxuPGVqcy1jaGFydCBzdHlsZT1cImZsZXg6IDEgMSAxMDAlOyBkaXNwbGF5OiBibG9ja1wiIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgc2VsZWN0aW9uTW9kZT0nU2VyaWVzJ1xyXG4gICAgICAgICAgIFttYXJnaW5dPSdtYXJnaW4nXHJcbiAgICAgICAgICAgW3RpdGxlXT0ndGl0bGUnXHJcbiAgICAgICAgICAgW3RpdGxlU3R5bGVdPSd0aXRsZVN0eWxlJ1xyXG4gICAgICAgICAgIFtzdWJUaXRsZV09J3N1YlRpdGxlJ1xyXG4gICAgICAgICAgIFtzdWJUaXRsZVN0eWxlXT0ndGl0bGVTdHlsZSdcclxuICAgICAgICAgICBbdG9vbHRpcF09J3Rvb2x0aXAnXHJcbiAgICAgICAgICAgW2VuYWJsZUFuaW1hdGlvbl09dHJ1ZVxyXG4gICAgICAgICAgICh0b29sdGlwUmVuZGVyKT0ndG9vbHRpcFJlbmRlcigkZXZlbnQpJ1xyXG4gICAgICAgICAgIChheGlzTGFiZWxSZW5kZXIpPSdsYWJlbFJlbmRlcigkZXZlbnQpJ1xyXG4gICAgICAgICAgIFtwYWxldHRlc109J3BhbGV0dGVzJ1xyXG4gICAgICAgICAgIFtlbmFibGVSdGxdPSdpbnZlcnNlJ1xyXG4gICAgICAgICAgIGhlaWdodD0nMTAwJSdcclxuICAgICAgICAgICBoaWdobGlnaHRNb2RlPSdTZXJpZXMnXHJcbiAgICAgICAgICAgW2xlZ2VuZFNldHRpbmdzXT0nbGVnZW5kU2V0dGluZ3MnXHJcbiAgICAgICAgICAgKHBvaW50Q2xpY2spPSdleHBsb3JlKCRldmVudCknPlxyXG4gIDxlLXNlcmllcy1jb2xsZWN0aW9uPlxyXG4gICAgPGUtc2VyaWVzIFtuYW1lXT1cIidTdGFuZGFyZCd8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICB4TmFtZT0nZGF0ZSdcclxuICAgICAgICAgICAgICB5TmFtZT0nc3RhbmRhcmRUaW1lJ1xyXG4gICAgICAgICAgICAgIHR5cGU9J1BvbGFyJ1xyXG4gICAgICAgICAgICAgIGRyYXdUeXBlPSdMaW5lJ1xyXG4gICAgICAgICAgICAgIFttYXJrZXJdPSdzdGFuZGFyZE1hcmtlcidcclxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09J3N0YW5kYXJkcyc+XHJcbiAgICA8L2Utc2VyaWVzPlxyXG4gICAgQGZvciAociBvZiByZWNvcmRzOyB0cmFjayByKVxyXG4gICAge1xyXG4gICAgPGUtc2VyaWVzIFtkYXRhU291cmNlXT0nci5pdGVtcydcclxuICAgICAgICAgICAgICBbbmFtZV09J3IubmFtZSdcclxuICAgICAgICAgICAgICB0eXBlPSdQb2xhcidcclxuICAgICAgICAgICAgICBkcmF3VHlwZT0nTGluZSdcclxuICAgICAgICAgICAgICBbbWFya2VyXT0nbWFya2VyJ1xyXG4gICAgICAgICAgICAgIHhOYW1lPSdkYXRlJ1xyXG4gICAgICAgICAgICAgIHlOYW1lPSdkdXJhdGlvbic+PC9lLXNlcmllcz5cclxuICAgIH1cclxuICA8L2Utc2VyaWVzLWNvbGxlY3Rpb24+XHJcbjwvZWpzLWNoYXJ0PlxyXG59XHJcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { MatTableDataSource } from '@angular/material/table';
3
- import { MatSort } from '@angular/material/sort';
4
- import { MatPaginator } from '@angular/material/paginator';
5
- import { listAnimation, itemAnimation } from '../../core/animations';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../report-ref";
8
- import * as i2 from "../../core/info/document-info.service";
9
- import * as i3 from "../../core/session.service";
10
- import * as i4 from "../../cube/cube.service";
11
- import * as i5 from "@angular/material/table";
12
- import * as i6 from "@angular/material/sort";
13
- import * as i7 from "@angular/material/paginator";
14
- import * as i8 from "@angular/material/icon";
15
- import * as i9 from "../../core/identity/identity.component";
16
- import * as i10 from "../../core/popup/tooltip.directive";
17
- import * as i11 from "@angular/common";
18
- import * as i12 from "../../core/pipes/translate.pipe";
19
- import * as i13 from "../../core/pipes/state.pipe";
20
- const PAGE_SIZE = 12;
21
- /** */
22
- export class CubeDocumentsTableComponent {
23
- constructor(ref, _info, session, _service) {
24
- this._info = _info;
25
- this._service = _service;
26
- this.PAGE_SIZE = PAGE_SIZE;
27
- this.displayColumns = ['number', 'subject', 'stateId', 'userId', 'value'];
28
- this.CURRENCY_FORMAT = this._service.digitsInfo;
29
- this.paging = true;
30
- const { cube: name } = ref.options;
31
- const cube = name ? session.profile.cubes.find(c => c.name === name) :
32
- session.profile.cubes[0];
33
- this.DEFAULT_CURRENCY = cube.currencyCode || this._service.currencyCode;
34
- }
35
- onBind(data) {
36
- this.dataSource = new MatTableDataSource(data);
37
- this.dataSource.sort = this.sort;
38
- this.dataSource.paginator = this.paginator;
39
- this.paging = data.length > PAGE_SIZE;
40
- }
41
- open(id) {
42
- this._info.open(id);
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CubeDocumentsTableComponent, deps: [{ token: i1.ReportRef }, { token: i2.DocumentInfo }, { token: i3.SessionService }, { token: i4.CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: CubeDocumentsTableComponent, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" [@list]=\"PAGE_SIZE\">\r\n <ng-container matColumnDef=\"number\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element.id)\">{{element.number}}</a> </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"subject\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.subject}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"userId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Name' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <bizdoc-identity-name [identity]=\"element.userId\" [by]=\"element.byId\"></bizdoc-identity-name>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"stateId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Status' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> <span class=\"document-state\" [style.color]=\"element.stateId|state : 'color'\" [style.borderColor]=\"element.stateId|state : 'color'\">{{element.stateId | state}}</span> </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\" class=\"figure\">\r\n {{element.value | currency : (element.currencyCode || DEFAULT_CURRENCY) : 'symbol' : CURRENCY_FORMAT }}\r\n @if (element.partial) {\r\n <mat-icon [bizdocTooltip]=\"element.total | currency : element.currencyCode : 'symbol' : CURRENCY_FORMAT\">error_outline</mat-icon>\r\n }\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row [@item] *matRowDef=\"let element; columns: displayColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons [style.display]=\"paging ? '' : 'none'\"></mat-paginator>\r\n", styles: ["table{width:100%}td.figure{text-align:right}.document-state{border-radius:2px 3px;padding:4px;border-width:1px;border-style:solid}\n"], dependencies: [{ kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i11.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.StatePipe, name: "state" }], animations: [listAnimation, itemAnimation] }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CubeDocumentsTableComponent, decorators: [{
48
- type: Component,
49
- args: [{ animations: [listAnimation, itemAnimation], template: "<table mat-table matSort [dataSource]=\"dataSource\" [@list]=\"PAGE_SIZE\">\r\n <ng-container matColumnDef=\"number\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element.id)\">{{element.number}}</a> </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"subject\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.subject}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"userId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Name' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <bizdoc-identity-name [identity]=\"element.userId\" [by]=\"element.byId\"></bizdoc-identity-name>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"stateId\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Status' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> <span class=\"document-state\" [style.color]=\"element.stateId|state : 'color'\" [style.borderColor]=\"element.stateId|state : 'color'\">{{element.stateId | state}}</span> </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\" class=\"figure\">\r\n {{element.value | currency : (element.currencyCode || DEFAULT_CURRENCY) : 'symbol' : CURRENCY_FORMAT }}\r\n @if (element.partial) {\r\n <mat-icon [bizdocTooltip]=\"element.total | currency : element.currencyCode : 'symbol' : CURRENCY_FORMAT\">error_outline</mat-icon>\r\n }\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row [@item] *matRowDef=\"let element; columns: displayColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons [style.display]=\"paging ? '' : 'none'\"></mat-paginator>\r\n", styles: ["table{width:100%}td.figure{text-align:right}.document-state{border-radius:2px 3px;padding:4px;border-width:1px;border-style:solid}\n"] }]
50
- }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.DocumentInfo }, { type: i3.SessionService }, { type: i4.CubeService }], propDecorators: { sort: [{
51
- type: ViewChild,
52
- args: [MatSort]
53
- }], paginator: [{
54
- type: ViewChild,
55
- args: [MatPaginator]
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdGFibGUtZG9jdW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdGFibGUtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBSXJFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQUFNO0FBTU4sTUFBTSxPQUFPLDJCQUEyQjtJQVN0QyxZQUFZLEdBQXNDLEVBQVUsS0FBbUIsRUFDN0UsT0FBdUIsRUFDZixRQUFxQjtRQUY2QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRXJFLGFBQVEsR0FBUixRQUFRLENBQWE7UUFWL0IsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNiLG1CQUFjLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckUsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUNwRCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBUVosTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUUsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQzFFLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBYTtRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksQ0FBQyxFQUFVO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQzs4R0F6QlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMEZBTTNCLE9BQU8sNEVBQ1AsWUFBWSxnREMzQnpCLHNrRUFnQ0EsbS9FRGRjLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQzs7MkZBRS9CLDJCQUEyQjtrQkFMdkMsU0FBUztpQ0FHSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7Z0tBUXRCLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFDTyxTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi9jb3JlL2luZm8vZG9jdW1lbnQtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbGlzdEFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4uL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBNb2RlbCwgRG9jdW1lbnRzU2V0dGluZ3NNb2RlbCwgfSBmcm9tICcuL2RvY3VtZW50cy5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgUEFHRV9TSVpFID0gMTI7XHJcblxyXG4vKiogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtZG9jdW1lbnRzLmNvbXBvbmVudC5jc3MnXSxcclxuICBhbmltYXRpb25zOiBbbGlzdEFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVEb2N1bWVudHNUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIFJlcG9ydENvbXBvbmVudDxNb2RlbD4ge1xyXG4gIFBBR0VfU0laRSA9IFBBR0VfU0laRTtcclxuICByZWFkb25seSBkaXNwbGF5Q29sdW1ucyA9IFsnbnVtYmVyJywgJ3N1YmplY3QnLCAnc3RhdGVJZCcsICd1c2VySWQnLCAndmFsdWUnXTtcclxuICByZWFkb25seSBDVVJSRU5DWV9GT1JNQVQgPSB0aGlzLl9zZXJ2aWNlLmRpZ2l0c0luZm87XHJcbiAgcGFnaW5nID0gdHJ1ZTtcclxuICByZWFkb25seSBERUZBVUxUX0NVUlJFTkNZOiBzdHJpbmc7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBjb25zdHJ1Y3RvcihyZWY6IFJlcG9ydFJlZjxEb2N1bWVudHNTZXR0aW5nc01vZGVsPiwgcHJpdmF0ZSBfaW5mbzogRG9jdW1lbnRJbmZvLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSkge1xyXG4gICAgY29uc3QgeyBjdWJlOiBuYW1lIH0gPSByZWYub3B0aW9ucztcclxuICAgIGNvbnN0IGN1YmUgPSBuYW1lID8gc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IG5hbWUpISA6XHJcbiAgICAgIHNlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuREVGQVVMVF9DVVJSRU5DWSA9IGN1YmUuY3VycmVuY3lDb2RlIHx8IHRoaXMuX3NlcnZpY2UuY3VycmVuY3lDb2RlO1xyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogTW9kZWxbXSkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICB9XHJcbiAgb3BlbihpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9pbmZvLm9wZW4oaWQpO1xyXG4gIH1cclxufVxyXG4iLCI8dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFtAbGlzdF09XCJQQUdFX1NJWkVcIj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm51bWJlclwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snTnVtYmVyJyB8IHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IDxhIChjbGljayk9XCJvcGVuKGVsZW1lbnQuaWQpXCI+e3tlbGVtZW50Lm51bWJlcn19PC9hPiA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3ViamVjdFwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snU3ViamVjdCcgfCB0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuc3ViamVjdH19IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1c2VySWRcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ICdOYW1lJyB8IHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSBbaWRlbnRpdHldPVwiZWxlbWVudC51c2VySWRcIiBbYnldPVwiZWxlbWVudC5ieUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGF0ZUlkXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydTdGF0dXMnIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4gPHNwYW4gY2xhc3M9XCJkb2N1bWVudC1zdGF0ZVwiIFtzdHlsZS5jb2xvcl09XCJlbGVtZW50LnN0YXRlSWR8c3RhdGUgOiAnY29sb3InXCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cImVsZW1lbnQuc3RhdGVJZHxzdGF0ZSA6ICdjb2xvcidcIj57e2VsZW1lbnQuc3RhdGVJZCB8IHN0YXRlfX08L3NwYW4+IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2YWx1ZVwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snVmFsdWUnIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBjbGFzcz1cImZpZ3VyZVwiPlxyXG4gICAgICB7e2VsZW1lbnQudmFsdWUgfCBjdXJyZW5jeSA6IChlbGVtZW50LmN1cnJlbmN5Q29kZSB8fCBERUZBVUxUX0NVUlJFTkNZKSA6ICdzeW1ib2wnIDogQ1VSUkVOQ1lfRk9STUFUIH19XHJcbiAgICAgIEBpZiAoZWxlbWVudC5wYXJ0aWFsKSB7XHJcbiAgICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cImVsZW1lbnQudG90YWwgfCBjdXJyZW5jeSA6IGVsZW1lbnQuY3VycmVuY3lDb2RlIDogJ3N5bWJvbCcgOiBDVVJSRU5DWV9GT1JNQVRcIj5lcnJvcl9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgfVxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyBbQGl0ZW1dICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgW3BhZ2VTaXplXT1cIlBBR0VfU0laRVwiIGhpZGVQYWdlU2l6ZSBzaG93Rmlyc3RMYXN0QnV0dG9ucyBbc3R5bGUuZGlzcGxheV09XCJwYWdpbmcgPyAnJyA6ICdub25lJ1wiPjwvbWF0LXBhZ2luYXRvcj5cclxuIl19
@@ -1,62 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component } from "@angular/core";
3
- import { BizDoc } from "../../core/decorators";
4
- import { isArray } from "../../core/functions";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../report-ref";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "../../core/session.service";
9
- import * as i4 from "../../cube/filter/filter.component";
10
- /** */
11
- let UsageReportArgs = class UsageReportArgs {
12
- constructor(ref, _fb, _session) {
13
- this._fb = _fb;
14
- this._session = _session;
15
- this.exclude = [];
16
- const { cube: name, xAxis, series, exclude } = ref.options;
17
- this.cube = name;
18
- if (xAxis) {
19
- if (isArray(xAxis))
20
- this.exclude = [...xAxis];
21
- else
22
- this.exclude.push(xAxis);
23
- }
24
- if (series) {
25
- if (isArray(series))
26
- this.exclude = this.exclude.concat(series);
27
- else
28
- this.exclude.push(series);
29
- }
30
- if (exclude) {
31
- if (isArray(exclude))
32
- this.exclude = this.exclude.concat(exclude);
33
- else
34
- this.exclude.push(exclude);
35
- }
36
- const cube = name ? this._session.profile.cubes.find(c => c.name == name)
37
- : this._session.profile.cubes[0], controls = {};
38
- cube.axes.filter(a => a.selectionMode !== 'None').
39
- forEach(a => controls[a.name] = this._fb.control(null));
40
- this.form = this._fb.group(controls);
41
- }
42
- ngOnInit() {
43
- this.values = this.form.value;
44
- }
45
- valuesChange(axes) {
46
- this.form.reset({}, { emitEvent: false });
47
- this.form.patchValue(axes);
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageReportArgs, deps: [{ token: i1.ReportRef }, { token: i2.FormBuilder }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: UsageReportArgs, selector: "ng-component", ngImport: i0, template: "<bizdoc-cube-filter [cube]=\"cube\"\r\n [axes]=\"values\"\r\n (axesChange)=\"valuesChange($event)\"></bizdoc-cube-filter>\r\n", dependencies: [{ kind: "component", type: i4.CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }] }); }
51
- };
52
- UsageReportArgs = __decorate([
53
- BizDoc({
54
- selector: 'bizdoc-cube-arguments'
55
- })
56
- ], UsageReportArgs);
57
- export { UsageReportArgs };
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageReportArgs, decorators: [{
59
- type: Component,
60
- args: [{ template: "<bizdoc-cube-filter [cube]=\"cube\"\r\n [axes]=\"values\"\r\n (axesChange)=\"valuesChange($event)\"></bizdoc-cube-filter>\r\n" }]
61
- }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.FormBuilder }, { type: i3.SessionService }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtYXJncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy9jdWJlL3VzYWdlLWFyZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS91c2FnZS1hcmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUsvQyxNQUFNO0FBUUosSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUtyQixZQUFZLEdBQWtDLEVBQ3BDLEdBQWdCLEVBQ2hCLFFBQXdCO1FBRHhCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFMbEMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQU1yQixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQzs7Z0JBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7O2dCQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztnQkFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFFO1lBQ3hFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLFFBQVEsR0FBRyxFQUE0QixDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUM7WUFDL0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1YsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDMUMsQ0FBQztRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBNEI7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0F0Q0ssZUFBZTtrR0FBZixlQUFlLG9EQ2pCdkIscUtBR0E7O0FEY1EsZUFBZTtJQUp0QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsdUJBQXVCO0tBQ2xDLENBQUM7R0FFTSxlQUFlLENBdUN0Qjs7MkZBdkNPLGVBQWU7a0JBUHRCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQXJndW1lbnRzQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSBcIi4uL3JlcG9ydC1yZWZcIjtcclxuaW1wb3J0IHsgQXJncywgVXNhZ2VTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4vdXNhZ2UtYmFzZVwiO1xyXG5cclxuLyoqICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAndXNhZ2UtYXJncy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1hcmd1bWVudHMnXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFVzYWdlUmVwb3J0QXJncyBpbXBsZW1lbnRzIE9uSW5pdCwgQXJndW1lbnRzQ29tcG9uZW50PEFyZ3M+IHtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgZXhjbHVkZTogc3RyaW5nW10gPSBbXTtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBBcmdzO1xyXG4gIGNvbnN0cnVjdG9yKHJlZjogUmVwb3J0UmVmPFVzYWdlU2V0dGluZ3NNb2RlbD4sXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgY29uc3QgeyBjdWJlOiBuYW1lLCB4QXhpcywgc2VyaWVzLCBleGNsdWRlIH0gPSByZWYub3B0aW9ucztcclxuICAgIHRoaXMuY3ViZSA9IG5hbWU7XHJcbiAgICBpZiAoeEF4aXMpIHtcclxuICAgICAgaWYgKGlzQXJyYXkoeEF4aXMpKSB0aGlzLmV4Y2x1ZGUgPSBbLi4ueEF4aXNdO1xyXG4gICAgICBlbHNlIHRoaXMuZXhjbHVkZS5wdXNoKHhBeGlzKTtcclxuICAgIH1cclxuICAgIGlmIChzZXJpZXMpIHtcclxuICAgICAgaWYgKGlzQXJyYXkoc2VyaWVzKSkgdGhpcy5leGNsdWRlID0gdGhpcy5leGNsdWRlLmNvbmNhdChzZXJpZXMpO1xyXG4gICAgICBlbHNlIHRoaXMuZXhjbHVkZS5wdXNoKHNlcmllcyk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXhjbHVkZSkge1xyXG4gICAgICBpZiAoaXNBcnJheShleGNsdWRlKSkgdGhpcy5leGNsdWRlID0gdGhpcy5leGNsdWRlLmNvbmNhdChleGNsdWRlKTtcclxuICAgICAgZWxzZSB0aGlzLmV4Y2x1ZGUucHVzaChleGNsdWRlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGN1YmUgPSBuYW1lID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT0gbmFtZSkhXHJcbiAgICAgIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdLFxyXG4gICAgICBjb250cm9scyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcblxyXG4gICAgY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnKS5cclxuICAgICAgZm9yRWFjaChhID0+XHJcbiAgICAgICAgY29udHJvbHNbYS5uYW1lXSA9IHRoaXMuX2ZiLmNvbnRyb2wobnVsbClcclxuICAgICAgKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKGNvbnRyb2xzKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlcyA9IHRoaXMuZm9ybS52YWx1ZTtcclxuICB9XHJcbiAgdmFsdWVzQ2hhbmdlKGF4ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgIHRoaXMuZm9ybS5yZXNldCh7fSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoYXhlcyk7XHJcbiAgfVxyXG59XHJcbiIsIjxiaXpkb2MtY3ViZS1maWx0ZXIgW2N1YmVdPVwiY3ViZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F4ZXNdPVwidmFsdWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAoYXhlc0NoYW5nZSk9XCJ2YWx1ZXNDaGFuZ2UoJGV2ZW50KVwiPjwvYml6ZG9jLWN1YmUtZmlsdGVyPlxyXG4iXX0=
@@ -1,79 +0,0 @@
1
- import { Directive } from "@angular/core";
2
- import { Subject } from "rxjs";
3
- import { isArray } from "../../core/functions";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../core/router";
6
- import * as i2 from "../report-ref";
7
- import * as i3 from "../../core/datasource.service";
8
- import * as i4 from "../../cube/cube.service";
9
- import * as i5 from "../../core/session.service";
10
- import * as i6 from "../../core/prompt.service";
11
- import * as i7 from "@angular/cdk/bidi";
12
- import * as i8 from "../../core/translate.service";
13
- export class UsageReportBase {
14
- static { this.nextId = 0; }
15
- constructor(_router, _reportRef, _type, _service, _session, _sb, _dir, _translate) {
16
- this._router = _router;
17
- this._reportRef = _reportRef;
18
- this._type = _type;
19
- this._service = _service;
20
- this._session = _session;
21
- this._sb = _sb;
22
- this._dir = _dir;
23
- this._translate = _translate;
24
- this.id = `cube-usage-${UsageReportBase.nextId++}`;
25
- this.enableRtl = this._session.inverse;
26
- this._fractionDigits = this._service.fractionDigits;
27
- this._destroy = new Subject();
28
- this._options = _reportRef.options;
29
- // set defaults
30
- const { series, collapse, indices, cube: name, yTitle } = this._options;
31
- this._cube = name ? this._session.profile.cubes.find(c => c.name === name) : this._session.profile.cubes[0];
32
- if (this._cube.indices)
33
- this._indices = indices ?
34
- this._cube.indices.filter(i => isArray(indices) ? indices.indexOf(i.name) > -1 : indices === i.name) :
35
- this._cube.indices;
36
- this._series = series ? this._cube.axes.filter(a => isArray(series) ? series.indexOf(a.name) > -1 : a.name === series) :
37
- this._cube.axes.filter(a => a.combination && a.selectionMode !== 'None');
38
- this.currencyCode = this._cube.currencyCode;
39
- this._expandAll = collapse !== true;
40
- this._yTitle = yTitle || this._translate.get('Usage');
41
- }
42
- ngOnInit() {
43
- // resize on filter open
44
- this._reportRef.resize().
45
- subscribe(d => {
46
- this.height = `${d.height - 5}px`;
47
- this.width = `${d.width}px`;
48
- this.onResize(d);
49
- });
50
- }
51
- onExport() {
52
- const { title } = this._session.profile.reports.find(r => r.name === this._reportRef.name);
53
- this._service.nameOf(this._args || {}, this._cube.name).
54
- subscribe(o => this.onExportUsage(o ? `${title} ${o}` : title));
55
- }
56
- onBind(result, args) {
57
- this._args = args;
58
- this.onData(result);
59
- }
60
- browse(axes, index) {
61
- const { scope, filters } = this._options;
62
- const queryParams = { ...filters, ...this._args, ...axes };
63
- this._router.navigate(['cube', this._cube.name, 'explore'], {
64
- queryParams,
65
- state: { scope, index }
66
- });
67
- }
68
- ngOnDestroy() {
69
- this._destroy.next();
70
- this._destroy.complete();
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageReportBase, deps: [{ token: i1.RouterImpl }, { token: i2.ReportRef }, { token: i3.DatasourceService }, { token: i4.CubeService }, { token: i5.SessionService }, { token: i6.PromptService }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
73
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: UsageReportBase, ngImport: i0 }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageReportBase, decorators: [{
76
- type: Directive
77
- }], ctorParameters: () => [{ type: i1.RouterImpl }, { type: i2.ReportRef }, { type: i3.DatasourceService }, { type: i4.CubeService }, { type: i5.SessionService }, { type: i6.PromptService }, { type: i7.Directionality }, { type: i8.TranslateService }] });
78
- ;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBVy9DLE1BQU0sT0FBZ0IsZUFBZTthQUM1QixXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFnQmxCLFlBQ1UsT0FBbUIsRUFDakIsVUFBeUMsRUFDekMsS0FBd0IsRUFDeEIsUUFBcUIsRUFDckIsUUFBd0IsRUFDeEIsR0FBa0IsRUFDbEIsSUFBb0IsRUFDcEIsVUFBNEI7UUFQOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUErQjtRQUN6QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUF2Qi9CLE9BQUUsR0FBRyxjQUFjLGVBQWUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQzlDLGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQVV4QixvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBRy9DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBV2hELElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxlQUFlO1FBQ2Ys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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFJRCxNQUFNLENBQUMsTUFBYyxFQUFFLElBQVc7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ1MsTUFBTSxDQUFDLElBQW1DLEVBQUUsS0FBYztRQUNsRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDekMsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFDeEQ7WUFDRSxXQUFXO1lBQ1gsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUN4QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNFbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTOztBQStGVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBEaXJlY3RpdmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQ2hhcnRTZXJpZXNUeXBlIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBDdWJlQXhpcywgQ3ViZSwgQ3ViZUluZGV4LCBBeGlzVmFsdWUsIERpbWVudGlvbnMsIEF4ZXNNYXAgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jdWJlL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSBcIi4uL3JlcG9ydC1yZWZcIjtcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gXCIuLi8uLi9jb3JlL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tIFwiLi4vLi4vY29yZS9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5ARGlyZWN0aXZlKCkgLyogcmVxdWlyZWQgYnkgYW5ndWxhciBvbiBiYXNlIGNsYXNzICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVc2FnZVJlcG9ydEJhc2UgaW1wbGVtZW50cyBSZXBvcnRDb21wb25lbnQ8SXRlbSwgQXJncz4sIE9uRGVzdHJveSB7XHJcbiAgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcmVhZG9ubHkgaWQgPSBgY3ViZS11c2FnZS0ke1VzYWdlUmVwb3J0QmFzZS5uZXh0SWQrK31gO1xyXG4gIHJlYWRvbmx5IGVuYWJsZVJ0bCA9IHRoaXMuX3Nlc3Npb24uaW52ZXJzZTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3NlcmllczogQ3ViZUF4aXNbXTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2N1YmU6IEN1YmU7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbmRpY2VzOiBDdWJlSW5kZXhbXTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3lUaXRsZTogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBfZXhwYW5kQWxsOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IGN1cnJlbmN5Q29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIHdpZHRoOiBzdHJpbmc7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcHRpb25zOiBVc2FnZVNldHRpbmdzTW9kZWw7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9mcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHM7XHJcbiAgcHJvdGVjdGVkIF9kYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9W107XHJcbiAgcHJpdmF0ZSBfYXJncz86IEFyZ3M7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHByb3RlY3RlZCBfcmVwb3J0UmVmOiBSZXBvcnRSZWY8VXNhZ2VTZXR0aW5nc01vZGVsPixcclxuICAgIHByb3RlY3RlZCBfdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IF9yZXBvcnRSZWYub3B0aW9ucztcclxuICAgIC8vIHNldCBkZWZhdWx0c1xyXG4gICAgY29uc3QgeyBzZXJpZXMsIGNvbGxhcHNlLCBpbmRpY2VzLCBjdWJlOiBuYW1lLCB5VGl0bGUgfSA9IHRoaXMuX29wdGlvbnM7XHJcbiAgICB0aGlzLl9jdWJlID0gbmFtZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKSEgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAodGhpcy5fY3ViZS5pbmRpY2VzKVxyXG4gICAgICB0aGlzLl9pbmRpY2VzID0gaW5kaWNlcyA/XHJcbiAgICAgICAgdGhpcy5fY3ViZS5pbmRpY2VzLmZpbHRlcihpID0+IGlzQXJyYXkoaW5kaWNlcykgPyBpbmRpY2VzLmluZGV4T2YoaS5uYW1lKSA+IC0xIDogaW5kaWNlcyA9PT0gaS5uYW1lKSA6XHJcbiAgICAgICAgdGhpcy5fY3ViZS5pbmRpY2VzO1xyXG4gICAgdGhpcy5fc2VyaWVzID0gc2VyaWVzID8gdGhpcy5fY3ViZS5heGVzLmZpbHRlcihhID0+IGlzQXJyYXkoc2VyaWVzKSA/IHNlcmllcy5pbmRleE9mKGEubmFtZSkgPiAtMSA6IGEubmFtZSA9PT0gc2VyaWVzKSA6XHJcbiAgICAgIHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiBhLmNvbWJpbmF0aW9uICYmIGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnKTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLl9leHBhbmRBbGwgPSBjb2xsYXBzZSAhPT0gdHJ1ZTtcclxuICAgIHRoaXMuX3lUaXRsZSA9IHlUaXRsZSB8fCB0aGlzLl90cmFuc2xhdGUuZ2V0KCdVc2FnZScpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHJlc2l6ZSBvbiBmaWx0ZXIgb3BlblxyXG4gICAgdGhpcy5fcmVwb3J0UmVmLnJlc2l6ZSgpLlxyXG4gICAgICBzdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBgJHtkLmhlaWdodCAtIDV9cHhgO1xyXG4gICAgICAgIHRoaXMud2lkdGggPSBgJHtkLndpZHRofXB4YDtcclxuICAgICAgICB0aGlzLm9uUmVzaXplKGQpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb25FeHBvcnQoKSB7XHJcbiAgICBjb25zdCB7IHRpdGxlIH0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucmVwb3J0cy5maW5kKHIgPT4gci5uYW1lID09PSB0aGlzLl9yZXBvcnRSZWYubmFtZSkhO1xyXG4gICAgdGhpcy5fc2VydmljZS5uYW1lT2YodGhpcy5fYXJncyB8fCB7fSwgdGhpcy5fY3ViZS5uYW1lKS5cclxuICAgICAgc3Vic2NyaWJlKG8gPT5cclxuICAgICAgICB0aGlzLm9uRXhwb3J0VXNhZ2UobyA/IGAke3RpdGxlfSAke299YCA6IHRpdGxlKSk7XHJcbiAgfVxyXG4gIGFic3RyYWN0IG9uRXhwb3J0VXNhZ2UobmFtZTogc3RyaW5nKTogdm9pZDtcclxuICBhYnN0cmFjdCBvblJlc2l6ZShkaW0/OiBEaW1lbnRpb25zKTogdm9pZDtcclxuICBhYnN0cmFjdCBvbkRhdGEoZGF0YTogSXRlbVtdKTogdm9pZDtcclxuICBvbkJpbmQocmVzdWx0OiBJdGVtW10sIGFyZ3M/OiBBcmdzKSB7XHJcbiAgICB0aGlzLl9hcmdzID0gYXJncztcclxuICAgIHRoaXMub25EYXRhKHJlc3VsdCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBicm93c2UoYXhlczogeyBbYXhpczogc3RyaW5nXTogQXhpc1ZhbHVlIH0sIGluZGV4Pzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IHNjb3BlLCBmaWx0ZXJzIH0gPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7IC4uLmZpbHRlcnMsIC4uLnRoaXMuX2FyZ3MsIC4uLmF4ZXMgfTtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2N1YmUnLCB0aGlzLl9jdWJlLm5hbWUsICdleHBsb3JlJ10sXHJcbiAgICAgIHtcclxuICAgICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgICBzdGF0ZTogeyBzY29wZSwgaW5kZXggfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IHR5cGUgSXRlbSA9IHtcclxuICBbbmFtZTogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcilcclxufSAmIHtcclxuICB1c2FnZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2FnZVNldHRpbmdzTW9kZWwge1xyXG4gIHhBeGlzPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBleGNsdWRlOiBzdHJpbmdbXTtcclxuICB5VGl0bGU/OiBzdHJpbmc7XHJcbiAgaW5kaWNlcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0U2VyaWVzVHlwZTtcclxuICBjb2xsYXBzZT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIFVzYWdlVHlwZSA9ICdDaGFydCcgfCAnUGl2b3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcmdzIHsgW2F4aXM6IHN0cmluZ106IHN0cmluZyB9XHJcbiJdfQ==