@bizdoc/core 2.3.29 → 2.3.32

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 (399) hide show
  1. package/assets/bizdoc-schema.json +31 -13
  2. package/assets/themes/deep-purple-light-blue.min.css +4 -4
  3. package/assets/themes/default.min.css +4 -4
  4. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  5. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  6. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  7. package/esm2022/lib/admin/architecture/declarations.mjs +18 -2
  8. package/esm2022/lib/admin/architecture/designer-element.component.mjs +35 -27
  9. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  11. package/esm2022/lib/admin/architecture/designer.component.mjs +44 -41
  12. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +5 -5
  14. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +5 -5
  15. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +5 -5
  25. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +8 -8
  33. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +5 -5
  35. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +5 -5
  46. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/type.component.mjs +9 -6
  48. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  50. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  51. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +5 -5
  53. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  54. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  55. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  56. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  57. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  58. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  59. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  60. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  61. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
  62. package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
  63. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  64. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  65. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  67. package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
  68. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
  69. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +5 -5
  70. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  71. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  72. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  73. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  74. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  75. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  76. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  77. package/esm2022/lib/admin/system.service.mjs +3 -3
  78. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  79. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  80. package/esm2022/lib/app.component.mjs +6 -6
  81. package/esm2022/lib/bizdoc.module.mjs +4 -4
  82. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  83. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  84. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  85. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  86. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  87. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  88. package/esm2022/lib/chat/chat-info.mjs +3 -3
  89. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  90. package/esm2022/lib/chat/chat.service.mjs +3 -3
  91. package/esm2022/lib/chat/contacts.component.mjs +6 -6
  92. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  93. package/esm2022/lib/chat/conversation.component.mjs +3 -3
  94. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  95. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  96. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  97. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  98. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  99. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  100. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  101. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  102. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  103. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  104. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  105. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  106. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  107. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  108. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  109. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  110. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  111. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  112. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  113. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  114. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  115. package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
  116. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  117. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  118. package/esm2022/lib/compose/copy/copy.dialog.mjs +5 -5
  119. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  120. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  121. package/esm2022/lib/compose/document.component.mjs +3 -3
  122. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  123. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  124. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  125. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  126. package/esm2022/lib/compose/form.component.mjs +3 -3
  127. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  128. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  129. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  130. package/esm2022/lib/compose/state.component.mjs +3 -3
  131. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  132. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  133. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  134. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  135. package/esm2022/lib/compose/trace/trace.component.mjs +14 -15
  136. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  137. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  138. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  139. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  140. package/esm2022/lib/core/StickyToolbar.mjs +3 -3
  141. package/esm2022/lib/core/account.service.mjs +3 -3
  142. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  143. package/esm2022/lib/core/avatar/avatar.component.mjs +7 -8
  144. package/esm2022/lib/core/checkbox.mjs +3 -3
  145. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  146. package/esm2022/lib/core/datasource.service.mjs +3 -3
  147. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  148. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  149. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  150. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  151. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  152. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  153. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  154. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  155. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  156. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  157. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  158. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  159. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  160. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  161. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  162. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  163. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  166. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  167. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  168. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  169. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  170. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  172. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  173. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  174. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  176. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  177. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  178. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  179. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  180. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  183. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  184. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  185. package/esm2022/lib/core/fields/yesno.field.mjs +5 -5
  186. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  187. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  188. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  189. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  190. package/esm2022/lib/core/hub.service.mjs +3 -3
  191. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  192. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  193. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  194. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  195. package/esm2022/lib/core/info/map-info.mjs +3 -3
  196. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  197. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  198. package/esm2022/lib/core/inputs/combination-picker-body.mjs +4 -4
  199. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  200. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  201. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  202. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  203. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  204. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  205. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  206. package/esm2022/lib/core/layout.component.mjs +3 -3
  207. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  208. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  209. package/esm2022/lib/core/models.mjs +1 -1
  210. package/esm2022/lib/core/none.component.mjs +3 -3
  211. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  212. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  213. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  215. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  218. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
  224. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  225. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  226. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  227. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  228. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  229. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  230. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  231. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  232. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  233. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  234. package/esm2022/lib/core/prompt.service.mjs +3 -3
  235. package/esm2022/lib/core/router.mjs +6 -6
  236. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  237. package/esm2022/lib/core/session.service.mjs +3 -3
  238. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  239. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  240. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  241. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  242. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  243. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  244. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  245. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  246. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  247. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  248. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  249. package/esm2022/lib/core/translate.service.mjs +3 -3
  250. package/esm2022/lib/core/window-title.service.mjs +3 -3
  251. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  252. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  253. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  254. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  255. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  256. package/esm2022/lib/cube/cube.service.mjs +3 -3
  257. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  258. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  259. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  260. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  261. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  262. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  263. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  264. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  265. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  266. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  267. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  268. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  269. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  270. package/esm2022/lib/cube/matrix/table.component.mjs +66 -74
  271. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  272. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  273. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  274. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.mjs +3 -3
  275. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  276. package/esm2022/lib/cube/view-base.mjs +3 -3
  277. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  278. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  279. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  280. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  281. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  282. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  283. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  284. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  285. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  286. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  287. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  288. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  289. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  290. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  291. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  292. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  293. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  294. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  295. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  296. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  297. package/esm2022/lib/designer.module.mjs +4 -4
  298. package/esm2022/lib/desktop.module.mjs +4 -4
  299. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  300. package/esm2022/lib/home/home-base.component.mjs +3 -3
  301. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  302. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  303. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  304. package/esm2022/lib/home/options/options.component.mjs +3 -3
  305. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  306. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  307. package/esm2022/lib/home/tools.component.mjs +3 -3
  308. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  309. package/esm2022/lib/mobile.module.mjs +4 -4
  310. package/esm2022/lib/modules/chart.module.mjs +4 -4
  311. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  312. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  313. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  314. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  315. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  316. package/esm2022/lib/modules/grid.module.mjs +4 -4
  317. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  318. package/esm2022/lib/modules/material.module.mjs +4 -4
  319. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  320. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  321. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  322. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  323. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  324. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  325. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  326. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  327. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  328. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  329. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  330. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  331. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  332. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  333. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  334. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  335. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  336. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  337. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  338. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  339. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  340. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  341. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  342. package/esm2022/lib/options/options.component.mjs +3 -3
  343. package/esm2022/lib/options/options.service.mjs +3 -3
  344. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  345. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  346. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  347. package/esm2022/lib/reports/cube/role-performance.component.mjs +3 -3
  348. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  349. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  350. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  351. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  352. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  353. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  354. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  355. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  356. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  357. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  358. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  359. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  360. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  361. package/esm2022/lib/scheduler/schedule.component.mjs +5 -5
  362. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  363. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  364. package/esm2022/lib/search/cube.component.mjs +3 -3
  365. package/esm2022/lib/search/document.component.mjs +3 -3
  366. package/esm2022/lib/search/guide.component.mjs +3 -3
  367. package/esm2022/lib/search/path.component.mjs +3 -3
  368. package/esm2022/lib/search/search.service.mjs +3 -3
  369. package/esm2022/lib/shared.module.mjs +6 -6
  370. package/esm2022/lib/system.module.mjs +7 -5
  371. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  372. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  373. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  374. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  375. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  376. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  377. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  378. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  379. package/esm2022/lib/views/timeline/{timeline.component.exp.mjs → timeline.component.mjs} +13 -15
  380. package/esm2022/lib/views/view-item.component.mjs +3 -3
  381. package/esm2022/lib/views/views.component.mjs +3 -3
  382. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  383. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  384. package/esm2022/public-api.mjs +3 -2
  385. package/fesm2022/bizdoc-core.mjs +1403 -1380
  386. package/fesm2022/bizdoc-core.mjs.map +1 -1
  387. package/lib/admin/architecture/declarations.d.ts +5 -3
  388. package/lib/admin/architecture/designer-element.component.d.ts +12 -2
  389. package/lib/admin/architecture/designer.base.d.ts +1 -1
  390. package/lib/admin/architecture/designer.component.d.ts +14 -0
  391. package/lib/admin/architecture/elements/matrix-view.component.d.ts +1 -1
  392. package/lib/admin/system.service.d.ts +1 -1
  393. package/lib/core/models.d.ts +6 -1
  394. package/lib/cube/matrix/table.component.d.ts +3 -4
  395. package/lib/scheduler/schedule.component.d.ts +2 -1
  396. package/lib/shared.module.d.ts +1 -1
  397. package/lib/views/timeline/{timeline.component.exp.d.ts → timeline.component.d.ts} +2 -4
  398. package/package.json +11 -11
  399. package/public-api.d.ts +2 -1
