@bizdoc/core 1.15.6 → 1.16.1

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 (109) hide show
  1. package/assets/bizdoc-schema.json +14 -13
  2. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  3. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +113 -44
  4. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +43 -37
  5. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +83 -84
  6. package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +8 -6
  7. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +7 -7
  8. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -7
  9. package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +3 -3
  10. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +31 -26
  11. package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +32 -0
  12. package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +3 -3
  13. package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +91 -55
  14. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +2 -2
  15. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +13 -9
  16. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +30 -39
  17. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +24 -17
  18. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +13 -17
  19. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +3 -3
  20. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +2 -2
  21. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +14 -6
  22. package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +11 -15
  23. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +12 -8
  24. package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +8 -3
  25. package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +11 -10
  26. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +5 -6
  27. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +2 -2
  28. package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +11 -11
  29. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
  30. package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +14 -6
  31. package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +13 -11
  32. package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +14 -4
  33. package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +12 -6
  34. package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +25 -15
  35. package/esm2020/lib/admin/core/ace.input.mjs +14 -16
  36. package/esm2020/lib/admin/core/color-picker.input.mjs +2 -1
  37. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
  38. package/esm2020/lib/admin/form/designer/designer.component.mjs +96 -40
  39. package/esm2020/lib/admin/patterns/patterns.component.mjs +1 -1
  40. package/esm2020/lib/admin/system.service.mjs +4 -1
  41. package/esm2020/lib/compose/box/box.component.mjs +4 -3
  42. package/esm2020/lib/core/datasource.service.mjs +1 -1
  43. package/esm2020/lib/core/functions.mjs +10 -3
  44. package/esm2020/lib/core/layout/layout.component.mjs +18 -30
  45. package/esm2020/lib/core/mailbox.service.mjs +2 -2
  46. package/esm2020/lib/core/models.mjs +1 -1
  47. package/esm2020/lib/core/translations.mjs +6 -1
  48. package/esm2020/lib/cube/cube-info.service.mjs +1 -1
  49. package/esm2020/lib/cube/cube.service.mjs +1 -1
  50. package/esm2020/lib/cube/declarations.mjs +1 -1
  51. package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -2
  52. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
  53. package/esm2020/lib/cube/matrix/table.component.mjs +19 -19
  54. package/esm2020/lib/cube/sum/sum.component.mjs +1 -1
  55. package/esm2020/lib/reports/cube/usage-base.mjs +1 -1
  56. package/esm2020/lib/shared.module.mjs +5 -4
  57. package/esm2020/lib/system.module.mjs +14 -8
  58. package/esm2020/lib/views/cube/parallel.component.mjs +1 -1
  59. package/esm2020/public-api.mjs +3 -2
  60. package/fesm2015/bizdoc-core.mjs +5670 -5435
  61. package/fesm2015/bizdoc-core.mjs.map +1 -1
  62. package/fesm2020/bizdoc-core.mjs +5525 -5291
  63. package/fesm2020/bizdoc-core.mjs.map +1 -1
  64. package/lib/admin/configuration-designer/designer-element.component.d.ts +30 -10
  65. package/lib/admin/configuration-designer/designer.base.d.ts +75 -36
  66. package/lib/admin/configuration-designer/designer.component.d.ts +10 -7
  67. package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -0
  68. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +2 -1
  69. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +9 -8
  70. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +12 -0
  71. package/lib/admin/configuration-designer/elements/cube.component.d.ts +17 -7
  72. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -2
  73. package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -0
  74. package/lib/admin/configuration-designer/elements/form.component.d.ts +7 -2
  75. package/lib/admin/configuration-designer/elements/guide.component.d.ts +4 -2
  76. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +0 -2
  77. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -1
  78. package/lib/admin/configuration-designer/elements/report.component.d.ts +3 -0
  79. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -4
  80. package/lib/admin/configuration-designer/elements/role.component.d.ts +5 -2
  81. package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -0
  82. package/lib/admin/configuration-designer/elements/state.component.d.ts +4 -1
  83. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -2
  84. package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -1
  85. package/lib/admin/configuration-designer/elements/utility.component.d.ts +3 -0
  86. package/lib/admin/configuration-designer/elements/view.component.d.ts +4 -6
  87. package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -0
  88. package/lib/admin/configuration-designer/privileges.component.d.ts +6 -4
  89. package/lib/admin/core/ace.input.d.ts +4 -4
  90. package/lib/admin/core/color-picker.input.d.ts +1 -0
  91. package/lib/admin/form/designer/designer.component.d.ts +20 -12
  92. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  93. package/lib/admin/system.service.d.ts +6 -0
  94. package/lib/core/datasource.service.d.ts +3 -3
  95. package/lib/core/layout/layout.component.d.ts +0 -2
  96. package/lib/core/models.d.ts +2 -2
  97. package/lib/core/translations.d.ts +5 -0
  98. package/lib/cube/cube-info.service.d.ts +3 -2
  99. package/lib/cube/cube.service.d.ts +8 -8
  100. package/lib/cube/declarations.d.ts +2 -0
  101. package/lib/cube/matrix/matrix.base.d.ts +4 -3
  102. package/lib/cube/matrix/matrix.pane.component.d.ts +3 -2
  103. package/lib/cube/matrix/table.component.d.ts +9 -5
  104. package/lib/reports/cube/usage-base.d.ts +2 -2
  105. package/lib/shared.module.d.ts +150 -151
  106. package/lib/system.module.d.ts +50 -47
  107. package/lib/views/cube/parallel.component.d.ts +1 -1
  108. package/package.json +1 -1
  109. package/public-api.d.ts +4 -3
