@bizdoc/core 1.13.12 → 1.13.13

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 (1216) hide show
  1. package/bizdoc-core.d.ts +5 -0
  2. package/esm2020/bizdoc-core.mjs +5 -0
  3. package/esm2020/lib/admin/admin-dismiss.service.mjs +22 -0
  4. package/esm2020/lib/admin/admin-menu.component.mjs +27 -0
  5. package/esm2020/lib/admin/core/ace.input.mjs +147 -0
  6. package/esm2020/lib/admin/core/color-picker.input.mjs +208 -0
  7. package/esm2020/lib/admin/core/search.input.mjs +43 -0
  8. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +558 -0
  9. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +469 -0
  10. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +40 -0
  11. package/esm2020/lib/admin/document-trace/timeline.mjs +2 -0
  12. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +105 -0
  13. package/esm2020/lib/admin/form/form.resolve.service.mjs +17 -0
  14. package/esm2020/lib/admin/form/form.service.mjs +26 -0
  15. package/esm2020/lib/admin/form/workflow/node-ref.mjs +8 -0
  16. package/esm2020/lib/admin/form/workflow/node.component.mjs +128 -0
  17. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +90 -0
  18. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +408 -0
  19. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +161 -0
  20. package/esm2020/lib/admin/patterns/patterns.component.mjs +179 -0
  21. package/esm2020/lib/admin/permissions/permissions.component.mjs +97 -0
  22. package/esm2020/lib/admin/positions/positions-popup.component.mjs +74 -0
  23. package/esm2020/lib/admin/positions/positions.component.mjs +458 -0
  24. package/esm2020/lib/admin/profiler/profiler.component.mjs +260 -0
  25. package/esm2020/lib/admin/utility-ref.mjs +38 -0
  26. package/esm2020/lib/admin/utility-wrapper.component.mjs +51 -0
  27. package/esm2020/lib/admin/utility.pane.component.mjs +51 -0
  28. package/esm2020/lib/app.component.mjs +90 -0
  29. package/esm2020/lib/bizdoc.module.mjs +93 -0
  30. package/esm2020/lib/browse/browse-items.component.mjs +476 -0
  31. package/esm2020/lib/browse/browse.mobile.component.mjs +101 -0
  32. package/esm2020/lib/browse/browse.pane.component.mjs +149 -0
  33. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +315 -0
  34. package/esm2020/lib/browse/filter/filter.component.mjs +164 -0
  35. package/esm2020/lib/browse/folders-menu.component.mjs +51 -0
  36. package/esm2020/lib/chat/chat-info.mjs +69 -0
  37. package/esm2020/lib/chat/chat.mobile.component.mjs +26 -0
  38. package/esm2020/lib/chat/chat.service.mjs +122 -0
  39. package/esm2020/lib/chat/contacts.component.mjs +103 -0
  40. package/esm2020/lib/chat/contacts.pane.component.mjs +29 -0
  41. package/esm2020/lib/chat/conversation.component.mjs +193 -0
  42. package/esm2020/lib/chat/conversation.pane.component.mjs +44 -0
  43. package/esm2020/lib/compose/action/action-picker.component.mjs +84 -0
  44. package/esm2020/lib/compose/action/action-ref.mjs +19 -0
  45. package/esm2020/lib/compose/action/action.base.mjs +49 -0
  46. package/esm2020/lib/compose/action/action.dialog.mjs +61 -0
  47. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +72 -0
  48. package/esm2020/lib/compose/action/assign-action.component.mjs +90 -0
  49. package/esm2020/lib/compose/action/return-action.component.mjs +52 -0
  50. package/esm2020/lib/compose/attachments/attachments.component.mjs +127 -0
  51. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +155 -0
  52. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +25 -0
  53. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +27 -0
  54. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +49 -0
  55. package/esm2020/lib/compose/comments/comment.component.mjs +186 -0
  56. package/esm2020/lib/compose/comments/comments.component.mjs +227 -0
  57. package/esm2020/lib/compose/comments/edit-comment.component.mjs +32 -0
  58. package/esm2020/lib/compose/comments/edits.component.mjs +30 -0
  59. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +63 -0
  60. package/esm2020/lib/compose/comments/votes.component.mjs +42 -0
  61. package/esm2020/lib/compose/compose-resolve.service.mjs +55 -0
  62. package/esm2020/lib/compose/compose.mobile.component.mjs +112 -0
  63. package/esm2020/lib/compose/compose.pane.component.mjs +201 -0
  64. package/esm2020/lib/compose/copy/copy.dialog.mjs +46 -0
  65. package/esm2020/lib/compose/dismiss.service.mjs +25 -0
  66. package/esm2020/lib/compose/document-resolver.service.mjs +17 -0
  67. package/esm2020/lib/compose/document.component.mjs +45 -0
  68. package/esm2020/lib/compose/document.mobile.component.mjs +22 -0
  69. package/esm2020/lib/compose/document.pane.component.mjs +26 -0
  70. package/esm2020/lib/compose/events/events.component.mjs +30 -0
  71. package/esm2020/lib/compose/form-ref.mjs +46 -0
  72. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +82 -0
  73. package/esm2020/lib/compose/form.component.mjs +447 -0
  74. package/esm2020/lib/compose/new-menu.component.mjs +104 -0
  75. package/esm2020/lib/compose/privilage.directive.mjs +64 -0
  76. package/esm2020/lib/compose/recipient-resolver.service.mjs +18 -0
  77. package/esm2020/lib/compose/save-changes.dialog.mjs +18 -0
  78. package/esm2020/lib/compose/state.component.mjs +37 -0
  79. package/esm2020/lib/compose/tag/tags.component.mjs +91 -0
  80. package/esm2020/lib/compose/trace/flow.component.mjs +656 -0
  81. package/esm2020/lib/compose/trace/people.component.mjs +35 -0
  82. package/esm2020/lib/compose/trace/trace.base.mjs +71 -0
  83. package/esm2020/lib/compose/trace/trace.component.mjs +345 -0
  84. package/esm2020/lib/compose/trace/trace.pane.component.mjs +52 -0
  85. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +53 -0
  86. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +344 -0
  87. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +56 -0
  88. package/esm2020/lib/core/NgComponentOutlet.mjs +38 -0
  89. package/esm2020/lib/core/account.service.mjs +37 -0
  90. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +17 -0
  91. package/esm2020/lib/core/animations.mjs +156 -0
  92. package/esm2020/lib/core/authentication.mjs +3 -0
  93. package/esm2020/lib/core/avatar/avatar.component.mjs +103 -0
  94. package/esm2020/lib/core/base.mjs +2 -0
  95. package/esm2020/lib/core/colors.mjs +322 -0
  96. package/esm2020/lib/core/component-factory-resolver.mjs +64 -0
  97. package/esm2020/lib/core/configuration.mjs +16 -0
  98. package/esm2020/lib/core/controls/address.input.mjs +193 -0
  99. package/esm2020/lib/core/controls/auto-complete.input.mjs +256 -0
  100. package/esm2020/lib/core/controls/combination-picker-body.mjs +173 -0
  101. package/esm2020/lib/core/controls/combination-picker.mjs +277 -0
  102. package/esm2020/lib/core/controls/combination-pool.mjs +105 -0
  103. package/esm2020/lib/core/controls/file.input.mjs +392 -0
  104. package/esm2020/lib/core/controls/select.input.mjs +237 -0
  105. package/esm2020/lib/core/controls/time-picker.mjs +196 -0
  106. package/esm2020/lib/core/controls/timespan.input.mjs +207 -0
  107. package/esm2020/lib/core/datasource.service.mjs +75 -0
  108. package/esm2020/lib/core/decorators.mjs +46 -0
  109. package/esm2020/lib/core/firebase.service.mjs +50 -0
  110. package/esm2020/lib/core/functions.mjs +200 -0
  111. package/esm2020/lib/core/guide/guide.component.mjs +219 -0
  112. package/esm2020/lib/core/guide/guide.service.mjs +107 -0
  113. package/esm2020/lib/core/http.interceptor.mjs +79 -0
  114. package/esm2020/lib/core/hub.service.mjs +108 -0
  115. package/esm2020/lib/core/identity/identity.component.mjs +67 -0
  116. package/esm2020/lib/core/info/attachment-info.service.mjs +51 -0
  117. package/esm2020/lib/core/info/document-info.service.mjs +21 -0
  118. package/esm2020/lib/core/info/location-info.component.mjs +61 -0
  119. package/esm2020/lib/core/info/map-info.mjs +40 -0
  120. package/esm2020/lib/core/layout/autocomplete.field.mjs +60 -0
  121. package/esm2020/lib/core/layout/checkbox.field.mjs +41 -0
  122. package/esm2020/lib/core/layout/checkbox.mjs +35 -0
  123. package/esm2020/lib/core/layout/date-range.field.mjs +53 -0
  124. package/esm2020/lib/core/layout/date.field.mjs +52 -0
  125. package/esm2020/lib/core/layout/expression.field.mjs +51 -0
  126. package/esm2020/lib/core/layout/file.field.mjs +47 -0
  127. package/esm2020/lib/core/layout/html.field.mjs +48 -0
  128. package/esm2020/lib/core/layout/input.base.mjs +11 -0
  129. package/esm2020/lib/core/layout/input.field.mjs +64 -0
  130. package/esm2020/lib/core/layout/layout.component.mjs +196 -0
  131. package/esm2020/lib/core/layout/numeric.field.mjs +47 -0
  132. package/esm2020/lib/core/layout/select.field.mjs +82 -0
  133. package/esm2020/lib/core/layout/switch.field.mjs +41 -0
  134. package/esm2020/lib/core/layout/textarea.field.mjs +42 -0
  135. package/esm2020/lib/core/layout/timespan.field.mjs +50 -0
  136. package/esm2020/lib/core/lottie-animation.mjs +46 -0
  137. package/esm2020/lib/core/mailbox.service.mjs +395 -0
  138. package/esm2020/lib/core/models.mjs +40 -0
  139. package/esm2020/lib/core/none.component.mjs +40 -0
  140. package/esm2020/lib/core/pipes/action.pipe.mjs +25 -0
  141. package/esm2020/lib/core/pipes/calendar.pipe.mjs +72 -0
  142. package/esm2020/lib/core/pipes/date-format.pipe.mjs +19 -0
  143. package/esm2020/lib/core/pipes/daterange.pipe.mjs +62 -0
  144. package/esm2020/lib/core/pipes/difference.pipe.mjs +15 -0
  145. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +48 -0
  146. package/esm2020/lib/core/pipes/duration.pipe.mjs +19 -0
  147. package/esm2020/lib/core/pipes/form.pipe.mjs +25 -0
  148. package/esm2020/lib/core/pipes/join.pipe.mjs +18 -0
  149. package/esm2020/lib/core/pipes/role.pipe.mjs +25 -0
  150. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +18 -0
  151. package/esm2020/lib/core/pipes/sort.pipe.mjs +48 -0
  152. package/esm2020/lib/core/pipes/state.pipe.mjs +25 -0
  153. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +66 -0
  154. package/esm2020/lib/core/pipes/translate.pipe.mjs +38 -0
  155. package/esm2020/lib/core/pipes/type-value.pipe.mjs +42 -0
  156. package/esm2020/lib/core/pipes/user-name.pipe.mjs +21 -0
  157. package/esm2020/lib/core/popup/popup-ref.mjs +20 -0
  158. package/esm2020/lib/core/popup/popup.component.mjs +37 -0
  159. package/esm2020/lib/core/popup/popup.service.mjs +148 -0
  160. package/esm2020/lib/core/popup/tooltip.directive.mjs +82 -0
  161. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +29 -0
  162. package/esm2020/lib/core/prompt/mask/mask.component.mjs +21 -0
  163. package/esm2020/lib/core/prompt.service.mjs +86 -0
  164. package/esm2020/lib/core/router.mjs +35 -0
  165. package/esm2020/lib/core/session.service.mjs +247 -0
  166. package/esm2020/lib/core/slots/pane-ref.mjs +125 -0
  167. package/esm2020/lib/core/slots/router.directive.mjs +70 -0
  168. package/esm2020/lib/core/slots/router.service.mjs +36 -0
  169. package/esm2020/lib/core/slots/slots.component.mjs +1049 -0
  170. package/esm2020/lib/core/tagging/documents.component.mjs +25 -0
  171. package/esm2020/lib/core/tagging/edit-input.component.mjs +233 -0
  172. package/esm2020/lib/core/tagging/emoji.component.mjs +35 -0
  173. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +39 -0
  174. package/esm2020/lib/core/tagging/tagging.component-base.mjs +29 -0
  175. package/esm2020/lib/core/tagging/tagging.directive.mjs +138 -0
  176. package/esm2020/lib/core/tagging/tagging.pipe.mjs +72 -0
  177. package/esm2020/lib/core/tagging/users.component.mjs +32 -0
  178. package/esm2020/lib/core/translate.service.mjs +99 -0
  179. package/esm2020/lib/core/translations.mjs +1104 -0
  180. package/esm2020/lib/core/window-title.service.mjs +53 -0
  181. package/esm2020/lib/cube/accum/accum.component.mjs +257 -0
  182. package/esm2020/lib/cube/chart/chart.component.mjs +326 -0
  183. package/esm2020/lib/cube/cube-info.service.mjs +100 -0
  184. package/esm2020/lib/cube/cube-menu.component.mjs +27 -0
  185. package/esm2020/lib/cube/cube-view.component.mjs +186 -0
  186. package/esm2020/lib/cube/cube.service.mjs +407 -0
  187. package/esm2020/lib/cube/declarations.mjs +2 -0
  188. package/esm2020/lib/cube/explore/document-item.component.mjs +38 -0
  189. package/esm2020/lib/cube/explore/explore-item.component.mjs +27 -0
  190. package/esm2020/lib/cube/explore/explore-items.component.mjs +186 -0
  191. package/esm2020/lib/cube/explore/explore.pane.component.mjs +81 -0
  192. package/esm2020/lib/cube/explore/item-resolver.service.mjs +32 -0
  193. package/esm2020/lib/cube/explore/item.pane.component.mjs +23 -0
  194. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +75 -0
  195. package/esm2020/lib/cube/filter/filter.component.mjs +137 -0
  196. package/esm2020/lib/cube/grid/grid.component.mjs +217 -0
  197. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +365 -0
  198. package/esm2020/lib/cube/matrix/matrix.base.mjs +127 -0
  199. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +63 -0
  200. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +76 -0
  201. package/esm2020/lib/cube/matrix/popup.component.mjs +70 -0
  202. package/esm2020/lib/cube/matrix/table.component.mjs +489 -0
  203. package/esm2020/lib/cube/parallel/item.mjs +41 -0
  204. package/esm2020/lib/cube/parallel/parallel.component.mjs +160 -0
  205. package/esm2020/lib/cube/pivot/pivot.component.mjs +500 -0
  206. package/esm2020/lib/cube/sum/sum.component.mjs +404 -0
  207. package/esm2020/lib/cube/view-base.mjs +79 -0
  208. package/esm2020/lib/cube/view.mobile.component.mjs +127 -0
  209. package/esm2020/lib/cube/view.pane.component.mjs +84 -0
  210. package/esm2020/lib/dashboard/actions/actions.widget.mjs +126 -0
  211. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +145 -0
  212. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +90 -0
  213. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +53 -0
  214. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +144 -0
  215. package/esm2020/lib/dashboard/cube/documents.widget.mjs +64 -0
  216. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +59 -0
  217. package/esm2020/lib/dashboard/dashboard.component.mjs +47 -0
  218. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +24 -0
  219. package/esm2020/lib/dashboard/recents/recents.widget.mjs +98 -0
  220. package/esm2020/lib/dashboard/score/activity.widget.mjs +162 -0
  221. package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +204 -0
  222. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +253 -0
  223. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +64 -0
  224. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +219 -0
  225. package/esm2020/lib/dashboard/widget-item.component.mjs +89 -0
  226. package/esm2020/lib/dashboard/widget-ref.mjs +18 -0
  227. package/esm2020/lib/desktop.module.mjs +144 -0
  228. package/esm2020/lib/home/about/about.dialog.mjs +26 -0
  229. package/esm2020/lib/home/home-base.component.mjs +91 -0
  230. package/esm2020/lib/home/home.desktop.component.mjs +201 -0
  231. package/esm2020/lib/home/home.mobile.component.mjs +116 -0
  232. package/esm2020/lib/home/notifications/notifications.component.mjs +67 -0
  233. package/esm2020/lib/home/options/options.component.mjs +94 -0
  234. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +38 -0
  235. package/esm2020/lib/home/search.service.mjs +75 -0
  236. package/esm2020/lib/home/sign/sign.component.mjs +54 -0
  237. package/esm2020/lib/home/tools.component.mjs +82 -0
  238. package/esm2020/lib/impersonate/impersonate.component.mjs +65 -0
  239. package/esm2020/lib/mobile.module.mjs +59 -0
  240. package/esm2020/lib/modules/chart.module.mjs +37 -0
  241. package/esm2020/lib/modules/circular-gauge.module.mjs +17 -0
  242. package/esm2020/lib/modules/date.adapter.mjs +30 -0
  243. package/esm2020/lib/modules/datepicker.intl.mjs +39 -0
  244. package/esm2020/lib/modules/diagram.module.mjs +34 -0
  245. package/esm2020/lib/modules/gantt.module.mjs +17 -0
  246. package/esm2020/lib/modules/grid.module.mjs +23 -0
  247. package/esm2020/lib/modules/material.module.mjs +188 -0
  248. package/esm2020/lib/modules/paginator.intl.mjs +21 -0
  249. package/esm2020/lib/modules/pivot.module.mjs +23 -0
  250. package/esm2020/lib/modules/schedule.module.mjs +21 -0
  251. package/esm2020/lib/modules/spreadsheet.module.mjs +28 -0
  252. package/esm2020/lib/modules/stepper.intl.mjs +17 -0
  253. package/esm2020/lib/modules/texteditor.module.mjs +27 -0
  254. package/esm2020/lib/notifications/filter.component.mjs +25 -0
  255. package/esm2020/lib/notifications/notifications-table.component.mjs +106 -0
  256. package/esm2020/lib/notifications/notifications.component-base.mjs +47 -0
  257. package/esm2020/lib/notifications/notifications.mobile.component.mjs +20 -0
  258. package/esm2020/lib/notifications/notifications.pane.component.mjs +23 -0
  259. package/esm2020/lib/notifications/notifications.service.mjs +71 -0
  260. package/esm2020/lib/notifications/types/commented.notification.mjs +53 -0
  261. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +58 -0
  262. package/esm2020/lib/notifications/types/escalated.notification.mjs +33 -0
  263. package/esm2020/lib/notifications/types/liked.notification.mjs +50 -0
  264. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +31 -0
  265. package/esm2020/lib/notifications/types/notification-base.mjs +40 -0
  266. package/esm2020/lib/notifications/types/nudge.notification.mjs +31 -0
  267. package/esm2020/lib/notifications/types/state-changed.notification.mjs +30 -0
  268. package/esm2020/lib/notifications/types/tagged.notification.mjs +43 -0
  269. package/esm2020/lib/notifications/types/text.notification.mjs +20 -0
  270. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +36 -0
  271. package/esm2020/lib/options/options.component.mjs +227 -0
  272. package/esm2020/lib/options/options.service.mjs +38 -0
  273. package/esm2020/lib/reports/arguments-component.mjs +83 -0
  274. package/esm2020/lib/reports/cube/documents.component.mjs +40 -0
  275. package/esm2020/lib/reports/cube/grid-documents.component.mjs +72 -0
  276. package/esm2020/lib/reports/cube/table-documents.component.mjs +56 -0
  277. package/esm2020/lib/reports/cube/usage-args.component.mjs +61 -0
  278. package/esm2020/lib/reports/cube/usage-base.mjs +79 -0
  279. package/esm2020/lib/reports/cube/usage-chart.component.mjs +352 -0
  280. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +237 -0
  281. package/esm2020/lib/reports/cube/usage.component.mjs +40 -0
  282. package/esm2020/lib/reports/report-ref.mjs +31 -0
  283. package/esm2020/lib/reports/report-viewer.component.mjs +154 -0
  284. package/esm2020/lib/reports/report.mobile.component.mjs +120 -0
  285. package/esm2020/lib/reports/report.pane.component.mjs +88 -0
  286. package/esm2020/lib/reports/reports-menu.component.mjs +26 -0
  287. package/esm2020/lib/reports/substitution/substitution.component.mjs +40 -0
  288. package/esm2020/lib/reports/table/table-view.component.mjs +41 -0
  289. package/esm2020/lib/reports/tasks/tasks.component.mjs +95 -0
  290. package/esm2020/lib/routes.desktop.mjs +197 -0
  291. package/esm2020/lib/routes.mobile.mjs +69 -0
  292. package/esm2020/lib/scheduler/schedule.component.mjs +166 -0
  293. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +37 -0
  294. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +53 -0
  295. package/esm2020/lib/shared.module.mjs +528 -0
  296. package/esm2020/lib/system.module.mjs +110 -0
  297. package/esm2020/lib/views/cube/chart.component.mjs +75 -0
  298. package/esm2020/lib/views/cube/cube-base.mjs +96 -0
  299. package/esm2020/lib/views/cube/explore.component.mjs +83 -0
  300. package/esm2020/lib/views/cube/matrix.component.mjs +97 -0
  301. package/esm2020/lib/views/cube/parallel.component.mjs +53 -0
  302. package/esm2020/lib/views/cube/pivot.component.mjs +51 -0
  303. package/esm2020/lib/views/cube/sum.component.mjs +64 -0
  304. package/esm2020/lib/views/cube/view.component.mjs +102 -0
  305. package/esm2020/lib/views/document-view-ref.mjs +27 -0
  306. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +313 -0
  307. package/esm2020/lib/views/view-item.component.mjs +70 -0
  308. package/esm2020/lib/views/views.component.mjs +25 -0
  309. package/esm2020/lib/views/views.mobile.component.mjs +20 -0
  310. package/esm2020/lib/views/views.pane.component.mjs +31 -0
  311. package/esm2020/public-api.mjs +142 -0
  312. package/fesm2015/bizdoc-core.mjs +29622 -0
  313. package/fesm2015/bizdoc-core.mjs.map +1 -0
  314. package/fesm2020/bizdoc-core.mjs +29412 -0
  315. package/fesm2020/bizdoc-core.mjs.map +1 -0
  316. package/lib/admin/admin-dismiss.service.d.ts +14 -0
  317. package/lib/admin/admin-menu.component.d.ts +12 -0
  318. package/lib/admin/core/ace.input.d.ts +52 -0
  319. package/lib/admin/core/color-picker.input.d.ts +64 -0
  320. package/lib/admin/core/search.input.d.ts +13 -0
  321. package/lib/admin/diff/configuration-diff.component.d.ts +116 -0
  322. package/lib/admin/document-trace/document-trace.component.d.ts +83 -0
  323. package/lib/admin/document-trace/reassign.dialog.d.ts +22 -0
  324. package/lib/admin/document-trace/timeline.d.ts +40 -0
  325. package/lib/admin/document-trace/trace-element.component.d.ts +37 -0
  326. package/lib/admin/form/form.resolve.service.d.ts +12 -0
  327. package/lib/admin/form/form.service.d.ts +13 -0
  328. package/lib/admin/form/workflow/node-ref.d.ts +7 -0
  329. package/lib/admin/form/workflow/node.component.d.ts +37 -0
  330. package/lib/admin/form/workflow/role-node.component.d.ts +22 -0
  331. package/lib/admin/form/workflow/workflow.component.d.ts +73 -0
  332. package/lib/admin/indices/manage-cube-index.component.d.ts +54 -0
  333. package/lib/admin/patterns/patterns.component.d.ts +79 -0
  334. package/lib/admin/permissions/permissions.component.d.ts +45 -0
  335. package/lib/admin/positions/positions-popup.component.d.ts +39 -0
  336. package/lib/admin/positions/positions.component.d.ts +117 -0
  337. package/lib/admin/profiler/profiler.component.d.ts +108 -0
  338. package/lib/admin/utility-ref.d.ts +19 -0
  339. package/lib/admin/utility-wrapper.component.d.ts +28 -0
  340. package/lib/admin/utility.pane.component.d.ts +24 -0
  341. package/lib/app.component.d.ts +24 -0
  342. package/lib/bizdoc.module.d.ts +18 -0
  343. package/lib/browse/browse-items.component.d.ts +104 -0
  344. package/lib/browse/browse.mobile.component.d.ts +39 -0
  345. package/lib/browse/browse.pane.component.d.ts +50 -0
  346. package/lib/browse/expanded-item/expanded-item.component.d.ts +67 -0
  347. package/lib/browse/filter/filter.component.d.ts +71 -0
  348. package/lib/browse/folders-menu.component.d.ts +22 -0
  349. package/lib/chat/chat-info.d.ts +37 -0
  350. package/lib/chat/chat.mobile.component.d.ts +10 -0
  351. package/lib/chat/chat.service.d.ts +38 -0
  352. package/lib/chat/contacts.component.d.ts +38 -0
  353. package/lib/chat/contacts.pane.component.d.ts +12 -0
  354. package/lib/chat/conversation.component.d.ts +56 -0
  355. package/lib/chat/conversation.pane.component.d.ts +16 -0
  356. package/lib/compose/action/action-picker.component.d.ts +25 -0
  357. package/lib/compose/action/action-ref.d.ts +10 -0
  358. package/lib/compose/action/action.base.d.ts +15 -0
  359. package/lib/compose/action/action.dialog.d.ts +29 -0
  360. package/lib/compose/action/action.pane.dialog.exp.d.ts +31 -0
  361. package/lib/compose/action/assign-action.component.d.ts +36 -0
  362. package/lib/compose/action/return-action.component.d.ts +17 -0
  363. package/lib/compose/attachments/attachments.component.d.ts +35 -0
  364. package/lib/compose/attachments/preview/attachment-preview.component.d.ts +49 -0
  365. package/lib/compose/attachments/progress-button.directive.d.ts +12 -0
  366. package/lib/compose/can-deactivate-changes.service.d.ts +12 -0
  367. package/lib/compose/comments/Comments.pane.component.d.ts +18 -0
  368. package/lib/compose/comments/comment.component.d.ts +51 -0
  369. package/lib/compose/comments/comments.component.d.ts +66 -0
  370. package/lib/compose/comments/edit-comment.component.d.ts +25 -0
  371. package/lib/compose/comments/edits.component.d.ts +26 -0
  372. package/lib/compose/comments/quick-comment.component.exp.d.ts +28 -0
  373. package/lib/compose/comments/votes.component.d.ts +22 -0
  374. package/lib/compose/compose-resolve.service.d.ts +27 -0
  375. package/lib/compose/compose.mobile.component.d.ts +42 -0
  376. package/lib/compose/compose.pane.component.d.ts +57 -0
  377. package/lib/compose/copy/copy.dialog.d.ts +23 -0
  378. package/lib/compose/dismiss.service.d.ts +12 -0
  379. package/lib/compose/document-resolver.service.d.ts +12 -0
  380. package/lib/compose/document.component.d.ts +18 -0
  381. package/lib/compose/document.mobile.component.d.ts +10 -0
  382. package/lib/compose/document.pane.component.d.ts +12 -0
  383. package/lib/compose/events/events.component.d.ts +13 -0
  384. package/lib/compose/form-ref.d.ts +30 -0
  385. package/lib/compose/form-selector/form-selector.sheet.d.ts +28 -0
  386. package/lib/compose/form.component.d.ts +97 -0
  387. package/lib/compose/new-menu.component.d.ts +36 -0
  388. package/lib/compose/privilage.directive.d.ts +26 -0
  389. package/lib/compose/recipient-resolver.service.d.ts +12 -0
  390. package/lib/compose/save-changes.dialog.d.ts +7 -0
  391. package/lib/compose/state.component.d.ts +12 -0
  392. package/lib/compose/tag/tags.component.d.ts +36 -0
  393. package/lib/compose/trace/flow.component.d.ts +59 -0
  394. package/lib/compose/trace/people.component.d.ts +18 -0
  395. package/lib/compose/trace/trace.base.d.ts +28 -0
  396. package/lib/compose/trace/trace.component.d.ts +55 -0
  397. package/lib/compose/trace/trace.pane.component.d.ts +20 -0
  398. package/lib/compose/version-compare/version-compare.component.d.ts +24 -0
  399. package/lib/compose/version-compare/version-compare.directive.d.ts +89 -0
  400. package/lib/compose/version-compare/version.pane.component.d.ts +21 -0
  401. package/lib/core/NgComponentOutlet.d.ts +15 -0
  402. package/lib/core/account.service.d.ts +18 -0
  403. package/lib/core/animated-icon/animated-icon.directive.d.ts +7 -0
  404. package/lib/core/animations.d.ts +26 -0
  405. package/lib/core/authentication.d.ts +6 -0
  406. package/lib/core/avatar/avatar.component.d.ts +34 -0
  407. package/lib/core/base.d.ts +29 -0
  408. package/lib/core/colors.d.ts +6 -0
  409. package/lib/core/component-factory-resolver.d.ts +12 -0
  410. package/lib/core/configuration.d.ts +111 -0
  411. package/lib/core/controls/address.input.d.ts +63 -0
  412. package/lib/core/controls/auto-complete.input.d.ts +86 -0
  413. package/lib/core/controls/combination-picker-body.d.ts +114 -0
  414. package/lib/core/controls/combination-picker.d.ts +82 -0
  415. package/lib/core/controls/combination-pool.d.ts +42 -0
  416. package/lib/core/controls/file.input.d.ts +88 -0
  417. package/lib/core/controls/select.input.d.ts +84 -0
  418. package/lib/core/controls/time-picker.d.ts +52 -0
  419. package/lib/core/controls/timespan.input.d.ts +55 -0
  420. package/lib/core/datasource.service.d.ts +46 -0
  421. package/lib/core/decorators.d.ts +17 -0
  422. package/lib/core/firebase.service.d.ts +17 -0
  423. package/lib/core/functions.d.ts +50 -0
  424. package/lib/core/guide/guide.component.d.ts +31 -0
  425. package/lib/core/guide/guide.service.d.ts +32 -0
  426. package/lib/core/http.interceptor.d.ts +21 -0
  427. package/lib/core/hub.service.d.ts +133 -0
  428. package/lib/core/identity/identity.component.d.ts +29 -0
  429. package/lib/core/info/attachment-info.service.d.ts +17 -0
  430. package/lib/core/info/document-info.service.d.ts +13 -0
  431. package/lib/core/info/location-info.component.d.ts +28 -0
  432. package/lib/core/info/map-info.d.ts +15 -0
  433. package/lib/core/layout/autocomplete.field.d.ts +21 -0
  434. package/lib/core/layout/checkbox.d.ts +10 -0
  435. package/lib/core/layout/checkbox.field.d.ts +11 -0
  436. package/lib/core/layout/date-range.field.d.ts +13 -0
  437. package/lib/core/layout/date.field.d.ts +11 -0
  438. package/lib/core/layout/expression.field.d.ts +12 -0
  439. package/lib/core/layout/file.field.d.ts +14 -0
  440. package/lib/core/layout/html.field.d.ts +12 -0
  441. package/lib/core/layout/input.base.d.ts +10 -0
  442. package/lib/core/layout/input.field.d.ts +14 -0
  443. package/lib/core/layout/layout.component.d.ts +33 -0
  444. package/lib/core/layout/numeric.field.d.ts +11 -0
  445. package/lib/core/layout/select.field.d.ts +22 -0
  446. package/lib/core/layout/switch.field.d.ts +11 -0
  447. package/lib/core/layout/textarea.field.d.ts +11 -0
  448. package/lib/core/layout/timespan.field.d.ts +11 -0
  449. package/lib/core/lottie-animation.d.ts +14 -0
  450. package/lib/core/mailbox.service.d.ts +141 -0
  451. package/lib/core/models.d.ts +649 -0
  452. package/lib/core/none.component.d.ts +9 -0
  453. package/lib/core/pipes/action.pipe.d.ts +10 -0
  454. package/lib/core/pipes/calendar.pipe.d.ts +27 -0
  455. package/lib/core/pipes/date-format.pipe.d.ts +8 -0
  456. package/lib/core/pipes/daterange.pipe.d.ts +15 -0
  457. package/lib/core/pipes/difference.pipe.d.ts +7 -0
  458. package/lib/core/pipes/duration-format.pipe.d.ts +11 -0
  459. package/lib/core/pipes/duration.pipe.d.ts +8 -0
  460. package/lib/core/pipes/form.pipe.d.ts +10 -0
  461. package/lib/core/pipes/join.pipe.d.ts +10 -0
  462. package/lib/core/pipes/role.pipe.d.ts +10 -0
  463. package/lib/core/pipes/sanitize-html.pipe.d.ts +10 -0
  464. package/lib/core/pipes/sort.pipe.d.ts +12 -0
  465. package/lib/core/pipes/state.pipe.d.ts +10 -0
  466. package/lib/core/pipes/time-ago.pipe.d.ts +16 -0
  467. package/lib/core/pipes/translate.pipe.d.ts +18 -0
  468. package/lib/core/pipes/type-value.pipe.d.ts +15 -0
  469. package/lib/core/pipes/user-name.pipe.d.ts +11 -0
  470. package/lib/core/popup/popup-ref.d.ts +14 -0
  471. package/lib/core/popup/popup.component.d.ts +22 -0
  472. package/lib/core/popup/popup.service.d.ts +24 -0
  473. package/lib/core/popup/tooltip.directive.d.ts +29 -0
  474. package/lib/core/prompt/ask/ask.dialog.d.ts +22 -0
  475. package/lib/core/prompt/mask/mask.component.d.ts +10 -0
  476. package/lib/core/prompt.service.d.ts +36 -0
  477. package/lib/core/router.d.ts +20 -0
  478. package/lib/core/session.service.d.ts +80 -0
  479. package/lib/core/slots/pane-ref.d.ts +113 -0
  480. package/lib/core/slots/router.directive.d.ts +25 -0
  481. package/lib/core/slots/router.service.d.ts +36 -0
  482. package/lib/core/slots/slots.component.d.ts +183 -0
  483. package/lib/core/tagging/documents.component.d.ts +11 -0
  484. package/lib/core/tagging/edit-input.component.d.ts +65 -0
  485. package/lib/core/tagging/emoji.component.d.ts +18 -0
  486. package/lib/core/tagging/tagging-item.directive.d.ts +15 -0
  487. package/lib/core/tagging/tagging.component-base.d.ts +19 -0
  488. package/lib/core/tagging/tagging.directive.d.ts +34 -0
  489. package/lib/core/tagging/tagging.pipe.d.ts +24 -0
  490. package/lib/core/tagging/users.component.d.ts +15 -0
  491. package/lib/core/translate.service.d.ts +28 -0
  492. package/lib/core/translations.d.ts +1097 -0
  493. package/lib/core/window-title.service.d.ts +21 -0
  494. package/lib/cube/accum/accum.component.d.ts +63 -0
  495. package/lib/cube/chart/chart.component.d.ts +74 -0
  496. package/lib/cube/cube-info.service.d.ts +77 -0
  497. package/lib/cube/cube-menu.component.d.ts +12 -0
  498. package/lib/cube/cube-view.component.d.ts +31 -0
  499. package/lib/cube/cube.service.d.ts +267 -0
  500. package/lib/cube/declarations.d.ts +23 -0
  501. package/lib/cube/explore/document-item.component.d.ts +16 -0
  502. package/lib/cube/explore/explore-item.component.d.ts +14 -0
  503. package/lib/cube/explore/explore-items.component.d.ts +57 -0
  504. package/lib/cube/explore/explore.pane.component.d.ts +29 -0
  505. package/lib/cube/explore/item-resolver.service.d.ts +20 -0
  506. package/lib/cube/explore/item.pane.component.d.ts +13 -0
  507. package/lib/cube/filter/filter-tags.component.exp.d.ts +31 -0
  508. package/lib/cube/filter/filter.component.d.ts +44 -0
  509. package/lib/cube/grid/grid.component.d.ts +59 -0
  510. package/lib/cube/grid/spreadsheet.component.d.ts +62 -0
  511. package/lib/cube/matrix/matrix.base.d.ts +72 -0
  512. package/lib/cube/matrix/matrix.mobile.component.d.ts +22 -0
  513. package/lib/cube/matrix/matrix.pane.component.d.ts +23 -0
  514. package/lib/cube/matrix/popup.component.d.ts +23 -0
  515. package/lib/cube/matrix/table.component.d.ts +100 -0
  516. package/lib/cube/parallel/item.d.ts +13 -0
  517. package/lib/cube/parallel/parallel.component.d.ts +52 -0
  518. package/lib/cube/pivot/pivot.component.d.ts +103 -0
  519. package/lib/cube/sum/sum.component.d.ts +78 -0
  520. package/lib/cube/view-base.d.ts +39 -0
  521. package/lib/cube/view.mobile.component.d.ts +46 -0
  522. package/lib/cube/view.pane.component.d.ts +27 -0
  523. package/lib/dashboard/actions/actions.widget.d.ts +39 -0
  524. package/lib/dashboard/cube/accum-cube.widget.d.ts +33 -0
  525. package/lib/dashboard/cube/cube-analysis.base.d.ts +59 -0
  526. package/lib/dashboard/cube/cube-analysis.widget.d.ts +17 -0
  527. package/lib/dashboard/cube/cube-chart.widget.d.ts +32 -0
  528. package/lib/dashboard/cube/documents.widget.d.ts +30 -0
  529. package/lib/dashboard/cube/filter/filter.component.d.ts +22 -0
  530. package/lib/dashboard/dashboard.component.d.ts +20 -0
  531. package/lib/dashboard/dashboard.pane.component.d.ts +8 -0
  532. package/lib/dashboard/recents/recents.widget.d.ts +40 -0
  533. package/lib/dashboard/score/activity.widget.d.ts +50 -0
  534. package/lib/dashboard/score/compare-departments.widget.d.ts +51 -0
  535. package/lib/dashboard/score/peers-performance.widget.d.ts +65 -0
  536. package/lib/dashboard/score/pending-results.widget.d.ts +28 -0
  537. package/lib/dashboard/score/personal-score.widget.d.ts +57 -0
  538. package/lib/dashboard/widget-item.component.d.ts +31 -0
  539. package/lib/dashboard/widget-ref.d.ts +11 -0
  540. package/lib/desktop.module.d.ts +45 -0
  541. package/lib/home/about/about.dialog.d.ts +14 -0
  542. package/lib/home/home-base.component.d.ts +34 -0
  543. package/lib/home/home.desktop.component.d.ts +56 -0
  544. package/lib/home/home.mobile.component.d.ts +38 -0
  545. package/lib/home/notifications/notifications.component.d.ts +28 -0
  546. package/lib/home/options/options.component.d.ts +46 -0
  547. package/lib/home/outofoffice/outofoffice.component.d.ts +19 -0
  548. package/lib/home/search.service.d.ts +23 -0
  549. package/lib/home/sign/sign.component.d.ts +17 -0
  550. package/lib/home/tools.component.d.ts +36 -0
  551. package/lib/impersonate/impersonate.component.d.ts +27 -0
  552. package/lib/mobile.module.d.ts +25 -0
  553. package/lib/modules/chart.module.d.ts +7 -0
  554. package/lib/modules/circular-gauge.module.d.ts +7 -0
  555. package/lib/modules/date.adapter.d.ts +13 -0
  556. package/lib/modules/datepicker.intl.d.ts +30 -0
  557. package/lib/modules/diagram.module.d.ts +8 -0
  558. package/lib/modules/gantt.module.d.ts +7 -0
  559. package/lib/modules/grid.module.d.ts +7 -0
  560. package/lib/modules/material.module.d.ts +45 -0
  561. package/lib/modules/paginator.intl.d.ts +14 -0
  562. package/lib/modules/pivot.module.d.ts +7 -0
  563. package/lib/modules/schedule.module.d.ts +7 -0
  564. package/lib/modules/spreadsheet.module.d.ts +8 -0
  565. package/lib/modules/stepper.intl.d.ts +10 -0
  566. package/lib/modules/texteditor.module.d.ts +8 -0
  567. package/lib/notifications/filter.component.d.ts +9 -0
  568. package/lib/notifications/notifications-table.component.d.ts +32 -0
  569. package/lib/notifications/notifications.component-base.d.ts +12 -0
  570. package/lib/notifications/notifications.mobile.component.d.ts +8 -0
  571. package/lib/notifications/notifications.pane.component.d.ts +8 -0
  572. package/lib/notifications/notifications.service.d.ts +24 -0
  573. package/lib/notifications/types/commented.notification.d.ts +26 -0
  574. package/lib/notifications/types/cube-anomaly.notification.d.ts +29 -0
  575. package/lib/notifications/types/escalated.notification.d.ts +25 -0
  576. package/lib/notifications/types/liked.notification.d.ts +25 -0
  577. package/lib/notifications/types/long-running-task.notification.d.ts +21 -0
  578. package/lib/notifications/types/notification-base.d.ts +20 -0
  579. package/lib/notifications/types/nudge.notification.d.ts +23 -0
  580. package/lib/notifications/types/state-changed.notification.d.ts +22 -0
  581. package/lib/notifications/types/tagged.notification.d.ts +26 -0
  582. package/lib/notifications/types/text.notification.d.ts +13 -0
  583. package/lib/notifications/types/upcoming-event.notification.d.ts +20 -0
  584. package/lib/options/options.component.d.ts +66 -0
  585. package/lib/options/options.service.d.ts +14 -0
  586. package/lib/reports/arguments-component.d.ts +27 -0
  587. package/lib/reports/cube/documents.component.d.ts +34 -0
  588. package/lib/reports/cube/grid-documents.component.d.ts +28 -0
  589. package/lib/reports/cube/table-documents.component.d.ts +28 -0
  590. package/lib/reports/cube/usage-args.component.d.ts +21 -0
  591. package/lib/reports/cube/usage-base.d.ts +72 -0
  592. package/lib/reports/cube/usage-chart.component.d.ts +62 -0
  593. package/lib/reports/cube/usage-pivot.component.d.ts +62 -0
  594. package/lib/reports/cube/usage.component.d.ts +16 -0
  595. package/lib/reports/report-ref.d.ts +27 -0
  596. package/lib/reports/report-viewer.component.d.ts +48 -0
  597. package/lib/reports/report.mobile.component.d.ts +45 -0
  598. package/lib/reports/report.pane.component.d.ts +34 -0
  599. package/lib/reports/reports-menu.component.d.ts +12 -0
  600. package/lib/reports/substitution/substitution.component.d.ts +23 -0
  601. package/lib/reports/table/table-view.component.d.ts +19 -0
  602. package/lib/reports/tasks/tasks.component.d.ts +68 -0
  603. package/lib/routes.desktop.d.ts +2 -0
  604. package/lib/routes.mobile.d.ts +2 -0
  605. package/lib/scheduler/schedule.component.d.ts +43 -0
  606. package/lib/scheduler/scheduler.mobile.component.d.ts +14 -0
  607. package/lib/scheduler/scheduler.pane.component.d.ts +20 -0
  608. package/lib/shared.module.d.ts +187 -0
  609. package/lib/system.module.d.ts +32 -0
  610. package/lib/views/cube/chart.component.d.ts +39 -0
  611. package/lib/views/cube/cube-base.d.ts +46 -0
  612. package/lib/views/cube/explore.component.d.ts +43 -0
  613. package/lib/views/cube/matrix.component.d.ts +51 -0
  614. package/lib/views/cube/parallel.component.d.ts +32 -0
  615. package/lib/views/cube/pivot.component.d.ts +34 -0
  616. package/lib/views/cube/sum.component.d.ts +33 -0
  617. package/lib/views/cube/view.component.d.ts +40 -0
  618. package/lib/views/document-view-ref.d.ts +18 -0
  619. package/lib/views/timeline/timeline.component.exp.d.ts +66 -0
  620. package/lib/views/view-item.component.d.ts +28 -0
  621. package/lib/views/views.component.d.ts +14 -0
  622. package/lib/views/views.mobile.component.d.ts +10 -0
  623. package/lib/views/views.pane.component.d.ts +12 -0
  624. package/package.json +78 -78
  625. package/public-api.d.ts +144 -0
  626. package/LICENSE.md +0 -1
  627. package/karma.conf.js +0 -44
  628. package/ng-package.json +0 -11
  629. package/src/lib/admin/admin-dismiss.service.ts +0 -24
  630. package/src/lib/admin/admin-menu.component.html +0 -18
  631. package/src/lib/admin/admin-menu.component.ts +0 -20
  632. package/src/lib/admin/core/ace.input.ts +0 -133
  633. package/src/lib/admin/core/color-picker.input.scss +0 -17
  634. package/src/lib/admin/core/color-picker.input.ts +0 -175
  635. package/src/lib/admin/core/search.input.ts +0 -32
  636. package/src/lib/admin/diff/_configuration-diff-theme.scss +0 -72
  637. package/src/lib/admin/diff/configuration-diff.component.html +0 -24
  638. package/src/lib/admin/diff/configuration-diff.component.scss +0 -16
  639. package/src/lib/admin/diff/configuration-diff.component.ts +0 -552
  640. package/src/lib/admin/document-trace/_timeline-theme.scss +0 -70
  641. package/src/lib/admin/document-trace/document-trace.component.html +0 -55
  642. package/src/lib/admin/document-trace/document-trace.component.scss +0 -10
  643. package/src/lib/admin/document-trace/document-trace.component.ts +0 -471
  644. package/src/lib/admin/document-trace/reassign.dialog.html +0 -24
  645. package/src/lib/admin/document-trace/reassign.dialog.ts +0 -34
  646. package/src/lib/admin/document-trace/timeline.ts +0 -45
  647. package/src/lib/admin/document-trace/trace-element.component.html +0 -57
  648. package/src/lib/admin/document-trace/trace-element.component.scss +0 -21
  649. package/src/lib/admin/document-trace/trace-element.component.ts +0 -106
  650. package/src/lib/admin/form/form.resolve.service.ts +0 -13
  651. package/src/lib/admin/form/form.service.ts +0 -23
  652. package/src/lib/admin/form/workflow/node-ref.ts +0 -8
  653. package/src/lib/admin/form/workflow/node.component.html +0 -36
  654. package/src/lib/admin/form/workflow/node.component.scss +0 -4
  655. package/src/lib/admin/form/workflow/node.component.ts +0 -129
  656. package/src/lib/admin/form/workflow/role-node.component.html +0 -40
  657. package/src/lib/admin/form/workflow/role-node.component.ts +0 -66
  658. package/src/lib/admin/form/workflow/tools.component.exp.ts +0 -13
  659. package/src/lib/admin/form/workflow/tools.component.html +0 -1
  660. package/src/lib/admin/form/workflow/workflow.component.html +0 -73
  661. package/src/lib/admin/form/workflow/workflow.component.scss +0 -52
  662. package/src/lib/admin/form/workflow/workflow.component.ts +0 -400
  663. package/src/lib/admin/indices/manage-cube-index.component.html +0 -35
  664. package/src/lib/admin/indices/manage-cube-index.component.scss +0 -16
  665. package/src/lib/admin/indices/manage-cube-index.component.ts +0 -155
  666. package/src/lib/admin/patterns/patterns.component.html +0 -70
  667. package/src/lib/admin/patterns/patterns.component.ts +0 -166
  668. package/src/lib/admin/permissions/permissions.component.html +0 -21
  669. package/src/lib/admin/permissions/permissions.component.scss +0 -7
  670. package/src/lib/admin/permissions/permissions.component.ts +0 -89
  671. package/src/lib/admin/positions/positions-popup.component.html +0 -23
  672. package/src/lib/admin/positions/positions-popup.component.ts +0 -68
  673. package/src/lib/admin/positions/positions.component.html +0 -148
  674. package/src/lib/admin/positions/positions.component.scss +0 -14
  675. package/src/lib/admin/positions/positions.component.ts +0 -463
  676. package/src/lib/admin/profiler/profiler.component.html +0 -109
  677. package/src/lib/admin/profiler/profiler.component.scss +0 -22
  678. package/src/lib/admin/profiler/profiler.component.ts +0 -268
  679. package/src/lib/admin/utility-ref.ts +0 -44
  680. package/src/lib/admin/utility-wrapper.component.ts +0 -52
  681. package/src/lib/admin/utility.pane.component.ts +0 -49
  682. package/src/lib/app.component.ts +0 -89
  683. package/src/lib/bizdoc.module.ts +0 -71
  684. package/src/lib/browse/_browse-theme.scss +0 -86
  685. package/src/lib/browse/browse-items.component.html +0 -171
  686. package/src/lib/browse/browse-items.component.scss +0 -52
  687. package/src/lib/browse/browse-items.component.ts +0 -455
  688. package/src/lib/browse/browse.mobile.component.html +0 -33
  689. package/src/lib/browse/browse.mobile.component.ts +0 -90
  690. package/src/lib/browse/browse.pane.component.html +0 -43
  691. package/src/lib/browse/browse.pane.component.scss +0 -4
  692. package/src/lib/browse/browse.pane.component.ts +0 -141
  693. package/src/lib/browse/expanded-item/expanded-item.component.html +0 -38
  694. package/src/lib/browse/expanded-item/expanded-item.component.scss +0 -35
  695. package/src/lib/browse/expanded-item/expanded-item.component.ts +0 -333
  696. package/src/lib/browse/filter/filter.component.html +0 -50
  697. package/src/lib/browse/filter/filter.component.scss +0 -10
  698. package/src/lib/browse/filter/filter.component.ts +0 -156
  699. package/src/lib/browse/folders-menu.component.html +0 -20
  700. package/src/lib/browse/folders-menu.component.scss +0 -15
  701. package/src/lib/browse/folders-menu.component.ts +0 -42
  702. package/src/lib/chat/_chat-theme.scss +0 -95
  703. package/src/lib/chat/chat-info.ts +0 -76
  704. package/src/lib/chat/chat-pool.component.exp.ts +0 -117
  705. package/src/lib/chat/chat-pool.component.html +0 -13
  706. package/src/lib/chat/chat-pool.component.scss +0 -10
  707. package/src/lib/chat/chat.mobile.component.html +0 -6
  708. package/src/lib/chat/chat.mobile.component.scss +0 -8
  709. package/src/lib/chat/chat.mobile.component.ts +0 -18
  710. package/src/lib/chat/chat.service.ts +0 -128
  711. package/src/lib/chat/contacts.component.html +0 -37
  712. package/src/lib/chat/contacts.component.scss +0 -49
  713. package/src/lib/chat/contacts.component.ts +0 -88
  714. package/src/lib/chat/contacts.pane.component.ts +0 -25
  715. package/src/lib/chat/conversation.component.html +0 -28
  716. package/src/lib/chat/conversation.component.scss +0 -14
  717. package/src/lib/chat/conversation.component.ts +0 -186
  718. package/src/lib/chat/conversation.pane.component.ts +0 -46
  719. package/src/lib/compose/_compose-theme.scss +0 -63
  720. package/src/lib/compose/action/action-picker.component.html +0 -25
  721. package/src/lib/compose/action/action-picker.component.scss +0 -4
  722. package/src/lib/compose/action/action-picker.component.ts +0 -72
  723. package/src/lib/compose/action/action-ref.ts +0 -19
  724. package/src/lib/compose/action/action.base.ts +0 -58
  725. package/src/lib/compose/action/action.dialog.html +0 -17
  726. package/src/lib/compose/action/action.dialog.scss +0 -1
  727. package/src/lib/compose/action/action.dialog.ts +0 -57
  728. package/src/lib/compose/action/action.pane.dialog.exp.ts +0 -77
  729. package/src/lib/compose/action/action.pane.dialog.html +0 -12
  730. package/src/lib/compose/action/assign-action.component.html +0 -35
  731. package/src/lib/compose/action/assign-action.component.ts +0 -77
  732. package/src/lib/compose/action/return-action.component.html +0 -13
  733. package/src/lib/compose/action/return-action.component.ts +0 -38
  734. package/src/lib/compose/attachments/attachments.component.html +0 -23
  735. package/src/lib/compose/attachments/attachments.component.scss +0 -21
  736. package/src/lib/compose/attachments/attachments.component.ts +0 -114
  737. package/src/lib/compose/attachments/preview/attachment-preview.component.html +0 -15
  738. package/src/lib/compose/attachments/preview/attachment-preview.component.scss +0 -36
  739. package/src/lib/compose/attachments/preview/attachment-preview.component.ts +0 -140
  740. package/src/lib/compose/attachments/progress-button.directive.ts +0 -18
  741. package/src/lib/compose/can-deactivate-changes.service.ts +0 -22
  742. package/src/lib/compose/comments/_comments-theme.scss +0 -82
  743. package/src/lib/compose/comments/comment.component.html +0 -36
  744. package/src/lib/compose/comments/comment.component.ts +0 -160
  745. package/src/lib/compose/comments/comments.component.html +0 -27
  746. package/src/lib/compose/comments/comments.component.scss +0 -33
  747. package/src/lib/compose/comments/comments.component.ts +0 -220
  748. package/src/lib/compose/comments/comments.pane.component.ts +0 -41
  749. package/src/lib/compose/comments/edit-comment.component.html +0 -3
  750. package/src/lib/compose/comments/edit-comment.component.ts +0 -35
  751. package/src/lib/compose/comments/edits.component.html +0 -7
  752. package/src/lib/compose/comments/edits.component.ts +0 -33
  753. package/src/lib/compose/comments/quick-comment.component.exp.ts +0 -60
  754. package/src/lib/compose/comments/quick-comment.component.html +0 -5
  755. package/src/lib/compose/comments/quick-comment.component.scss +0 -11
  756. package/src/lib/compose/comments/votes.component.html +0 -7
  757. package/src/lib/compose/comments/votes.component.ts +0 -38
  758. package/src/lib/compose/compose-resolve.service.ts +0 -42
  759. package/src/lib/compose/compose.mobile.component.html +0 -67
  760. package/src/lib/compose/compose.mobile.component.scss +0 -14
  761. package/src/lib/compose/compose.mobile.component.ts +0 -97
  762. package/src/lib/compose/compose.pane.component.html +0 -67
  763. package/src/lib/compose/compose.pane.component.scss +0 -6
  764. package/src/lib/compose/compose.pane.component.ts +0 -187
  765. package/src/lib/compose/copy/copy.dialog.html +0 -21
  766. package/src/lib/compose/copy/copy.dialog.ts +0 -40
  767. package/src/lib/compose/dismiss.service.ts +0 -26
  768. package/src/lib/compose/document-resolver.service.ts +0 -13
  769. package/src/lib/compose/document.component.html +0 -5
  770. package/src/lib/compose/document.component.ts +0 -41
  771. package/src/lib/compose/document.mobile.component.ts +0 -20
  772. package/src/lib/compose/document.pane.component.ts +0 -22
  773. package/src/lib/compose/events/events.component.html +0 -6
  774. package/src/lib/compose/events/events.component.ts +0 -21
  775. package/src/lib/compose/form-ref.ts +0 -53
  776. package/src/lib/compose/form-selector/form-selector.sheet.html +0 -10
  777. package/src/lib/compose/form-selector/form-selector.sheet.ts +0 -74
  778. package/src/lib/compose/form.component.html +0 -13
  779. package/src/lib/compose/form.component.ts +0 -446
  780. package/src/lib/compose/maps/maps.component.html +0 -3
  781. package/src/lib/compose/maps/maps.component.ts +0 -22
  782. package/src/lib/compose/new-menu.component.html +0 -13
  783. package/src/lib/compose/new-menu.component.scss +0 -11
  784. package/src/lib/compose/new-menu.component.ts +0 -106
  785. package/src/lib/compose/privilage.directive.ts +0 -43
  786. package/src/lib/compose/recipient-resolver.service.ts +0 -15
  787. package/src/lib/compose/save-changes.dialog.html +0 -13
  788. package/src/lib/compose/save-changes.dialog.ts +0 -10
  789. package/src/lib/compose/state.component.ts +0 -29
  790. package/src/lib/compose/tag/tags.component.html +0 -22
  791. package/src/lib/compose/tag/tags.component.scss +0 -1
  792. package/src/lib/compose/tag/tags.component.ts +0 -83
  793. package/src/lib/compose/trace/flow.component.html +0 -19
  794. package/src/lib/compose/trace/flow.component.scss +0 -7
  795. package/src/lib/compose/trace/flow.component.ts +0 -695
  796. package/src/lib/compose/trace/people.component.ts +0 -33
  797. package/src/lib/compose/trace/trace.base.ts +0 -72
  798. package/src/lib/compose/trace/trace.component.html +0 -57
  799. package/src/lib/compose/trace/trace.component.scss +0 -21
  800. package/src/lib/compose/trace/trace.component.ts +0 -368
  801. package/src/lib/compose/trace/trace.pane.component.html +0 -3
  802. package/src/lib/compose/trace/trace.pane.component.scss +0 -5
  803. package/src/lib/compose/trace/trace.pane.component.ts +0 -47
  804. package/src/lib/compose/version-compare/_compare-theme.scss +0 -147
  805. package/src/lib/compose/version-compare/version-compare.component.ts +0 -49
  806. package/src/lib/compose/version-compare/version-compare.directive.ts +0 -292
  807. package/src/lib/compose/version-compare/version.pane.component.html +0 -19
  808. package/src/lib/compose/version-compare/version.pane.component.scss +0 -8
  809. package/src/lib/compose/version-compare/version.pane.component.ts +0 -53
  810. package/src/lib/core/NgComponentOutlet.ts +0 -31
  811. package/src/lib/core/account.service.ts +0 -30
  812. package/src/lib/core/animated-icon/animated-icon.directive.html +0 -3
  813. package/src/lib/core/animated-icon/animated-icon.directive.scss +0 -12
  814. package/src/lib/core/animated-icon/animated-icon.directive.ts +0 -41
  815. package/src/lib/core/animations.ts +0 -207
  816. package/src/lib/core/authentication.ts +0 -7
  817. package/src/lib/core/avatar/_avatar-theme.scss +0 -60
  818. package/src/lib/core/avatar/avatar.component.html +0 -6
  819. package/src/lib/core/avatar/avatar.component.ts +0 -108
  820. package/src/lib/core/base.ts +0 -47
  821. package/src/lib/core/can-activate.service.exp.ts +0 -31
  822. package/src/lib/core/colors.ts +0 -322
  823. package/src/lib/core/component-factory-resolver.ts +0 -67
  824. package/src/lib/core/configuration.ts +0 -121
  825. package/src/lib/core/controls/_daterange-theme.scss +0 -16
  826. package/src/lib/core/controls/address.input.ts +0 -163
  827. package/src/lib/core/controls/auto-complete.input.ts +0 -218
  828. package/src/lib/core/controls/combination-picker-body.html +0 -34
  829. package/src/lib/core/controls/combination-picker-body.scss +0 -40
  830. package/src/lib/core/controls/combination-picker-body.ts +0 -194
  831. package/src/lib/core/controls/combination-picker.html +0 -6
  832. package/src/lib/core/controls/combination-picker.scss +0 -9
  833. package/src/lib/core/controls/combination-picker.ts +0 -243
  834. package/src/lib/core/controls/combination-pool.html +0 -10
  835. package/src/lib/core/controls/combination-pool.scss +0 -35
  836. package/src/lib/core/controls/combination-pool.ts +0 -92
  837. package/src/lib/core/controls/file.input.html +0 -48
  838. package/src/lib/core/controls/file.input.scss +0 -40
  839. package/src/lib/core/controls/file.input.ts +0 -363
  840. package/src/lib/core/controls/select.input.ts +0 -211
  841. package/src/lib/core/controls/time-picker.html +0 -4
  842. package/src/lib/core/controls/time-picker.ts +0 -199
  843. package/src/lib/core/controls/timespan.input.ts +0 -175
  844. package/src/lib/core/datasource.service.ts +0 -80
  845. package/src/lib/core/decorators.ts +0 -56
  846. package/src/lib/core/firebase.service.ts +0 -55
  847. package/src/lib/core/functions.ts +0 -241
  848. package/src/lib/core/guide/_guide-theme.scss +0 -197
  849. package/src/lib/core/guide/guide.component.html +0 -20
  850. package/src/lib/core/guide/guide.component.ts +0 -210
  851. package/src/lib/core/guide/guide.service.ts +0 -98
  852. package/src/lib/core/http.interceptor.ts +0 -80
  853. package/src/lib/core/hub.service.ts +0 -202
  854. package/src/lib/core/identity/identity.component.html +0 -2
  855. package/src/lib/core/identity/identity.component.ts +0 -57
  856. package/src/lib/core/info/attachment-info.service.ts +0 -48
  857. package/src/lib/core/info/document-info.service.ts +0 -14
  858. package/src/lib/core/info/location-info.component.scss +0 -13
  859. package/src/lib/core/info/location-info.component.ts +0 -64
  860. package/src/lib/core/info/map-info.ts +0 -33
  861. package/src/lib/core/layout/autocomplete.field.ts +0 -41
  862. package/src/lib/core/layout/checkbox.field.ts +0 -21
  863. package/src/lib/core/layout/checkbox.scss +0 -13
  864. package/src/lib/core/layout/checkbox.ts +0 -21
  865. package/src/lib/core/layout/date-range.field.ts +0 -32
  866. package/src/lib/core/layout/date.field.ts +0 -26
  867. package/src/lib/core/layout/expression.field.ts +0 -26
  868. package/src/lib/core/layout/file.field.ts +0 -27
  869. package/src/lib/core/layout/html.field.ts +0 -28
  870. package/src/lib/core/layout/input.base.ts +0 -12
  871. package/src/lib/core/layout/input.field.ts +0 -43
  872. package/src/lib/core/layout/layout.component.scss +0 -9
  873. package/src/lib/core/layout/layout.component.ts +0 -189
  874. package/src/lib/core/layout/numeric.field.ts +0 -24
  875. package/src/lib/core/layout/select.field.ts +0 -52
  876. package/src/lib/core/layout/switch.field.ts +0 -21
  877. package/src/lib/core/layout/textarea.field.ts +0 -21
  878. package/src/lib/core/layout/timespan.field.ts +0 -25
  879. package/src/lib/core/lottie-animation.ts +0 -37
  880. package/src/lib/core/mailbox.service.ts +0 -453
  881. package/src/lib/core/models.ts +0 -681
  882. package/src/lib/core/none.component.scss +0 -26
  883. package/src/lib/core/none.component.ts +0 -28
  884. package/src/lib/core/pipes/action.pipe.ts +0 -18
  885. package/src/lib/core/pipes/calendar.pipe.ts +0 -84
  886. package/src/lib/core/pipes/date-format.pipe.ts +0 -12
  887. package/src/lib/core/pipes/daterange.pipe.ts +0 -45
  888. package/src/lib/core/pipes/difference.pipe.ts +0 -9
  889. package/src/lib/core/pipes/duration-format.pipe.ts +0 -42
  890. package/src/lib/core/pipes/duration.pipe.ts +0 -13
  891. package/src/lib/core/pipes/form.pipe.ts +0 -19
  892. package/src/lib/core/pipes/join.pipe.ts +0 -10
  893. package/src/lib/core/pipes/role.pipe.ts +0 -19
  894. package/src/lib/core/pipes/sanitize-html.pipe.ts +0 -10
  895. package/src/lib/core/pipes/sort.pipe.ts +0 -34
  896. package/src/lib/core/pipes/state.pipe.ts +0 -19
  897. package/src/lib/core/pipes/time-ago.pipe.ts +0 -59
  898. package/src/lib/core/pipes/translate.pipe.ts +0 -22
  899. package/src/lib/core/pipes/type-value.pipe.ts +0 -37
  900. package/src/lib/core/pipes/user-name.pipe.ts +0 -14
  901. package/src/lib/core/popup/_popup-theme.scss +0 -363
  902. package/src/lib/core/popup/popup-ref.ts +0 -19
  903. package/src/lib/core/popup/popup.component.html +0 -6
  904. package/src/lib/core/popup/popup.component.ts +0 -40
  905. package/src/lib/core/popup/popup.service.ts +0 -156
  906. package/src/lib/core/popup/tooltip.directive.ts +0 -58
  907. package/src/lib/core/prompt/ask/ask.dialog.html +0 -6
  908. package/src/lib/core/prompt/ask/ask.dialog.ts +0 -35
  909. package/src/lib/core/prompt/mask/mask.component.html +0 -1
  910. package/src/lib/core/prompt/mask/mask.component.scss +0 -14
  911. package/src/lib/core/prompt/mask/mask.component.ts +0 -15
  912. package/src/lib/core/prompt.service.ts +0 -81
  913. package/src/lib/core/router.ts +0 -29
  914. package/src/lib/core/session.service.ts +0 -255
  915. package/src/lib/core/slots/_slots-theme.scss +0 -140
  916. package/src/lib/core/slots/extended-tab.component.exp.ts +0 -35
  917. package/src/lib/core/slots/extended-tab.component.html +0 -0
  918. package/src/lib/core/slots/intro.pane.component.exp.ts +0 -23
  919. package/src/lib/core/slots/intro.pane.component.html +0 -22
  920. package/src/lib/core/slots/intro.pane.component.scss +0 -8
  921. package/src/lib/core/slots/pane-ref.ts +0 -162
  922. package/src/lib/core/slots/router.directive.ts +0 -55
  923. package/src/lib/core/slots/router.service.ts +0 -54
  924. package/src/lib/core/slots/slot.component.exp.ts +0 -49
  925. package/src/lib/core/slots/slot.component.html +0 -15
  926. package/src/lib/core/slots/slot.component.scss +0 -18
  927. package/src/lib/core/slots/slots.component.html +0 -67
  928. package/src/lib/core/slots/slots.component.scss +0 -163
  929. package/src/lib/core/slots/slots.component.ts +0 -1171
  930. package/src/lib/core/tagging/documents.component.html +0 -11
  931. package/src/lib/core/tagging/documents.component.ts +0 -19
  932. package/src/lib/core/tagging/edit-input.component.html +0 -41
  933. package/src/lib/core/tagging/edit-input.component.scss +0 -21
  934. package/src/lib/core/tagging/edit-input.component.ts +0 -211
  935. package/src/lib/core/tagging/emoji.component.ts +0 -23
  936. package/src/lib/core/tagging/tagging-item.directive.ts +0 -34
  937. package/src/lib/core/tagging/tagging.component-base.ts +0 -29
  938. package/src/lib/core/tagging/tagging.component.scss +0 -22
  939. package/src/lib/core/tagging/tagging.directive.ts +0 -130
  940. package/src/lib/core/tagging/tagging.pipe.ts +0 -76
  941. package/src/lib/core/tagging/users.component.html +0 -13
  942. package/src/lib/core/tagging/users.component.ts +0 -28
  943. package/src/lib/core/translate.service.ts +0 -103
  944. package/src/lib/core/translations.ts +0 -1104
  945. package/src/lib/core/window-title.service.ts +0 -54
  946. package/src/lib/cube/accum/accum.component.html +0 -16
  947. package/src/lib/cube/accum/accum.component.ts +0 -265
  948. package/src/lib/cube/chart/chart.component.html +0 -32
  949. package/src/lib/cube/chart/chart.component.ts +0 -329
  950. package/src/lib/cube/cube-info.service.ts +0 -135
  951. package/src/lib/cube/cube-menu.component.html +0 -13
  952. package/src/lib/cube/cube-menu.component.ts +0 -18
  953. package/src/lib/cube/cube-view.component.html +0 -66
  954. package/src/lib/cube/cube-view.component.ts +0 -186
  955. package/src/lib/cube/cube.service.ts +0 -483
  956. package/src/lib/cube/declarations.ts +0 -24
  957. package/src/lib/cube/explore/document-item.component.ts +0 -28
  958. package/src/lib/cube/explore/explore-item.component.scss +0 -4
  959. package/src/lib/cube/explore/explore-item.component.ts +0 -23
  960. package/src/lib/cube/explore/explore-items.component.html +0 -25
  961. package/src/lib/cube/explore/explore-items.component.scss +0 -7
  962. package/src/lib/cube/explore/explore-items.component.ts +0 -185
  963. package/src/lib/cube/explore/explore.pane.component.html +0 -12
  964. package/src/lib/cube/explore/explore.pane.component.ts +0 -75
  965. package/src/lib/cube/explore/item-resolver.service.ts +0 -24
  966. package/src/lib/cube/explore/item.pane.component.html +0 -3
  967. package/src/lib/cube/explore/item.pane.component.ts +0 -23
  968. package/src/lib/cube/filter/filter-tags.component.exp.ts +0 -70
  969. package/src/lib/cube/filter/filter-tags.component.html +0 -11
  970. package/src/lib/cube/filter/filter-tags.component.scss +0 -0
  971. package/src/lib/cube/filter/filter-tags.component.spec.ts +0 -25
  972. package/src/lib/cube/filter/filter.component.html +0 -25
  973. package/src/lib/cube/filter/filter.component.scss +0 -8
  974. package/src/lib/cube/filter/filter.component.ts +0 -116
  975. package/src/lib/cube/grid/grid.component.html +0 -29
  976. package/src/lib/cube/grid/grid.component.scss +0 -10
  977. package/src/lib/cube/grid/grid.component.ts +0 -223
  978. package/src/lib/cube/grid/spreadsheet.component.ts +0 -380
  979. package/src/lib/cube/matrix/_matrix.theme.scss +0 -86
  980. package/src/lib/cube/matrix/matrix.base.ts +0 -149
  981. package/src/lib/cube/matrix/matrix.mobile.component.html +0 -28
  982. package/src/lib/cube/matrix/matrix.mobile.component.ts +0 -60
  983. package/src/lib/cube/matrix/matrix.pane.component.html +0 -34
  984. package/src/lib/cube/matrix/matrix.pane.component.scss +0 -10
  985. package/src/lib/cube/matrix/matrix.pane.component.ts +0 -71
  986. package/src/lib/cube/matrix/popup.component.html +0 -32
  987. package/src/lib/cube/matrix/popup.component.scss +0 -7
  988. package/src/lib/cube/matrix/popup.component.ts +0 -57
  989. package/src/lib/cube/matrix/table.component.html +0 -43
  990. package/src/lib/cube/matrix/table.component.scss +0 -21
  991. package/src/lib/cube/matrix/table.component.ts +0 -514
  992. package/src/lib/cube/parallel/item.ts +0 -47
  993. package/src/lib/cube/parallel/parallel.component.html +0 -17
  994. package/src/lib/cube/parallel/parallel.component.scss +0 -13
  995. package/src/lib/cube/parallel/parallel.component.ts +0 -167
  996. package/src/lib/cube/pivot/pivot.component.html +0 -14
  997. package/src/lib/cube/pivot/pivot.component.ts +0 -514
  998. package/src/lib/cube/sum/_sum.theme.scss +0 -63
  999. package/src/lib/cube/sum/sum.component.html +0 -60
  1000. package/src/lib/cube/sum/sum.component.scss +0 -94
  1001. package/src/lib/cube/sum/sum.component.ts +0 -438
  1002. package/src/lib/cube/view-base.ts +0 -82
  1003. package/src/lib/cube/view.mobile.component.html +0 -38
  1004. package/src/lib/cube/view.mobile.component.scss +0 -9
  1005. package/src/lib/cube/view.mobile.component.ts +0 -115
  1006. package/src/lib/cube/view.pane.component.html +0 -25
  1007. package/src/lib/cube/view.pane.component.scss +0 -12
  1008. package/src/lib/cube/view.pane.component.ts +0 -76
  1009. package/src/lib/dashboard/_table.widget.scss +0 -19
  1010. package/src/lib/dashboard/actions/actions.widget.html +0 -6
  1011. package/src/lib/dashboard/actions/actions.widget.ts +0 -118
  1012. package/src/lib/dashboard/cube/accum-cube.widget.html +0 -15
  1013. package/src/lib/dashboard/cube/accum-cube.widget.ts +0 -154
  1014. package/src/lib/dashboard/cube/cube-analysis.base.ts +0 -113
  1015. package/src/lib/dashboard/cube/cube-analysis.widget.ts +0 -44
  1016. package/src/lib/dashboard/cube/cube-chart.widget.html +0 -7
  1017. package/src/lib/dashboard/cube/cube-chart.widget.ts +0 -144
  1018. package/src/lib/dashboard/cube/documents.widget.html +0 -19
  1019. package/src/lib/dashboard/cube/documents.widget.ts +0 -57
  1020. package/src/lib/dashboard/cube/filter/filter.component.html +0 -3
  1021. package/src/lib/dashboard/cube/filter/filter.component.ts +0 -51
  1022. package/src/lib/dashboard/cube/gauge.component.exp.ts +0 -18
  1023. package/src/lib/dashboard/dashboard.component.html +0 -18
  1024. package/src/lib/dashboard/dashboard.component.scss +0 -36
  1025. package/src/lib/dashboard/dashboard.component.ts +0 -45
  1026. package/src/lib/dashboard/dashboard.pane.component.ts +0 -19
  1027. package/src/lib/dashboard/recents/recents.widget.html +0 -32
  1028. package/src/lib/dashboard/recents/recents.widget.scss +0 -9
  1029. package/src/lib/dashboard/recents/recents.widget.ts +0 -89
  1030. package/src/lib/dashboard/score/activity.widget.html +0 -9
  1031. package/src/lib/dashboard/score/activity.widget.ts +0 -164
  1032. package/src/lib/dashboard/score/compare-departments.widget.html +0 -8
  1033. package/src/lib/dashboard/score/compare-departments.widget.ts +0 -210
  1034. package/src/lib/dashboard/score/peers-performance.widget.html +0 -23
  1035. package/src/lib/dashboard/score/peers-performance.widget.ts +0 -254
  1036. package/src/lib/dashboard/score/pending-results.widget.html +0 -29
  1037. package/src/lib/dashboard/score/pending-results.widget.ts +0 -57
  1038. package/src/lib/dashboard/score/personal-score.widget.html +0 -18
  1039. package/src/lib/dashboard/score/personal-score.widget.ts +0 -225
  1040. package/src/lib/dashboard/widget-item.component.ts +0 -90
  1041. package/src/lib/dashboard/widget-ref.ts +0 -20
  1042. package/src/lib/desktop.module.ts +0 -98
  1043. package/src/lib/home/_home-theme.scss +0 -156
  1044. package/src/lib/home/about/about.dialog.html +0 -19
  1045. package/src/lib/home/about/about.dialog.ts +0 -18
  1046. package/src/lib/home/home-base.component.ts +0 -100
  1047. package/src/lib/home/home.desktop.component.html +0 -87
  1048. package/src/lib/home/home.desktop.component.scss +0 -66
  1049. package/src/lib/home/home.desktop.component.ts +0 -188
  1050. package/src/lib/home/home.mobile.component.html +0 -81
  1051. package/src/lib/home/home.mobile.component.scss +0 -49
  1052. package/src/lib/home/home.mobile.component.ts +0 -105
  1053. package/src/lib/home/notifications/notifications.component.html +0 -18
  1054. package/src/lib/home/notifications/notifications.component.scss +0 -36
  1055. package/src/lib/home/notifications/notifications.component.ts +0 -55
  1056. package/src/lib/home/options/options.component.html +0 -41
  1057. package/src/lib/home/options/options.component.scss +0 -16
  1058. package/src/lib/home/options/options.component.ts +0 -95
  1059. package/src/lib/home/outofoffice/outofoffice.component.html +0 -5
  1060. package/src/lib/home/outofoffice/outofoffice.component.scss +0 -10
  1061. package/src/lib/home/outofoffice/outofoffice.component.ts +0 -33
  1062. package/src/lib/home/progress-bar.directive.exp.ts +0 -24
  1063. package/src/lib/home/search.service.ts +0 -87
  1064. package/src/lib/home/sign/sign.component.html +0 -15
  1065. package/src/lib/home/sign/sign.component.ts +0 -42
  1066. package/src/lib/home/submenu.directive.exp.ts +0 -43
  1067. package/src/lib/home/tools.component.html +0 -27
  1068. package/src/lib/home/tools.component.scss +0 -15
  1069. package/src/lib/home/tools.component.ts +0 -72
  1070. package/src/lib/home/welcome/welcome.dialog.exp.ts +0 -35
  1071. package/src/lib/home/welcome/welcome.dialog.html +0 -14
  1072. package/src/lib/impersonate/impersonate.component.html +0 -17
  1073. package/src/lib/impersonate/impersonate.component.scss +0 -3
  1074. package/src/lib/impersonate/impersonate.component.spec.ts +0 -24
  1075. package/src/lib/impersonate/impersonate.component.ts +0 -60
  1076. package/src/lib/mobile.module.ts +0 -39
  1077. package/src/lib/modules/chart.module.ts +0 -37
  1078. package/src/lib/modules/circular-gauge.module.ts +0 -11
  1079. package/src/lib/modules/date.adapter.ts +0 -31
  1080. package/src/lib/modules/datepicker.intl.ts +0 -35
  1081. package/src/lib/modules/diagram.module.ts +0 -20
  1082. package/src/lib/modules/gantt.module.ts +0 -12
  1083. package/src/lib/modules/grid.module.ts +0 -16
  1084. package/src/lib/modules/material.module.ts +0 -104
  1085. package/src/lib/modules/paginator.intl.ts +0 -16
  1086. package/src/lib/modules/pivot.module.ts +0 -13
  1087. package/src/lib/modules/schedule.module.ts +0 -12
  1088. package/src/lib/modules/spreadsheet.module.ts +0 -17
  1089. package/src/lib/modules/stepper.intl.ts +0 -12
  1090. package/src/lib/modules/texteditor.module.ts +0 -16
  1091. package/src/lib/notifications/filter.component.html +0 -6
  1092. package/src/lib/notifications/filter.component.ts +0 -16
  1093. package/src/lib/notifications/notifications-table.component.html +0 -54
  1094. package/src/lib/notifications/notifications-table.component.scss +0 -14
  1095. package/src/lib/notifications/notifications-table.component.ts +0 -94
  1096. package/src/lib/notifications/notifications.component-base.ts +0 -49
  1097. package/src/lib/notifications/notifications.mobile.component.ts +0 -13
  1098. package/src/lib/notifications/notifications.pane.component.ts +0 -16
  1099. package/src/lib/notifications/notifications.service.ts +0 -66
  1100. package/src/lib/notifications/types/commented.notification.html +0 -14
  1101. package/src/lib/notifications/types/commented.notification.ts +0 -51
  1102. package/src/lib/notifications/types/cube-anomaly.notification.ts +0 -51
  1103. package/src/lib/notifications/types/escalated.notification.ts +0 -36
  1104. package/src/lib/notifications/types/liked.notification.ts +0 -49
  1105. package/src/lib/notifications/types/long-running-task.notification.ts +0 -23
  1106. package/src/lib/notifications/types/notification-base.ts +0 -37
  1107. package/src/lib/notifications/types/nudge.notification.ts +0 -32
  1108. package/src/lib/notifications/types/state-changed.notification.ts +0 -27
  1109. package/src/lib/notifications/types/tagged.notification.ts +0 -46
  1110. package/src/lib/notifications/types/text.notification.ts +0 -13
  1111. package/src/lib/notifications/types/upcoming-event.notification.ts +0 -25
  1112. package/src/lib/options/options.component.html +0 -149
  1113. package/src/lib/options/options.component.scss +0 -19
  1114. package/src/lib/options/options.component.ts +0 -244
  1115. package/src/lib/options/options.service.ts +0 -30
  1116. package/src/lib/reports/arguments-component.ts +0 -73
  1117. package/src/lib/reports/cube/grid-documents.component.html +0 -25
  1118. package/src/lib/reports/cube/grid-documents.component.ts +0 -85
  1119. package/src/lib/reports/cube/table-documents.component.css +0 -18
  1120. package/src/lib/reports/cube/table-documents.component.html +0 -30
  1121. package/src/lib/reports/cube/table-documents.component.ts +0 -65
  1122. package/src/lib/reports/cube/usage-args.component.html +0 -3
  1123. package/src/lib/reports/cube/usage-args.component.ts +0 -55
  1124. package/src/lib/reports/cube/usage-base.ts +0 -112
  1125. package/src/lib/reports/cube/usage-browse.component.exp.ts +0 -93
  1126. package/src/lib/reports/cube/usage-browse.component.html +0 -27
  1127. package/src/lib/reports/cube/usage-browse.component.scss +0 -24
  1128. package/src/lib/reports/cube/usage-chart.component.html +0 -11
  1129. package/src/lib/reports/cube/usage-chart.component.ts +0 -387
  1130. package/src/lib/reports/cube/usage-pivot.component.html +0 -19
  1131. package/src/lib/reports/cube/usage-pivot.component.ts +0 -252
  1132. package/src/lib/reports/report-ref.ts +0 -42
  1133. package/src/lib/reports/report-viewer.component.html +0 -2
  1134. package/src/lib/reports/report-viewer.component.scss +0 -12
  1135. package/src/lib/reports/report-viewer.component.ts +0 -162
  1136. package/src/lib/reports/report.mobile.component.html +0 -16
  1137. package/src/lib/reports/report.mobile.component.scss +0 -7
  1138. package/src/lib/reports/report.mobile.component.ts +0 -107
  1139. package/src/lib/reports/report.pane.component.html +0 -8
  1140. package/src/lib/reports/report.pane.component.scss +0 -9
  1141. package/src/lib/reports/report.pane.component.ts +0 -78
  1142. package/src/lib/reports/reports-menu.component.html +0 -9
  1143. package/src/lib/reports/reports-menu.component.ts +0 -20
  1144. package/src/lib/reports/substitution/substitution.component.html +0 -26
  1145. package/src/lib/reports/substitution/substitution.component.ts +0 -34
  1146. package/src/lib/reports/table/table-view.component.html +0 -8
  1147. package/src/lib/reports/table/table-view.component.scss +0 -0
  1148. package/src/lib/reports/table/table-view.component.ts +0 -33
  1149. package/src/lib/reports/tasks/tasks.component.html +0 -21
  1150. package/src/lib/reports/tasks/tasks.component.ts +0 -114
  1151. package/src/lib/reports/timeline/timeline.component.exp.ts +0 -225
  1152. package/src/lib/reports/timeline/timeline.component.html +0 -9
  1153. package/src/lib/routes.desktop.ts +0 -196
  1154. package/src/lib/routes.mobile.ts +0 -70
  1155. package/src/lib/scheduler/schedule.component.html +0 -36
  1156. package/src/lib/scheduler/schedule.component.scss +0 -13
  1157. package/src/lib/scheduler/schedule.component.ts +0 -158
  1158. package/src/lib/scheduler/scheduler.mobile.component.ts +0 -30
  1159. package/src/lib/scheduler/scheduler.pane.component.ts +0 -49
  1160. package/src/lib/shared.module.ts +0 -386
  1161. package/src/lib/system.module.ts +0 -75
  1162. package/src/lib/views/_views.theme.scss +0 -18
  1163. package/src/lib/views/cube/chart.component.html +0 -24
  1164. package/src/lib/views/cube/chart.component.ts +0 -88
  1165. package/src/lib/views/cube/cube-base.ts +0 -126
  1166. package/src/lib/views/cube/explore.component.html +0 -33
  1167. package/src/lib/views/cube/explore.component.ts +0 -82
  1168. package/src/lib/views/cube/filter.component.exp.ts +0 -66
  1169. package/src/lib/views/cube/filter.component.html +0 -25
  1170. package/src/lib/views/cube/matrix.component.html +0 -42
  1171. package/src/lib/views/cube/matrix.component.scss +0 -3
  1172. package/src/lib/views/cube/matrix.component.ts +0 -107
  1173. package/src/lib/views/cube/parallel.component.html +0 -10
  1174. package/src/lib/views/cube/parallel.component.scss +0 -13
  1175. package/src/lib/views/cube/parallel.component.ts +0 -62
  1176. package/src/lib/views/cube/pivot.component.html +0 -8
  1177. package/src/lib/views/cube/pivot.component.ts +0 -62
  1178. package/src/lib/views/cube/sum.component.html +0 -30
  1179. package/src/lib/views/cube/sum.component.scss +0 -3
  1180. package/src/lib/views/cube/sum.component.ts +0 -71
  1181. package/src/lib/views/cube/view.component.html +0 -34
  1182. package/src/lib/views/cube/view.component.scss +0 -12
  1183. package/src/lib/views/cube/view.component.ts +0 -103
  1184. package/src/lib/views/document-view-ref.ts +0 -34
  1185. package/src/lib/views/timeline/timeline.component.exp.ts +0 -333
  1186. package/src/lib/views/timeline/timeline.component.html +0 -6
  1187. package/src/lib/views/timeline/timeline.component.scss +0 -6
  1188. package/src/lib/views/view-item.component.ts +0 -67
  1189. package/src/lib/views/views.component.html +0 -4
  1190. package/src/lib/views/views.component.scss +0 -33
  1191. package/src/lib/views/views.component.ts +0 -23
  1192. package/src/lib/views/views.mobile.component.ts +0 -19
  1193. package/src/lib/views/views.pane.component.ts +0 -31
  1194. package/src/polyfills.ts +0 -81
  1195. package/src/public-api.ts +0 -147
  1196. package/src/styles/_app.scss +0 -316
  1197. package/src/styles/_emoji-mart.scss +0 -504
  1198. package/src/styles/_syncfusion-base-definitions.scss +0 -63
  1199. package/src/styles/_syncfusion-dark-definitions.scss +0 -23
  1200. package/src/styles/_syncfusion-icons.scss +0 -57
  1201. package/src/styles/_syncfusion-light-definitions.scss +0 -23
  1202. package/src/styles/_syncfusion.scss +0 -22
  1203. package/src/styles/brown.scss +0 -15
  1204. package/src/styles/build.ps1 +0 -25
  1205. package/src/styles/dark.scss +0 -24
  1206. package/src/styles/deep-purple-light-blue.scss +0 -22
  1207. package/src/styles/deep-purple-teal.scss +0 -22
  1208. package/src/styles/default.scss +0 -23
  1209. package/src/styles/diagram-icons.eot +0 -0
  1210. package/src/styles/diagram-icons.ttf +0 -0
  1211. package/src/styles/green.scss +0 -14
  1212. package/src/styles/indigo.scss +0 -15
  1213. package/src/test.ts +0 -26
  1214. package/tsconfig.lib.json +0 -25
  1215. package/tsconfig.lib.prod.json +0 -10
  1216. package/tsconfig.spec.json +0 -18