@@ -31,10 +31,10 @@ export class RoleDesignComponent extends DesignerTypeElementComponent {
31
31
  this.dataTypeDisabled = false;
32
32
  this.form.controls.dataType.enable({ emitEvent: false });
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: RoleDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{'DataType'|translate}}</mat-label>\n <mat-select formControlName=\"dataType\" required>\n @for (t of datatypes['_'].elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n @for (g of datatypes|sort: 'title'; track g) {\n <mat-optgroup [label]=\"g.title\">\n @for (t of g.elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (dataTypeDisabled) {\n <mat-hint><a (click)=\"enableTypeEdit()\">{{'ChangeValue'|translate}}</a></mat-hint>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'SequencePolicy'|translate}}</mat-label>\n <mat-select formControlName=\"sequencePolicy\">\n <mat-option value=\"Higher\">{{'Higher'|translate}}</mat-option>\n <mat-option value=\"Earlier\">{{'Earlier'|translate}}</mat-option>\n <mat-option value=\"Strict\">{{'Strict'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Priority'|translate}}</mat-label>\n <input matInput type=\"number\" formControlName=\"priority\" />\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i6.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i7.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: RoleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: RoleDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{'DataType'|translate}}</mat-label>\n <mat-select formControlName=\"dataType\" required>\n @for (t of datatypes['_'].elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n @for (g of datatypes|sort: 'title'; track g) {\n <mat-optgroup [label]=\"g.title\">\n @for (t of g.elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (dataTypeDisabled) {\n <mat-hint><a (click)=\"enableTypeEdit()\">{{'ChangeValue'|translate}}</a></mat-hint>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'SequencePolicy'|translate}}</mat-label>\n <mat-select formControlName=\"sequencePolicy\">\n <mat-option value=\"Higher\">{{'Higher'|translate}}</mat-option>\n <mat-option value=\"Earlier\">{{'Earlier'|translate}}</mat-option>\n <mat-option value=\"Strict\">{{'Strict'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Priority'|translate}}</mat-label>\n <input matInput type=\"number\" formControlName=\"priority\" />\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i6.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i7.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoleDesignComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: RoleDesignComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{'DataType'|translate}}</mat-label>\n <mat-select formControlName=\"dataType\" required>\n @for (t of datatypes['_'].elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n @for (g of datatypes|sort: 'title'; track g) {\n <mat-optgroup [label]=\"g.title\">\n @for (t of g.elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (dataTypeDisabled) {\n <mat-hint><a (click)=\"enableTypeEdit()\">{{'ChangeValue'|translate}}</a></mat-hint>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'SequencePolicy'|translate}}</mat-label>\n <mat-select formControlName=\"sequencePolicy\">\n <mat-option value=\"Higher\">{{'Higher'|translate}}</mat-option>\n <mat-option value=\"Earlier\">{{'Earlier'|translate}}</mat-option>\n <mat-option value=\"Strict\">{{'Strict'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Priority'|translate}}</mat-label>\n <input matInput type=\"number\" formControlName=\"priority\" />\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n" }]
40
40
  }] });