@@ -1,5 +1,4 @@
1
1
  import { __decorate } from "tslib";
2
- import { moveItemInArray } from "@angular/cdk/drag-drop";
3
2
  import { Component } from "@angular/core";
4
3
  import { Validators } from "@angular/forms";
5
4
  import { debounceTime } from "rxjs";
@@ -8,12 +7,14 @@ import { DesignerElementComponent } from "../designer.base";
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/common";
10
9
  import * as i2 from "@angular/forms";
11
- import * as i3 from "@angular/material/form-field";
12
- import * as i4 from "@angular/material/input";
13
- import * as i5 from "../icon-picker.component";
14
- import * as i6 from "../privileges.component";
15
- import * as i7 from "../../../core/pipes/translate.pipe";
16
- let configurationDatasourceDesignComponent = class configurationDatasourceDesignComponent extends DesignerElementComponent {
10
+ import * as i3 from "@angular/cdk/drag-drop";
11
+ import * as i4 from "@angular/material/form-field";
12
+ import * as i5 from "@angular/material/button";
13
+ import * as i6 from "@angular/material/input";
14
+ import * as i7 from "@angular/material/icon";
15
+ import * as i8 from "../../../core/popup/tooltip.directive";
16
+ import * as i9 from "../../../core/pipes/translate.pipe";
17
+ let ConfigurationDatasourceDesignComponent = class ConfigurationDatasourceDesignComponent extends DesignerElementComponent {
17
18
  constructor() {
18
19
  super(...arguments);
19
20
  this.items = this._fb.array([]);
@@ -22,40 +23,44 @@ let configurationDatasourceDesignComponent = class configurationDatasourceDesign
22
23
  });
23
24
  }
24
25
  ngOnInit() {
25
- if (!this.args.items)
26
- this.args.items = {};
27
- Object.keys(this.args.items).forEach(k => this.items.push(this._form(k, this.args.items[k])));
26
+ if (!this.options.items)
27
+ this.options.items = {};
28
+ Object.keys(this.options.items).forEach(k => this.items.push(this._itemform(k, this.options.items[k])));
28
29
  this.items.valueChanges.pipe(debounceTime(150)).
29
30
  subscribe(v => this._tomap(v));
30
31
  }