@@ -0,0 +1,365 @@
1
+ import { EventEmitter, Component, Output, HostBinding, Input } from "@angular/core";
2
+ import { Spreadsheet, isNumber } from "@syncfusion/ej2-angular-spreadsheet";
3
+ import { Workbook } from '@syncfusion/ej2-excel-export';
4
+ import { isArray, isString } from "../../core/functions";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../core/session.service";
7
+ import * as i2 from "../../core/prompt.service";
8
+ import * as i3 from "../cube.service";
9
+ import * as i4 from "../../core/translate.service";
10
+ import * as i5 from "../../core/datasource.service";
11
+ export class CubeSpreadsheetComponent {
12
+ //private readonly _intl: Internationalization = new Internationalization();
13
+ constructor(_session, _sb, _service, _translate, _ds, _elementRef) {
14
+ this._session = _session;
15
+ this._sb = _sb;
16
+ this._service = _service;
17
+ this._translate = _translate;
18
+ this._ds = _ds;
19
+ this._elementRef = _elementRef;
20
+ this.explore = new EventEmitter();
21
+ this.loadingChange = new EventEmitter();
22
+ this.id = `cube-spreadsheet-${CubeSpreadsheetComponent.nextId++}`;
23
+ this.dataSource = [];
24
+ this.scrollSettings = { isFinite: true };
25
+ this.numberStyle = { textAlign: 'right' };
26
+ this.autoFillSettings = { showFillOptions: false };
27
+ this._yrows = [];
28
+ this._xcolumns = [];
29
+ }
30
+ set xAxis(val) {
31
+ this._xAxis = isArray(val) ? val : [val];
32
+ }
33
+ set series(val) {
34
+ if (val)
35
+ this._series = isArray(val) ? val : [val];
36
+ }
37
+ set indices(val) {
38
+ if (val)
39
+ this._indices = isArray(val) ? val : [val];
40
+ }
41
+ ngOnInit() {
42
+ this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
43
+ this._numberFormat = `${this._cube.currencyCode ? 'c' : 'n'}${this._service.fractionDigits}`;
44
+ if (this._series) {
45
+ const yName = this._series[0], xName = this._xAxis[0], xAxis = this._cube.axes.find(a => a.name === xName), yAxis = this._cube.axes.find(a => a.name === yName);
46
+ const promises = [];
47
+ this.columns = [{
48
+ width: 120
49
+ }];
50
+ // acquire columns source
51
+ let observe = this._ds.all(xAxis.dataType).toPromise().
52
+ then(c => {
53
+ this._xcolumns = c;
54
+ c.forEach(_ => this.columns.push({
55
+ width: 90
56
+ }));
57
+ });
58
+ promises.push(observe);
59
+ // acquire rows source
60
+ observe = this._ds.all(yAxis.dataType).toPromise().
61
+ then(r => this._yrows = r);
62
+ promises.push(observe);
63
+ this._prepare = Promise.all(promises);
64
+ }
65
+ else {
66
+ this._axes = this._xAxis.map(c => this._cube.axes.find(a => a.name == c));
67
+ this.columns = this._axes.map(_ => {
68
+ return {
69
+ width: 120
70
+ };
71
+ });
72
+ this.columns.push({
73
+ width: 90
74
+ } /* value */);
75
+ this._indices && this._indices.forEach(_ => this.columns.push({
76
+ width: 90
77
+ }));
78
+ }
79
+ if (this._indices)
80
+ this._cindices = this._cube.indices.filter(i => this._indices.indexOf(i.name) > -1);
81
+ this.execute();
82
+ }
83
+ ngOnChanges(changes) {
84
+ if (changes['filters'] && !changes['filters'].firstChange)
85
+ this.execute();
86
+ else if (changes['height'] || changes['width'])
87
+ this.resize();
88
+ }
89
+ resize() {
90
+ if (this.spreadsheet) {
91
+ this.spreadsheet.height = this.height;
92
+ this.spreadsheet.width = this.width;
93
+ this.spreadsheet.refresh();
94
+ }
95
+ }
96
+ execute() {
97
+ this.loadingChange.emit(true);
98
+ if (this._series)
99
+ this._service.series(this.cube, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
100
+ subscribe(data => {
101
+ this._prepare.then(() => {
102
+ this._dataseries(data);
103
+ this._draw();
104
+ this.loadingChange.emit(false);
105
+ });
106
+ }, (e) => {
107
+ this._sb.error(e.status === 406 ? 'Unauthorized' : null);
108
+ this.loadingChange.emit(false);
109
+ });
110
+ else
111
+ this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
112
+ subscribe(data => {
113
+ this._datatable(data);
114
+ this._draw();
115
+ this.loadingChange.emit(false);
116
+ }, (e) => {
117
+ this._sb.error(e.status === 406 ? 'Unauthorized' : null);
118
+ this.loadingChange.emit(false);
119
+ });
120
+ }
121
+ _datatable(data) {
122
+ const cells = [], style = { fontWeight: 'bold', textAlign: 'center' };
123
+ this._axes.forEach(c => cells.push({
124
+ value: c.title, style
125
+ }));
126
+ this._cindices?.forEach(i => cells.push({ value: i.title, style }));
127
+ cells.push({
128
+ value: this.yAxis ? this.yAxis.title : this._translate.get('Value'),
129
+ style
130
+ });
131
+ this.dataSource = [{
132
+ cells, height: 25
133
+ }];
134
+ data.forEach(d => {
135
+ const cells = [];
136
+ this._xAxis.forEach(c => cells.push({
137
+ value: d[c],
138
+ }));
139
+ this._indices?.forEach(i => cells.push({
140
+ style: this.numberStyle,
141
+ format: this._numberFormat,
142
+ value: (d[i] || 0),
143
+ }));
144
+ cells.push({
145
+ style: this.numberStyle,
146
+ format: this._numberFormat,
147
+ value: (d.value || 0),
148
+ });
149
+ this.dataSource.push({ cells, source: d, height: 25 });
150
+ });
151
+ }
152
+ _dataseries(d) {
153
+ const style = { fontWeight: 'bold', textAlign: 'center' };
154
+ const cells = [{ value: '' }];
155
+ this._xcolumns.forEach(c => cells.push({ value: c.value, style }));
156
+ this.dataSource = [{ cells, height: 25 }];
157
+ this._cindices?.forEach(i => {
158
+ const cells = [{ value: i.title, style }], series = d.find(s => s.index === i.name), map = {};
159
+ if (series) {
160
+ series.points.forEach(p => map[p.x] = p.y);
161
+ this._xcolumns.forEach(c => cells.push({
162
+ value: (map[c.key] || 0),
163
+ format: this._numberFormat,
164
+ style: this.numberStyle
165
+ }));
166
+ this.dataSource.push({ cells, height: 25 });
167
+ }
168
+ });
169
+ this._yrows.forEach(r => {
170
+ const cells = [{ value: r.value, style }], serie = d.find(s => s.name === r.key), map = {};
171
+ if (serie) {
172
+ serie.points.forEach(p => map[p.x] = p.y);
173
+ this._xcolumns.forEach(c => cells.push({
174
+ value: (map[c.key] || 0),
175
+ format: this._numberFormat,
176
+ style: this.numberStyle
177
+ }));
178
+ }
179
+ else
180
+ this._xcolumns.forEach(_ => cells.push({ value: 0 }));
181
+ this.dataSource.push({ cells, height: 25 });
182
+ });
183
+ }
184
+ _draw() {
185
+ this.spreadsheet && this.spreadsheet.destroy();
186
+ this.spreadsheet = new Spreadsheet({
187
+ scrollSettings: this.scrollSettings,
188
+ isProtected: true,
189
+ allowEditing: false,
190
+ allowDelete: false,
191
+ allowInsert: false,
192
+ showRibbon: false,
193
+ allowAutoFill: false,
194
+ autoFillSettings: this.autoFillSettings,
195
+ enableClipboard: false,
196
+ enableContextMenu: false,
197
+ showFormulaBar: false,
198
+ showSheetTabs: false,
199
+ select: this.select.bind(this),
200
+ sheets: [{
201
+ columns: this.columns,
202
+ frozenColumns: this._series !== undefined ? 1 : 0,
203
+ frozenRows: 1,
204
+ rows: this.dataSource,
205
+ }],
206
+ width: this.width,
207
+ height: this.height,
208
+ }, this._elementRef.nativeElement);
209
+ }
210
+ select(evt) {
211
+ const address = this.spreadsheet.getAddressInfo(evt.range);
212
+ let [y, x, y1, x1] = address.indices;
213
+ if (y1 < y) {
214
+ const range = y;
215
+ y = y1, y1 = range;
216
+ }
217
+ if (x1 < x) {
218
+ const range = x;
219
+ x = x1, x1 = range;
220
+ }
221
+ const axes = {};
222
+ let index;
223
+ if (y > this.dataSource.length - 1 || x > this.dataSource[y].cells.length - 1)
224
+ return;
225
+ if (y === y1 && x === x1 && this.dataSource[y].cells[x].value === 0)
226
+ return;
227
+ if (this._series) {
228
+ if (y < 1) {
229
+ if (this._indices)
230
+ return;
231
+ this._fillx(x, x1, axes);
232
+ }
233
+ else if (this._indices && y <= this._indices.length + 1) {
234
+ index = this._indices[y - 1];
235
+ this._fillx(x, x1, axes);
236
+ }
237
+ else {
238
+ if (this._indices)
239
+ this._filly(y - this._indices.length, y1 - this._indices.length, axes);
240
+ else
241
+ this._filly(y, y1, axes);
242
+ if (x > 1)
243
+ this._fillx(x, x1, axes);
244
+ }
245
+ }
246
+ else {
247
+ if (y === 0)
248
+ return;
249
+ index = this._indices && x >= this._axes.length && x < this._axes.length + this._cindices.length ? this._cindices[x - this._axes.length].name : null;
250
+ let i = y;
251
+ do {
252
+ this._axes.forEach(a => {
253
+ const key = this.dataSource[i].source['_' + a.name];
254
+ if (!axes[a.name])
255
+ axes[a.name] = key;
256
+ else if (isString(axes[a.name])) {
257
+ if (axes[a.name] !== key)
258
+ axes[a.name] = [axes[a.name], key];
259
+ }
260
+ else if (axes[a.name].indexOf(key) < 0)
261
+ axes[a.name].push(key);
262
+ });
263
+ i++;
264
+ } while (i <= y1);
265
+ }
266
+ this.explore.emit({ axes, index });
267
+ }
268
+ _filly(y, y1, axes) {
269
+ const yName = this._series[0];
270
+ let i = y - 1;
271
+ while (i < y1) {
272
+ let { key } = this._yrows[i];
273
+ if (!axes[yName])
274
+ axes[yName] = key;
275
+ else if (isString(axes[yName]))
276
+ axes[yName] = [axes[yName], key];
277
+ else if (axes[yName].indexOf(key) < 0)
278
+ axes[yName].push(key);
279
+ i++;
280
+ }
281
+ }
282
+ _fillx(x, x1, axes) {
283
+ const xName = this._xAxis[0];
284
+ let i = x - 1;
285
+ while (i < x1) {
286
+ let { key } = this._xcolumns[i];
287
+ if (!axes[xName])
288
+ axes[xName] = key;
289
+ else if (isString(axes[xName]))
290
+ axes[xName] = [axes[xName], key];
291
+ else if (axes[xName].indexOf(key) < 0)
292
+ axes[xName].push(key);
293
+ i++;
294
+ }
295
+ }
296
+ exportToExcel(title) {
297
+ const { rows } = this.spreadsheet.sheets[0], numberFormat = this._service.numberFormat, book = new Workbook({
298
+ worksheets: [
299
+ {
300
+ enableRtl: this._session.inverse,
301
+ name: this._translate.get('SheetN', 1),
302
+ columns: rows[0].cells.map((_, i) => ({ index: i + 1, width: 150 })),
303
+ rows: rows.map((r, i) => ({
304
+ index: i + 1,
305
+ cells: r.cells.map((c, j) => {
306
+ const header = i === 0 || (this._series !== undefined && j === 0), isnumber = !header && isNumber(c.value);
307
+ return {
308
+ type: isnumber ? 'number' : 'text',
309
+ index: j + 1,
310
+ value: c.value,
311
+ style: {
312
+ numberFormat,
313
+ hAlign: isnumber ? 'right' : 'center',
314
+ bold: header
315
+ }
316
+ };
317
+ })
318
+ })),
319
+ },
320
+ ],
321
+ }, 'xlsx');
322
+ book.save(`${title}.xlsx`);
323
+ }
324
+ ngOnDestroy() {
325
+ this.spreadsheet && this.spreadsheet.destroy();
326
+ }
327
+ }
328
+ CubeSpreadsheetComponent.nextId = 0;
329
+ CubeSpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CubeSpreadsheetComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.CubeService }, { token: i4.TranslateService }, { token: i5.DatasourceService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
330
+ CubeSpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: CubeSpreadsheetComponent, selector: "bizdoc-cube-spreadsheet", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CubeSpreadsheetComponent, decorators: [{
332
+ type: Component,
333
+ args: [{
334
+ selector: 'bizdoc-cube-spreadsheet',
335
+ template: '',
336
+ host: {
337
+ class: 'cube-view'
338
+ }
339
+ }]
340
+ }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.PromptService }, { type: i3.CubeService }, { type: i4.TranslateService }, { type: i5.DatasourceService }, { type: i0.ElementRef }]; }, propDecorators: { width: [{
341
+ type: Input
342
+ }], height: [{
343
+ type: Input
344
+ }], cube: [{
345
+ type: Input
346
+ }], xAxis: [{
347
+ type: Input
348
+ }], yAxis: [{
349
+ type: Input
350
+ }], series: [{
351
+ type: Input
352
+ }], indices: [{
353
+ type: Input
354
+ }], filters: [{
355
+ type: Input
356
+ }], explore: [{
357
+ type: Output
358
+ }], loading: [{
359
+ type: Input
360
+ }], loadingChange: [{
361
+ type: Output
362
+ }], id: [{
363
+ type: HostBinding
364
+ }] } });
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByZWFkc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxXQUFXLEVBQXlCLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFN0ksT0FBTyxFQUFvQyxXQUFXLEVBQTBELFFBQVEsRUFBdUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzTCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFXeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sd0JBQXdCO0lBNENuQyw0RUFBNEU7SUFDNUUsWUFDVSxRQUF3QixFQUN4QixHQUFrQixFQUNsQixRQUFxQixFQUNyQixVQUE0QixFQUM1QixHQUFzQixFQUN0QixXQUF1QjtRQUx2QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUExQmQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTdDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxPQUFFLEdBQUcsb0JBQW9CLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFNUUsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUVuQixtQkFBYyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBeUIsQ0FBQztRQUMzRCxn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SSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDOztBQWpXYywrQkFBTSxHQUFHLENBQUUsQ0FBQTtxSEFEZix3QkFBd0I7eUdBQXhCLHdCQUF3Qix1WUFMekIsRUFBRTsyRkFLRCx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXO3FCQUNuQjtpQkFDRjttUEFJQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUVhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ1EsRUFBRTtzQkFBaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDZWxsTW9kZWwsIENvbHVtbk1vZGVsLCBSb3dNb2RlbCwgU3ByZWFkc2hlZXQsIENlbGxTdHlsZU1vZGVsLCBTZWxlY3RFdmVudEFyZ3MsIEF1dG9GaWxsU2V0dGluZ3NNb2RlbCwgaXNOdW1iZXIsIFNjcm9sbFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3ByZWFkc2hlZXRcIjtcclxuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgV29ya3NoZWV0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvd29ya3NoZWV0JztcclxuaW1wb3J0IHsgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvcm93JztcclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvY29sdW1uJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzLCBDdWJlSW5kZXgsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtc3ByZWFkc2hlZXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgY3ViZS1zcHJlYWRzaGVldC0ke0N1YmVTcHJlYWRzaGVldENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHNwcmVhZHNoZWV0OiBTcHJlYWRzaGVldDtcclxuICBkYXRhU291cmNlOiBSb3dNb2RlbFtdID0gW107XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSBzY3JvbGxTZXR0aW5ncyA9IHsgaXNGaW5pdGU6IHRydWUgfSBhcyBTY3JvbGxTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG51bWJlclN0eWxlID0geyB0ZXh0QWxpZ246ICdyaWdodCcgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICByZWFkb25seSBhdXRvRmlsbFNldHRpbmdzID0geyBzaG93RmlsbE9wdGlvbnM6IGZhbHNlIH0gYXMgQXV0b0ZpbGxTZXR0aW5nc01vZGVsO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9pbmRpY2VzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfYXhlczogQ3ViZUF4aXNbXTtcclxuICBwcml2YXRlIF9jaW5kaWNlczogQ3ViZUluZGV4W107XHJcbiAgcHJpdmF0ZSBfeXJvd3M6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgcHJpdmF0ZSBfeGNvbHVtbnM6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZTogUHJvbWlzZTxhbnlbXT47XHJcbiAgcHJpdmF0ZSBfbnVtYmVyRm9ybWF0OiBzdHJpbmc7XHJcbiAgLy9wcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5jdWJlID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLl9udW1iZXJGb3JtYXQgPSBgJHt0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJ30ke3RoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHN9YFxyXG4gICAgaWYgKHRoaXMuX3Nlcmllcykge1xyXG4gICAgICBjb25zdCB5TmFtZSA9IHRoaXMuX3Nlcmllc1swXSwgeE5hbWUgPSB0aGlzLl94QXhpc1swXSxcclxuICAgICAgICB4QXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB4TmFtZSksXHJcbiAgICAgICAgeUF4aXMgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0geU5hbWUpO1xyXG4gICAgICBjb25zdCBwcm9taXNlczogUHJvbWlzZTxhbnk+W10gPSBbXTtcclxuICAgICAgdGhpcy5jb2x1bW5zID0gW3tcclxuICAgICAgICB3aWR0aDogMTIwXHJcbiAgICAgIH1dO1xyXG4gICAgICAvLyBhY3F1aXJlIGNvbHVtbnMgc291cmNlXHJcbiAgICAgIGxldCBvYnNlcnZlID0gdGhpcy5fZHMuYWxsKHhBeGlzLmRhdGFUeXBlKS50b1Byb21pc2UoKS5cclxuICAgICAgICB0aGVuKGMgPT4ge1xyXG4gICAgICAgICAgdGhpcy5feGNvbHVtbnMgPSBjO1xyXG4gICAgICAgICAgYy5mb3JFYWNoKF8gPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgICAgICB3aWR0aDogOTBcclxuICAgICAgICAgIH0gYXMgQ29sdW1uTW9kZWxcclxuICAgICAgICAgICkpO1xyXG4gICAgICAgIH0pIGFzIFByb21pc2U8YW55PjtcclxuICAgICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgICAgLy8gYWNxdWlyZSByb3dzIHNvdXJjZVxyXG4gICAgICBvYnNlcnZlID0gdGhpcy5fZHMuYWxsKHlBeGlzLmRhdGFUeXBlKS50b1Byb21pc2UoKS5cclxuICAgICAgICB0aGVuKHIgPT4gdGhpcy5feXJvd3MgPSByKTtcclxuICAgICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuXHJcbiAgICAgIHRoaXMuX3ByZXBhcmUgPSBQcm9taXNlLmFsbChwcm9taXNlcyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5fYXhlcyA9IHRoaXMuX3hBeGlzLm1hcChjID0+IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09IGMpKTtcclxuICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fYXhlcy5tYXAoXyA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHdpZHRoOiAxMjBcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICB9IC8qIHZhbHVlICovKTtcclxuICAgICAgdGhpcy5faW5kaWNlcyAmJiB0aGlzLl9pbmRpY2VzLmZvckVhY2goXyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgd2lkdGg6IDkwXHJcbiAgICAgIH0gYXMgQ29sdW1uTW9kZWxcclxuICAgICAgKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5faW5kaWNlcykgdGhpcy5fY2luZGljZXMgPSB0aGlzLl9jdWJlLmluZGljZXMuZmlsdGVyKGkgPT4gdGhpcy5faW5kaWNlcy5pbmRleE9mKGkubmFtZSkgPiAtMSk7XHJcbiAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2ZpbHRlcnMnXSAmJiAhY2hhbmdlc1snZmlsdGVycyddLmZpcnN0Q2hhbmdlKVxyXG4gICAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICAgIGVsc2VcclxuICAgICAgaWYgKGNoYW5nZXNbJ2hlaWdodCddIHx8IGNoYW5nZXNbJ3dpZHRoJ10pXHJcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgcmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMuc3ByZWFkc2hlZXQpIHtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC5oZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC53aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICAgIHRoaXMuc3ByZWFkc2hlZXQucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgaWYgKHRoaXMuX3NlcmllcylcclxuICAgICAgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzLCBpbmRpY2VzOiB0aGlzLl9pbmRpY2VzIH0pLlxyXG4gICAgICAgIHN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgIHRoaXMuX3ByZXBhcmUudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFzZXJpZXMoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDA2ID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IGZpbHRlcnM6IHRoaXMuZmlsdGVycywgaW5kaWNlczogdGhpcy5faW5kaWNlcyB9KS5cclxuICAgICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9kYXRhdGFibGUoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDA2ID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGF0YXRhYmxlKGRhdGE6IHsgdmFsdWU6IG51bWJlcjsgfVtdKSB7XHJcbiAgICBjb25zdCBjZWxscyA9IFtdLCBzdHlsZSA9IHsgZm9udFdlaWdodDogJ2JvbGQnLCB0ZXh0QWxpZ246ICdjZW50ZXInIH0gYXMgQ2VsbFN0eWxlTW9kZWw7XHJcbiAgICB0aGlzLl9heGVzLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgdmFsdWU6IGMudGl0bGUsIHN0eWxlXHJcbiAgICB9IGFzIENlbGxNb2RlbCkpO1xyXG4gICAgdGhpcy5fY2luZGljZXM/LmZvckVhY2goaSA9PiBjZWxscy5wdXNoKHsgdmFsdWU6IGkudGl0bGUsIHN0eWxlIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICBjZWxscy5wdXNoKHtcclxuICAgICAgdmFsdWU6IHRoaXMueUF4aXMgPyB0aGlzLnlBeGlzLnRpdGxlIDogdGhpcy5fdHJhbnNsYXRlLmdldCgnVmFsdWUnKSxcclxuICAgICAgc3R5bGVcclxuICAgIH0gYXMgQ2VsbE1vZGVsKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFt7XHJcbiAgICAgIGNlbGxzLCBoZWlnaHQ6IDI1XHJcbiAgICB9IGFzIFJvd01vZGVsXTtcclxuICAgIGRhdGEuZm9yRWFjaChkID0+IHtcclxuICAgICAgY29uc3QgY2VsbHMgPSBbXTtcclxuICAgICAgdGhpcy5feEF4aXMuZm9yRWFjaChjID0+IGNlbGxzLnB1c2goe1xyXG4gICAgICAgIHZhbHVlOiBkW2NdLFxyXG4gICAgICB9IGFzIENlbGxNb2RlbCkpO1xyXG4gICAgICB0aGlzLl9pbmRpY2VzPy5mb3JFYWNoKGkgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkW2ldIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkLnZhbHVlIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBzb3VyY2U6IGQsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RhdGFzZXJpZXMoZDogU2VyaWVzW10pIHtcclxuICAgIGNvbnN0IHN0eWxlID0geyBmb250V2VpZ2h0OiAnYm9sZCcsIHRleHRBbGlnbjogJ2NlbnRlcicgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICAgIGNvbnN0IGNlbGxzID0gW3sgdmFsdWU6ICcnIH0gYXMgQ2VsbE1vZGVsXTtcclxuICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHsgdmFsdWU6IGMudmFsdWUsIHN0eWxlIH0pKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFt7IGNlbGxzLCBoZWlnaHQ6IDI1IH1dO1xyXG4gICAgdGhpcy5fY2luZGljZXM/LmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGNvbnN0IGNlbGxzID0gW3sgdmFsdWU6IGkudGl0bGUsIHN0eWxlIH0gYXMgQ2VsbE1vZGVsXSwgc2VyaWVzID0gZC5maW5kKHMgPT4gcy5pbmRleCA9PT0gaS5uYW1lKSwgbWFwID0ge307XHJcbiAgICAgIGlmIChzZXJpZXMpIHtcclxuICAgICAgICBzZXJpZXMucG9pbnRzLmZvckVhY2gocCA9PiBtYXBbcC54XSA9IHAueSk7XHJcbiAgICAgICAgdGhpcy5feGNvbHVtbnMuZm9yRWFjaChjID0+IGNlbGxzLnB1c2goe1xyXG4gICAgICAgICAgdmFsdWU6IChtYXBbYy5rZXldIHx8IDApIGFzIGFueSxcclxuICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGVcclxuICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnB1c2goeyBjZWxscywgaGVpZ2h0OiAyNSB9IGFzIFJvd01vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl95cm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiByLnZhbHVlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sXHJcbiAgICAgICAgc2VyaWUgPSBkLmZpbmQocyA9PiBzLm5hbWUgPT09IHIua2V5KSwgbWFwID0ge307XHJcbiAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgIHNlcmllLnBvaW50cy5mb3JFYWNoKHAgPT4gbWFwW3AueF0gPSBwLnkpO1xyXG4gICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuX251bWJlckZvcm1hdCxcclxuICAgICAgICAgIHN0eWxlOiB0aGlzLm51bWJlclN0eWxlXHJcbiAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKF8gPT4gY2VsbHMucHVzaCh7IHZhbHVlOiAwIGFzIGFueSB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCA9IG5ldyBTcHJlYWRzaGVldCh7XHJcbiAgICAgIHNjcm9sbFNldHRpbmdzOiB0aGlzLnNjcm9sbFNldHRpbmdzLFxyXG4gICAgICBpc1Byb3RlY3RlZDogdHJ1ZSxcclxuICAgICAgYWxsb3dFZGl0aW5nOiBmYWxzZSxcclxuICAgICAgYWxsb3dEZWxldGU6IGZhbHNlLFxyXG4gICAgICBhbGxvd0luc2VydDogZmFsc2UsXHJcbiAgICAgIHNob3dSaWJib246IGZhbHNlLFxyXG4gICAgICBhbGxvd0F1dG9GaWxsOiBmYWxzZSxcclxuICAgICAgYXV0b0ZpbGxTZXR0aW5nczogdGhpcy5hdXRvRmlsbFNldHRpbmdzLFxyXG4gICAgICBlbmFibGVDbGlwYm9hcmQ6IGZhbHNlLFxyXG4gICAgICBlbmFibGVDb250ZXh0TWVudTogZmFsc2UsXHJcbiAgICAgIHNob3dGb3JtdWxhQmFyOiBmYWxzZSxcclxuICAgICAgc2hvd1NoZWV0VGFiczogZmFsc2UsXHJcbiAgICAgIHNlbGVjdDogdGhpcy5zZWxlY3QuYmluZCh0aGlzKSxcclxuICAgICAgc2hlZXRzOiBbe1xyXG4gICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcclxuICAgICAgICBmcm96ZW5Db2x1bW5zOiB0aGlzLl9zZXJpZXMgIT09IHVuZGVmaW5lZCA/IDEgOiAwLFxyXG4gICAgICAgIGZyb3plblJvd3M6IDEsXHJcbiAgICAgICAgcm93czogdGhpcy5kYXRhU291cmNlLFxyXG4gICAgICB9XSxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBzZWxlY3QoZXZ0OiBTZWxlY3RFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLnNwcmVhZHNoZWV0LmdldEFkZHJlc3NJbmZvKGV2dC5yYW5nZSk7XHJcbiAgICBsZXQgW3ksIHgsIHkxLCB4MV0gPSBhZGRyZXNzLmluZGljZXM7XHJcbiAgICBpZiAoeTEgPCB5KSB7XHJcbiAgICAgIGNvbnN0IHJhbmdlID0geTtcclxuICAgICAgeSA9IHkxLCB5MSA9IHJhbmdlO1xyXG4gICAgfVxyXG4gICAgaWYgKHgxIDwgeCkge1xyXG4gICAgICBjb25zdCByYW5nZSA9IHg7XHJcbiAgICAgIHggPSB4MSwgeDEgPSByYW5nZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGF4ZXM6IHt9ID0ge307XHJcbiAgICBsZXQgaW5kZXg6IHN0cmluZztcclxuICAgIGlmICh5ID4gdGhpcy5kYXRhU291cmNlLmxlbmd0aCAtIDEgfHwgeCA+IHRoaXMuZGF0YVNvdXJjZVt5XS5jZWxscy5sZW5ndGggLSAxKSByZXR1cm47XHJcbiAgICBpZiAoeSA9PT0geTEgJiYgeCA9PT0geDEgJiYgdGhpcy5kYXRhU291cmNlW3ldLmNlbGxzW3hdLnZhbHVlIGFzIGFueSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuX3Nlcmllcykge1xyXG4gICAgICBpZiAoeSA8IDEpIHtcclxuICAgICAgICBpZiAodGhpcy5faW5kaWNlcykgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuX2ZpbGx4KHgsIHgxLCBheGVzKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLl9pbmRpY2VzICYmIHkgPD0gdGhpcy5faW5kaWNlcy5sZW5ndGggKyAxKSB7XHJcbiAgICAgICAgaW5kZXggPSB0aGlzLl9pbmRpY2VzW3kgLSAxXTtcclxuICAgICAgICB0aGlzLl9maWxseCh4LCB4MSwgYXhlcyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luZGljZXMpXHJcbiAgICAgICAgICB0aGlzLl9maWxseSh5IC0gdGhpcy5faW5kaWNlcy5sZW5ndGgsIHkxIC0gdGhpcy5faW5kaWNlcy5sZW5ndGgsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX2ZpbGx5KHksIHkxLCBheGVzKTtcclxuICAgICAgICBpZiAoeCA+IDEpXHJcbiAgICAgICAgICB0aGlzLl9maWxseCh4LCB4MSwgYXhlcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoeSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgICBpbmRleCA9IHRoaXMuX2luZGljZXMgJiYgeCA+PSB0aGlzLl9heGVzLmxlbmd0aCAmJiB4IDwgdGhpcy5fYXhlcy5sZW5ndGggKyB0aGlzLl9jaW5kaWNlcy5sZW5ndGggPyB0aGlzLl9jaW5kaWNlc1t4IC0gdGhpcy5fYXhlcy5sZW5ndGhdLm5hbWUgOiBudWxsO1xyXG4gICAgICBsZXQgaSA9IHk7XHJcbiAgICAgIGRvIHtcclxuICAgICAgICB0aGlzLl9heGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBrZXkgPSAodGhpcy5kYXRhU291cmNlW2ldIGFzIGFueSkuc291cmNlWydfJyArIGEubmFtZV07XHJcbiAgICAgICAgICBpZiAoIWF4ZXNbYS5uYW1lXSlcclxuICAgICAgICAgICAgYXhlc1thLm5hbWVdID0ga2V5O1xyXG4gICAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1thLm5hbWVdKSkge1xyXG4gICAgICAgICAgICBpZiAoYXhlc1thLm5hbWVdICE9PSBrZXkpIGF4ZXNbYS5uYW1lXSA9IFtheGVzW2EubmFtZV0sIGtleV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICgoYXhlc1thLm5hbWVdIGFzIHN0cmluZ1tdKS5pbmRleE9mKGtleSkgPCAwKSAoYXhlc1thLm5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaSsrO1xyXG4gICAgICB9XHJcbiAgICAgIHdoaWxlIChpIDw9IHkxKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGx5KHk6IG51bWJlciwgeTE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdO1xyXG4gICAgbGV0IGkgPSB5IC0gMTtcclxuICAgIHdoaWxlIChpIDwgeTEpIHtcclxuICAgICAgbGV0IHsga2V5IH0gPSB0aGlzLl95cm93c1tpXTtcclxuICAgICAgaWYgKCFheGVzW3lOYW1lXSlcclxuICAgICAgICBheGVzW3lOYW1lXSA9IGtleTtcclxuICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1t5TmFtZV0pKVxyXG4gICAgICAgIGF4ZXNbeU5hbWVdID0gW2F4ZXNbeU5hbWVdLCBrZXldO1xyXG4gICAgICBlbHNlIGlmICgoYXhlc1t5TmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApXHJcbiAgICAgICAgKGF4ZXNbeU5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGx4KHg6IG51bWJlciwgeDE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHhOYW1lID0gdGhpcy5feEF4aXNbMF07XHJcbiAgICBsZXQgaSA9IHggLSAxO1xyXG4gICAgd2hpbGUgKGkgPCB4MSkge1xyXG4gICAgICBsZXQgeyBrZXkgfSA9IHRoaXMuX3hjb2x1bW5zW2ldO1xyXG4gICAgICBpZiAoIWF4ZXNbeE5hbWVdKVxyXG4gICAgICAgIGF4ZXNbeE5hbWVdID0ga2V5O1xyXG4gICAgICBlbHNlIGlmIChpc1N0cmluZyhheGVzW3hOYW1lXSkpXHJcbiAgICAgICAgYXhlc1t4TmFtZV0gPSBbYXhlc1t4TmFtZV0sIGtleV07XHJcbiAgICAgIGVsc2UgaWYgKChheGVzW3hOYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMClcclxuICAgICAgICAoYXhlc1t4TmFtZV0gYXMgc3RyaW5nW10pLnB1c2goa2V5KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IHJvd3MgfSA9IHRoaXMuc3ByZWFkc2hlZXQuc2hlZXRzWzBdLFxyXG4gICAgICBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAgICB7XHJcbiAgICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgICBjb2x1bW5zOiByb3dzWzBdLmNlbGxzLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgICAgcm93czogcm93cy5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgaW5kZXg6IGkgKyAxLFxyXG4gICAgICAgICAgICAgICAgICBjZWxsczogci5jZWxscy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBpID09PSAwIHx8ICh0aGlzLl9zZXJpZXMgIT09IHVuZGVmaW5lZCAmJiBqID09PSAwKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGlzbnVtYmVyID0gIWhlYWRlciAmJiBpc051bWJlcihjLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogaXNudW1iZXIgPyAnbnVtYmVyJyA6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBqICsgMSxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjLnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoQWxpZ246IGlzbnVtYmVyID8gJ3JpZ2h0JyA6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib2xkOiBoZWFkZXJcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgfSBhcyBSb3cpKSxcclxuICAgICAgICAgICAgfSBhcyBXb3Jrc2hlZXQsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ3hsc3gnXHJcbiAgICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIl19
@@ -0,0 +1,127 @@
1
+ import { Directive, ViewChild } from '@angular/core';
2
+ import { filter, first } from 'rxjs';
3
+ import { ACCOUNT_DELIMITER } from '../cube.service';
4
+ import { isArray } from '../../core/functions';
5
+ import { CubeMatrixComponent } from './table.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../cube.service";
8
+ import * as i2 from "../../core/datasource.service";
9
+ import * as i3 from "../../core/session.service";
10
+ export class CubeMatrixBase {
11
+ constructor(_service, _ds, _session) {
12
+ this._service = _service;
13
+ this._ds = _ds;
14
+ this._session = _session;
15
+ this.sources = {};
16
+ /** filters */
17
+ this.values = {};
18
+ }
19
+ set originalAxes(value) {
20
+ this._originalAxes = { ...value };
21
+ }
22
+ get originalAxes() {
23
+ return this._originalAxes;
24
+ }
25
+ get axes() {
26
+ return this._axes;
27
+ }
28
+ set axes(value) {
29
+ this._axes = value;
30
+ this.filters?.forEach(f => this.values[f.name] = value[f.name]);
31
+ }
32
+ get cube() {
33
+ return this._cube;
34
+ }
35
+ set cube(value) {
36
+ this.configuration = this._session.profile.cubes.find(c => c.name === value);
37
+ if (!this.configuration) {
38
+ this.configuration = this._session.profile.cubes[0];
39
+ value = this.configuration.name;
40
+ }
41
+ this._service.patterns(value).
42
+ subscribe(p => this.patterns = p);
43
+ this._cube = value;
44
+ }
45
+ get selection() {
46
+ return this._selection;
47
+ }
48
+ set selection(value) {
49
+ /** one or more axis */
50
+ this.filters = this.configuration.axes.filter(a => isArray(value) ?
51
+ value.indexOf(a.name) > -1 :
52
+ a.name === value);
53
+ this.filters.forEach(f => this.sources[f.name] = this._ds.all(f.dataType));
54
+ this._selection = value;
55
+ }
56
+ _populate() {
57
+ const axes = { ...this._originalAxes };
58
+ if (this.aggregation)
59
+ (isArray(this.aggregation) ? this.aggregation : [this.aggregation]).
60
+ forEach(g => {
61
+ if (axes[g])
62
+ delete axes[g];
63
+ });
64
+ this.axes = axes;
65
+ this._listen().then(() => {
66
+ const combination = this._combine(axes);
67
+ this.title = combination.join(ACCOUNT_DELIMITER);
68
+ });
69
+ }
70
+ /**
71
+ *
72
+ * @param axes
73
+ */
74
+ _combine(axes) {
75
+ return this.configuration.axes.
76
+ filter(a => a.combination).
77
+ map(a => axes[a.name]);
78
+ }
79
+ /**
80
+ *
81
+ * @param value
82
+ */
83
+ filter(name, value, title) {
84
+ const axes = { ...this.axes };
85
+ axes[name] = value;
86
+ this.onFilter(axes);
87
+ this._listen().then(() => this.values[name] = value);
88
+ }
89
+ _listen() {
90
+ return this.table.loadingChange.pipe(filter(ok => !ok), first()).toPromise();
91
+ }
92
+ onFilter(axes) {
93
+ this.axes = axes;
94
+ }
95
+ /**
96
+ *
97
+ * @param pattern
98
+ */
99
+ aggregate(pattern) {
100
+ const axes = { ...pattern.axes };
101
+ this._service.base(this.cube, axes, this.originalAxes);
102
+ this.axes = { ...axes, ...this.values };
103
+ this._listen().then(() => {
104
+ this.title = pattern.title;
105
+ this.pattern = pattern;
106
+ });
107
+ }
108
+ reset() {
109
+ this._populate();
110
+ this._listen().then(() => {
111
+ this.pattern = null;
112
+ this.title = null;
113
+ });
114
+ }
115
+ refresh() {
116
+ this.axes = { ...this.axes };
117
+ }
118
+ }
119
+ CubeMatrixBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CubeMatrixBase, deps: [{ token: i1.CubeService }, { token: i2.DatasourceService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Directive });
120
+ CubeMatrixBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: CubeMatrixBase, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], ngImport: i0 });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CubeMatrixBase, decorators: [{
122
+ type: Directive
123
+ }], ctorParameters: function () { return [{ type: i1.CubeService }, { type: i2.DatasourceService }, { type: i3.SessionService }]; }, propDecorators: { table: [{
124
+ type: ViewChild,
125
+ args: [CubeMatrixComponent, { static: true }]
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQW1FbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBNUMzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTBDVSxDQUFDO0lBN0R6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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RCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0F6SW1CLGNBQWM7K0ZBQWQsY0FBYyxpRUFDdkIsbUJBQW1COzJGQURWLGNBQWM7a0JBRG5DLFNBQVM7K0pBRTBDLEtBQUs7c0JBQXRELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFDQ09VTlRfREVMSU1JVEVSLCBDdWJlU2VydmljZSwgUGF0dGVybiB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4Q29tcG9uZW50LCBTdW1TZXR0aW5ncyB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3ViZU1hdHJpeEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoQ3ViZU1hdHJpeENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdGFibGU6IEN1YmVNYXRyaXhDb21wb25lbnQ7XHJcbiAgc2VyaWVzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIHhBeGlzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIGluZGV4QXQ/OiAnc2VyaWVzJyB8ICd4QXhpcyc7XHJcbiAgcGxhY2VBdD86ICdsZWFkaW5nJyB8ICd0cmFpbGluZyc7XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICBwcml2YXRlIF9heGVzOiBBeGVzTWFwO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsQXhlczogQXhlc01hcDtcclxuICBwdWJsaWMgc2V0IG9yaWdpbmFsQXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxBeGVzID0geyAuLi52YWx1ZSB9O1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IG9yaWdpbmFsQXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbEF4ZXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgYXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9heGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX2F4ZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVycz8uZm9yRWFjaChmID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW2YubmFtZV0gPSB2YWx1ZVtmLm5hbWVdXHJcbiAgICApO1xyXG4gIH1cclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICByZWFkb25seSBzb3VyY2VzOiB7IFtheGlzOiBzdHJpbmddOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnk7IH1bXT47IH0gPSB7fTtcclxuICAvKiogZmlsdGVycyAqL1xyXG4gIHJlYWRvbmx5IHZhbHVlczogQXhlc01hcCA9IHt9O1xyXG4gIGZpbHRlcnM6IEN1YmVBeGlzW107XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICB4QXhpczogc3RyaW5nO1xyXG4gIHNlcmllczogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IGN1YmUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jdWJlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1YmUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHZhbHVlKTtcclxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgICAgdmFsdWUgPSB0aGlzLmNvbmZpZ3VyYXRpb24ubmFtZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlcnZpY2UucGF0dGVybnModmFsdWUpLlxyXG4gICAgICBzdWJzY3JpYmUocCA9PlxyXG4gICAgICAgIHRoaXMucGF0dGVybnMgPSBwKTtcclxuICAgIHRoaXMuX2N1YmUgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3VtPzogU3VtU2V0dGluZ3MgfCBTdW1TZXR0aW5nc1tdO1xyXG4gIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgcHJvdGVjdGVkIGFnZ3JlZ2F0aW9uPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBwcm90ZWN0ZWQgZ2V0IHNlbGVjdGlvbigpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgc2V0IHNlbGVjdGlvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5maWx0ZXIoYSA9PiBpc0FycmF5KHZhbHVlKSA/XHJcbiAgICAgIHZhbHVlLmluZGV4T2YoYS5uYW1lKSA+IC0xIDpcclxuICAgICAgYS5uYW1lID09PSB2YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PiB0aGlzLnNvdXJjZXNbZi5uYW1lXSA9IHRoaXMuX2RzLmFsbChmLmRhdGFUeXBlKSk7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcbiAgY29uZmlndXJhdGlvbjogQ3ViZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7IH1cclxuICBwcml2YXRlIF9wb3B1bGF0ZSgpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuX29yaWdpbmFsQXhlcyB9O1xyXG4gICAgaWYgKHRoaXMuYWdncmVnYXRpb24pXHJcbiAgICAgIChpc0FycmF5KHRoaXMuYWdncmVnYXRpb24pID8gdGhpcy5hZ2dyZWdhdGlvbiA6IFt0aGlzLmFnZ3JlZ2F0aW9uIGFzIHN0cmluZ10pLlxyXG4gICAgICAgIGZvckVhY2goZyA9PiB7XHJcbiAgICAgICAgICBpZiAoYXhlc1tnXSlcclxuICAgICAgICAgICAgZGVsZXRlIGF4ZXNbZ107XHJcbiAgICAgICAgfSk7XHJcbiAgICB0aGlzLmF4ZXMgPSBheGVzO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbWJpbmF0aW9uID0gdGhpcy5fY29tYmluZShheGVzKTtcclxuICAgICAgdGhpcy50aXRsZSA9IGNvbWJpbmF0aW9uLmpvaW4oQUNDT1VOVF9ERUxJTUlURVIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGF4ZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb21iaW5lKGF4ZXM6IEF4ZXNNYXApOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5cclxuICAgICAgZmlsdGVyKGEgPT4gYS5jb21iaW5hdGlvbikuXHJcbiAgICAgIG1hcChhID0+IGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmcgfCBudW1iZXIpO1xyXG4gIH1cclxuICAvKipcclxuICpcclxuICogQHBhcmFtIHZhbHVlXHJcbiAqL1xyXG4gIGZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgYXhlc1tuYW1lXSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkZpbHRlcihheGVzKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT5cclxuICAgICAgdGhpcy52YWx1ZXNbbmFtZV0gPSB2YWx1ZVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbGlzdGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUubG9hZGluZ0NoYW5nZS5waXBlKGZpbHRlcihvayA9PiAhb2spLCBmaXJzdCgpKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXIoYXhlczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICB9XHJcbiAgLyoqXHJcbiAgICAqXHJcbiAgICAqIEBwYXJhbSBwYXR0ZXJuXHJcbiAgICAqL1xyXG4gIGFnZ3JlZ2F0ZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi5wYXR0ZXJuLmF4ZXMgfTtcclxuICAgIHRoaXMuX3NlcnZpY2UuYmFzZSh0aGlzLmN1YmUsIGF4ZXMsIHRoaXMub3JpZ2luYWxBeGVzKTtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4uYXhlcywgLi4udGhpcy52YWx1ZXMgfTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnRpdGxlID0gcGF0dGVybi50aXRsZTtcclxuICAgICAgdGhpcy5wYXR0ZXJuID0gcGF0dGVybjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IG51bGw7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5heGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICB9XHJcbn1cclxuIl19