@@ -8,10 +8,10 @@ export class RuleDesignComponent extends DesignerTypeElementComponent {
8
8
  super(...arguments);
9
9
  this.form = this._fb.group({});
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RuleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: RuleDesignComponent, selector: "bizdoc-rule-designer", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: RuleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: RuleDesignComponent, selector: "bizdoc-rule-designer", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RuleDesignComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: RuleDesignComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'bizdoc-rule-designer', template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
17
17
  }] });
@@ -15,10 +15,10 @@ export class SourceDesignComponent extends DesignerTypeElementComponent {
15
15
  regularExpression: this._fb.control(null, Validators.required)
16
16
  });
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SourceDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SourceDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl>\r\n <dt></dt>\r\n <dd>{{model.regularExpression}}</dd>\r\n </dl>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"regularExpression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i4.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i4.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i5.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SourceDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: SourceDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl>\r\n <dt></dt>\r\n <dd>{{model.regularExpression}}</dd>\r\n </dl>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"regularExpression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i4.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i4.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i5.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SourceDesignComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SourceDesignComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl>\r\n <dt></dt>\r\n <dd>{{model.regularExpression}}</dd>\r\n </dl>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"regularExpression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
24
24
  }] });
@@ -32,10 +32,10 @@ export class StateDesignComponent extends DesignerTypeElementComponent {
32
32
  }
33
33
  super.ngOnInit();
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StateDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n @if (variables.length) {\r\n <h2 class=\"mat-h2 row\">\r\n {{'Variables'|translate}}\r\n </h2>\r\n <ng-container formGroupName=\"options\">\r\n @for (a of variables; track a) {\r\n <mat-form-field>\r\n <mat-label>{{a.title | localizedString}}</mat-label>\r\n <bizdoc-select [type]=\"a.dataType\"/>\r\n </mat-form-field>\r\n }\r\n </ng-container>\r\n }\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "component", type: i4.ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i5.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: i6.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i6.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: StateDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n @if (variables.length) {\r\n <h2 class=\"mat-h2 row\">\r\n {{'Variables'|translate}}\r\n </h2>\r\n <ng-container formGroupName=\"options\">\r\n @for (a of variables; track a) {\r\n <mat-form-field>\r\n <mat-label>{{a.title | localizedString}}</mat-label>\r\n <bizdoc-select [type]=\"a.dataType\"/>\r\n </mat-form-field>\r\n }\r\n </ng-container>\r\n }\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "component", type: i4.ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i5.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: i6.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i6.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StateDesignComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: StateDesignComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n @if (variables.length) {\r\n <h2 class=\"mat-h2 row\">\r\n {{'Variables'|translate}}\r\n </h2>\r\n <ng-container formGroupName=\"options\">\r\n @for (a of variables; track a) {\r\n <mat-form-field>\r\n <mat-label>{{a.title | localizedString}}</mat-label>\r\n <bizdoc-select [type]=\"a.dataType\"/>\r\n </mat-form-field>\r\n }\r\n </ng-container>\r\n }\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
41
41
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i0.ElementRef }, { type: i9.DesignerRef, decorators: [{
@@ -24,15 +24,15 @@ let SumViewDesignComponent = class SumViewDesignComponent extends DesignerCubeEl
24
24
  aggregate: null,
25
25
  });
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SumViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SumViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--<bizdoc-cube-sum *ngIf=\"options.xAxis\" [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SumViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: SumViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--@if(options.xAxis) <bizdoc-cube-sum [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
29
29
  };
30
30
  SumViewDesignComponent = __decorate([
31
31
  BizDoc({ selector: 'period-view-designer' })
32
32
  ], SumViewDesignComponent);