31
- _tomap(varray) {
32
+ _tomap(map) {
32
33
  const items = {};
33
- varray.forEach(v => items[v.key] = v.value);
34
+ map.forEach(v => items[v.key] = v.value);
34
35
  this.form.get('items').setValue(items);
35
36
  }
36
37
  add() {
37
- this._form(null, null);
38
+ let key = 'item', value = 'Title', i = 0;
39
+ while (this.options.items[key]) {
40
+ i++;
41
+ key = 'item-' + i, value = 'Title ' + i;
42
+ }
43
+ this.items.push(this._itemform(key, value));
38
44
  }
39
- _form(key, value) {
45
+ _itemform(key, value) {
40
46
  return this._fb.group({
41
47
  key: this._fb.control(key, Validators.required),
42
48
  value: this._fb.control(value, Validators.required)
43
49
  });
44
50
  }
45
- drop(event) {
46
- const array = this.items.value;
47
- moveItemInArray(array, event.previousIndex, event.currentIndex);
48
- this._tomap(array);
51
+ drop(event, collection) {
52
+ super.drop(event, collection);
53
+ this._tomap(this.items.value);
49
54
  }
50
55
  };
51
- configurationDatasourceDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: configurationDatasourceDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- configurationDatasourceDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: configurationDatasourceDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ 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.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: 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.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.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: i5.IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i6.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
53
- configurationDatasourceDesignComponent = __decorate([
56
+ ConfigurationDatasourceDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDatasourceDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
57
+ ConfigurationDatasourceDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ConfigurationDatasourceDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Items'|translate}}</h2>\r\n <div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, items)\">\r\n <div class=\"row\" *ngFor=\"let a of items.controls; index as index\" [formGroup]=\"a\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Key'|translate}}</mat-label>\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <input matInput formControlName=\"value\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"items.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\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.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: 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: "directive", type: i3.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: i3.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: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
58
+ ConfigurationDatasourceDesignComponent = __decorate([
54
59
  BizDoc({ selector: 'configuration-datasource-designer' })
55
- ], configurationDatasourceDesignComponent);
56
- export { configurationDatasourceDesignComponent };
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: configurationDatasourceDesignComponent, decorators: [{
60
+ ], ConfigurationDatasourceDesignComponent);
61
+ export { ConfigurationDatasourceDesignComponent };
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDatasourceDesignComponent, decorators: [{
58
63
  type: Component,
59
- args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
64
+ args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Items'|translate}}</h2>\r\n <div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, items)\">\r\n <div class=\"row\" *ngFor=\"let a of items.controls; index as index\" [formGroup]=\"a\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Key'|translate}}</mat-label>\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <input matInput formControlName=\"value\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"items.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
60
65
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kYXRhc291cmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9jb25maWd1cmF0aW9uLWRhdGFzb3VyY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2ZvbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7SUFJL0Msc0NBQXNDLFNBQXRDLHNDQUF1QyxTQUFRLHdCQUErQjs7O1FBQ2hGLFVBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBaUMsRUFBRSxDQUFDLENBQUM7UUFDM0QsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDMUIsQ0FBQyxDQUFDO0tBNEJKO0lBM0JDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNOLENBQUM7SUFDTyxNQUFNLENBQUMsTUFBd0M7UUFDckQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEdBQUc7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ08sS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQXlCO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQy9CLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQ0YsQ0FBQTttSUFoQ1ksc0NBQXNDO3VIQUF0QyxzQ0FBc0MsMkVDVG5ELCt6QkFzQkE7QURiYSxzQ0FBc0M7SUFEbEQsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1DQUFtQyxFQUFFLENBQUM7R0FDN0Msc0NBQXNDLENBZ0NsRDtTQWhDWSxzQ0FBc0M7MkZBQXRDLHNDQUFzQztrQkFGbEQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnZm9sZGVyLmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdjb25maWd1cmF0aW9uLWRhdGFzb3VyY2UtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBjb25maWd1cmF0aW9uRGF0YXNvdXJjZURlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyRWxlbWVudENvbXBvbmVudDxNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGl0ZW1zID0gdGhpcy5fZmIuYXJyYXk8eyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PihbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGl0ZW1zOiB0aGlzLl9mYi5ncm91cCh7fSlcclxuICB9KTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hcmdzLml0ZW1zKSB0aGlzLmFyZ3MuaXRlbXMgPSB7fTtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuYXJncy5pdGVtcykuZm9yRWFjaChrID0+IHRoaXMuaXRlbXMucHVzaCh0aGlzLl9mb3JtKGssIHRoaXMuYXJncy5pdGVtc1trXSkpKTtcclxuICAgIHRoaXMuaXRlbXMudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLlxyXG4gICAgICBzdWJzY3JpYmUodiA9PlxyXG4gICAgICAgIHRoaXMuX3RvbWFwKHYpXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RvbWFwKHZhcnJheTogeyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10pIHtcclxuICAgIGNvbnN0IGl0ZW1zID0ge307XHJcbiAgICB2YXJyYXkuZm9yRWFjaCh2ID0+IGl0ZW1zW3Yua2V5XSA9IHYudmFsdWUpO1xyXG4gICAgdGhpcy5mb3JtLmdldCgnaXRlbXMnKS5zZXRWYWx1ZShpdGVtcyk7XHJcbiAgfVxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuX2Zvcm0obnVsbCwgbnVsbCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Zvcm0oa2V5LCB2YWx1ZSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBrZXk6IHRoaXMuX2ZiLmNvbnRyb2woa2V5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdmFsdWU6IHRoaXMuX2ZiLmNvbnRyb2wodmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8TW9kZWw+KSB7XHJcbiAgICBjb25zdCBhcnJheSA9IHRoaXMuaXRlbXMudmFsdWU7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkoYXJyYXksIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLl90b21hcChhcnJheSlcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2UgaW5mb1wiPlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snTmFtZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8IS0tPG1hdC1sYWJlbD57eydJY29uJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPi0tPlxyXG4gICAgICA8Yml6ZG9jLWljb24tcGlja2VyIGZvcm1Db250cm9sTmFtZT1cImljb25cIiByZXF1aXJlZD48L2JpemRvYy1pY29uLXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuICA8Yml6ZG9jLXByaXZpbGVnZXMgKGNoYW5nZSk9XCJjaGFuZ2UuZW1pdCgpXCIgW21vZGVsXT1cIm1vZGVsLnByaXZpbGVnZXNcIj48L2JpemRvYy1wcml2aWxlZ2VzPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPCEtLS0tPlxyXG48bmctdGVtcGxhdGUgI2luZm8+XHJcbiAgPGRpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kYXRhc291cmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9jb25maWd1cmF0aW9uLWRhdGFzb3VyY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2NvbmZpZ3VyYXRpb24tZGF0YXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQXdCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztJQUkvQyxzQ0FBc0MsU0FBdEMsc0NBQXVDLFNBQVEsd0JBQStCOzs7UUFDaEYsVUFBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFpQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUMxQixDQUFDLENBQUM7S0FnQ0o7SUEvQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUNPLE1BQU0sQ0FBQyxHQUFxQztRQUNsRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsR0FBRztRQUNELElBQUksR0FBRyxHQUFHLE1BQU0sRUFBRSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBQztZQUM3QixDQUFDLEVBQUUsQ0FBQztZQUNKLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ08sU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQTZCLEVBQUUsVUFBcUI7UUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLENBQUM7Q0FDRixDQUFBO21JQXBDWSxzQ0FBc0M7dUhBQXRDLHNDQUFzQywyRUNWbkQsMHRDQTBCQTtBRGhCYSxzQ0FBc0M7SUFEbEQsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1DQUFtQyxFQUFFLENBQUM7R0FDN0Msc0NBQXNDLENBb0NsRDtTQXBDWSxzQ0FBc0M7MkZBQXRDLHNDQUFzQztrQkFGbEQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyB0aXRsZSB9IGZyb20gXCJwcm9jZXNzXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2NvbmZpZ3VyYXRpb24tZGF0YXNvdXJjZS5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnY29uZmlndXJhdGlvbi1kYXRhc291cmNlLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRhdGFzb3VyY2VEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckVsZW1lbnRDb21wb25lbnQ8TW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBpdGVtcyA9IHRoaXMuX2ZiLmFycmF5PHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfT4oW10pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBpdGVtczogdGhpcy5fZmIuZ3JvdXAoe30pXHJcbiAgfSk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5pdGVtcykgdGhpcy5vcHRpb25zLml0ZW1zID0ge307XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuaXRlbXMpLmZvckVhY2goayA9PiB0aGlzLml0ZW1zLnB1c2godGhpcy5faXRlbWZvcm0oaywgdGhpcy5vcHRpb25zLml0ZW1zW2tdKSkpO1xyXG4gICAgdGhpcy5pdGVtcy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTUwKSkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+XHJcbiAgICAgICAgdGhpcy5fdG9tYXAodilcclxuICAgICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9tYXAobWFwOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXSkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB7fTtcclxuICAgIG1hcC5mb3JFYWNoKHYgPT4gaXRlbXNbdi5rZXldID0gdi52YWx1ZSk7XHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdpdGVtcycpLnNldFZhbHVlKGl0ZW1zKTtcclxuICB9XHJcbiAgYWRkKCkge1xyXG4gICAgbGV0IGtleSA9ICdpdGVtJywgdmFsdWUgPSAnVGl0bGUnLCBpID0gMDtcclxuICAgIHdoaWxlICh0aGlzLm9wdGlvbnMuaXRlbXNba2V5XSl7XHJcbiAgICAgIGkrKztcclxuICAgICAga2V5ID0gJ2l0ZW0tJyArIGksIHZhbHVlID0gJ1RpdGxlICcgKyBpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtcy5wdXNoKHRoaXMuX2l0ZW1mb3JtKGtleSwgdmFsdWUpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaXRlbWZvcm0oa2V5LCB2YWx1ZSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBrZXk6IHRoaXMuX2ZiLmNvbnRyb2woa2V5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdmFsdWU6IHRoaXMuX2ZiLmNvbnRyb2wodmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Rm9ybUdyb3VwPiwgY29sbGVjdGlvbjogRm9ybUFycmF5KSB7XHJcbiAgICBzdXBlci5kcm9wKGV2ZW50LCBjb2xsZWN0aW9uKTtcclxuICAgIHRoaXMuX3RvbWFwKHRoaXMuaXRlbXMudmFsdWUpXHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgaXRlbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIGluZm9cIj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3snSXRlbXMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCBpdGVtcylcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCBhIG9mIGl0ZW1zLmNvbnRyb2xzOyBpbmRleCBhcyBpbmRleFwiIFtmb3JtR3JvdXBdPVwiYVwiIGNka0RyYWc+XHJcbiAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snS2V5J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImtleVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7J1ZhbHVlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZm9ybT5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0tLT5cclxuPG5nLXRlbXBsYXRlICNpbmZvPlxyXG4gIDxkaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component } from "@angular/core";
3
+ import { Validators } from "@angular/forms";
4
+ import { BizDoc } from "../../../core/decorators";
5
+ import { DesignerCubeElementComponent } from "../designer.base";
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/translate.pipe";
13
+ let CubeIndexDesignComponent = class CubeIndexDesignComponent extends DesignerCubeElementComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.form = this._fb.group({
17
+ cube: null,
18
+ index: this._fb.control(null, Validators.required),
19
+ });
20
+ }
21
+ };
22
+ CubeIndexDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeIndexDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ CubeIndexDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeIndexDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"editMode; else info\" 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 (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 #info></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.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", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
24
+ CubeIndexDesignComponent = __decorate([
25
+ BizDoc({ selector: 'cube-index-designer' })
26
+ ], CubeIndexDesignComponent);
27
+ export { CubeIndexDesignComponent };
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeIndexDesignComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ template: "<form *ngIf=\"editMode; else info\" 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 (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 #info></ng-template>\r\n" }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1pbmRleC11dGlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9jdWJlLWluZGV4LXV0aWxpdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2N1YmUtaW5kZXgtdXRpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztJQUluRCx3QkFBd0IsU0FBeEIsd0JBQXlCLFNBQVEsNEJBQStDOzs7UUFDbEYsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ25ELENBQUMsQ0FBQztLQUNKO0NBQUEsQ0FBQTtxSEFMWSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyRUNSckMsaXRCQWVBO0FEUGEsd0JBQXdCO0lBRHBDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO0dBQy9CLHdCQUF3QixDQUtwQztTQUxZLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUZwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVmlld1NldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS92aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2N1YmUtaW5kZXgtdXRpbGl0eS5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnY3ViZS1pbmRleC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEN1YmVJbmRleERlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8Vmlld1NldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIGluZGV4OiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gIH0pO1xyXG59XHJcbiIsIjxmb3JtICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2UgaW5mb1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1sYWJlbD57eydJbmRleCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGV4XCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpIG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJpLm5hbWVcIj57e2kudGl0bGUgfHwgaS5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG48bmctdGVtcGxhdGUgI2luZm8+PC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -22,13 +22,13 @@ let CubeViewDesignComponent = class CubeViewDesignComponent extends DesignerCube
22
22
  }
