@bizdoc/core 2.3.18 → 2.3.20

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 (224) hide show
  1. package/esm2022/lib/admin/admin-menu.component.mjs +9 -10
  2. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +11 -11
  3. package/esm2022/lib/admin/architecture/designer-element.component.mjs +4 -4
  4. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +15 -16
  5. package/esm2022/lib/admin/architecture/designer.component.mjs +16 -15
  6. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +13 -14
  7. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +11 -12
  8. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -5
  9. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +10 -11
  10. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +11 -12
  11. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +13 -14
  12. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +9 -10
  13. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +11 -12
  14. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +23 -24
  15. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +11 -12
  16. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +10 -11
  17. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +10 -11
  18. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +10 -11
  19. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +16 -17
  20. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +17 -18
  21. package/esm2022/lib/admin/architecture/elements/form.component.mjs +22 -23
  22. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +16 -17
  23. package/esm2022/lib/admin/architecture/elements/job.component.mjs +12 -13
  24. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +9 -10
  25. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +12 -13
  26. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +10 -11
  27. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +10 -11
  28. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +10 -11
  29. package/esm2022/lib/admin/architecture/elements/report.component.mjs +10 -11
  30. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +8 -9
  31. package/esm2022/lib/admin/architecture/elements/role.component.mjs +13 -14
  32. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +10 -11
  33. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +13 -13
  34. package/esm2022/lib/admin/architecture/elements/type.component.mjs +18 -19
  35. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +11 -12
  36. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +10 -11
  37. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +7 -8
  38. package/esm2022/lib/admin/core/color-picker.input.mjs +5 -6
  39. package/esm2022/lib/admin/core/localized-string.component.mjs +10 -11
  40. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +11 -11
  41. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +18 -18
  42. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +12 -12
  43. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +13 -12
  44. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +24 -60
  45. package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
  46. package/esm2022/lib/admin/form/designer/design-control.component.mjs +41 -0
  47. package/esm2022/lib/admin/form/designer/properties.component.mjs +11 -12
  48. package/esm2022/lib/admin/form/designer/section.component.mjs +11 -12
  49. package/esm2022/lib/admin/form/workflow/node.component.mjs +9 -10
  50. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +15 -16
  51. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  52. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +13 -13
  53. package/esm2022/lib/admin/patterns/patterns.component.mjs +19 -19
  54. package/esm2022/lib/admin/permissions/permissions.component.mjs +14 -15
  55. package/esm2022/lib/admin/positions/positions-popup.component.mjs +11 -11
  56. package/esm2022/lib/admin/positions/positions.component.mjs +23 -24
  57. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +13 -13
  58. package/esm2022/lib/admin/profiler/profiler.component.mjs +15 -15
  59. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  60. package/esm2022/lib/browse/browse.mobile.component.mjs +15 -16
  61. package/esm2022/lib/browse/browse.pane.component.mjs +14 -15
  62. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +14 -15
  63. package/esm2022/lib/browse/filter/filter.component.mjs +13 -13
  64. package/esm2022/lib/browse/folders-menu.component.mjs +10 -11
  65. package/esm2022/lib/chat/chat.mobile.component.mjs +5 -6
  66. package/esm2022/lib/chat/contacts.component.mjs +16 -16
  67. package/esm2022/lib/chat/conversation.component.mjs +13 -14
  68. package/esm2022/lib/compose/action/action-picker.component.mjs +9 -10
  69. package/esm2022/lib/compose/action/action.dialog.mjs +8 -9
  70. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +6 -7
  71. package/esm2022/lib/compose/action/assign-action.component.mjs +12 -12
  72. package/esm2022/lib/compose/action/moveto-action.component.mjs +11 -11
  73. package/esm2022/lib/compose/action/return-action.component.mjs +9 -9
  74. package/esm2022/lib/compose/attachments/attachments.component.mjs +11 -12
  75. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +8 -9
  76. package/esm2022/lib/compose/box/box.component.mjs +7 -8
  77. package/esm2022/lib/compose/comments/comment.component.mjs +14 -15
  78. package/esm2022/lib/compose/comments/comments.component.mjs +8 -9
  79. package/esm2022/lib/compose/comments/edits.component.mjs +5 -5
  80. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -6
  81. package/esm2022/lib/compose/comments/votes.component.mjs +8 -8
  82. package/esm2022/lib/compose/compose.mobile.component.mjs +16 -17
  83. package/esm2022/lib/compose/compose.pane.component.mjs +15 -16
  84. package/esm2022/lib/compose/copy/copy.dialog.mjs +11 -11
  85. package/esm2022/lib/compose/events/events.component.mjs +7 -8
  86. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +7 -8
  87. package/esm2022/lib/compose/form.component.mjs +5 -5
  88. package/esm2022/lib/compose/new-menu.component.mjs +8 -9
  89. package/esm2022/lib/compose/tag/tags.component.mjs +10 -10
  90. package/esm2022/lib/compose/trace/people.component.mjs +4 -5
  91. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +10 -11
  92. package/esm2022/lib/core/animations.mjs +7 -1
  93. package/esm2022/lib/core/checkbox.mjs +20 -17
  94. package/esm2022/lib/core/fields/address.field.mjs +35 -26
  95. package/esm2022/lib/core/fields/autocomplete.field.mjs +68 -52
  96. package/esm2022/lib/core/fields/checkbox.field.mjs +9 -10
  97. package/esm2022/lib/core/fields/checklist.designer.mjs +66 -47
  98. package/esm2022/lib/core/fields/checklist.field.mjs +8 -9
  99. package/esm2022/lib/core/fields/date-range.field.mjs +6 -6
  100. package/esm2022/lib/core/fields/date.field.mjs +10 -11
  101. package/esm2022/lib/core/fields/expression.field.mjs +31 -23
  102. package/esm2022/lib/core/fields/file.field.mjs +8 -9
  103. package/esm2022/lib/core/fields/html.field.mjs +9 -10
  104. package/esm2022/lib/core/fields/input.field.mjs +8 -9
  105. package/esm2022/lib/core/fields/numeric.field.mjs +7 -7
  106. package/esm2022/lib/core/fields/options.component.mjs +11 -12
  107. package/esm2022/lib/core/fields/radio-button.designer.mjs +10 -11
  108. package/esm2022/lib/core/fields/radio-button.field.mjs +8 -9
  109. package/esm2022/lib/core/fields/select.designer.mjs +71 -52
  110. package/esm2022/lib/core/fields/select.field.mjs +9 -10
  111. package/esm2022/lib/core/fields/signature.field.mjs +10 -11
  112. package/esm2022/lib/core/fields/switch.field.mjs +8 -9
  113. package/esm2022/lib/core/fields/tags.field.mjs +9 -10
  114. package/esm2022/lib/core/fields/textarea.field.mjs +9 -10
  115. package/esm2022/lib/core/fields/time.field.mjs +9 -10
  116. package/esm2022/lib/core/fields/timespan.field.mjs +33 -26
  117. package/esm2022/lib/core/fields/yesno.designer.mjs +70 -55
  118. package/esm2022/lib/core/fields/yesno.field.mjs +8 -9
  119. package/esm2022/lib/core/guide/guide.component.mjs +7 -8
  120. package/esm2022/lib/core/guide/help-tip.component.mjs +21 -18
  121. package/esm2022/lib/core/identity/identity.component.mjs +5 -6
  122. package/esm2022/lib/core/inputs/address.input.mjs +24 -21
  123. package/esm2022/lib/core/inputs/auto-complete.input.mjs +42 -26
  124. package/esm2022/lib/core/inputs/combination-picker-body.mjs +12 -13
  125. package/esm2022/lib/core/inputs/combination-picker.mjs +8 -5
  126. package/esm2022/lib/core/inputs/combination-pool.mjs +7 -8
  127. package/esm2022/lib/core/inputs/file.input.mjs +11 -12
  128. package/esm2022/lib/core/inputs/select.input.mjs +39 -23
  129. package/esm2022/lib/core/inputs/time-picker.mjs +6 -7
  130. package/esm2022/lib/core/mailbox.service.mjs +1 -1
  131. package/esm2022/lib/core/models.mjs +1 -1
  132. package/esm2022/lib/core/none.component.mjs +19 -22
  133. package/esm2022/lib/core/slots/slots.component.mjs +13 -14
  134. package/esm2022/lib/core/tagging/documents.component.mjs +7 -7
  135. package/esm2022/lib/core/tagging/edit-input.component.mjs +12 -13
  136. package/esm2022/lib/core/tagging/users.component.mjs +7 -7
  137. package/esm2022/lib/core/translations.mjs +2 -2
  138. package/esm2022/lib/cube/cube-menu.component.mjs +8 -9
  139. package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
  140. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +6 -7
  141. package/esm2022/lib/cube/filter/filter.component.mjs +11 -11
  142. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +1 -2
  143. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +12 -12
  144. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +12 -12
  145. package/esm2022/lib/cube/matrix/popup.component.mjs +10 -10
  146. package/esm2022/lib/cube/matrix/table.component.mjs +3 -4
  147. package/esm2022/lib/cube/parallel/parallel.component.mjs +4 -5
  148. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  149. package/esm2022/lib/cube/view.mobile.component.mjs +16 -17
  150. package/esm2022/lib/cube/view.pane.component.mjs +12 -13
  151. package/esm2022/lib/dashboard/dashboard.component.mjs +11 -12
  152. package/esm2022/lib/dashboard/recents/recents.widget.mjs +11 -12
  153. package/esm2022/lib/dashboard/score/activity.widget.mjs +4 -5
  154. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +5 -5
  155. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +11 -12
  156. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -2
  157. package/esm2022/lib/designer.module.mjs +6 -5
  158. package/esm2022/lib/home/about/about.dialog.mjs +7 -8
  159. package/esm2022/lib/home/home.desktop.component.mjs +17 -18
  160. package/esm2022/lib/home/home.mobile.component.mjs +16 -17
  161. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  162. package/esm2022/lib/home/options/options.component.mjs +11 -11
  163. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +8 -9
  164. package/esm2022/lib/home/tools.component.mjs +13 -13
  165. package/esm2022/lib/impersonate/impersonate.component.mjs +10 -10
  166. package/esm2022/lib/modules/gantt.module.mjs +4 -2
  167. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  168. package/esm2022/lib/notifications/types/commented.notification.mjs +19 -12
  169. package/esm2022/lib/notifications/types/escalated.notification.mjs +6 -6
  170. package/esm2022/lib/notifications/types/liked.notification.mjs +19 -12
  171. package/esm2022/lib/notifications/types/tagged.notification.mjs +9 -9
  172. package/esm2022/lib/notifications/types/text.notification.mjs +6 -3
  173. package/esm2022/lib/options/options.component.mjs +52 -28
  174. package/esm2022/lib/options/options.service.mjs +26 -6
  175. package/esm2022/lib/reports/cube/table-documents.component.mjs +10 -10
  176. package/esm2022/lib/reports/report.mobile.component.mjs +12 -13
  177. package/esm2022/lib/reports/report.pane.component.mjs +10 -11
  178. package/esm2022/lib/reports/reports-menu.component.mjs +7 -8
  179. package/esm2022/lib/reports/substitution/substitution.component.mjs +10 -11
  180. package/esm2022/lib/reports/table/table-view.component.mjs +5 -6
  181. package/esm2022/lib/search/path.component.mjs +17 -18
  182. package/esm2022/lib/shared.module.mjs +4 -2
  183. package/esm2022/lib/system.module.mjs +5 -5
  184. package/esm2022/lib/views/cube/chart.component.mjs +6 -7
  185. package/esm2022/lib/views/cube/explore.component.mjs +10 -10
  186. package/esm2022/lib/views/cube/matrix.component.mjs +11 -11
  187. package/esm2022/lib/views/cube/parallel.component.mjs +4 -5
  188. package/esm2022/lib/views/cube/pivot.component.mjs +4 -5
  189. package/esm2022/lib/views/cube/sum.component.mjs +12 -10
  190. package/esm2022/lib/views/cube/view.component.mjs +11 -12
  191. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +191 -192
  192. package/esm2022/lib/views/views.component.mjs +4 -5
  193. package/esm2022/public-api.mjs +3 -1
  194. package/fesm2022/bizdoc-core.mjs +3509 -3296
  195. package/fesm2022/bizdoc-core.mjs.map +1 -1
  196. package/lib/admin/architecture/elements/analysis-view.component.d.ts +2 -2
  197. package/lib/admin/architecture/elements/cube-view.component.d.ts +2 -2
  198. package/lib/admin/architecture/elements/form.component.d.ts +5 -5
  199. package/lib/admin/architecture/elements/matrix-view.component.d.ts +17 -9
  200. package/lib/admin/architecture/elements/parallel-view.component.d.ts +5 -5
  201. package/lib/admin/architecture/elements/tasks-report.component.d.ts +3 -2
  202. package/lib/admin/form/designer/box-designer.component.d.ts +26 -23
  203. package/lib/admin/form/designer/declarations.d.ts +2 -2
  204. package/lib/admin/form/designer/design-control.component.d.ts +19 -0
  205. package/lib/admin/form/designer/section.component.d.ts +3 -3
  206. package/lib/compose/attachments/attachments.component.d.ts +2 -2
  207. package/lib/core/animations.d.ts +1 -0
  208. package/lib/core/inputs/combination-picker.d.ts +1 -0
  209. package/lib/core/mailbox.service.d.ts +4 -3
  210. package/lib/core/models.d.ts +1 -1
  211. package/lib/cube/matrix/table.component.d.ts +2 -2
  212. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -1
  213. package/lib/designer.module.d.ts +27 -26
  214. package/lib/notifications/types/escalated.notification.d.ts +1 -1
  215. package/lib/notifications/types/tagged.notification.d.ts +1 -1
  216. package/lib/notifications/types/text.notification.d.ts +1 -1
  217. package/lib/options/options.component.d.ts +6 -4
  218. package/lib/options/options.service.d.ts +7 -2
  219. package/lib/shared.module.d.ts +1 -1
  220. package/lib/system.module.d.ts +25 -25
  221. package/lib/views/cube/sum.component.d.ts +1 -0
  222. package/lib/views/timeline/timeline.component.exp.d.ts +2 -2
  223. package/package.json +1 -1
  224. package/public-api.d.ts +2 -0