33
33
  export { SumViewDesignComponent };
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SumViewDesignComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SumViewDesignComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--<bizdoc-cube-sum *ngIf=\"options.xAxis\" [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n" }]
36
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--@if(options.xAxis) <bizdoc-cube-sum [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n" }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvc3VtLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvc3VtLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBT3pELElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXVCLFNBQVEsNEJBQThDO0lBQW5GOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7S0FDSjs4R0FWWSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrR0NYbkMsMm1GQXdFQTs7QUQ3RGEsc0JBQXNCO0lBRGxDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLHNCQUFzQixDQVVsQzs7MkZBVlksc0JBQXNCO2tCQUxsQyxTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1bVNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9zdW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdzdW0tdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2NvbHVtbicgfVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwZXJpb2Qtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFN1bVZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFN1bVNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGZpbHRlcnM6IHRoaXMuX2ZiLmdyb3VwKHt9KSxcclxuICAgIHBlcmlvZFBvbGljeTogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICB9KTtcclxufVxyXG4iLCJAaWYgKG1vZGUgIT09ICd3aWRnZXQnKSB7XG48Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxuICBAaWYgKGN1YmVzLmxlbmd0aCA+IDEpIHtcbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAoYyBvZiBjdWJlczsgdHJhY2sgYykge1xuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImMubmFtZVwiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIH1cbiAgPGRpdiBjbGFzcz1cInJvdyBnYXBcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZD5cbiAgICAgICAgQGZvciAoYSBvZiBjdWJlPy5heGVzOyB0cmFjayBhKSB7XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIEBpZiAoZm9ybS5jb250cm9scy54QXhpcy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgPG1hdC1lcnJvciBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignWEF4aXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cbiAgICAgIH1cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XG4gICAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgICBAaWYgKGZvcm0uY29udHJvbHMueEF4aXMudmFsdWUgIT09IGEubmFtZSkge1xuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIEBpZiAoZm9ybS5jb250cm9scy5zZXJpZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxuICAgICAgfVxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICBAaWYgKGN1YmU/LmluZGljZXM/Lmxlbmd0aCkge1xuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cbiAgICAgIEBmb3IgKHggb2YgY3ViZS5pbmRpY2VzOyB0cmFjayB4KSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfX08L21hdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICB9XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cbiAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLnhBeGlzLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5jb250cm9scy5zZXJpZXMudmFsdWUgIT09IGEubmFtZSkge1xuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIEBpZiAoY3ViZSkge1xuICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmNvbnRyb2xzLmZpbHRlcnNcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cbiAgfVxuPC9mb3JtPlxuPGRpdj5cbiAgPCEtLTxiaXpkb2MtY3ViZS1zdW0gKm5nSWY9XCJvcHRpb25zLnhBeGlzXCIgW3hBeGlzXT1cIm9wdGlvbnMueEF4aXNcIlxuICAgIFtmaWx0ZXJzXT1cIm9wdGlvbnMuZmlsdGVycyB8fCB7fVwiXG4gICAgW3BhcmVudEF4aXNdPVwib3B0aW9ucy5zZXJpZXNcIlxuICAgIFtzY29wZV09XCJvcHRpb25zLnNjb3BlXCJcbiAgICBbcGVyaW9kUG9saWN5XT1cIm9wdGlvbnMucGVyaW9kUG9saWN5XCJcbiAgICBbaW5kaWNlc109XCJvcHRpb25zLmluZGljZXNcIlxuICBbY3ViZV09XCJjdWJlLm5hbWVcIj48L2JpemRvYy1jdWJlLXN1bT4tLT5cbjwvZGl2PlxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvc3VtLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvc3VtLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBT3pELElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXVCLFNBQVEsNEJBQThDO0lBQW5GOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7S0FDSjs4R0FWWSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrR0NYbkMsdW1GQXdFQTs7QUQ3RGEsc0JBQXNCO0lBRGxDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLHNCQUFzQixDQVVsQzs7MkZBVlksc0JBQXNCO2tCQUxsQyxTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1bVNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9zdW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdzdW0tdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2NvbHVtbicgfVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwZXJpb2Qtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFN1bVZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFN1bVNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGZpbHRlcnM6IHRoaXMuX2ZiLmdyb3VwKHt9KSxcclxuICAgIHBlcmlvZFBvbGljeTogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICB9KTtcclxufVxyXG4iLCJAaWYgKG1vZGUgIT09ICd3aWRnZXQnKSB7XG48Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxuICBAaWYgKGN1YmVzLmxlbmd0aCA+IDEpIHtcbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAoYyBvZiBjdWJlczsgdHJhY2sgYykge1xuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImMubmFtZVwiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIH1cbiAgPGRpdiBjbGFzcz1cInJvdyBnYXBcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZD5cbiAgICAgICAgQGZvciAoYSBvZiBjdWJlPy5heGVzOyB0cmFjayBhKSB7XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIEBpZiAoZm9ybS5jb250cm9scy54QXhpcy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgPG1hdC1lcnJvciBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignWEF4aXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cbiAgICAgIH1cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XG4gICAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgICBAaWYgKGZvcm0uY29udHJvbHMueEF4aXMudmFsdWUgIT09IGEubmFtZSkge1xuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIEBpZiAoZm9ybS5jb250cm9scy5zZXJpZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxuICAgICAgfVxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICBAaWYgKGN1YmU/LmluZGljZXM/Lmxlbmd0aCkge1xuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cbiAgICAgIEBmb3IgKHggb2YgY3ViZS5pbmRpY2VzOyB0cmFjayB4KSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfX08L21hdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICB9XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cbiAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLnhBeGlzLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5jb250cm9scy5zZXJpZXMudmFsdWUgIT09IGEubmFtZSkge1xuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIEBpZiAoY3ViZSkge1xuICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmNvbnRyb2xzLmZpbHRlcnNcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cbiAgfVxuPC9mb3JtPlxuPGRpdj5cbiAgPCEtLUBpZihvcHRpb25zLnhBeGlzKSA8Yml6ZG9jLWN1YmUtc3VtICBbeEF4aXNdPVwib3B0aW9ucy54QXhpc1wiXG4gICAgW2ZpbHRlcnNdPVwib3B0aW9ucy5maWx0ZXJzIHx8IHt9XCJcbiAgICBbcGFyZW50QXhpc109XCJvcHRpb25zLnNlcmllc1wiXG4gICAgW3Njb3BlXT1cIm9wdGlvbnMuc2NvcGVcIlxuICAgIFtwZXJpb2RQb2xpY3ldPVwib3B0aW9ucy5wZXJpb2RQb2xpY3lcIlxuICAgIFtpbmRpY2VzXT1cIm9wdGlvbnMuaW5kaWNlc1wiXG4gIFtjdWJlXT1cImN1YmUubmFtZVwiPjwvYml6ZG9jLWN1YmUtc3VtPi0tPlxuPC9kaXY+XG59XG4iXX0=
@@ -25,14 +25,14 @@ let TasksReportDesignComponent = class TasksReportDesignComponent extends Design
25
25
  this.states = this._ref.designer.states;
26
26
  super.ngOnInit();
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TasksReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TasksReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n <mat-option>{{'Default'|translate}}</mat-option>\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"axes\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.axes.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'States'|translate}}</mat-label>\n <mat-select formControlName=\"states\" multiple>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\" multiple>{{s.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TasksReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: TasksReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n <mat-option>{{'Default'|translate}}</mat-option>\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"axes\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.axes.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'States'|translate}}</mat-label>\n <mat-select formControlName=\"states\" multiple>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\" multiple>{{s.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
30
30
  };
31
31
  TasksReportDesignComponent = __decorate([
32
32
  BizDoc({ selector: 'tasks-report-designer' })
33
33
  ], TasksReportDesignComponent);
34
34
  export { TasksReportDesignComponent };
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TasksReportDesignComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TasksReportDesignComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n <mat-option>{{'Default'|translate}}</mat-option>\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"axes\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.axes.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'States'|translate}}</mat-label>\n <mat-select formControlName=\"states\" multiple>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\" multiple>{{s.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
38
38
  }] });