23
23
  };
24
24
  CubeViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
- CubeViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"editMode; else info\" autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube.axes\" [value]=\"x.name\">{{x.title || x.name}}</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 [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n<ng-template #info></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.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", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
25
+ CubeViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"editMode; else info\" 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 (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube.axes\" [value]=\"x.name\">{{x.title || x.name}}</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 [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n</form>\r\n<ng-template #info></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.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", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
26
26
  CubeViewDesignComponent = __decorate([
27
27
  BizDoc({ selector: 'cube-view-designer' })
28
28
  ], CubeViewDesignComponent);
29
29
  export { CubeViewDesignComponent };
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeViewDesignComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ template: "<form *ngIf=\"editMode; else info\" autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube.axes\" [value]=\"x.name\">{{x.title || x.name}}</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 [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n<ng-template #info></ng-template>\r\n" }]
32
+ args: [{ template: "<form *ngIf=\"editMode; else info\" 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 (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</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 (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube.axes\" [value]=\"x.name\">{{x.title || x.name}}</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 [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n</form>\r\n<ng-template #info></ng-template>\r\n" }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9jdWJlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2N1YmUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztJQUluRCx1QkFBdUIsU0FBdkIsdUJBQXdCLFNBQVEsNEJBQStDOzs7UUFDakYsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FDSjtDQUFBLENBQUE7b0hBUFksdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkVDUnBDLHdrQ0FxQkE7QURiYSx1QkFBdUI7SUFEakMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7R0FDaEMsdUJBQXVCLENBT25DO1NBUFksdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRm5DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBWaWV3U2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi92aWV3cy9jdWJlL3ZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnY3ViZS12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG4gIEBCaXpEb2MoeyBzZWxlY3RvcjogJ2N1YmUtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEN1YmVWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxWaWV3U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgdmlldzogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIGZpbHRlcnM6IG51bGwsXHJcbiAgfSk7XHJcbn1cclxuIiwiPGZvcm0gKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSBpbmZvXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImNcIj57e2MudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3snRmlsdGVycyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlcnNcIiBtdWx0aXBsZSAoc2VsZWN0aW9uQ2hhbmdlKT1cInhBeGlzU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlLmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZSAgW2Rpc2FibGVkXT1cIiFzZWNvbmRhcnlBeGVzIHx8ICFzZWNvbmRhcnlBeGVzLmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBzZWNvbmRhcnlBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Zvcm0+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz48L25nLXRlbXBsYXRlPlxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9jdWJlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2N1YmUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztJQUluRCx1QkFBdUIsU0FBdkIsdUJBQXdCLFNBQVEsNEJBQStDOzs7UUFDakYsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FDSjtDQUFBLENBQUE7b0hBUFksdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkVDUnBDLDhuQ0FzQkE7QURkYSx1QkFBdUI7SUFEakMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7R0FDaEMsdUJBQXVCLENBT25DO1NBUFksdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRm5DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBWaWV3U2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi92aWV3cy9jdWJlL3ZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnY3ViZS12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG4gIEBCaXpEb2MoeyBzZWxlY3RvcjogJ2N1YmUtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEN1YmVWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxWaWV3U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgdmlldzogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIGZpbHRlcnM6IG51bGwsXHJcbiAgfSk7XHJcbn1cclxuIiwiPGZvcm0gKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSBpbmZvXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWxhYmVsPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJzXCIgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJ4QXhpc1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgY3ViZS5heGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGUgIFtkaXNhYmxlZF09XCIhc2Vjb25kYXJ5QXhlcyB8fCAhc2Vjb25kYXJ5QXhlcy5sZW5ndGhcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2Ygc2Vjb25kYXJ5QXhlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8bWF0LWhpbnQ+PC9tYXQtaGludD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Zvcm0+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz48L25nLXRlbXBsYXRlPlxyXG4iXX0=