@@ -4,13 +4,12 @@ import { Validators } from "@angular/forms";
4
4
  import { BizDoc } from "../../../core/decorators";
5
5
  import { DesignerCubeElementComponent } from "../designer.base";
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@angular/material/core";
10
- import * as i4 from "@angular/material/form-field";
11
- import * as i5 from "@angular/material/select";
12
- import * as i6 from "../../../core/pipes/localized-string.pipe";
13
- import * as i7 from "../../../core/pipes/translate.pipe";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "@angular/material/core";
9
+ import * as i3 from "@angular/material/form-field";
10
+ import * as i4 from "@angular/material/select";
11
+ import * as i5 from "../../../core/pipes/localized-string.pipe";
12
+ import * as i6 from "../../../core/pipes/translate.pipe";
14
13
  let CubeIndexDesignComponent = class CubeIndexDesignComponent extends DesignerCubeElementComponent {
15
14
  constructor() {
16
15
  super(...arguments);
@@ -20,7 +19,7 @@ let CubeIndexDesignComponent = class CubeIndexDesignComponent extends DesignerCu
20
19
  });
21
20
  }
22
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CubeIndexDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: CubeIndexDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Index'|translate}}</mat-label>\r\n <mat-select formControlName=\"index\">\r\n <mat-option *ngFor=\"let i of cube?.indices\" [value]=\"i.name\">{{i.title || i.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "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: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: CubeIndexDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "@if (mode === 'widget') {\n} @else {\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 <mat-form-field>\n <mat-label>{{'Index'|translate}}</mat-label>\n <mat-select formControlName=\"index\">\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title || i.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\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: "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: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
24
23
  };