@@ -48,7 +48,10 @@ export class TypeDesignComponent extends DesignerTypeElementComponent {
48
48
  super.ngOnInit();
49
49
  }
50
50
  test() {
51
- this._source.map(this.model.name).subscribe(() => this._ps.toast(this._translate.get('OK')), () => this._ps.error());
51
+ this._source.map(this.model.name).subscribe({
52
+ next: () => this._ps.toast(this._translate.get('OK')),
53
+ error: () => this._ps.error()
54
+ });
52
55
  }
53
56
  newPattern(model) {
54
57
  const name = this._fb.control(model?.name, Validators.required), title = this._fb.control(model?.title, Validators.required);
@@ -68,14 +71,14 @@ export class TypeDesignComponent extends DesignerTypeElementComponent {
68
71
  items: this._fb.control(model?.items, Validators.required)
69
72
  });
70
73
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DatasourceService }, { token: i3.TranslateService }, { token: i4.PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TypeDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n\n <!--<mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n <span *ngIf=\"form.value.items?.length > 1\">\n (+{{form.value.items.length - 1}} {{(form.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n </mat-select-trigger>-->\n <!--<mat-option *ngFor=\"let v of source\" [value]=\"v.key\">\n <span *ngIf=\"!type.columns\">{{v.value}}</span>\n <span *ngIf=\"type.columns\"><span *ngFor=\"let c of type.columns\">{{v.value[c.name]}}</span></span>\n </mat-option>-->\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i13.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i13.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i15.AddContentDirective, selector: "[bizdocAddContent]" }, { kind: "directive", type: i15.CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: i15.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i15.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i15.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i16.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TypeDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DatasourceService }, { token: i3.TranslateService }, { token: i4.PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: TypeDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i13.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i13.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i15.AddContentDirective, selector: "[bizdocAddContent]" }, { kind: "directive", type: i15.CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: i15.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i15.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i15.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: i16.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
73
76
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeDesignComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TypeDesignComponent, decorators: [{
75
78
  type: Component,
76
- args: [{ template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n\n <!--<mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n <span *ngIf=\"form.value.items?.length > 1\">\n (+{{form.value.items.length - 1}} {{(form.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n </mat-select-trigger>-->\n <!--<mat-option *ngFor=\"let v of source\" [value]=\"v.key\">\n <span *ngIf=\"!type.columns\">{{v.value}}</span>\n <span *ngIf=\"type.columns\"><span *ngFor=\"let c of type.columns\">{{v.value[c.name]}}</span></span>\n </mat-option>-->\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n" }]
79
+ args: [{ template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n" }]
77
80
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DatasourceService }, { type: i3.TranslateService }, { type: i4.PromptService }, { type: i0.ElementRef }, { type: i18.DesignerRef, decorators: [{
78
81
  type: Inject,
79
82
  args: [DesignerRef]
80
83
  }] }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy90eXBlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3R5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSw0QkFBNEI7SUFTbkUsWUFBWSxFQUFlLEVBQ2pCLE9BQTBCLEVBQzFCLFVBQTRCLEVBQzVCLEdBQWtCLEVBQzFCLE9BQXdCLEVBQ0gsR0FBZ0I7UUFDckMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMaEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQVhuQixXQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsYUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQVNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3pGLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQU07UUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFDN0QsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsSUFBSTtZQUNKLEtBQUs7WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBTTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUM3RCxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNwQixJQUFJO1lBQ0osS0FBSztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDM0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsRFUsbUJBQW1CLHFLQWNwQixXQUFXO2tHQWRWLG1CQUFtQiwyRUNUaEMsaW5NQTRIQTs7MkZEbkhhLG1CQUFtQjtrQkFEL0IsU0FBUzs7OzBCQWVMLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclJlZiwgcHJvZ3JhbU5hbWUgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAndHlwZS5jb21wb25lbnQuaHRtbCcgfSlcclxuZXhwb3J0IGNsYXNzIFR5cGVEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IHtcclxuICByZWFkb25seSBncm91cHMgPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgcGF0dGVybnMgPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGFzc2lnbmFibGU6IG51bGwsXHJcbiAgICBncm91cHM6IHRoaXMuZ3JvdXBzLFxyXG4gICAgdHBhdHRlcm5zOiB0aGlzLnBhdHRlcm5zXHJcbiAgfSk7XHJcbiAgdmFsdWVzOiB7IGtleTogYW55OyB2YWx1ZTogYW55OyB9W107XHJcbiAgY29uc3RydWN0b3IoZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfc291cmNlOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxyXG4gICAgQEluamVjdChEZXNpZ25lclJlZikgcmVmOiBEZXNpZ25lclJlZikge1xyXG4gICAgc3VwZXIoZmIsIGVsZW1lbnQsIHJlZik7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLm1vZGVsLmdyb3VwcykgdGhpcy5tb2RlbC5ncm91cHMgPSBbXTtcclxuICAgIGlmICghdGhpcy5tb2RlbC5wYXR0ZXJucykgdGhpcy5tb2RlbC5wYXR0ZXJucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgdGhpcy5tb2RlbC5ncm91cHMuZm9yRWFjaChnID0+IHRoaXMuZ3JvdXBzLnB1c2godGhpcy5uZXdHcm91cChnKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgICAgdGhpcy5tb2RlbC5wYXR0ZXJucy5mb3JFYWNoKHAgPT4gdGhpcy5wYXR0ZXJucy5wdXNoKHRoaXMubmV3UGF0dGVybihwKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgICAgdGhpcy5fc291cmNlLmFsbCh0aGlzLm1vZGVsLm5hbWUpLnN1YnNjcmliZSh2ID0+IHRoaXMudmFsdWVzID0gdik7XHJcbiAgICB9XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICB0ZXN0KCkge1xyXG4gICAgdGhpcy5fc291cmNlLm1hcCh0aGlzLm1vZGVsLm5hbWUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9wcy50b2FzdCh0aGlzLl90cmFuc2xhdGUuZ2V0KCdPSycpKSxcclxuICAgICAgKCkgPT4gdGhpcy5fcHMuZXJyb3IoKSlcclxuICB9XHJcbiAgbmV3UGF0dGVybihtb2RlbD8pOiBhbnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuX2ZiLmNvbnRyb2wobW9kZWw/Lm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB0aXRsZSA9IHRoaXMuX2ZiLmNvbnRyb2wobW9kZWw/LnRpdGxlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICFtb2RlbCAmJiB0aXRsZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4gbmFtZS5zZXRWYWx1ZShwcm9ncmFtTmFtZSh2KSkpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgbmFtZSxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGV4cHJlc3Npb246IHRoaXMuX2ZiLmNvbnRyb2wobW9kZWw/LmV4cHJlc3Npb24sIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmV3R3JvdXAobW9kZWw/KTogYW55IHtcclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLl9mYi5jb250cm9sKG1vZGVsPy5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdGl0bGUgPSB0aGlzLl9mYi5jb250cm9sKG1vZGVsPy50aXRsZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAhbW9kZWwgJiYgdGl0bGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IG5hbWUuc2V0VmFsdWUocHJvZ3JhbU5hbWUodikpKTtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBpdGVtczogdGhpcy5fZmIuY29udHJvbChtb2RlbD8uaXRlbXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGJpemRvYy1kZXNpZ25lci1lbGVtZW50IFtmb3JtXT1cImZvcm1cIiBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgW2Rpc2FibGVkXT1cIm1vZGVsLmRyYWZ0XCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwidGVzdCgpXCIgdHlwZT1cImJ1dHRvblwiPnt7J1Rlc3RUeXBlJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9tYXQtbWVudT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIGJpemRvY0VkaXRDb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICA8aDIgY2xhc3M9XCJtYXQtaDIgcm93XCI+XG4gICAgICAgIHt7J0dyb3Vwcyd8dHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKGdyb3VwcywgbmV3R3JvdXAoKSwgJ0dyb3VwJywgJ2dyb3VwJylcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICA8L2gyPlxuICAgICAgPHRhYmxlIGZvcm1BcnJheU5hbWU9XCJncm91cHNcIiBjbGFzcz1cIm1hdC1tZGMtdGFibGVcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCBncm91cHMpXCI+XG4gICAgICAgIEBmb3IgKGcgb2YgZ3JvdXBzLmNvbnRyb2xzOyB0cmFjayBnOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgPHRyIGNsYXNzPVwibWF0LW1kYy1yb3dcIiBbZm9ybUdyb3VwXT1cImdcIiBjZGtEcmFnPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCIgd2lkdGg9XCI5OSVcIj5cbiAgICAgICAgICAgIHt7Zy5jb250cm9scy50aXRsZS52YWx1ZSB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsIG5vd3JhcFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQoZywgJ0dyb3VwJywgJ2dyb3VwJylcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJncm91cHMucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGFibGU+XG4gICAgICA8aDIgY2xhc3M9XCJtYXQtaDIgcm93XCI+XG4gICAgICAgIHt7J1BhdHRlcm5zJ3x0cmFuc2xhdGV9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQocGF0dGVybnMsIG5ld1BhdHRlcm4oKSwgJ1BhdHRlcm4nLCAncGF0dGVybicpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgPC9oMj5cbiAgICAgIDx0YWJsZSBmb3JtQXJyYXlOYW1lPVwidHBhdHRlcm5zXCIgY2xhc3M9XCJtYXQtbWRjLXRhYmxlXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgcGF0dGVybnMpXCI+XG4gICAgICAgIEBmb3IgKHAgb2YgcGF0dGVybnMuY29udHJvbHM7IHRyYWNrIHA7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICA8dHIgY2xhc3M9XCJtYXQtbWRjLXJvd1wiIFtmb3JtR3JvdXBdPVwicFwiIGNka0RyYWc+XG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGxcIiB3aWR0aD1cIjk5JVwiPlxuICAgICAgICAgICAge3twLmNvbnRyb2xzLnRpdGxlLnZhbHVlIH19XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGwgbm93cmFwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChwLCAnUGF0dGVybicsICdwYXR0ZXJuJylcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwYXR0ZXJucy5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgfVxuICAgICAgPC90YWJsZT5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiYXNzaWduYWJsZVwiPnt7J0Fzc2lnbmFibGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NBZGRDb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDdXN0b21Db250ZW50PVwiZ3JvdXBcIiBsZXQtZm9ybT1cImZvcm1cIj5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eydOYW1lJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIEBpZiAoZm9ybS5jb250cm9scy5uYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ05hbWUnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eydJdGVtcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cIidJdGVtcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgZm9ybUNvbnRyb2xOYW1lPVwiaXRlbXNcIiByZXF1aXJlZD5cblxuICAgICAgICAgIDwhLS08bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAge3tncm91cC52YWx1ZS5pdGVtcyA/IGdyb3VwLnZhbHVlLml0ZW1zWzBdIDogJyd9fVxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtLnZhbHVlLml0ZW1zPy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICAgICgre3tmb3JtLnZhbHVlLml0ZW1zLmxlbmd0aCAtIDF9fSB7eyhmb3JtLnZhbHVlLml0ZW1zPy5sZW5ndGggPT09IDIgPyAnT3RoZXInIDogJ090aGVycycpfHRyYW5zbGF0ZX19KVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPi0tPlxuICAgICAgICAgIDwhLS08bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdiBvZiBzb3VyY2VcIiBbdmFsdWVdPVwidi5rZXlcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXR5cGUuY29sdW1uc1wiPnt7di52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlLmNvbHVtbnNcIj48c3BhbiAqbmdGb3I9XCJsZXQgYyBvZiB0eXBlLmNvbHVtbnNcIj57e3YudmFsdWVbYy5uYW1lXX19PC9zcGFuPjwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1vcHRpb24+LS0+XG4gICAgICAgICAgQGZvciAodiBvZiB2YWx1ZXM7IHRyYWNrIHYpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidi5rZXlcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7di52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLml0ZW1zLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0l0ZW1zJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDdXN0b21Db250ZW50PVwicGF0dGVyblwiIGxldC1mb3JtPVwiZm9ybVwiPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J05hbWUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLm5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgPG1hdC1lcnJvciBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignTmFtZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J1JlZ2V4J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZXhwcmVzc2lvblwiIHJlcXVpcmVkIC8+XG4gICAgICAgIEBpZiAoZm9ybS5jb250cm9scy5leHByZXNzaW9uLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0V4cHJlc3Npb24nfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgICA8bWF0LWhpbnQ+PHNwYW4gW2lubmVySFRNTF09XCInUmVnZXhIaW50JyB8IHRyYW5zbGF0ZSA6ICdodHRwczovL3JlZ2V4MTAxLmNvbS8nfCBzYW5pdGl6ZUh0bWxcIj48L3NwYW4+PC9tYXQtaGludD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy90eXBlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3R5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSw0QkFBNEI7SUFTbkUsWUFBWSxFQUFlLEVBQ2pCLE9BQTBCLEVBQzFCLFVBQTRCLEVBQzVCLEdBQWtCLEVBQzFCLE9BQXdCLEVBQ0gsR0FBZ0I7UUFDckMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMaEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQVhuQixXQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsYUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQVNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFNO1FBQ2YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQzdELEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3BCLElBQUk7WUFDSixLQUFLO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNyRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQU07UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFDN0QsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsSUFBSTtZQUNKLEtBQUs7WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzNELENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcERVLG1CQUFtQixxS0FjcEIsV0FBVztrR0FkVixtQkFBbUIsMkVDVGhDLDRnTEFpSEE7OzJGRHhHYSxtQkFBbUI7a0JBRC9CLFNBQVM7OzswQkFlTCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJSZWYsIHByb2dyYW1OYW1lIH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ3R5cGUuY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBUeXBlRGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHkgZ3JvdXBzID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm5zID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBhc3NpZ25hYmxlOiBudWxsLFxyXG4gICAgZ3JvdXBzOiB0aGlzLmdyb3VwcyxcclxuICAgIHRwYXR0ZXJuczogdGhpcy5wYXR0ZXJuc1xyXG4gIH0pO1xyXG4gIHZhbHVlczogeyBrZXk6IGFueTsgdmFsdWU6IGFueTsgfVtdO1xyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3NvdXJjZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PixcclxuICAgIEBJbmplY3QoRGVzaWduZXJSZWYpIHJlZjogRGVzaWduZXJSZWYpIHtcclxuICAgIHN1cGVyKGZiLCBlbGVtZW50LCByZWYpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5tb2RlbC5ncm91cHMpIHRoaXMubW9kZWwuZ3JvdXBzID0gW107XHJcbiAgICBpZiAoIXRoaXMubW9kZWwucGF0dGVybnMpIHRoaXMubW9kZWwucGF0dGVybnMgPSBbXTtcclxuICAgIGlmICh0aGlzLm1vZGUgIT09ICd3aWRnZXQnKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuZ3JvdXBzLmZvckVhY2goZyA9PiB0aGlzLmdyb3Vwcy5wdXNoKHRoaXMubmV3R3JvdXAoZyksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAgIHRoaXMubW9kZWwucGF0dGVybnMuZm9yRWFjaChwID0+IHRoaXMucGF0dGVybnMucHVzaCh0aGlzLm5ld1BhdHRlcm4ocCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAgIHRoaXMuX3NvdXJjZS5hbGwodGhpcy5tb2RlbC5uYW1lKS5zdWJzY3JpYmUodiA9PiB0aGlzLnZhbHVlcyA9IHYpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgdGVzdCgpIHtcclxuICAgIHRoaXMuX3NvdXJjZS5tYXAodGhpcy5tb2RlbC5uYW1lKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB0aGlzLl9wcy50b2FzdCh0aGlzLl90cmFuc2xhdGUuZ2V0KCdPSycpKSxcclxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMuX3BzLmVycm9yKClcclxuICAgIH0pXHJcbiAgfVxyXG4gIG5ld1BhdHRlcm4obW9kZWw/KTogYW55IHtcclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLl9mYi5jb250cm9sKG1vZGVsPy5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdGl0bGUgPSB0aGlzLl9mYi5jb250cm9sKG1vZGVsPy50aXRsZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAhbW9kZWwgJiYgdGl0bGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IG5hbWUuc2V0VmFsdWUocHJvZ3JhbU5hbWUodikpKTtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBleHByZXNzaW9uOiB0aGlzLl9mYi5jb250cm9sKG1vZGVsPy5leHByZXNzaW9uLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5ld0dyb3VwKG1vZGVsPyk6IGFueSB7XHJcbiAgICBjb25zdCBuYW1lID0gdGhpcy5fZmIuY29udHJvbChtb2RlbD8ubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHRpdGxlID0gdGhpcy5fZmIuY29udHJvbChtb2RlbD8udGl0bGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgIW1vZGVsICYmIHRpdGxlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiBuYW1lLnNldFZhbHVlKHByb2dyYW1OYW1lKHYpKSk7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBuYW1lLFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgaXRlbXM6IHRoaXMuX2ZiLmNvbnRyb2wobW9kZWw/Lml0ZW1zLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxiaXpkb2MtZGVzaWduZXItZWxlbWVudCBbZm9ybV09XCJmb3JtXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPlxuICA8bmctdGVtcGxhdGUgYml6ZG9jQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiIFtkaXNhYmxlZF09XCJtb2RlbC5kcmFmdFwiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgPG1hdC1tZW51ICNvcHRpb25zPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRlc3QoKVwiIHR5cGU9XCJidXR0b25cIj57eydUZXN0VHlwZSd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NFZGl0Q29udGVudD5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPGgyIGNsYXNzPVwibWF0LWgyIHJvd1wiPlxuICAgICAgICB7eydHcm91cHMnfHRyYW5zbGF0ZX19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZChncm91cHMsIG5ld0dyb3VwKCksICdHcm91cCcsICdncm91cCcpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgPC9oMj5cbiAgICAgIDx0YWJsZSBmb3JtQXJyYXlOYW1lPVwiZ3JvdXBzXCIgY2xhc3M9XCJtYXQtbWRjLXRhYmxlXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgZ3JvdXBzKVwiPlxuICAgICAgICBAZm9yIChnIG9mIGdyb3Vwcy5jb250cm9sczsgdHJhY2sgZzsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgIDx0ciBjbGFzcz1cIm1hdC1tZGMtcm93XCIgW2Zvcm1Hcm91cF09XCJnXCIgY2RrRHJhZz5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGxcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiIHdpZHRoPVwiOTklXCI+XG4gICAgICAgICAgICB7e2cuY29udHJvbHMudGl0bGUudmFsdWUgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbCBub3dyYXBcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0KGcsICdHcm91cCcsICdncm91cCcpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZWRpdDwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3JvdXBzLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICA8L3RhYmxlPlxuICAgICAgPGgyIGNsYXNzPVwibWF0LWgyIHJvd1wiPlxuICAgICAgICB7eydQYXR0ZXJucyd8dHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKHBhdHRlcm5zLCBuZXdQYXR0ZXJuKCksICdQYXR0ZXJuJywgJ3BhdHRlcm4nKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+YWRkX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIDwvaDI+XG4gICAgICA8dGFibGUgZm9ybUFycmF5TmFtZT1cInRwYXR0ZXJuc1wiIGNsYXNzPVwibWF0LW1kYy10YWJsZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHBhdHRlcm5zKVwiPlxuICAgICAgICBAZm9yIChwIG9mIHBhdHRlcm5zLmNvbnRyb2xzOyB0cmFjayBwOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgPHRyIGNsYXNzPVwibWF0LW1kYy1yb3dcIiBbZm9ybUdyb3VwXT1cInBcIiBjZGtEcmFnPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCIgd2lkdGg9XCI5OSVcIj5cbiAgICAgICAgICAgIHt7cC5jb250cm9scy50aXRsZS52YWx1ZSB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsIG5vd3JhcFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQocCwgJ1BhdHRlcm4nLCAncGF0dGVybicpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZWRpdDwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicGF0dGVybnMucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGFibGU+XG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImFzc2lnbmFibGVcIj57eydBc3NpZ25hYmxlJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgYml6ZG9jQWRkQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgYml6ZG9jQ3VzdG9tQ29udGVudD1cImdyb3VwXCIgbGV0LWZvcm09XCJmb3JtXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snTmFtZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgICAgICBAaWYgKGZvcm0uY29udHJvbHMubmFtZS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICA8bWF0LWVycm9yIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdOYW1lJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snSXRlbXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCInSXRlbXMnfHRyYW5zbGF0ZVwiIG11bHRpcGxlIGZvcm1Db250cm9sTmFtZT1cIml0ZW1zXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgQGZvciAodiBvZiB2YWx1ZXM7IHRyYWNrIHYpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidi5rZXlcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7di52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLml0ZW1zLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0l0ZW1zJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDdXN0b21Db250ZW50PVwicGF0dGVyblwiIGxldC1mb3JtPVwiZm9ybVwiPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J05hbWUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLm5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgPG1hdC1lcnJvciBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignTmFtZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J1JlZ2V4J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZXhwcmVzc2lvblwiIHJlcXVpcmVkIC8+XG4gICAgICAgIEBpZiAoZm9ybS5jb250cm9scy5leHByZXNzaW9uLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0V4cHJlc3Npb24nfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgICA8bWF0LWhpbnQ+PHNwYW4gW2lubmVySFRNTF09XCInUmVnZXhIaW50JyB8IHRyYW5zbGF0ZSA6ICdodHRwczovL3JlZ2V4MTAxLmNvbS8nfCBzYW5pdGl6ZUh0bWxcIj48L3NwYW4+PC9tYXQtaGludD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxuIl19
@@ -50,14 +50,14 @@ let UsageReportDesignComponent = class UsageReportDesignComponent extends Design
50
50
  this._type(typ);
51
51
  super.ngOnInit();
52
52
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UsageReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: UsageReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @switch (type.value) {\n @case ('Pivot') {\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.series.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n }\n @case ('Chart') {\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n }\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple [sortComparator]=\"sortComparator\">\n @for (x of cube?.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: UsageReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: UsageReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @switch (type.value) {\n @case ('Pivot') {\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.series.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n }\n @case ('Chart') {\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n }\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple [sortComparator]=\"sortComparator\">\n @for (x of cube?.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
55
55
  };
56
56
  UsageReportDesignComponent = __decorate([
57
57
  BizDoc({ selector: 'usage-report-designer' })
58
58
  ], UsageReportDesignComponent);
59
59
  export { UsageReportDesignComponent };
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UsageReportDesignComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: UsageReportDesignComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @switch (type.value) {\n @case ('Pivot') {\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.series.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n }\n @case ('Chart') {\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n }\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple [sortComparator]=\"sortComparator\">\n @for (x of cube?.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
63
63
  }] });
@@ -8,10 +8,10 @@ export class UtilityDesignComponent extends DesignerTypeElementComponent {
8
8
  super(...arguments);
9
9
  this.form = this._fb.group({});
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UtilityDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: UtilityDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: UtilityDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: UtilityDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UtilityDesignComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: UtilityDesignComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
17
17
  }] });