25
24
  CubeIndexDesignComponent = __decorate([
26
25
  BizDoc({ selector: 'cube-index-designer' })
@@ -28,6 +27,6 @@ CubeIndexDesignComponent = __decorate([
28
27
  export { CubeIndexDesignComponent };
29
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CubeIndexDesignComponent, decorators: [{
30
29
  type: Component,
31
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Index'|translate}}</mat-label>\r\n <mat-select formControlName=\"index\">\r\n <mat-option *ngFor=\"let i of cube?.indices\" [value]=\"i.name\">{{i.title || i.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
30
+ args: [{ template: "@if (mode === 'widget') {\n} @else {\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 <mat-form-field>\n <mat-label>{{'Index'|translate}}</mat-label>\n <mat-select formControlName=\"index\">\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title || i.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\n}\n" }]
32
31
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1pbmRleC11dGlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2N1YmUtaW5kZXgtdXRpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9jdWJlLWluZGV4LXV0aWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBSXpELElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXlCLFNBQVEsNEJBQStDO0lBQXRGOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNuRCxDQUFDLENBQUM7S0FDSjs4R0FMWSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyRUNSckMsODBCQWtCQTs7QURWYSx3QkFBd0I7SUFEcEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7R0FDL0Isd0JBQXdCLENBS3BDOzsyRkFMWSx3QkFBd0I7a0JBRnBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBWaWV3U2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi92aWV3cy9jdWJlL3ZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnY3ViZS1pbmRleC11dGlsaXR5LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdjdWJlLWluZGV4LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ3ViZUluZGV4RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxWaWV3U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgaW5kZXg6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgfSk7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImMubmFtZVwiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydJbmRleCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kZXhcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaSBvZiBjdWJlPy5pbmRpY2VzXCIgW3ZhbHVlXT1cImkubmFtZVwiPnt7aS50aXRsZSB8fCBpLm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1pbmRleC11dGlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2N1YmUtaW5kZXgtdXRpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9jdWJlLWluZGV4LXV0aWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFJekQsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBeUIsU0FBUSw0QkFBK0M7SUFBdEY7O1FBQ0ksU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ25ELENBQUMsQ0FBQztLQUNKOzhHQUxZLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDJFQ1JyQyxrekJBdUJBOztBRGZhLHdCQUF3QjtJQURwQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztHQUMvQix3QkFBd0IsQ0FLcEM7OzJGQUxZLHdCQUF3QjtrQkFGcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFZpZXdTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdjdWJlLWluZGV4LXV0aWxpdHkuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2N1YmUtaW5kZXgtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlSW5kZXhEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFZpZXdTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICBpbmRleDogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICB9KTtcclxufVxyXG4iLCJAaWYgKG1vZGUgPT09ICd3aWRnZXQnKSB7XG59IEBlbHNlIHtcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICBAaWYgKGN1YmVzLmxlbmd0aD4xKSB7XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPVwiY3ViZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICBAZm9yIChjIG9mIGN1YmVzOyB0cmFjayBjKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYy5uYW1lXCI+e3tjLnRpdGxlfGxvY2FsaXplZFN0cmluZ319PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICB9XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD57eydJbmRleCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGV4XCI+XG4gICAgICAgIEBmb3IgKGkgb2YgY3ViZT8uaW5kaWNlczsgdHJhY2sgaSkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpLm5hbWVcIj57e2kudGl0bGUgfHwgaS5uYW1lfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Zvcm0+XG59XG4iXX0=
@@ -4,25 +4,24 @@ import { Validators } from "@angular/forms";
4
4
  import { BizDoc } from "../../../core/decorators";
5
5
  import { DesignerCubeElementComponent } from "../designer.base";
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@angular/material/core";
10
- import * as i4 from "@angular/material/form-field";
11
- import * as i5 from "@angular/material/select";
12
- import * as i6 from "../../../core/pipes/localized-string.pipe";
13
- import * as i7 from "../../../core/pipes/translate.pipe";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "@angular/material/core";
9
+ import * as i3 from "@angular/material/form-field";
10
+ import * as i4 from "@angular/material/select";
11
+ import * as i5 from "../../../core/pipes/localized-string.pipe";
12
+ import * as i6 from "../../../core/pipes/translate.pipe";
14
13
  let CubeViewDesignComponent = class CubeViewDesignComponent extends DesignerCubeElementComponent {
15
14
  constructor() {
16
15
  super(...arguments);
17
16
  this.form = this._fb.group({
18
17
  cube: null,
19
18
  view: this._fb.control(null, Validators.required),
20
- aggregate: null,
21
- filters: null,
19
+ aggregate: this._fb.control(null),
20
+ filters: this._fb.control(null),
22
21
  });
23
22
  }
24
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CubeViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: CubeViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"mode === 'widget'; else edit\">\r\n</div>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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.MatHint, selector: "mat-hint", inputs: ["align", "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: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: CubeViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "@if (mode === 'widget') {\n <div>\n </div>\n} @else {\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 <mat-form-field>\n <mat-label>{{'Filters'|translate}}</mat-label>\n <mat-select formControlName=\"filters\" multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\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.filters.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n </form>\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.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: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
26
25
  };
27
26
  CubeViewDesignComponent = __decorate([
28
27
  BizDoc({ selector: 'cube-view-designer' })
@@ -30,6 +29,6 @@ CubeViewDesignComponent = __decorate([
30
29
  export { CubeViewDesignComponent };
31
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CubeViewDesignComponent, decorators: [{
32
31
  type: Component,
33
- args: [{ template: "<div *ngIf=\"mode === 'widget'; else edit\">\r\n</div>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
32
+ args: [{ template: "@if (mode === 'widget') {\n <div>\n </div>\n} @else {\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 <mat-form-field>\n <mat-label>{{'Filters'|translate}}</mat-label>\n <mat-select formControlName=\"filters\" multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\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.filters.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n </form>\n}\n" }]
34
33
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2N1YmUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9jdWJlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBSXpELElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXdCLFNBQVEsNEJBQStDO0lBQXJGOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRCxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0tBQ0o7OEdBUFksdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkVDUnBDLDh1Q0EyQkE7O0FEbkJhLHVCQUF1QjtJQURqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztHQUNoQyx1QkFBdUIsQ0FPbkM7OzJGQVBZLHVCQUF1QjtrQkFGbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFZpZXdTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdjdWJlLXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbiAgQEJpekRvYyh7IHNlbGVjdG9yOiAnY3ViZS12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ3ViZVZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFZpZXdTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB2aWV3OiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgYWdncmVnYXRlOiBudWxsLFxyXG4gICAgZmlsdGVyczogbnVsbCxcclxuICB9KTtcclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT1cImN1YmVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiYy5uYW1lXCI+e3tjLnRpdGxlfGxvY2FsaXplZFN0cmluZ319PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlcnNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgnZmlsdGVycycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWhpbnQ+PC9tYXQtaGludD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2N1YmUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9jdWJlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFJekQsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBd0IsU0FBUSw0QkFBK0M7SUFBckY7O1FBQ0ksU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBVyxJQUFJLENBQUM7WUFDM0MsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFXLElBQUksQ0FBQztTQUMxQyxDQUFDLENBQUM7S0FDSjs4R0FQWSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwyRUNScEMscXVDQW9DQTs7QUQ1QmEsdUJBQXVCO0lBRGpDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0dBQ2hDLHVCQUF1QixDQU9uQzs7MkZBUFksdUJBQXVCO2tCQUZuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVmlld1NldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS92aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2N1YmUtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuICBAQml6RG9jKHsgc2VsZWN0b3I6ICdjdWJlLXZpZXctZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlVmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8Vmlld1NldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHZpZXc6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBhZ2dyZWdhdGU6IHRoaXMuX2ZiLmNvbnRyb2w8c3RyaW5nW10+KG51bGwpLFxyXG4gICAgZmlsdGVyczogdGhpcy5fZmIuY29udHJvbDxzdHJpbmdbXT4obnVsbCksXHJcbiAgfSk7XHJcbn1cclxuIiwiQGlmIChtb2RlID09PSAnd2lkZ2V0Jykge1xuICA8ZGl2PlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxuICAgIEBpZiAoY3ViZXMubGVuZ3RoPjEpIHtcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIEBmb3IgKGMgb2YgY3ViZXM7IHRyYWNrIGMpIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJjLm5hbWVcIj57e2MudGl0bGV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIH1cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJzXCIgbXVsdGlwbGU+XG4gICAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGU+XG4gICAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xuICAgICAgICAgIEBpZiAoZm9ybS5jb250cm9scy5maWx0ZXJzLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPG1hdC1oaW50PjwvbWF0LWhpbnQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9mb3JtPlxufVxuIl19