@bizdoc/core 1.15.5 → 1.15.6
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.
- package/assets/system/icons.json +1 -0
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +44 -3
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +109 -45
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +5 -12
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +5 -6
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +7 -6
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +5 -1
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +61 -0
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +32 -23
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +11 -13
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +44 -18
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +9 -9
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +41 -9
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +9 -13
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +15 -14
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +5 -9
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +9 -11
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +6 -4
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +13 -14
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +9 -10
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +6 -4
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +5 -12
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +162 -0
- package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +24 -16
- package/esm2020/lib/admin/core/color-picker.input.mjs +9 -33
- package/esm2020/lib/admin/form/designer/designer.component.mjs +140 -18
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +6 -6
- package/esm2020/lib/compose/box/box.component.mjs +43 -0
- package/esm2020/lib/compose/document.component.mjs +2 -2
- package/esm2020/lib/compose/form-ref.mjs +7 -2
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
- package/esm2020/lib/compose/form.component.mjs +2 -2
- package/esm2020/lib/compose/new-menu.component.mjs +3 -3
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +2 -2
- package/esm2020/lib/core/functions.mjs +6 -1
- package/esm2020/lib/core/mailbox.service.mjs +2 -2
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +2 -1
- package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/table.component.mjs +1 -1
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +1 -1
- package/esm2020/lib/shared.module.mjs +5 -4
- package/esm2020/lib/system.module.mjs +8 -4
- package/esm2020/lib/views/cube/chart.component.mjs +1 -1
- package/fesm2015/bizdoc-core.mjs +699 -242
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +692 -242
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/designer.base.d.ts +78 -31
- package/lib/admin/configuration-designer/designer.component.d.ts +14 -3
- package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -6
- package/lib/admin/configuration-designer/elements/box-form.component.d.ts +2 -4
- package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +26 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +5 -9
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -9
- package/lib/admin/configuration-designer/elements/form.component.d.ts +6 -11
- package/lib/admin/configuration-designer/elements/guide.component.d.ts +2 -7
- package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +7 -1
- package/lib/admin/configuration-designer/elements/report.component.d.ts +2 -10
- package/lib/admin/configuration-designer/elements/role.component.d.ts +4 -9
- package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -6
- package/lib/admin/configuration-designer/elements/state.component.d.ts +3 -6
- package/lib/admin/configuration-designer/elements/sum-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -13
- package/lib/admin/configuration-designer/elements/utility.component.d.ts +2 -4
- package/lib/admin/configuration-designer/elements/view.component.d.ts +5 -7
- package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -6
- package/lib/admin/configuration-designer/icon-picker.component.d.ts +67 -0
- package/lib/admin/configuration-designer/privileges.component.d.ts +3 -4
- package/lib/admin/core/color-picker.input.d.ts +3 -6
- package/lib/admin/form/designer/designer.component.d.ts +59 -19
- package/lib/admin/form/workflow/workflow.component.d.ts +2 -2
- package/lib/compose/box/box.component.d.ts +17 -0
- package/lib/compose/form-ref.d.ts +6 -2
- package/lib/core/models.d.ts +4 -1
- package/lib/core/translations.d.ts +1 -0
- package/lib/cube/matrix/table.component.d.ts +0 -1
- package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -0
- package/lib/shared.module.d.ts +183 -182
- package/lib/system.module.d.ts +61 -59
- package/lib/views/cube/chart.component.d.ts +2 -1
- package/package.json +1 -1
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -25,7 +25,7 @@ import * as i1$4 from '@angular/common';
|
|
25
25
|
import { registerLocaleData, CommonModule, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol, formatNumber, formatPercent, formatCurrency } from '@angular/common';
|
26
26
|
import * as i5 from '@angular/flex-layout/flex';
|
27
27
|
import * as i9 from '@angular/material/button';
|
28
|
-
import { MatButtonModule
|
28
|
+
import { MatButtonModule } from '@angular/material/button';
|
29
29
|
import { L10n, setCulture, loadCldr, setCurrencyCode, Internationalization, enableRtl, registerLicense } from '@syncfusion/ej2-base';
|
30
30
|
import 'dayjs/locale/he';
|
31
31
|
import 'dayjs/locale/de';
|
@@ -109,7 +109,7 @@ import * as i4$5 from '@angular/material/list';
|
|
109
109
|
import { MatListModule } from '@angular/material/list';
|
110
110
|
import * as i8$3 from '@angular/material/toolbar';
|
111
111
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
112
|
-
import * as
|
112
|
+
import * as i4$6 from '@angular/material/radio';
|
113
113
|
import { MatRadioModule } from '@angular/material/radio';
|
114
114
|
import * as i2$4 from '@angular/flex-layout';
|
115
115
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
@@ -478,11 +478,16 @@ function mapToArray(map) {
|
|
478
478
|
function isImage(contentType) {
|
479
479
|
return IMAGE_TYPE.indexOf(contentType) > -1;
|
480
480
|
}
|
481
|
-
function cleanup(params) {
|
481
|
+
function cleanup$1(params) {
|
482
482
|
Object.keys(params).forEach(k => {
|
483
483
|
const val = params[k];
|
484
484
|
if (val === null || val === undefined || (isArray(val) && !val.length))
|
485
485
|
delete params[k];
|
486
|
+
else if (isObject(val)) {
|
487
|
+
cleanup$1(val);
|
488
|
+
if (!Object.keys(val).length)
|
489
|
+
delete params[k];
|
490
|
+
}
|
486
491
|
});
|
487
492
|
return params;
|
488
493
|
}
|
@@ -1180,6 +1185,7 @@ const STRINGS = {
|
|
1180
1185
|
'ar': {},
|
1181
1186
|
'ru': {},
|
1182
1187
|
'en': {
|
1188
|
+
Summary: 'Summary',
|
1183
1189
|
SecurityLevel: 'Security level',
|
1184
1190
|
Global: 'Global',
|
1185
1191
|
Indices: 'Indices',
|
@@ -3432,7 +3438,7 @@ class MailboxService {
|
|
3432
3438
|
}
|
3433
3439
|
findAll(filter, options) {
|
3434
3440
|
const params = { ...filter, ...options };
|
3435
|
-
cleanup(params);
|
3441
|
+
cleanup$1(params);
|
3436
3442
|
return this._http.get('/api/mail', { params });
|
3437
3443
|
}
|
3438
3444
|
create(form) {
|
@@ -3487,7 +3493,7 @@ class MailboxService {
|
|
3487
3493
|
// return throwError({ status: res.status, error: res.body });
|
3488
3494
|
// }))
|
3489
3495
|
// }), this._notify<T>());
|
3490
|
-
return this._geoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}`, model, { params })), this._notify());
|
3496
|
+
return this._geoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}`, cleanup$1(model), { params })), this._notify());
|
3491
3497
|
}
|
3492
3498
|
delete(id) {
|
3493
3499
|
return this._http.delete(`/api/mail/${id}`).pipe(tap(() => this._delete$.next(id)));
|
@@ -7272,10 +7278,10 @@ class CubeFilterComponent {
|
|
7272
7278
|
}
|
7273
7279
|
}
|
7274
7280
|
CubeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeFilterComponent, deps: [{ token: CubeService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.FormBuilder }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
7275
|
-
CubeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: { cube: "cube", exclude: "exclude", include: "include", axes: "axes" }, outputs: { axesChange: "axesChange" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field *ngFor=\"let a of visibleAxes\" [ngSwitch]=\"a.selectionMode\" [attr.data-help]=\"'axis-'+a.name\">\r\n <ng-container *ngSwitchCase=\"'Pattern'\">\r\n <input matInput autocomplete=\"off\"\r\n [pattern]=\"pattern\" [autofocus]\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Search'\">\r\n <input matInput autocomplete=\"off\" type=\"search\"\r\n [matAutocomplete]=\"segment\" #inp\r\n [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment [displayWith]=\"display\"\r\n (optionSelected)=\"change(a.name, $event)\">\r\n <mat-option *ngFor=\"let r of sources[a.name] | async | filter : 'value' : inp.value | slice:0:50\" [value]=\"r\">{{r.value}}</mat-option>\r\n </mat-autocomplete>\r\n <button mat-icon-button *ngIf=\"inp.value\" matSuffix aria-label=\"\" (click)=\"inp.value = ''; form.controls[a.name].setValue(null)\"><mat-icon>close</mat-icon></button>\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <mat-select [formControlName]=\"a.name\" [placeholder]=\"a.title\" [multiple]=\"a.selectionMode === 'Multiple'\" *ngSwitchDefault>\r\n <mat-option *ngIf=\"a.selectionMode !== 'Multiple'\">{{'All' | translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of sources[a.name] | async\" [value]=\"r.key\">{{r.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n", styles: ["form{padding:8px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$4.SlicePipe, name: "slice" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FilterPipe, name: "filter" }] });
|
7281
|
+
CubeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: { cube: "cube", exclude: "exclude", include: "include", axes: "axes" }, outputs: { axesChange: "axesChange" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field *ngFor=\"let a of visibleAxes\" [ngSwitch]=\"a.selectionMode\" [attr.data-help]=\"'axis-'+a.name\">\r\n <ng-container *ngSwitchCase=\"'Pattern'\">\r\n <input matInput autocomplete=\"off\"\r\n [pattern]=\"pattern\" [autofocus]\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title||a.name\" />\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Search'\">\r\n <input matInput autocomplete=\"off\" type=\"search\"\r\n [matAutocomplete]=\"segment\" #inp\r\n [placeholder]=\"a.title||a.name\" />\r\n <mat-autocomplete #segment [displayWith]=\"display\"\r\n (optionSelected)=\"change(a.name, $event)\">\r\n <mat-option *ngFor=\"let r of sources[a.name] | async | filter : 'value' : inp.value | slice:0:50\" [value]=\"r\">{{r.value}}</mat-option>\r\n </mat-autocomplete>\r\n <button mat-icon-button *ngIf=\"inp.value\" matSuffix aria-label=\"\" (click)=\"inp.value = ''; form.controls[a.name].setValue(null)\"><mat-icon>close</mat-icon></button>\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <mat-select [formControlName]=\"a.name\" [placeholder]=\"a.title||a.name\" [multiple]=\"a.selectionMode === 'Multiple'\" *ngSwitchDefault>\r\n <mat-option *ngIf=\"a.selectionMode !== 'Multiple'\">{{'All' | translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of sources[a.name] | async\" [value]=\"r.key\">{{r.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n", styles: ["form{padding:8px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$4.SlicePipe, name: "slice" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FilterPipe, name: "filter" }] });
|
7276
7282
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeFilterComponent, decorators: [{
|
7277
7283
|
type: Component,
|
7278
|
-
args: [{ selector: 'bizdoc-cube-filter', template: "<form [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field *ngFor=\"let a of visibleAxes\" [ngSwitch]=\"a.selectionMode\" [attr.data-help]=\"'axis-'+a.name\">\r\n <ng-container *ngSwitchCase=\"'Pattern'\">\r\n <input matInput autocomplete=\"off\"\r\n [pattern]=\"pattern\" [autofocus]\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Search'\">\r\n <input matInput autocomplete=\"off\" type=\"search\"\r\n [matAutocomplete]=\"segment\" #inp\r\n [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment [displayWith]=\"display\"\r\n (optionSelected)=\"change(a.name, $event)\">\r\n <mat-option *ngFor=\"let r of sources[a.name] | async | filter : 'value' : inp.value | slice:0:50\" [value]=\"r\">{{r.value}}</mat-option>\r\n </mat-autocomplete>\r\n <button mat-icon-button *ngIf=\"inp.value\" matSuffix aria-label=\"\" (click)=\"inp.value = ''; form.controls[a.name].setValue(null)\"><mat-icon>close</mat-icon></button>\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <mat-select [formControlName]=\"a.name\" [placeholder]=\"a.title\" [multiple]=\"a.selectionMode === 'Multiple'\" *ngSwitchDefault>\r\n <mat-option *ngIf=\"a.selectionMode !== 'Multiple'\">{{'All' | translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of sources[a.name] | async\" [value]=\"r.key\">{{r.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n", styles: ["form{padding:8px}\n"] }]
|
7284
|
+
args: [{ selector: 'bizdoc-cube-filter', template: "<form [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field *ngFor=\"let a of visibleAxes\" [ngSwitch]=\"a.selectionMode\" [attr.data-help]=\"'axis-'+a.name\">\r\n <ng-container *ngSwitchCase=\"'Pattern'\">\r\n <input matInput autocomplete=\"off\"\r\n [pattern]=\"pattern\" [autofocus]\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title||a.name\" />\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Search'\">\r\n <input matInput autocomplete=\"off\" type=\"search\"\r\n [matAutocomplete]=\"segment\" #inp\r\n [placeholder]=\"a.title||a.name\" />\r\n <mat-autocomplete #segment [displayWith]=\"display\"\r\n (optionSelected)=\"change(a.name, $event)\">\r\n <mat-option *ngFor=\"let r of sources[a.name] | async | filter : 'value' : inp.value | slice:0:50\" [value]=\"r\">{{r.value}}</mat-option>\r\n </mat-autocomplete>\r\n <button mat-icon-button *ngIf=\"inp.value\" matSuffix aria-label=\"\" (click)=\"inp.value = ''; form.controls[a.name].setValue(null)\"><mat-icon>close</mat-icon></button>\r\n <mat-error *ngIf=\"form.controls[a.name].invalid\">{{'SimplePatternErr' |translate}}</mat-error>\r\n </ng-container>\r\n <mat-select [formControlName]=\"a.name\" [placeholder]=\"a.title||a.name\" [multiple]=\"a.selectionMode === 'Multiple'\" *ngSwitchDefault>\r\n <mat-option *ngIf=\"a.selectionMode !== 'Multiple'\">{{'All' | translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of sources[a.name] | async\" [value]=\"r.key\">{{r.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n", styles: ["form{padding:8px}\n"] }]
|
7279
7285
|
}], ctorParameters: function () { return [{ type: CubeService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2$1.FormBuilder }, { type: SessionService }]; }, propDecorators: { cube: [{
|
7280
7286
|
type: Input
|
7281
7287
|
}], exclude: [{
|
@@ -7321,7 +7327,7 @@ class BrowseFilterComponent {
|
|
7321
7327
|
pipe(debounceTime(250), filter(v => isString(v)), takeUntil(this._destroy), switchMap(v => this._mailbox.senders(v)));
|
7322
7328
|
this.form.valueChanges.pipe(takeUntil(this._destroy), debounceTime(FILTER_DEBOUNCE)).subscribe(v => {
|
7323
7329
|
const value = { ...v };
|
7324
|
-
cleanup(value);
|
7330
|
+
cleanup$1(value);
|
7325
7331
|
this.valuesChange.emit(value);
|
7326
7332
|
});
|
7327
7333
|
this._initialize();
|
@@ -7372,7 +7378,7 @@ class BrowseFilterComponent {
|
|
7372
7378
|
}
|
7373
7379
|
axesChange(axes) {
|
7374
7380
|
const value = { ...this.form.value, ...axes };
|
7375
|
-
cleanup(value);
|
7381
|
+
cleanup$1(value);
|
7376
7382
|
this.valuesChange.emit(value);
|
7377
7383
|
}
|
7378
7384
|
toggleTag(tag) {
|
@@ -8612,12 +8618,17 @@ function assign(model1, model2) {
|
|
8612
8618
|
}
|
8613
8619
|
|
8614
8620
|
class FormRef {
|
8615
|
-
constructor(
|
8621
|
+
constructor(/*private _router: RouterImpl*/ _configuration) {
|
8622
|
+
this._configuration = _configuration;
|
8616
8623
|
this._saving = new Subject();
|
8617
8624
|
this._stateChange = new Subject();
|
8618
8625
|
this._modelChange = new Subject();
|
8619
8626
|
this._navigating = new Subject();
|
8620
8627
|
}
|
8628
|
+
/** configuration options */
|
8629
|
+
get options() {
|
8630
|
+
return this._configuration.options || {};
|
8631
|
+
}
|
8621
8632
|
/** intercept save */
|
8622
8633
|
get saving() {
|
8623
8634
|
return this._saving.asObservable();
|
@@ -8916,7 +8927,7 @@ class ComposeFormComponent {
|
|
8916
8927
|
if (!this.form.template)
|
8917
8928
|
throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
|
8918
8929
|
const factory = this._cf.resolve(this.form.template);
|
8919
|
-
this._formRef = new FormRef();
|
8930
|
+
this._formRef = new FormRef(this.form);
|
8920
8931
|
this._formRef._navigating.
|
8921
8932
|
subscribe(p => this.page = p);
|
8922
8933
|
this._formRef._stateChange.pipe(startWith()).
|
@@ -13112,7 +13123,7 @@ class ReportArgumentsComponent {
|
|
13112
13123
|
form.patchValue(this.args, { emitEvent: false });
|
13113
13124
|
form.valueChanges.pipe(debounceTime(ARGUMENTS_DEBOUNCE), takeUntil(this._destroy)).subscribe(c => {
|
13114
13125
|
if (form.valid) {
|
13115
|
-
cleanup(c);
|
13126
|
+
cleanup$1(c);
|
13116
13127
|
this.args = c;
|
13117
13128
|
this.argsChange.emit(c);
|
13118
13129
|
}
|
@@ -13328,7 +13339,7 @@ class WorkflowNodeComponent {
|
|
13328
13339
|
connector.addInfo = this.connector.getRawValue();
|
13329
13340
|
else
|
13330
13341
|
Object.assign(connector.addInfo, this.connector.getRawValue());
|
13331
|
-
cleanup(connector.addInfo);
|
13342
|
+
cleanup$1(connector.addInfo);
|
13332
13343
|
if (connector.annotations.length) {
|
13333
13344
|
connector.annotations[0].content = content;
|
13334
13345
|
this.diagram.dataBind();
|
@@ -13370,7 +13381,7 @@ class WorkflowNodeComponent {
|
|
13370
13381
|
}]);
|
13371
13382
|
}
|
13372
13383
|
Object.assign(addInfo, m);
|
13373
|
-
cleanup(addInfo);
|
13384
|
+
cleanup$1(addInfo);
|
13374
13385
|
this.change.emit();
|
13375
13386
|
}
|
13376
13387
|
if (tool.template) {
|
@@ -13511,8 +13522,8 @@ function paletteIconClick() {
|
|
13511
13522
|
/** workflow component*/
|
13512
13523
|
class WorkflowComponent {
|
13513
13524
|
/** workflow ctor */
|
13514
|
-
constructor(
|
13515
|
-
this.
|
13525
|
+
constructor(_ps, _service, _pane, _router, _session, _translate) {
|
13526
|
+
this._ps = _ps;
|
13516
13527
|
this._service = _service;
|
13517
13528
|
this._pane = _pane;
|
13518
13529
|
this._router = _router;
|
@@ -14002,9 +14013,9 @@ class WorkflowComponent {
|
|
14002
14013
|
this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version');
|
14003
14014
|
this.saving = true;
|
14004
14015
|
return this._service.save(this._form).toPromise().then(v => {
|
14005
|
-
this.
|
14016
|
+
this._ps.toast('ChangesSaved');
|
14006
14017
|
if (this._form.workflow.version < v) {
|
14007
|
-
this.
|
14018
|
+
this._ps.toast('DiagramVersion', v);
|
14008
14019
|
const node = this.diagram.getNodeObject('version');
|
14009
14020
|
node.shape.content = this._translate.get('DiagramVersion', v);
|
14010
14021
|
this.diagram.dataBind();
|
@@ -14013,7 +14024,7 @@ class WorkflowComponent {
|
|
14013
14024
|
this.dirty = false;
|
14014
14025
|
this.saving = false;
|
14015
14026
|
}, () => {
|
14016
|
-
this.
|
14027
|
+
this._ps.error();
|
14017
14028
|
this.saving = false;
|
14018
14029
|
});
|
14019
14030
|
}
|
@@ -15316,7 +15327,7 @@ class VersionCompareComponent {
|
|
15316
15327
|
const componentFactory = this._cf.resolve(this._form.template);
|
15317
15328
|
const injector = Injector.create([
|
15318
15329
|
{ provide: VersionCompareComponent, useValue: this },
|
15319
|
-
{ provide: FormRef, useValue: new FormRef() },
|
15330
|
+
{ provide: FormRef, useValue: new FormRef(this._form) },
|
15320
15331
|
{ provide: DOCUMENT_MODEL, useValue: this.model }
|
15321
15332
|
], this._injector);
|
15322
15333
|
this._container.clear();
|
@@ -17708,7 +17719,7 @@ class DocumentInfoComponent {
|
|
17708
17719
|
ngOnChanges(_) {
|
17709
17720
|
const form = this._session.profile.forms.find(f => f.name === this.model.formId);
|
17710
17721
|
this._formRef && this._formRef._destroy();
|
17711
|
-
this._formRef = new FormRef();
|
17722
|
+
this._formRef = new FormRef(form);
|
17712
17723
|
const factory = this._cf.resolve(form.template);
|
17713
17724
|
const injector = Injector.create([{
|
17714
17725
|
provide: DOCUMENT_MODEL, useValue: this.model
|
@@ -19926,10 +19937,10 @@ class ComposeMenuComponent {
|
|
19926
19937
|
}
|
19927
19938
|
}
|
19928
19939
|
ComposeMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: PromptService }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
|
19929
|
-
ComposeMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i7$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i4$5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i4$5.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [] });
|
19940
|
+
ComposeMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i7$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i4$5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i4$5.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [] });
|
19930
19941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeMenuComponent, decorators: [{
|
19931
19942
|
type: Component,
|
19932
|
-
args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
|
19943
|
+
args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
|
19933
19944
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: MailboxService }, { type: PromptService }, { type: PanesRouter }]; }, propDecorators: { change: [{
|
19934
19945
|
type: Output
|
19935
19946
|
}] } });
|
@@ -20218,10 +20229,10 @@ class FormSelectorSheet {
|
|
20218
20229
|
}
|
20219
20230
|
}
|
20220
20231
|
FormSelectorSheet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormSelectorSheet, deps: [{ token: i2$3.MatDialog }, { token: i2$5.MatBottomSheetRef }, { token: PromptService }, { token: MailboxService }, { token: i1$3.Router }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
20221
|
-
FormSelectorSheet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormSelectorSheet, selector: "bizdoc-form-selector", ngImport: i0, template: "<mat-nav-list role=\"list\">\r\n <a mat-list-item role=\"listitem\" *ngFor=\"let f of forms\" (click)=\"open(f.name)\">\r\n <div matLine>{{f.title}}</div>\r\n <mat-icon>{{f.icon}}</mat-icon>\r\n </a>\r\n <mat-divider></mat-divider>\r\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\r\n <div matLine>{{'Elipsis'| translate: ('Copy' | translate)}}</div>\r\n </a>\r\n</mat-nav-list>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i4$5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
20232
|
+
FormSelectorSheet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormSelectorSheet, selector: "bizdoc-form-selector", ngImport: i0, template: "<mat-nav-list role=\"list\">\r\n <a mat-list-item role=\"listitem\" *ngFor=\"let f of forms\" (click)=\"open(f.name)\">\r\n <div matLine>{{f.title}}</div>\r\n <mat-icon>{{f.icon || 'description'}}</mat-icon>\r\n </a>\r\n <mat-divider></mat-divider>\r\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\r\n <div matLine>{{'Elipsis'| translate: ('Copy' | translate)}}</div>\r\n </a>\r\n</mat-nav-list>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i4$5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
20222
20233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormSelectorSheet, decorators: [{
|
20223
20234
|
type: Component,
|
20224
|
-
args: [{ selector: 'bizdoc-form-selector', template: "<mat-nav-list role=\"list\">\r\n <a mat-list-item role=\"listitem\" *ngFor=\"let f of forms\" (click)=\"open(f.name)\">\r\n <div matLine>{{f.title}}</div>\r\n <mat-icon>{{f.icon}}</mat-icon>\r\n </a>\r\n <mat-divider></mat-divider>\r\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\r\n <div matLine>{{'Elipsis'| translate: ('Copy' | translate)}}</div>\r\n </a>\r\n</mat-nav-list>\r\n" }]
|
20235
|
+
args: [{ selector: 'bizdoc-form-selector', template: "<mat-nav-list role=\"list\">\r\n <a mat-list-item role=\"listitem\" *ngFor=\"let f of forms\" (click)=\"open(f.name)\">\r\n <div matLine>{{f.title}}</div>\r\n <mat-icon>{{f.icon || 'description'}}</mat-icon>\r\n </a>\r\n <mat-divider></mat-divider>\r\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\r\n <div matLine>{{'Elipsis'| translate: ('Copy' | translate)}}</div>\r\n </a>\r\n</mat-nav-list>\r\n" }]
|
20225
20236
|
}], ctorParameters: function () { return [{ type: i2$3.MatDialog }, { type: i2$5.MatBottomSheetRef }, { type: PromptService }, { type: MailboxService }, { type: i1$3.Router }, { type: SessionService }]; } });
|
20226
20237
|
|
20227
20238
|
class ChatComponent {
|
@@ -24696,7 +24707,6 @@ class ColorPicker {
|
|
24696
24707
|
this.Object = Object;
|
24697
24708
|
this._required = false;
|
24698
24709
|
this._disabled = false;
|
24699
|
-
this._opened = false;
|
24700
24710
|
this.stateChanges = new Subject();
|
24701
24711
|
this.valueChanges = new Subject();
|
24702
24712
|
this.id = `color-picker-${ColorPicker.nextId++}`;
|
@@ -24742,7 +24752,7 @@ class ColorPicker {
|
|
24742
24752
|
}
|
24743
24753
|
get disabled() { return this._disabled; }
|
24744
24754
|
set disabled(value) {
|
24745
|
-
this.
|
24755
|
+
this._disabled = value;
|
24746
24756
|
this.stateChanges.next();
|
24747
24757
|
}
|
24748
24758
|
setDescribedByIds(ids) {
|
@@ -24750,21 +24760,20 @@ class ColorPicker {
|
|
24750
24760
|
}
|
24751
24761
|
onContainerClick(_event) {
|
24752
24762
|
this._onTouched && this._onTouched();
|
24753
|
-
|
24763
|
+
this.open();
|
24754
24764
|
}
|
24755
24765
|
ngOnDestroy() {
|
24756
24766
|
this._destroy.next();
|
24767
|
+
this._destroy.complete();
|
24757
24768
|
}
|
24758
24769
|
open() {
|
24759
24770
|
if (!this._overlayRef)
|
24760
24771
|
this._overlayRef = this._createOverlay();
|
24761
24772
|
const portal = new TemplatePortal(this._colorPalette, this._vc);
|
24762
24773
|
this._overlayRef.attach(portal);
|
24763
|
-
this._opened = true;
|
24764
24774
|
}
|
24765
24775
|
close() {
|
24766
24776
|
this._overlayRef.detach();
|
24767
|
-
this._opened = false;
|
24768
24777
|
}
|
24769
24778
|
_pick(color) {
|
24770
24779
|
this.value = color;
|
@@ -24793,40 +24802,22 @@ class ColorPicker {
|
|
24793
24802
|
}
|
24794
24803
|
ColorPicker.nextId = 0;
|
24795
24804
|
ColorPicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ColorPicker, deps: [{ token: i2$1.NgControl, optional: true, self: true }, { token: i1$2.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i3$3.Directionality }], target: i0.ɵɵFactoryTarget.Component });
|
24796
|
-
ColorPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ColorPicker, selector: "bizdoc-color-picker", inputs: { label: "label", required: "required", disabled: "disabled" }, outputs: { valueChanges: "valueChanges" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "id": "this.id", "attr.aria-describedby": "this.describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: ColorPicker }], viewQueries: [{ propertyName: "
|
24797
|
-
<span>{{label}}</span>
|
24798
|
-
<mat-icon>arrow_drop_down</mat-icon>
|
24799
|
-
</button>
|
24800
|
-
<ng-template>
|
24801
|
-
<div class="color-palette">
|
24802
|
-
<div *ngFor='let p of Object.keys(_palettes)' class="color-container">
|
24803
|
-
<span *ngFor='let c of Object.keys(_palettes[p])' (click)='_pick(_palettes[p][c])' [style.background-color]='_palettes[p][c]' class="color-item"></span>
|
24804
|
-
</div>
|
24805
|
-
</div>
|
24806
|
-
</ng-template>`, isInline: true, styles: [".color-palette{display:flex;flex-direction:column}.color-palette .color-container{display:flex}button{width:100%}.color-item{width:20px;height:20px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i9.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: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
24805
|
+
ColorPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ColorPicker, selector: "bizdoc-color-picker", inputs: { label: "label", value: "value", required: "required", disabled: "disabled" }, outputs: { valueChanges: "valueChanges" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "id": "this.id", "attr.aria-describedby": "this.describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: ColorPicker }], viewQueries: [{ propertyName: "_colorPalette", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<button mat-button (click)='open()' [disabled]=\"disabled\">\r\n <span>{{label}}</span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n</button>\r\n<ng-template>\r\n <div class=\"color-palette\">\r\n <div *ngFor='let p of Object.keys(_palettes)' class=\"color-container\">\r\n <span *ngFor='let c of Object.keys(_palettes[p])' (click)='_pick(_palettes[p][c])' [style.background-color]='_palettes[p][c]' class=\"color-item\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".color-palette{display:flex;flex-direction:column}.color-palette .color-container{display:flex}button{width:100%}.color-item{width:20px;height:20px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i9.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: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
24807
24806
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ColorPicker, decorators: [{
|
24808
24807
|
type: Component,
|
24809
|
-
args: [{ selector: 'bizdoc-color-picker', providers: [{ provide: MatFormFieldControl, useExisting: ColorPicker }],
|
24810
|
-
<span>{{label}}</span>
|
24811
|
-
<mat-icon>arrow_drop_down</mat-icon>
|
24812
|
-
</button>
|
24813
|
-
<ng-template>
|
24814
|
-
<div class="color-palette">
|
24815
|
-
<div *ngFor='let p of Object.keys(_palettes)' class="color-container">
|
24816
|
-
<span *ngFor='let c of Object.keys(_palettes[p])' (click)='_pick(_palettes[p][c])' [style.background-color]='_palettes[p][c]' class="color-item"></span>
|
24817
|
-
</div>
|
24818
|
-
</div>
|
24819
|
-
</ng-template>`, host: {
|
24808
|
+
args: [{ selector: 'bizdoc-color-picker', providers: [{ provide: MatFormFieldControl, useExisting: ColorPicker }], host: {
|
24820
24809
|
'[class.floating]': 'shouldLabelFloat',
|
24821
24810
|
'[id]': 'id',
|
24822
24811
|
'[attr.aria-describedby]': 'describedBy'
|
24823
|
-
}, styles: [".color-palette{display:flex;flex-direction:column}.color-palette .color-container{display:flex}button{width:100%}.color-item{width:20px;height:20px}\n"] }]
|
24812
|
+
}, template: "<button mat-button (click)='open()' [disabled]=\"disabled\">\r\n <span>{{label}}</span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n</button>\r\n<ng-template>\r\n <div class=\"color-palette\">\r\n <div *ngFor='let p of Object.keys(_palettes)' class=\"color-container\">\r\n <span *ngFor='let c of Object.keys(_palettes[p])' (click)='_pick(_palettes[p][c])' [style.background-color]='_palettes[p][c]' class=\"color-item\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".color-palette{display:flex;flex-direction:column}.color-palette .color-container{display:flex}button{width:100%}.color-item{width:20px;height:20px}\n"] }]
|
24824
24813
|
}], ctorParameters: function () { return [{ type: i2$1.NgControl, decorators: [{
|
24825
24814
|
type: Optional
|
24826
24815
|
}, {
|
24827
24816
|
type: Self
|
24828
24817
|
}] }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i3$3.Directionality }]; }, propDecorators: { label: [{
|
24829
24818
|
type: Input
|
24819
|
+
}], value: [{
|
24820
|
+
type: Input
|
24830
24821
|
}], valueChanges: [{
|
24831
24822
|
type: Output
|
24832
24823
|
}], id: [{
|
@@ -24841,9 +24832,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
24841
24832
|
}], describedBy: [{
|
24842
24833
|
type: HostBinding,
|
24843
24834
|
args: ['attr.aria-describedby']
|
24844
|
-
}], _trigger: [{
|
24845
|
-
type: ViewChild,
|
24846
|
-
args: [MatButton, { static: true }]
|
24847
24835
|
}], _colorPalette: [{
|
24848
24836
|
type: ViewChild,
|
24849
24837
|
args: [TemplateRef, { static: true }]
|
@@ -27577,12 +27565,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
27577
27565
|
args: ['nameInput', { static: true, read: ElementRef }]
|
27578
27566
|
}] } });
|
27579
27567
|
|
27568
|
+
let BoxFormComponent = class BoxFormComponent {
|
27569
|
+
constructor(_fb, ref) {
|
27570
|
+
this._fb = _fb;
|
27571
|
+
this.metadata = ref.options;
|
27572
|
+
const content = this._fb.group({});
|
27573
|
+
this.form = _fb.group({ content });
|
27574
|
+
this.metadata.sections.forEach(s => {
|
27575
|
+
const group = _fb.group({});
|
27576
|
+
s.rows.forEach(r => r.fields.forEach(f => group.addControl(f.name, _fb.control(null, f.required ? Validators.required : null))));
|
27577
|
+
content.addControl(s.name, group);
|
27578
|
+
});
|
27579
|
+
}
|
27580
|
+
onBind(data, version) {
|
27581
|
+
this.data = data;
|
27582
|
+
}
|
27583
|
+
};
|
27584
|
+
BoxFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BoxFormComponent, deps: [{ token: i2$1.FormBuilder }, { token: FormRef }], target: i0.ɵɵFactoryTarget.Component });
|
27585
|
+
BoxFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BoxFormComponent, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n <div *ngFor=\"let r of s.rows\" fxLayout=\"row\">\r\n <ng-container *ngFor=\"let f of r.fields\" [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Select'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-select [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Date'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\"\r\n [min]=\"f.min\"\r\n [max]=\"f.max\"\r\n [matDatepicker]=\"picker\" />\r\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Text'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <textarea matInput [formControl]=control cdkTextareaAutosize\r\n [formControlName]=\"f.name\"\r\n [required]=\"field.required\" [minlength]=\"field.min\" [maxlength]=\"field.max\"></textarea>\r\n </mat-form-field>\r\n <mat-checkbox [formControlName]=\"f.name\" *ngSwitchCase=\"'Checkbox'\">{{f.label}}</mat-checkbox>\r\n <mat-slide-toggle [formControlName]=\"f.name\" *ngSwitchCase=\"'Switch'\">{{f.label}}</mat-slide-toggle>\r\n <mat-form-field appearance=\"outline\" fxFlex *ngSwitchDefault>\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput [required]=\"f.required\" [formControlName]=\"f.name\" />\r\n </mat-form-field>\r\n \r\n </ng-container>\r\n </div>\r\n </section>\r\n</form>\r\n", styles: ["form{padding:8px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { 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: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i9$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i10$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i4$2.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: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }] });
|
27586
|
+
BoxFormComponent = __decorate([
|
27587
|
+
BizDoc({ selector: 'bizdoc-box-form' })
|
27588
|
+
], BoxFormComponent);
|
27589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BoxFormComponent, decorators: [{
|
27590
|
+
type: Component,
|
27591
|
+
args: [{ template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n <div *ngFor=\"let r of s.rows\" fxLayout=\"row\">\r\n <ng-container *ngFor=\"let f of r.fields\" [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Select'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-select [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Date'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\"\r\n [min]=\"f.min\"\r\n [max]=\"f.max\"\r\n [matDatepicker]=\"picker\" />\r\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Text'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <textarea matInput [formControl]=control cdkTextareaAutosize\r\n [formControlName]=\"f.name\"\r\n [required]=\"field.required\" [minlength]=\"field.min\" [maxlength]=\"field.max\"></textarea>\r\n </mat-form-field>\r\n <mat-checkbox [formControlName]=\"f.name\" *ngSwitchCase=\"'Checkbox'\">{{f.label}}</mat-checkbox>\r\n <mat-slide-toggle [formControlName]=\"f.name\" *ngSwitchCase=\"'Switch'\">{{f.label}}</mat-slide-toggle>\r\n <mat-form-field appearance=\"outline\" fxFlex *ngSwitchDefault>\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput [required]=\"f.required\" [formControlName]=\"f.name\" />\r\n </mat-form-field>\r\n \r\n </ng-container>\r\n </div>\r\n </section>\r\n</form>\r\n", styles: ["form{padding:8px}\n"] }]
|
27592
|
+
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: FormRef }]; } });
|
27593
|
+
|
27580
27594
|
/** configuration componenets */
|
27581
27595
|
const CORE_COMPONENTS = [CubePerformanceWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
|
27582
27596
|
SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
|
27583
27597
|
ActionsWidget, CubeAnalysisWidget, CubeDocumentsWidget, RecentsWidget, PersonalActivityWidget,
|
27584
27598
|
CompareGroupsWidget, PeersPerformanceWidget, PendingResultsWidget, PersonalScoreWidget, CubeWidgetFilterComponent,
|
27585
|
-
CubeDocumentsComponent, TasksComponent, UsageReportArgs, CubeUsageComponent
|
27599
|
+
CubeDocumentsComponent, TasksComponent, UsageReportArgs, CubeUsageComponent, BoxFormComponent
|
27586
27600
|
];
|
27587
27601
|
/** common BizDoc components */
|
27588
27602
|
class SharedModule {
|
@@ -27613,7 +27627,7 @@ class SharedModule {
|
|
27613
27627
|
}
|
27614
27628
|
}
|
27615
27629
|
SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
27616
|
-
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: SharedModule, declarations: [HelpTipComponent,
|
27630
|
+
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: SharedModule, declarations: [HelpTipComponent, BoxFormComponent,
|
27617
27631
|
CubeUsageComponent,
|
27618
27632
|
CubeDocumentsComponent,
|
27619
27633
|
DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
@@ -27781,7 +27795,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27781
27795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SharedModule, decorators: [{
|
27782
27796
|
type: NgModule,
|
27783
27797
|
args: [{
|
27784
|
-
declarations: [HelpTipComponent,
|
27798
|
+
declarations: [HelpTipComponent, BoxFormComponent,
|
27785
27799
|
CubeUsageComponent,
|
27786
27800
|
CubeDocumentsComponent,
|
27787
27801
|
DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
@@ -30442,6 +30456,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
30442
30456
|
args: ['window:keydown.f1', ['$event']]
|
30443
30457
|
}] } });
|
30444
30458
|
|
30459
|
+
//export const ICONS = ['10k', '10k', '10mp', '10mp', '11mp', '11mp', '123', '123', '12mp', '12mp', '13mp', '13mp', '14mp', '14mp', '15mp', '15mp', '16mp', '16mp', '17mp', '17mp', '18_up_rating', '18_up_rating', '18mp', '18mp', '19mp', '19mp', '1k', '1k', '1k_plus', '1k_plus', '1x_mobiledata', '1x_mobiledata', '20mp', '20mp', '21mp', '21mp', '22mp', '22mp', '23mp', '23mp', '24mp', '24mp', '2k', '2k', '2k_plus', '2k_plus', '2mp', '2mp', '30fps', '30fps', '30fps_select', '30fps_select', '360', '360', '3d_rotation', '3d_rotation', '3g_mobiledata', '3g_mobiledata', '3k', '3k', '3k_plus', '3k_plus', '3mp', '3mp', '3p', '3p', '4g_mobiledata', '4g_mobiledata', '4g_plus_mobiledata', '4g_plus_mobiledata', '4k', '4k', '4k_plus', '4k_plus',
|
30460
|
+
// '4mp', '4mp', '5g', '5g', '5k', '5k', '5k_plus', '5k_plus', '5mp', '5mp', '60fps', '60fps', '60fps_select', '60fps_select', '6_ft_apart', '6_ft_apart', '6k', '6k', '6k_plus', '6k_plus', '6mp', '6mp', '7k', '7k', '7k_plus', '7k_plus', '7mp', '7mp', '8k', '8k', '8k_plus', '8k_plus', '8mp', '8mp', '9k', '9k', '9k_plus', '9k_plus', '9mp', '9mp', 'abc', 'abc', 'ac_unit', 'ac_unit', 'access_alarm', 'access_alarms', 'access_time', 'access_time_filled', 'accessibility', 'accessibility', 'accessibility_new', 'accessibility_new', 'accessible', 'accessible', 'accessible_forward', 'accessible_forward', 'account_balance', 'account_balance', 'account_balance_wallet', 'account_balance_wallet', 'account_box', 'account_box', 'account_circle', 'account_circle', 'account_tree', 'account_tree', 'activity_zone', 'ad_units', 'ad_units', 'adb', 'adb', 'add', 'add', 'add_a_photo', 'add_a_photo', 'add_alarm', 'add_alert', 'add_alert', 'add_box', 'add_box', 'add_business', 'add_business', 'add_call', 'add_call', 'add_card', 'add_card', 'add_chart', 'add_chart', 'add_circle', 'add_circle', 'add_circle_outline', 'add_comment', 'add_comment', 'add_home', 'add_home', 'add_home_work', 'add_home_work', 'add_ic_call', 'add_link', 'add_link', 'add_location', 'add_location', 'add_location_alt', 'add_location_alt', 'add_moderator', 'add_moderator', 'add_photo_alternate', 'add_photo_alternate', 'add_reaction', 'add_reaction', 'add_road', 'add_road', 'add_shopping_cart', 'add_shopping_cart', 'add_task', 'add_task', 'add_to_drive', 'add_to_drive', 'add_to_home_screen', 'add_to_home_screen', 'add_to_photos', 'add_to_photos', 'add_to_queue', 'add_to_queue', 'addchart', 'adf_scanner', 'adf_scanner', 'adjust', 'adjust', 'admin_panel_settings', 'admin_panel_settings', 'ads_click', 'ads_click', 'agender', 'agriculture', 'agriculture', 'air', 'air', 'air_freshener', 'air_purifier_gen', 'airline_seat_flat', 'airline_seat_flat', 'airline_seat_flat_angled', 'airline_seat_flat_angled', 'airline_seat_individual_suite', 'airline_seat_individual_suite', 'airline_seat_legroom_extra', 'airline_seat_legroom_extra', 'airline_seat_legroom_normal', 'airline_seat_legroom_normal', 'airline_seat_legroom_reduced', 'airline_seat_legroom_reduced', 'airline_seat_recline_extra', 'airline_seat_recline_extra', 'airline_seat_recline_normal', 'airline_seat_recline_normal', 'airline_stops', 'airline_stops', 'airlines', 'airlines', 'airplane_ticket', 'airplane_ticket', 'airplanemode_active', 'airplanemode_active', 'airplanemode_inactive', 'airplanemode_inactive', 'airplay', 'airplay', 'airport_shuttle', 'airport_shuttle', 'airware', 'airwave', 'alarm', 'alarm', 'alarm_add', 'alarm_add', 'alarm_off', 'alarm_off', 'alarm_on', 'alarm_on', 'album', 'album', 'align_horizontal_center', 'align_horizontal_center', 'align_horizontal_left', 'align_horizontal_left', 'align_horizontal_right', 'align_horizontal_right', 'align_vertical_bottom', 'align_vertical_bottom', 'align_vertical_center', 'align_vertical_center', 'align_vertical_top', 'align_vertical_top', 'all_inbox', 'all_inbox', 'all_inclusive', 'all_inclusive', 'all_out', 'all_out', 'alt_route', 'alt_route', 'alternate_email', 'alternate_email', 'amp_stories', 'analytics', 'analytics', 'anchor', 'anchor', 'android', 'android', 'animation', 'animation', 'announcement', 'aod', 'aod', 'aod_tablet', 'apartment', 'apartment', 'api', 'api', 'apk_document', 'apk_install', 'app_blocking', 'app_blocking', 'app_registration', 'app_registration', 'app_settings_alt', 'app_shortcut', 'app_shortcut', 'approval', 'approval', 'apps', 'apps', 'apps_outage', 'apps_outage', 'architecture', 'architecture', 'archive', 'archive', 'area_chart', 'area_chart', 'arming_countdown', 'arrow_back', 'arrow_back', 'arrow_back_ios', 'arrow_back_ios', 'arrow_back_ios_new', 'arrow_back_ios_new', 'arrow_circle_down', 'arrow_circle_down', 'arrow_circle_left', 'arrow_circle_left', 'arrow_circle_right', 'arrow_circle_right', 'arrow_circle_up', 'arrow_circle_up', 'arrow_downward', 'arrow_downward', 'arrow_drop_down', 'arrow_drop_down', 'arrow_drop_down_circle', 'arrow_drop_down_circle', 'arrow_drop_up', 'arrow_drop_up', 'arrow_forward', 'arrow_forward', 'arrow_forward_ios', 'arrow_forward_ios', 'arrow_left', 'arrow_left', 'arrow_outward', 'arrow_outward', 'arrow_right', 'arrow_right', 'arrow_right_alt', 'arrow_right_alt', 'arrow_upward', 'arrow_upward', 'arrows_more_down', 'arrows_more_up', 'art_track', 'art_track', 'article', 'article', 'aspect_ratio', 'aspect_ratio', 'assessment', 'assignment', 'assignment', 'assignment_ind', 'assignment_ind', 'assignment_late', 'assignment_late', 'assignment_return', 'assignment_return', 'assignment_returned', 'assignment_returned', 'assignment_turned_in', 'assignment_turned_in', 'assist_walker', 'assist_walker', 'assistant', 'assistant', 'assistant_direction', 'assistant_direction', 'assistant_navigation', 'assistant_navigation', 'assistant_photo', 'assured_workload', 'assured_workload', 'astrophotography_auto', 'astrophotography_off', 'atm', 'atm', 'atr', 'attach_email', 'attach_email', 'attach_file', 'attach_file', 'attach_money', 'attach_money', 'attachment', 'attachment', 'attractions', 'attractions', 'attribution', 'attribution', 'audio_file', 'audio_file', 'audiotrack', 'auto_activity_zone', 'auto_awesome', 'auto_awesome', 'auto_awesome_mosaic', 'auto_awesome_mosaic', 'auto_awesome_motion', 'auto_awesome_motion', 'auto_delete', 'auto_delete', 'auto_fix_high', 'auto_fix_normal', 'auto_fix_off', 'auto_graph', 'auto_graph', 'auto_mode', 'auto_mode', 'auto_read_pause', 'auto_read_play', 'auto_schedule', 'auto_stories', 'auto_stories', 'autofps_select', 'autofps_select', 'autorenew', 'autorenew', 'av_timer', 'av_timer', 'baby_changing_station', 'baby_changing_station', 'back_hand', 'back_hand', 'background_replace', 'backpack', 'backpack', 'backspace', 'backspace', 'backup', 'backup', 'backup_table', 'backup_table', 'badge', 'badge', 'badge_critical_battery', 'bakery_dining', 'bakery_dining', 'balance', 'balance', 'balcony', 'balcony', 'ballot', 'ballot', 'bar_chart', 'bar_chart', 'barcode', 'barcode_scanner', 'batch_prediction', 'batch_prediction', 'bathroom', 'bathroom', 'bathtub', 'bathtub', 'battery_0_bar', 'battery_0_bar', 'battery_1_bar', 'battery_1_bar', 'battery_20', 'battery_20', 'battery_2_bar', 'battery_2_bar', 'battery_30', 'battery_30', 'battery_3_bar', 'battery_3_bar', 'battery_4_bar', 'battery_4_bar', 'battery_50', 'battery_50', 'battery_5_bar', 'battery_5_bar', 'battery_60', 'battery_60', 'battery_6_bar', 'battery_6_bar', 'battery_80', 'battery_80', 'battery_90', 'battery_90', 'battery_alert', 'battery_alert', 'battery_charging_20', 'battery_charging_20', 'battery_charging_30', 'battery_charging_30', 'battery_charging_50', 'battery_charging_50', 'battery_charging_60', 'battery_charging_60', 'battery_charging_80', 'battery_charging_80', 'battery_charging_90', 'battery_charging_90', 'battery_charging_full', 'battery_charging_full', 'battery_full', 'battery_full', 'battery_full_alt', 'battery_horiz_000', 'battery_horiz_050', 'battery_horiz_075', 'battery_low', 'battery_profile', 'battery_saver', 'battery_saver', 'battery_std', 'battery_unknown', 'battery_unknown', 'battery_vert_005', 'battery_vert_020', 'battery_vert_050', 'battery_very_low', 'beach_access', 'beach_access', 'bed', 'bed', 'bedroom_baby', 'bedroom_baby', 'bedroom_child', 'bedroom_child', 'bedroom_parent', 'bedroom_parent', 'bedtime', 'bedtime', 'bedtime_off', 'bedtime_off', 'beenhere', 'beenhere', 'bento', 'bento', 'bike_scooter', 'bike_scooter', 'biotech', 'biotech', 'blanket', 'blender', 'blender', 'blind', 'blind', 'blinds', 'blinds', 'blinds_closed', 'blinds_closed', 'block', 'block', 'block_flipped', 'bloodtype', 'bloodtype', 'bluetooth', 'bluetooth', 'bluetooth_audio', 'bluetooth_connected', 'bluetooth_connected', 'bluetooth_disabled', 'bluetooth_disabled', 'bluetooth_drive', 'bluetooth_drive', 'bluetooth_searching', 'bluetooth_searching', 'blur_circular', 'blur_circular', 'blur_linear', 'blur_linear', 'blur_medium', 'blur_off', 'blur_off', 'blur_on', 'blur_on', 'blur_short', 'bolt', 'bolt', 'book', 'book', 'book_online', 'book_online', 'bookmark', 'bookmark', 'bookmark_add', 'bookmark_add', 'bookmark_added', 'bookmark_added', 'bookmark_border', 'bookmark_remove', 'bookmark_remove', 'bookmarks', 'bookmarks', 'border_all', 'border_all', 'border_bottom', 'border_bottom', 'border_clear', 'border_clear', 'border_color', 'border_color', 'border_horizontal', 'border_horizontal', 'border_inner', 'border_inner', 'border_left', 'border_left', 'border_outer', 'border_outer', 'border_right', 'border_right', 'border_style', 'border_style', 'border_top', 'border_top', 'border_vertical', 'border_vertical', 'boy', 'boy', 'branding_watermark', 'branding_watermark', 'breakfast_dining', 'breakfast_dining', 'breaking_news_alt_1', 'brightness_1', 'brightness_1', 'brightness_2', 'brightness_2', 'brightness_3', 'brightness_3', 'brightness_4', 'brightness_4', 'brightness_5', 'brightness_5', 'brightness_6', 'brightness_6', 'brightness_7', 'brightness_7', 'brightness_auto', 'brightness_auto', 'brightness_high', 'brightness_high', 'brightness_low', 'brightness_low', 'brightness_medium', 'brightness_medium', 'bring_your_own_ip', 'broadcast_on_home', 'broadcast_on_home', 'broadcast_on_personal', 'broadcast_on_personal', 'broken_image', 'broken_image', 'browse_activity', 'browse_gallery', 'browse_gallery', 'browser_not_supported', 'browser_updated', 'browser_updated', 'brunch_dining', 'brunch_dining', 'brush', 'brush', 'bubble_chart', 'bubble_chart', 'bug_report', 'bug_report', 'build', 'build', 'build_circle', 'build_circle', 'bungalow', 'bungalow', 'burst_mode', 'burst_mode', 'bus_alert', 'bus_alert', 'business', 'business_center', 'business_center', 'cabin', 'cabin', 'cable', 'cable', 'cached', 'cached', 'cake', 'cake', 'calculate', 'calculate', 'calendar_add_on', 'calendar_apps_script', 'calendar_month', 'calendar_month', 'calendar_today', 'calendar_today', 'calendar_view_day', 'calendar_view_day', 'calendar_view_month', 'calendar_view_month', 'calendar_view_week', 'calendar_view_week', 'call', 'call', 'call_end', 'call_end', 'call_made', 'call_made', 'call_merge', 'call_merge', 'call_missed', 'call_missed', 'call_missed_outgoing', 'call_missed_outgoing', 'call_received', 'call_received', 'call_split', 'call_split', 'call_to_action', 'call_to_action', 'camera', 'camera', 'camera_alt', 'camera_enhance', 'camera_enhance', 'camera_front', 'camera_front', 'camera_indoor', 'camera_indoor', 'camera_outdoor', 'camera_outdoor', 'camera_rear', 'camera_rear', 'camera_roll', 'camera_roll', 'cameraswitch', 'cameraswitch', 'campaign', 'campaign', 'camping', 'cancel', 'cancel', 'cancel_presentation', 'cancel_presentation', 'cancel_schedule_send', 'cancel_schedule_send', 'candlestick_chart', 'candlestick_chart', 'car_crash', 'car_crash', 'car_rental', 'car_rental', 'car_repair', 'car_repair', 'card_giftcard', 'card_membership', 'card_membership', 'card_travel', 'card_travel', 'carpenter', 'carpenter', 'cases', 'cases', 'casino', 'casino', 'cast', 'cast', 'cast_connected', 'cast_connected', 'cast_for_education', 'cast_for_education', 'castle', 'castle', 'catching_pokemon', 'category', 'category', 'celebration', 'celebration', 'cell_tower', 'cell_tower', 'cell_wifi', 'cell_wifi', 'center_focus_strong', 'center_focus_strong', 'center_focus_weak', 'center_focus_weak', 'chair', 'chair', 'chair_alt', 'chair_alt', 'chalet', 'chalet', 'change_circle', 'change_circle', 'change_history', 'change_history', 'charger', 'charging_station', 'charging_station', 'chat', 'chat', 'chat_add_on', 'chat_apps_script', 'chat_bubble', 'chat_bubble', 'chat_bubble_outline', 'check', 'check', 'check_box', 'check_box', 'check_box_outline_blank', 'check_box_outline_blank', 'check_circle', 'check_circle', 'check_circle_outline', 'check_indeterminate_small', 'check_small', 'checklist', 'checklist', 'checklist_rtl', 'checklist_rtl', 'checkroom', 'checkroom', 'chevron_left', 'chevron_left', 'chevron_right', 'chevron_right', 'child_care', 'child_care', 'child_friendly', 'child_friendly', 'chrome_reader_mode', 'chrome_reader_mode', 'chromecast_2', 'chromecast_device', 'church', 'church', 'circle', 'circle', 'circle_notifications', 'circle_notifications', 'clarify', 'class', 'clean_hands', 'clean_hands', 'cleaning_bucket', 'cleaning_services', 'cleaning_services', 'clear', 'clear_all', 'clear_all', 'clear_day', 'clear_night', 'climate_mini_split', 'close', 'close', 'close_fullscreen', 'close_fullscreen', 'closed_caption', 'closed_caption', 'closed_caption_disabled', 'closed_caption_disabled', 'closed_caption_off', 'cloud', 'cloud', 'cloud_circle', 'cloud_circle', 'cloud_done', 'cloud_done', 'cloud_download', 'cloud_download', 'cloud_off', 'cloud_off', 'cloud_queue', 'cloud_queue', 'cloud_sync', 'cloud_sync', 'cloud_upload', 'cloud_upload', 'cloudy', 'cloudy_filled', 'cloudy_snowing', 'cloudy_snowing', 'co2', 'co2', 'co_present', 'co_present', 'code', 'code', 'code_off', 'code_off', 'coffee', 'coffee', 'coffee_maker', 'coffee_maker', 'collections', 'collections_bookmark', 'collections_bookmark', 'color_lens', 'colorize', 'colorize', 'comment', 'comment', 'comment_bank', 'comment_bank', 'comments_disabled', 'comments_disabled', 'commit', 'commit', 'communication', 'commute', 'commute', 'compare', 'compare', 'compare_arrows', 'compare_arrows', 'compass_calibration', 'compass_calibration', 'component_exchange', 'compost', 'compost', 'compress', 'compress', 'computer', 'computer', 'confirmation_number', 'confirmation_number', 'connect_without_contact', 'connect_without_contact', 'connected_tv', 'connected_tv', 'connecting_airports', 'connecting_airports', 'construction', 'construction', 'contact_emergency', 'contact_emergency', 'contact_mail', 'contact_mail', 'contact_page', 'contact_page', 'contact_phone', 'contact_phone', 'contact_support', 'contact_support', 'contactless', 'contactless', 'contacts', 'contacts', 'content_copy', 'content_copy', 'content_cut', 'content_cut', 'content_paste', 'content_paste', 'content_paste_go', 'content_paste_go', 'content_paste_off', 'content_paste_off', 'content_paste_search', 'content_paste_search', 'contrast', 'contrast', 'control_camera', 'control_camera', 'control_point', 'control_point_duplicate', 'control_point_duplicate', 'controller_gen', 'conversion_path', 'cookie', 'cookie', 'cooking', 'cool_to_dry', 'copy_all', 'copy_all', 'copyright', 'copyright', 'coronavirus', 'coronavirus', 'corporate_fare', 'corporate_fare', 'cottage', 'cottage', 'countertops', 'countertops', 'create', 'create_new_folder', 'create_new_folder', 'credit_card', 'credit_card', 'credit_card_off', 'credit_card_off', 'credit_score', 'credit_score', 'crib', 'crib', 'crisis_alert', 'crisis_alert', 'crop', 'crop', 'crop_16_9', 'crop_16_9', 'crop_3_2', 'crop_3_2', 'crop_5_4', 'crop_5_4', 'crop_7_5', 'crop_7_5', 'crop_din', 'crop_free', 'crop_free', 'crop_landscape', 'crop_landscape', 'crop_original', 'crop_portrait', 'crop_portrait', 'crop_rotate', 'crop_rotate', 'crop_square', 'crop_square', 'cruelty_free', 'cruelty_free', 'css', 'css', 'currency_bitcoin', 'currency_bitcoin', 'currency_exchange', 'currency_exchange', 'currency_franc', 'currency_franc', 'currency_lira', 'currency_lira', 'currency_pound', 'currency_pound', 'currency_ruble', 'currency_ruble', 'currency_rupee', 'currency_rupee', 'currency_yen', 'currency_yen', 'currency_yuan', 'currency_yuan', 'curtains', 'curtains', 'curtains_closed', 'curtains_closed', 'cut', 'cyclone', 'cyclone', 'dangerous', 'dangerous', 'dark_mode', 'dark_mode', 'dashboard', 'dashboard', 'dashboard_customize', 'dashboard_customize', 'data_array', 'data_array', 'data_exploration', 'data_exploration', 'data_object', 'data_object', 'data_saver_off', 'data_saver_on', 'data_saver_on', 'data_thresholding', 'data_thresholding', 'data_usage', 'data_usage', 'database', 'dataset', 'dataset', 'dataset_linked', 'dataset_linked', 'date_range', 'date_range', 'deblur', 'deblur', 'deck', 'deck', 'dehaze', 'dehaze', 'delete', 'delete', 'delete_forever', 'delete_forever', 'delete_outline', 'delete_sweep', 'delete_sweep', 'delivery_dining', 'density_large', 'density_large', 'density_medium', 'density_medium', 'density_small', 'density_small', 'dentistry', 'departure_board', 'departure_board', 'description', 'description', 'deselect', 'deselect', 'design_services', 'design_services', 'desk', 'desk', 'desktop_access_disabled', 'desktop_access_disabled', 'desktop_mac', 'desktop_mac', 'desktop_windows', 'desktop_windows', 'details', 'details', 'detection_and_zone', 'detector', 'detector_alarm', 'detector_battery', 'detector_co', 'detector_offline', 'detector_smoke', 'detector_status', 'developer_board', 'developer_board', 'developer_board_off', 'developer_board_off', 'developer_mode', 'developer_mode', 'device_hub', 'device_hub', 'device_reset', 'device_thermostat', 'device_thermostat', 'device_unknown', 'device_unknown', 'devices', 'devices', 'devices_fold', 'devices_fold', 'devices_other', 'devices_other', 'dew_point', 'dialer_sip', 'dialer_sip', 'dialpad', 'dialpad', 'diamond', 'diamond', 'difference', 'difference', 'digital_out_of_home', 'dining', 'dining', 'dinner_dining', 'dinner_dining', 'directions', 'directions', 'directions_alt', 'directions_alt_off', 'directions_bike', 'directions_bike', 'directions_boat', 'directions_boat', 'directions_boat_filled', 'directions_bus', 'directions_bus', 'directions_bus_filled', 'directions_car', 'directions_car', 'directions_car_filled', 'directions_off', 'directions_off', 'directions_railway', 'directions_railway', 'directions_railway_filled', 'directions_run', 'directions_run', 'directions_subway', 'directions_subway', 'directions_subway_filled', 'directions_transit', 'directions_transit_filled', 'directions_walk', 'directions_walk', 'dirty_lens', 'dirty_lens', 'disabled_by_default', 'disabled_by_default', 'disabled_visible', 'disabled_visible', 'disc_full', 'disc_full', 'discount', 'discover_tune', 'dishwasher_gen', 'display_settings', 'display_settings', 'diversity_1', 'diversity_1', 'diversity_2', 'diversity_2', 'diversity_3', 'diversity_3', 'dns', 'dns', 'do_disturb', 'do_disturb_alt', 'do_disturb_off', 'do_disturb_on', 'do_not_disturb', 'do_not_disturb_alt', 'do_not_disturb_off', 'do_not_disturb_off', 'do_not_disturb_on', 'do_not_disturb_on', 'do_not_disturb_on_total_silence', 'do_not_disturb_on_total_silence', 'do_not_step', 'do_not_step', 'do_not_touch', 'do_not_touch', 'dock', 'dock', 'docs_add_on', 'docs_apps_script', 'document_scanner', 'document_scanner', 'domain', 'domain', 'domain_add', 'domain_add', 'domain_disabled', 'domain_disabled', 'domain_verification', 'domain_verification', 'done', 'done', 'done_all', 'done_all', 'done_outline', 'done_outline', 'donut_large', 'donut_large', 'donut_small', 'donut_small', 'door_back', 'door_back', 'door_front', 'door_front', 'door_open', 'door_sensor', 'door_sliding', 'door_sliding', 'doorbell', 'doorbell', 'doorbell_3p', 'doorbell_chime', 'double_arrow', 'double_arrow', 'downhill_skiing', 'downhill_skiing', 'download', 'download', 'download_done', 'download_done', 'download_for_offline', 'download_for_offline', 'downloading', 'downloading', 'draft', 'drafts', 'drafts', 'drag_handle', 'drag_handle', 'drag_indicator', 'drag_indicator', 'draw', 'draw', 'dresser', 'drive_eta', 'drive_file_move', 'drive_file_move', 'drive_file_move_outline', 'drive_file_move_outline', 'drive_file_move_rtl', 'drive_file_move_rtl', 'drive_file_rename_outline', 'drive_file_rename_outline', 'drive_folder_upload', 'drive_folder_upload', 'dry', 'dry', 'dry_cleaning', 'dry_cleaning', 'duo', 'duo', 'dvr', 'dvr', 'dynamic_feed', 'dynamic_feed', 'dynamic_form', 'dynamic_form', 'e911_avatar', 'e911_emergency', 'e_mobiledata', 'e_mobiledata', 'earbuds', 'earbuds', 'earbuds_battery', 'earbuds_battery', 'early_on', 'east', 'east', 'eco', 'edgesensor_high', 'edgesensor_high', 'edgesensor_low', 'edgesensor_low', 'edit', 'edit', 'edit_attributes', 'edit_attributes', 'edit_calendar', 'edit_calendar', 'edit_document', 'edit_document', 'edit_location', 'edit_location', 'edit_location_alt', 'edit_location_alt', 'edit_note', 'edit_note', 'edit_notifications', 'edit_notifications', 'edit_off', 'edit_off', 'edit_road', 'edit_road', 'edit_square', 'edit_square', 'egg', 'egg', 'egg_alt', 'egg_alt', 'eject', 'eject', 'elderly', 'elderly', 'elderly_woman', 'elderly_woman', 'electric_bike', 'electric_bike', 'electric_bolt', 'electric_bolt', 'electric_car', 'electric_car', 'electric_meter', 'electric_meter', 'electric_moped', 'electric_moped', 'electric_rickshaw', 'electric_rickshaw', 'electric_scooter', 'electric_scooter', 'electrical_services', 'electrical_services', 'elevator', 'elevator', 'email', 'emergency', 'emergency', 'emergency_heat', 'emergency_home', 'emergency_recording', 'emergency_recording', 'emergency_share', 'emergency_share', 'emoji_emotions', 'emoji_events', 'emoji_flags', 'emoji_food_beverage', 'emoji_food_beverage', 'emoji_nature', 'emoji_nature', 'emoji_objects', 'emoji_objects', 'emoji_people', 'emoji_people', 'emoji_symbols', 'emoji_symbols', 'emoji_transportation', 'emoji_transportation', 'enable', 'energy_program_saving', 'energy_program_time_used', 'energy_savings_leaf', 'energy_savings_leaf', 'engineering', 'engineering', 'enhanced_encryption', 'enhanced_encryption', 'equalizer', 'equalizer', 'error', 'error', 'error_circle_rounded', 'error_outline', 'escalator', 'escalator', 'escalator_warning', 'escalator_warning', 'euro', 'euro', 'euro_symbol', 'euro_symbol', 'ev_charger', 'ev_shadow', 'ev_station', 'ev_station', 'event', 'event', 'event_available', 'event_available', 'event_busy', 'event_busy', 'event_note', 'event_note', 'event_repeat', 'event_repeat', 'event_seat', 'event_seat', 'event_upcoming', 'exclamation', 'exit_to_app', 'exit_to_app', 'expand', 'expand', 'expand_circle_down', 'expand_circle_down', 'expand_less', 'expand_less', 'expand_more', 'expand_more', 'explicit', 'explicit', 'explore', 'explore', 'explore_off', 'explore_off', 'exposure', 'exposure', 'exposure_neg_1', 'exposure_neg_1', 'exposure_neg_2', 'exposure_neg_2', 'exposure_plus_1', 'exposure_plus_1', 'exposure_plus_2', 'exposure_plus_2', 'exposure_zero', 'exposure_zero', 'extension', 'extension', 'extension_off', 'extension_off', 'face', 'face', 'face_2', 'face_2', 'face_3', 'face_3', 'face_4', 'face_4', 'face_5', 'face_5', 'face_6', 'face_6', 'face_retouching_natural', 'face_retouching_natural', 'face_retouching_off', 'face_retouching_off', 'face_unlock', 'fact_check', 'fact_check', 'factory', 'factory', 'familiar_face_and_zone', 'family_restroom', 'family_restroom', 'fast_forward', 'fast_forward', 'fast_rewind', 'fast_rewind', 'fastfood', 'fastfood', 'faucet', 'favorite', 'favorite', 'favorite_border', 'fax', 'fax', 'featured_play_list', 'featured_play_list', 'featured_video', 'featured_video', 'feed', 'feed', 'feedback', 'female', 'female', 'femur', 'femur_alt', 'fence', 'fence', 'festival', 'festival', 'fiber_dvr', 'fiber_dvr', 'fiber_manual_record', 'fiber_manual_record', 'fiber_new', 'fiber_new', 'fiber_pin', 'fiber_pin', 'fiber_smart_record', 'fiber_smart_record', 'file_copy', 'file_copy', 'file_download', 'file_download', 'file_download_done', 'file_download_done', 'file_download_off', 'file_download_off', 'file_open', 'file_open', 'file_present', 'file_present', 'file_upload', 'file_upload', 'file_upload_off', 'file_upload_off', 'filter', 'filter', 'filter_1', 'filter_1', 'filter_2', 'filter_2', 'filter_3', 'filter_3', 'filter_4', 'filter_4', 'filter_5', 'filter_5', 'filter_6', 'filter_6', 'filter_7', 'filter_7', 'filter_8', 'filter_8', 'filter_9', 'filter_9', 'filter_9_plus', 'filter_9_plus', 'filter_alt', 'filter_alt', 'filter_alt_off', 'filter_alt_off', 'filter_b_and_w', 'filter_b_and_w', 'filter_center_focus', 'filter_center_focus', 'filter_drama', 'filter_drama', 'filter_frames', 'filter_frames', 'filter_hdr', 'filter_hdr', 'filter_list', 'filter_list', 'filter_list_alt', 'filter_list_off', 'filter_list_off', 'filter_none', 'filter_none', 'filter_tilt_shift', 'filter_tilt_shift', 'filter_vintage', 'filter_vintage', 'find_in_page', 'find_in_page', 'find_replace', 'find_replace', 'fingerprint', 'fingerprint', 'fire_extinguisher', 'fire_extinguisher', 'fire_hydrant', 'fire_hydrant_alt', 'fire_truck', 'fire_truck', 'fireplace', 'fireplace', 'first_page', 'first_page', 'fit_screen', 'fit_screen', 'fitbit', 'fitness_center', 'fitness_center', 'flag', 'flag', 'flag_circle', 'flag_circle', 'flaky', 'flaky', 'flare', 'flare', 'flash_auto', 'flash_auto', 'flash_off', 'flash_off', 'flash_on', 'flash_on', 'flashlight_off', 'flashlight_off', 'flashlight_on', 'flashlight_on', 'flatware', 'flatware', 'flight', 'flight', 'flight_class', 'flight_class', 'flight_land', 'flight_land', 'flight_takeoff', 'flight_takeoff', 'flip', 'flip', 'flip_camera_android', 'flip_camera_android', 'flip_camera_ios', 'flip_camera_ios', 'flip_to_back', 'flip_to_back', 'flip_to_front', 'flip_to_front', 'flood', 'flood', 'floor_lamp', 'fluorescent', 'fluorescent', 'flutter_dash', 'flutter_dash', 'fmd_bad', 'fmd_bad', 'fmd_good', 'foggy', 'foggy', 'folder', 'folder', 'folder_copy', 'folder_copy', 'folder_delete', 'folder_delete', 'folder_off', 'folder_off', 'folder_open', 'folder_open', 'folder_shared', 'folder_shared', 'folder_special', 'folder_special', 'folder_zip', 'folder_zip', 'follow_the_signs', 'follow_the_signs', 'font_download', 'font_download', 'font_download_off', 'font_download_off', 'food_bank', 'food_bank', 'foot_bones', 'forest', 'forest', 'fork_left', 'fork_left', 'fork_right', 'fork_right', 'format_align_center', 'format_align_center', 'format_align_justify', 'format_align_justify', 'format_align_left', 'format_align_left', 'format_align_right', 'format_align_right', 'format_bold', 'format_bold', 'format_clear', 'format_clear', 'format_color_fill', 'format_color_fill', 'format_color_reset', 'format_color_reset', 'format_color_text', 'format_color_text', 'format_indent_decrease', 'format_indent_decrease', 'format_indent_increase', 'format_indent_increase', 'format_italic', 'format_italic', 'format_line_spacing', 'format_line_spacing', 'format_list_bulleted', 'format_list_bulleted', 'format_list_numbered', 'format_list_numbered', 'format_list_numbered_rtl', 'format_list_numbered_rtl', 'format_overline', 'format_overline', 'format_paint', 'format_paint', 'format_quote', 'format_quote', 'format_shapes', 'format_shapes', 'format_size', 'format_size', 'format_strikethrough', 'format_strikethrough', 'format_textdirection_l_to_r', 'format_textdirection_l_to_r', 'format_textdirection_r_to_l', 'format_textdirection_r_to_l', 'format_underlined', 'format_underlined', 'format_underlined_squiggle', 'forms_add_on', 'forms_apps_script', 'fort', 'fort', 'forum', 'forum', 'forward', 'forward', 'forward_10', 'forward_10', 'forward_30', 'forward_30', 'forward_5', 'forward_5', 'forward_to_inbox', 'forward_to_inbox', 'foundation', 'foundation', 'frame_person', 'free_breakfast', 'free_cancellation', 'free_cancellation', 'front_hand', 'front_hand', 'full_stacked_bar_chart', 'fullscreen', 'fullscreen', 'fullscreen_exit', 'fullscreen_exit', 'functions', 'functions', 'g_mobiledata', 'g_mobiledata', 'g_translate', 'g_translate', 'gamepad', 'games', 'garage', 'garage', 'garage_home', 'garden_cart', 'gas_meter', 'gas_meter', 'gate', 'gavel', 'gavel', 'generating_tokens', 'generating_tokens', 'gesture', 'gesture', 'get_app', 'gif', 'gif', 'gif_box', 'gif_box', 'girl', 'girl', 'gite', 'gite', 'glyphs', 'golf_course', 'golf_course', 'google_plus_reshare', 'google_wifi', 'gpp_bad', 'gpp_bad', 'gpp_good', 'gpp_maybe', 'gpp_maybe', 'gps_fixed', 'gps_not_fixed', 'gps_off', 'grade', 'grade', 'gradient', 'gradient', 'grading', 'grading', 'grain', 'grain', 'graphic_eq', 'graphic_eq', 'grass', 'grass', 'grid_3x3', 'grid_3x3', 'grid_4x4', 'grid_4x4', 'grid_goldenratio', 'grid_goldenratio', 'grid_off', 'grid_off', 'grid_on', 'grid_on', 'grid_view', 'grid_view', 'group', 'group', 'group_add', 'group_add', 'group_off', 'group_off', 'group_remove', 'group_remove', 'group_work', 'group_work', 'grouped_bar_chart', 'groups', 'groups', 'groups_2', 'groups_2', 'groups_3', 'groups_3', 'h_mobiledata', 'h_mobiledata', 'h_plus_mobiledata', 'h_plus_mobiledata', 'hail', 'hail', 'hand_bones', 'hand_gesture', 'handshake', 'handshake', 'handyman', 'handyman', 'hardware', 'hardware', 'hd', 'hd', 'hdr_auto', 'hdr_auto', 'hdr_auto_select', 'hdr_auto_select', 'hdr_enhanced_select', 'hdr_enhanced_select', 'hdr_off', 'hdr_off', 'hdr_off_select', 'hdr_off_select', 'hdr_on', 'hdr_on', 'hdr_on_select', 'hdr_on_select', 'hdr_plus', 'hdr_plus', 'hdr_strong', 'hdr_strong', 'hdr_weak', 'hdr_weak', 'headphones', 'headphones', 'headphones_battery', 'headphones_battery', 'headset', 'headset_mic', 'headset_mic', 'headset_off', 'headset_off', 'healing', 'healing', 'health_and_safety', 'health_and_safety', 'hearing', 'hearing', 'hearing_disabled', 'hearing_disabled', 'heart_broken', 'heart_broken', 'heart_minus', 'heart_plus', 'heat_pump', 'heat_pump', 'heat_pump_balance', 'height', 'height', 'help', 'help', 'help_center', 'help_center', 'help_outline', 'hevc', 'hevc', 'hexagon', 'hexagon', 'hide', 'hide_image', 'hide_image', 'hide_source', 'hide_source', 'high_quality', 'high_quality', 'highlight', 'highlight', 'highlight_alt', 'highlight_off', 'hiking', 'hiking', 'history', 'history', 'history_edu', 'history_edu', 'history_toggle_off', 'history_toggle_off', 'hive', 'hive', 'hls', 'hls', 'hls_off', 'hls_off', 'holiday_village', 'holiday_village', 'home', 'home', 'home_app_logo', 'home_filled', 'home_iot_device', 'home_max', 'home_max', 'home_max_dots', 'home_mini', 'home_mini', 'home_pin', 'home_repair_service', 'home_repair_service', 'home_speaker', 'home_work', 'home_work', 'horizontal_distribute', 'horizontal_distribute', 'horizontal_rule', 'horizontal_rule', 'horizontal_split', 'horizontal_split', 'hot_tub', 'hot_tub', 'hotel', 'hotel', 'hotel_class', 'hotel_class', 'hourglass_bottom', 'hourglass_bottom', 'hourglass_disabled', 'hourglass_disabled', 'hourglass_empty', 'hourglass_empty', 'hourglass_full', 'hourglass_full', 'hourglass_top', 'hourglass_top', 'house', 'house', 'house_siding', 'house_siding', 'house_with_shield', 'houseboat', 'houseboat', 'how_to_reg', 'how_to_reg', 'how_to_vote', 'how_to_vote', 'html', 'html', 'http', 'http', 'https', 'hub', 'hub', 'humerus', 'humerus_alt', 'humidity_high', 'humidity_low', 'humidity_mid', 'hvac', 'hvac', 'ice_skating', 'ice_skating', 'icecream', 'icecream', 'image', 'image', 'image_aspect_ratio', 'image_aspect_ratio', 'image_not_supported', 'image_not_supported', 'image_search', 'image_search', 'imagesearch_roller', 'imagesearch_roller', 'imagesmode', 'import_contacts', 'import_contacts', 'import_export', 'important_devices', 'important_devices', 'in_home_mode', 'inbox', 'inbox', 'incomplete_circle', 'incomplete_circle', 'indeterminate_check_box', 'indeterminate_check_box', 'info', 'info', 'info_outline', 'input', 'input', 'insert_chart', 'insert_chart', 'insert_chart_outlined', 'insert_comment', 'insert_drive_file', 'insert_emoticon', 'insert_invitation', 'insert_link', 'insert_page_break', 'insert_page_break', 'insert_photo', 'insights', 'insights', 'install_desktop', 'install_desktop', 'install_mobile', 'install_mobile', 'integration_instructions', 'integration_instructions', 'interests', 'interests', 'interpreter_mode', 'interpreter_mode', 'inventory', 'inventory', 'inventory_2', 'inventory_2', 'invert_colors', 'invert_colors', 'invert_colors_off', 'invert_colors_off', 'ios_share', 'ios_share', 'iron', 'iron', 'iso', 'javascript', 'javascript', 'join_full', 'join_full', 'join_inner', 'join_inner', 'join_left', 'join_left', 'join_right', 'join_right', 'kayaking', 'kayaking', 'kebab_dining', 'kebab_dining', 'kettle', 'key', 'key', 'key_off', 'key_off', 'key_visualizer', 'keyboard', 'keyboard', 'keyboard_alt', 'keyboard_alt', 'keyboard_arrow_down', 'keyboard_arrow_down', 'keyboard_arrow_left', 'keyboard_arrow_left', 'keyboard_arrow_right', 'keyboard_arrow_right', 'keyboard_arrow_up', 'keyboard_arrow_up', 'keyboard_backspace', 'keyboard_backspace', 'keyboard_capslock', 'keyboard_capslock', 'keyboard_command_key', 'keyboard_command_key', 'keyboard_control_key', 'keyboard_control_key', 'keyboard_double_arrow_down', 'keyboard_double_arrow_down', 'keyboard_double_arrow_left', 'keyboard_double_arrow_left', 'keyboard_double_arrow_right', 'keyboard_double_arrow_right', 'keyboard_double_arrow_up', 'keyboard_double_arrow_up', 'keyboard_hide', 'keyboard_hide', 'keyboard_option_key', 'keyboard_option_key', 'keyboard_return', 'keyboard_return', 'keyboard_tab', 'keyboard_tab', 'keyboard_voice', 'keyboard_voice', 'king_bed', 'king_bed', 'kitchen', 'kitchen', 'kitesurfing', 'kitesurfing', 'label', 'label', 'label_important', 'label_important', 'label_important_outline', 'label_off', 'label_off', 'lan', 'lan', 'landscape', 'landscape', 'landslide', 'landslide', 'language', 'language', 'laptop', 'laptop_chromebook', 'laptop_chromebook', 'laptop_mac', 'laptop_mac', 'laptop_windows', 'laptop_windows', 'last_page', 'last_page', 'launch', 'laundry', 'layers', 'layers', 'layers_clear', 'layers_clear', 'leaderboard', 'leaderboard', 'leak_add', 'leak_add', 'leak_remove', 'leak_remove', 'legend_toggle', 'legend_toggle', 'lens', 'lens', 'lens_blur', 'lens_blur', 'library_add', 'library_add', 'library_add_check', 'library_add_check', 'library_books', 'library_books', 'library_music', 'library_music', 'lift_to_talk', 'light', 'light', 'light_group', 'light_mode', 'light_mode', 'lightbulb', 'lightbulb', 'lightbulb_circle', 'lightbulb_circle', 'lightbulb_outline', 'line_axis', 'line_axis', 'line_style', 'line_style', 'line_weight', 'line_weight', 'linear_scale', 'linear_scale', 'link', 'link', 'link_off', 'link_off', 'linked_camera', 'linked_camera', 'liquor', 'liquor', 'list', 'list', 'list_alt', 'list_alt', 'live_help', 'live_help', 'live_tv', 'live_tv', 'living', 'living', 'local_activity', 'local_activity', 'local_airport', 'local_atm', 'local_atm', 'local_bar', 'local_bar', 'local_cafe', 'local_cafe', 'local_car_wash', 'local_car_wash', 'local_convenience_store', 'local_convenience_store', 'local_dining', 'local_dining', 'local_drink', 'local_drink', 'local_fire_department', 'local_fire_department', 'local_florist', 'local_florist', 'local_gas_station', 'local_gas_station', 'local_grocery_store', 'local_hospital', 'local_hospital', 'local_hotel', 'local_laundry_service', 'local_laundry_service', 'local_library', 'local_library', 'local_mall', 'local_mall', 'local_movies', 'local_offer', 'local_parking', 'local_parking', 'local_pharmacy', 'local_pharmacy', 'local_phone', 'local_pizza', 'local_pizza', 'local_play', 'local_police', 'local_police', 'local_post_office', 'local_post_office', 'local_printshop', 'local_see', 'local_see', 'local_shipping', 'local_shipping', 'local_taxi', 'local_taxi', 'location_automation', 'location_away', 'location_city', 'location_city', 'location_disabled', 'location_disabled', 'location_home', 'location_off', 'location_off', 'location_on', 'location_pin', 'location_searching', 'location_searching', 'lock', 'lock', 'lock_clock', 'lock_clock', 'lock_open', 'lock_open', 'lock_outline', 'lock_person', 'lock_person', 'lock_reset', 'lock_reset', 'login', 'login', 'logo_dev', 'logo_dev', 'logout', 'logout', 'looks', 'looks', 'looks_3', 'looks_3', 'looks_4', 'looks_4', 'looks_5', 'looks_5', 'looks_6', 'looks_6', 'looks_one', 'looks_one', 'looks_two', 'looks_two', 'loop', 'loupe', 'loupe', 'low_priority', 'low_priority', 'loyalty', 'loyalty', 'lte_mobiledata', 'lte_mobiledata', 'lte_plus_mobiledata', 'lte_plus_mobiledata', 'luggage', 'luggage', 'lunch_dining', 'lunch_dining', 'lyrics', 'lyrics', 'macro_off', 'macro_off', 'magic_button', 'mail', 'mail', 'mail_lock', 'mail_lock', 'mail_outline', 'male', 'male', 'man', 'man', 'man_2', 'man_2', 'man_3', 'man_3', 'man_4', 'man_4', 'manage_accounts', 'manage_accounts', 'manage_history', 'manage_history', 'manage_search', 'manage_search', 'map', 'map', 'maps_home_work', 'maps_ugc', 'maps_ugc', 'margin', 'margin', 'mark_as_unread', 'mark_as_unread', 'mark_chat_read', 'mark_chat_read', 'mark_chat_unread', 'mark_chat_unread', 'mark_email_read', 'mark_email_read', 'mark_email_unread', 'mark_email_unread', 'mark_unread_chat_alt', 'mark_unread_chat_alt', 'markunread', 'markunread_mailbox', 'markunread_mailbox', 'masks', 'masks', 'matter', 'maximize', 'maximize', 'media_bluetooth_off', 'media_bluetooth_off', 'media_bluetooth_on', 'media_bluetooth_on', 'mediation', 'mediation', 'medical_information', 'medical_information', 'medical_services', 'medical_services', 'medication', 'medication', 'medication_liquid', 'medication_liquid', 'meeting_room', 'meeting_room', 'memory', 'memory', 'menu', 'menu', 'menu_book', 'menu_book', 'menu_open', 'menu_open', 'merge', 'merge', 'merge_type', 'merge_type', 'message', 'mfg_nest_yale_lock', 'mic', 'mic', 'mic_external_off', 'mic_external_off', 'mic_external_on', 'mic_external_on', 'mic_none', 'mic_off', 'mic_off', 'microwave', 'microwave', 'microwave_gen', 'military_tech', 'military_tech', 'minimize', 'minimize', 'minor_crash', 'minor_crash', 'miscellaneous_services', 'missed_video_call', 'missed_video_call', 'mms', 'mms', 'mobile_friendly', 'mobile_friendly', 'mobile_off', 'mobile_off', 'mobile_screen_share', 'mobile_screen_share', 'mobiledata_off', 'mobiledata_off', 'mode', 'mode_comment', 'mode_comment', 'mode_cool', 'mode_cool_off', 'mode_edit', 'mode_edit_outline', 'mode_fan', 'mode_fan_off', 'mode_fan_off', 'mode_heat', 'mode_heat_cool', 'mode_heat_off', 'mode_night', 'mode_night', 'mode_of_travel', 'mode_of_travel', 'mode_off_on', 'mode_standby', 'mode_standby', 'model_training', 'model_training', 'monetization_on', 'monetization_on', 'money', 'money', 'money_off', 'money_off', 'money_off_csred', 'monitor', 'monitor', 'monitor_heart', 'monitor_heart', 'monitor_weight', 'monitor_weight', 'monitoring', 'monochrome_photos', 'monochrome_photos', 'mood', 'mood', 'mood_bad', 'mood_bad', 'mop', 'moped', 'more', 'more', 'more_down', 'more_horiz', 'more_horiz', 'more_time', 'more_time', 'more_up', 'more_vert', 'more_vert', 'mosque', 'mosque', 'motion_blur', 'motion_photos_auto', 'motion_photos_auto', 'motion_photos_off', 'motion_photos_off', 'motion_photos_on', 'motion_photos_pause', 'motion_photos_paused', 'motion_photos_paused', 'motion_sensor_active', 'motion_sensor_alert', 'motion_sensor_idle', 'motion_sensor_urgent', 'motorcycle', 'mouse', 'mouse', 'move_down', 'move_down', 'move_to_inbox', 'move_to_inbox', 'move_up', 'move_up', 'movie', 'movie', 'movie_creation', 'movie_filter', 'movie_filter', 'moving', 'moving', 'mp', 'mp', 'multicooker', 'multiline_chart', 'multiline_chart', 'multiple_stop', 'multiple_stop', 'museum', 'museum', 'music_note', 'music_note', 'music_off', 'music_off', 'music_video', 'music_video', 'my_location', 'my_location', 'nat', 'nat', 'nature', 'nature', 'nature_people', 'nature_people', 'navigate_before', 'navigate_before', 'navigate_next', 'navigate_next', 'navigation', 'navigation', 'near_me', 'near_me', 'near_me_disabled', 'near_me_disabled', 'nearby_error', 'nearby_error', 'nearby_off', 'nearby_off', 'nest_audio', 'nest_cam_floodlight', 'nest_cam_indoor', 'nest_cam_iq', 'nest_cam_iq_outdoor', 'nest_cam_magnet_mount', 'nest_cam_outdoor', 'nest_cam_stand', 'nest_cam_wall_mount', 'nest_cam_wired_stand', 'nest_cam_wired_stand', 'nest_clock_farsight_analog', 'nest_clock_farsight_digital', 'nest_connect', 'nest_detect', 'nest_display', 'nest_display_max', 'nest_doorbell_visitor', 'nest_eco_leaf', 'nest_farsight_weather', 'nest_found_savings', 'nest_heat_link_e', 'nest_heat_link_gen_3', 'nest_hello_doorbell', 'nest_locator_tag', 'nest_mini', 'nest_multi_room', 'nest_remote', 'nest_remote_comfort_sensor', 'nest_secure_alarm', 'nest_sunblock', 'nest_tag', 'nest_thermostat_e_eu', 'nest_thermostat_gen_3', 'nest_thermostat_sensor', 'nest_thermostat_sensor_eu', 'nest_thermostat_zirconium_eu', 'nest_true_radiant', 'nest_wake_on_approach', 'nest_wake_on_press', 'nest_wifi_gale', 'nest_wifi_mistral', 'nest_wifi_point', 'nest_wifi_point_vento', 'nest_wifi_router', 'network_cell', 'network_cell', 'network_check', 'network_check', 'network_locked', 'network_locked', 'network_ping', 'network_ping', 'network_wifi', 'network_wifi', 'network_wifi_1_bar', 'network_wifi_1_bar', 'network_wifi_2_bar', 'network_wifi_2_bar', 'network_wifi_3_bar', 'network_wifi_3_bar', 'new_label', 'new_label', 'new_releases', 'new_releases', 'newspaper', 'newspaper', 'next_plan', 'next_plan', 'next_week', 'next_week', 'nfc', 'nfc', 'night_shelter', 'night_shelter', 'night_sight_auto', 'night_sight_auto_off', 'nightlife', 'nightlife', 'nightlight', 'nightlight', 'nightlight_round', 'nights_stay', 'nights_stay', 'no_accounts', 'no_accounts', 'no_adult_content', 'no_adult_content', 'no_backpack', 'no_backpack', 'no_cell', 'no_crash', 'no_crash', 'no_drinks', 'no_drinks', 'no_encryption', 'no_encryption', 'no_encryption_gmailerrorred', 'no_flash', 'no_flash', 'no_food', 'no_food', 'no_luggage', 'no_luggage', 'no_meals', 'no_meals', 'no_meals_ouline', 'no_meeting_room', 'no_meeting_room', 'no_photography', 'no_photography', 'no_sim', 'no_sim', 'no_stroller', 'no_stroller', 'no_transfer', 'no_transfer', 'noise_aware', 'noise_aware', 'noise_control_off', 'noise_control_off', 'noise_control_on', 'nordic_walking', 'nordic_walking', 'north', 'north', 'north_east', 'north_east', 'north_west', 'north_west', 'not_accessible', 'not_accessible', 'not_interested', 'not_listed_location', 'not_listed_location', 'not_started', 'not_started', 'note', 'note', 'note_add', 'note_add', 'note_alt', 'note_alt', 'notes', 'notes', 'notification_add', 'notification_add', 'notification_important', 'notification_important', 'notifications', 'notifications', 'notifications_active', 'notifications_active', 'notifications_none', 'notifications_off', 'notifications_off', 'notifications_paused', 'notifications_paused', 'numbers', 'numbers', 'offline_bolt', 'offline_bolt', 'offline_pin', 'offline_pin', 'offline_share', 'offline_share', 'oil_barrel', 'oil_barrel', 'on_device_training', 'on_device_training', 'ondemand_video', 'online_prediction', 'online_prediction', 'opacity', 'opacity', 'open_in_browser', 'open_in_browser', 'open_in_full', 'open_in_full', 'open_in_new', 'open_in_new', 'open_in_new_off', 'open_in_new_off', 'open_with', 'open_with', 'orthopedics', 'other_houses', 'other_houses', 'outbound', 'outbound', 'outbox', 'outbox', 'outdoor_garden', 'outdoor_grill', 'outdoor_grill', 'outgoing_mail', 'outgoing_mail', 'outlet', 'outlet', 'outlined_flag', 'output', 'output', 'oven_gen', 'package', 'padding', 'padding', 'pages', 'pages', 'pageview', 'pageview', 'paid', 'paid', 'palette', 'palette', 'pan_tool', 'pan_tool', 'pan_tool_alt', 'pan_tool_alt', 'panorama', 'panorama', 'panorama_fish_eye', 'panorama_fish_eye', 'panorama_horizontal', 'panorama_horizontal', 'panorama_horizontal_select', 'panorama_photosphere', 'panorama_photosphere', 'panorama_photosphere_select', 'panorama_vertical', 'panorama_vertical', 'panorama_vertical_select', 'panorama_wide_angle', 'panorama_wide_angle', 'panorama_wide_angle_select', 'paragliding', 'paragliding', 'park', 'park', 'partly_cloudy_day', 'partly_cloudy_night', 'party_mode', 'party_mode', 'password', 'password', 'pattern', 'pattern', 'pause', 'pause', 'pause_circle', 'pause_circle', 'pause_circle_filled', 'pause_circle_outline', 'pause_presentation', 'pause_presentation', 'payment', 'payments', 'payments', 'pedal_bike', 'pedal_bike', 'pending', 'pending', 'pending_actions', 'pending_actions', 'pentagon', 'pentagon', 'people', 'people_alt', 'people_outline', 'percent', 'percent', 'pergola', 'perm_camera_mic', 'perm_camera_mic', 'perm_contact_calendar', 'perm_contact_calendar', 'perm_data_setting', 'perm_data_setting', 'perm_device_information', 'perm_device_information', 'perm_identity', 'perm_media', 'perm_media', 'perm_phone_msg', 'perm_phone_msg', 'perm_scan_wifi', 'perm_scan_wifi', 'person', 'person', 'person_2', 'person_2', 'person_3', 'person_3', 'person_4', 'person_4', 'person_add', 'person_add', 'person_add_alt', 'person_add_alt_1', 'person_add_disabled', 'person_add_disabled', 'person_filled', 'person_off', 'person_off', 'person_outline', 'person_pin', 'person_pin', 'person_pin_circle', 'person_pin_circle', 'person_remove', 'person_remove', 'person_remove_alt_1', 'person_search', 'person_search', 'personal_injury', 'personal_injury', 'personal_video', 'pest_control', 'pest_control', 'pest_control_rodent', 'pest_control_rodent', 'pets', 'pets', 'phishing', 'phishing', 'phone', 'phone_android', 'phone_android', 'phone_bluetooth_speaker', 'phone_bluetooth_speaker', 'phone_callback', 'phone_callback', 'phone_disabled', 'phone_disabled', 'phone_enabled', 'phone_enabled', 'phone_forwarded', 'phone_forwarded', 'phone_in_talk', 'phone_in_talk', 'phone_iphone', 'phone_iphone', 'phone_locked', 'phone_locked', 'phone_missed', 'phone_missed', 'phone_paused', 'phone_paused', 'phonelink', 'phonelink_erase', 'phonelink_erase', 'phonelink_lock', 'phonelink_lock', 'phonelink_off', 'phonelink_off', 'phonelink_ring', 'phonelink_ring', 'phonelink_setup', 'phonelink_setup', 'photo', 'photo', 'photo_album', 'photo_album', 'photo_camera', 'photo_camera', 'photo_camera_back', 'photo_camera_back', 'photo_camera_front', 'photo_camera_front', 'photo_filter', 'photo_filter', 'photo_frame', 'photo_library', 'photo_library', 'photo_size_select_actual', 'photo_size_select_large', 'photo_size_select_large', 'photo_size_select_small', 'photo_size_select_small', 'php', 'php', 'piano', 'piano', 'piano_off', 'piano_off', 'picture_as_pdf', 'picture_as_pdf', 'picture_in_picture', 'picture_in_picture', 'picture_in_picture_alt', 'picture_in_picture_alt', 'pie_chart', 'pie_chart', 'pie_chart_outline', 'pie_chart_outlined', 'pin', 'pin', 'pin_drop', 'pin_drop', 'pin_end', 'pin_end', 'pin_invoke', 'pin_invoke', 'pinch', 'pinch', 'pinch_zoom_in', 'pinch_zoom_out', 'pivot_table_chart', 'pivot_table_chart', 'pix', 'place', 'place_item', 'plagiarism', 'plagiarism', 'play_arrow', 'play_arrow', 'play_circle', 'play_circle', 'play_circle_filled', 'play_circle_outline', 'play_disabled', 'play_disabled', 'play_for_work', 'play_for_work', 'play_lesson', 'play_lesson', 'play_pause', 'playlist_add', 'playlist_add', 'playlist_add_check', 'playlist_add_check', 'playlist_add_check_circle', 'playlist_add_check_circle', 'playlist_add_circle', 'playlist_add_circle', 'playlist_play', 'playlist_play', 'playlist_remove', 'playlist_remove', 'plumbing', 'plumbing', 'plus_one', 'podcasts', 'podcasts', 'point_of_sale', 'point_of_sale', 'policy', 'policy', 'poll', 'polyline', 'polyline', 'polymer', 'polymer', 'pool', 'pool', 'portable_wifi_off', 'portable_wifi_off', 'portrait', 'post_add', 'post_add', 'potted_plant', 'power', 'power', 'power_input', 'power_input', 'power_off', 'power_off', 'power_rounded', 'power_settings_new', 'power_settings_new', 'precision_manufacturing', 'precision_manufacturing', 'pregnant_woman', 'pregnant_woman', 'present_to_all', 'present_to_all', 'preview', 'preview', 'price_change', 'price_change', 'price_check', 'price_check', 'print', 'print', 'print_disabled', 'print_disabled', 'priority', 'priority_high', 'priority_high', 'privacy', 'privacy_tip', 'privacy_tip', 'private_connectivity', 'private_connectivity', 'production_quantity_limits', 'production_quantity_limits', 'productivity', 'propane', 'propane', 'propane_tank', 'propane_tank', 'psychology', 'psychology', 'psychology_alt', 'psychology_alt', 'public', 'public', 'public_off', 'public_off', 'publish', 'publish', 'published_with_changes', 'published_with_changes', 'punch_clock', 'punch_clock', 'push_pin', 'push_pin', 'qr_code', 'qr_code', 'qr_code_2', 'qr_code_2', 'qr_code_scanner', 'qr_code_scanner', 'query_builder', 'query_stats', 'query_stats', 'question_answer', 'question_mark', 'question_mark', 'queue', 'queue_music', 'queue_music', 'queue_play_next', 'queue_play_next', 'quick_phrases', 'quickreply', 'quickreply', 'quiet_time', 'quiet_time_active', 'quiz', 'quiz', 'r_mobiledata', 'r_mobiledata', 'radar', 'radar', 'radio', 'radio', 'radio_button_checked', 'radio_button_checked', 'radio_button_unchecked', 'radio_button_unchecked', 'radiology', 'railway_alert', 'railway_alert', 'rainy', 'ramen_dining', 'ramen_dining', 'ramp_left', 'ramp_left', 'ramp_right', 'ramp_right', 'range_hood', 'rate_review', 'rate_review', 'raw_off', 'raw_off', 'raw_on', 'raw_on', 'read_more', 'read_more', 'real_estate_agent', 'real_estate_agent', 'receipt', 'receipt', 'receipt_long', 'receipt_long', 'recent_actors', 'recent_actors', 'recommend', 'recommend', 'record_voice_over', 'record_voice_over', 'rectangle', 'rectangle', 'recycling', 'recycling', 'redeem', 'redeem', 'redo', 'redo', 'reduce_capacity', 'reduce_capacity', 'refresh', 'refresh', 'remember_me', 'remember_me', 'remote_gen', 'remove', 'remove', 'remove_circle', 'remove_circle_outline', 'remove_done', 'remove_done', 'remove_from_queue', 'remove_from_queue', 'remove_moderator', 'remove_moderator', 'remove_red_eye', 'remove_road', 'remove_road', 'remove_shopping_cart', 'remove_shopping_cart', 'reorder', 'reorder', 'repartition', 'repartition', 'repeat', 'repeat', 'repeat_on', 'repeat_on', 'repeat_one', 'repeat_one', 'repeat_one_on', 'repeat_one_on', 'replay', 'replay', 'replay_10', 'replay_10', 'replay_30', 'replay_30', 'replay_5', 'replay_5', 'replay_circle_filled', 'replay_circle_filled', 'reply', 'reply', 'reply_all', 'reply_all', 'report', 'report', 'report_gmailerrorred', 'report_off', 'report_off', 'report_problem', 'request_page', 'request_page', 'request_quote', 'request_quote', 'reset_tv', 'reset_tv', 'restart_alt', 'restart_alt', 'restaurant', 'restaurant', 'restaurant_menu', 'restaurant_menu', 'restore', 'restore_from_trash', 'restore_from_trash', 'restore_page', 'restore_page', 'reviews', 'reviews', 'rheumatology', 'rib_cage', 'rice_bowl', 'rice_bowl', 'ring_volume', 'ring_volume', 'rocket', 'rocket', 'rocket_launch', 'rocket_launch', 'roller_shades', 'roller_shades', 'roller_shades_closed', 'roller_shades_closed', 'roller_skating', 'roller_skating', 'roofing', 'roofing', 'room', 'room_preferences', 'room_preferences', 'room_service', 'room_service', 'rotate_90_degrees_ccw', 'rotate_90_degrees_ccw', 'rotate_90_degrees_cw', 'rotate_90_degrees_cw', 'rotate_left', 'rotate_left', 'rotate_right', 'rotate_right', 'roundabout_left', 'roundabout_left', 'roundabout_right', 'roundabout_right', 'rounded_corner', 'rounded_corner', 'route', 'route', 'router', 'router', 'routine', 'rowing', 'rowing', 'rss_feed', 'rss_feed', 'rsvp', 'rsvp', 'rtt', 'rtt', 'rule', 'rule', 'rule_folder', 'rule_folder', 'run_circle', 'run_circle', 'running_with_errors', 'running_with_errors', 'rv_hookup', 'rv_hookup', 'safety_check', 'safety_check', 'safety_divider', 'safety_divider', 'sailing', 'sailing', 'sanitizer', 'sanitizer', 'satellite', 'satellite', 'satellite_alt', 'satellite_alt', 'save', 'save', 'save_alt', 'save_as', 'save_as', 'saved_search', 'saved_search', 'savings', 'savings', 'scale', 'scale', 'scanner', 'scanner', 'scatter_plot', 'scatter_plot', 'scene', 'schedule', 'schedule', 'schedule_send', 'schedule_send', 'schema', 'schema', 'school', 'school', 'science', 'science', 'score', 'score', 'scoreboard', 'scoreboard', 'screen_lock_landscape', 'screen_lock_landscape', 'screen_lock_portrait', 'screen_lock_portrait', 'screen_lock_rotation', 'screen_lock_rotation', 'screen_rotation', 'screen_rotation', 'screen_rotation_alt', 'screen_rotation_alt', 'screen_search_desktop', 'screen_search_desktop', 'screen_share', 'screen_share', 'screenshot', 'screenshot', 'screenshot_monitor', 'screenshot_monitor', 'scuba_diving', 'scuba_diving', 'sd', 'sd', 'sd_card', 'sd_card', 'sd_card_alert', 'sd_card_alert', 'sd_storage', 'search', 'search', 'search_off', 'search_off', 'security', 'security', 'security_update', 'security_update_good', 'security_update_good', 'security_update_warning', 'security_update_warning', 'segment', 'segment', 'select_all', 'select_all', 'select_check_box', 'self_improvement', 'self_improvement', 'sell', 'sell', 'send', 'send', 'send_and_archive', 'send_and_archive', 'send_time_extension', 'send_time_extension', 'send_to_mobile', 'send_to_mobile', 'sensor_door', 'sensor_door', 'sensor_occupied', 'sensor_occupied', 'sensor_window', 'sensor_window', 'sensors', 'sensors', 'sensors_off', 'sensors_off', 'sentiment_dissatisfied', 'sentiment_dissatisfied', 'sentiment_extremely_dissatisfied', 'sentiment_neutral', 'sentiment_neutral', 'sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied_alt', 'sentiment_very_dissatisfied', 'sentiment_very_dissatisfied', 'sentiment_very_satisfied', 'sentiment_very_satisfied', 'set_meal', 'set_meal', 'settings', 'settings', 'settings_accessibility', 'settings_accessibility', 'settings_alert', 'settings_applications', 'settings_applications', 'settings_backup_restore', 'settings_backup_restore', 'settings_bluetooth', 'settings_bluetooth', 'settings_brightness', 'settings_brightness', 'settings_cell', 'settings_cell', 'settings_ethernet', 'settings_ethernet', 'settings_input_antenna', 'settings_input_antenna', 'settings_input_component', 'settings_input_component', 'settings_input_composite', 'settings_input_hdmi', 'settings_input_hdmi', 'settings_input_svideo', 'settings_input_svideo', 'settings_overscan', 'settings_overscan', 'settings_phone', 'settings_phone', 'settings_power', 'settings_power', 'settings_remote', 'settings_remote', 'settings_suggest', 'settings_suggest', 'settings_system_daydream', 'settings_system_daydream', 'settings_voice', 'settings_voice', 'settop_component', 'severe_cold', 'severe_cold', 'shape_line', 'shape_line', 'share', 'share', 'share_location', 'share_location', 'share_reviews', 'shield', 'shield', 'shield_moon', 'shield_moon', 'shield_with_heart', 'shield_with_house', 'shop', 'shop', 'shop_2', 'shop_two', 'shop_two', 'shopping_bag', 'shopping_bag', 'shopping_basket', 'shopping_basket', 'shopping_cart', 'shopping_cart', 'shopping_cart_checkout', 'shopping_cart_checkout', 'short_text', 'short_text', 'shortcut', 'show_chart', 'show_chart', 'shower', 'shower', 'shuffle', 'shuffle', 'shuffle_on', 'shuffle_on', 'shutter_speed', 'shutter_speed', 'sick', 'sick', 'sign_language', 'sign_language', 'signal_cellular_0_bar', 'signal_cellular_0_bar', 'signal_cellular_1_bar', 'signal_cellular_1_bar', 'signal_cellular_2_bar', 'signal_cellular_2_bar', 'signal_cellular_3_bar', 'signal_cellular_3_bar', 'signal_cellular_4_bar', 'signal_cellular_4_bar', 'signal_cellular_alt', 'signal_cellular_alt', 'signal_cellular_alt_1_bar', 'signal_cellular_alt_1_bar', 'signal_cellular_alt_2_bar', 'signal_cellular_alt_2_bar', 'signal_cellular_connected_no_internet_0_bar', 'signal_cellular_connected_no_internet_0_bar', 'signal_cellular_connected_no_internet_1_bar', 'signal_cellular_connected_no_internet_2_bar', 'signal_cellular_connected_no_internet_3_bar', 'signal_cellular_connected_no_internet_4_bar', 'signal_cellular_connected_no_internet_4_bar', 'signal_cellular_no_sim', 'signal_cellular_nodata', 'signal_cellular_nodata', 'signal_cellular_null', 'signal_cellular_null', 'signal_cellular_off', 'signal_cellular_off', 'signal_disconnected', 'signal_wifi_0_bar', 'signal_wifi_0_bar', 'signal_wifi_1_bar', 'signal_wifi_1_bar_lock', 'signal_wifi_2_bar', 'signal_wifi_2_bar_lock', 'signal_wifi_3_bar', 'signal_wifi_3_bar_lock', 'signal_wifi_4_bar', 'signal_wifi_4_bar', 'signal_wifi_4_bar_lock', 'signal_wifi_bad', 'signal_wifi_bad', 'signal_wifi_connected_no_internet_0', 'signal_wifi_connected_no_internet_1', 'signal_wifi_connected_no_internet_2', 'signal_wifi_connected_no_internet_3', 'signal_wifi_connected_no_internet_4', 'signal_wifi_off', 'signal_wifi_off', 'signal_wifi_statusbar_1_bar', 'signal_wifi_statusbar_2_bar', 'signal_wifi_statusbar_3_bar', 'signal_wifi_statusbar_4_bar', 'signal_wifi_statusbar_connected_no_internet', 'signal_wifi_statusbar_connected_no_internet_1', 'signal_wifi_statusbar_connected_no_internet_2', 'signal_wifi_statusbar_connected_no_internet_3', 'signal_wifi_statusbar_connected_no_internet_4', 'signal_wifi_statusbar_not_connected', 'signal_wifi_statusbar_not_connected', 'signal_wifi_statusbar_null', 'signal_wifi_statusbar_null', 'signpost', 'signpost', 'sim_card', 'sim_card', 'sim_card_alert', 'sim_card_download', 'sim_card_download', 'single_bed', 'single_bed', 'sip', 'sip', 'skateboarding', 'skateboarding', 'skeleton', 'skip_next', 'skip_next', 'skip_previous', 'skip_previous', 'skull', 'sledding', 'sledding', 'slideshow', 'slideshow', 'slow_motion_video', 'slow_motion_video', 'smart_button', 'smart_button', 'smart_display', 'smart_display', 'smart_outlet', 'smart_screen', 'smart_screen', 'smart_toy', 'smart_toy', 'smartphone', 'smartphone', 'smoke_free', 'smoke_free', 'smoking_rooms', 'smoking_rooms', 'sms', 'sms', 'sms_failed', 'sms_failed', 'snippet_folder', 'snippet_folder', 'snooze', 'snooze', 'snowboarding', 'snowboarding', 'snowing', 'snowing', 'snowmobile', 'snowmobile', 'snowshoeing', 'snowshoeing', 'soap', 'soap', 'social_distance', 'social_distance', 'solar_power', 'solar_power', 'sort', 'sort', 'sort_by_alpha', 'sort_by_alpha', 'sos', 'sos', 'sound_detection_dog_barking', 'sound_detection_glass_break', 'sound_detection_loud_sound', 'soup_kitchen', 'soup_kitchen', 'source', 'south', 'south', 'south_america', 'south_america', 'south_east', 'south_east', 'south_west', 'south_west', 'spa', 'spa', 'space_bar', 'space_bar', 'space_dashboard', 'space_dashboard', 'spatial_audio', 'spatial_audio', 'spatial_audio_off', 'spatial_audio_off', 'spatial_tracking', 'spatial_tracking', 'speaker', 'speaker', 'speaker_group', 'speaker_group', 'speaker_notes', 'speaker_notes', 'speaker_notes_off', 'speaker_notes_off', 'speaker_phone', 'speaker_phone', 'speech_to_text', 'speed', 'speed', 'spellcheck', 'spellcheck', 'splitscreen', 'splitscreen', 'spoke', 'spoke', 'sports', 'sports', 'sports_bar', 'sports_bar', 'sports_baseball', 'sports_baseball', 'sports_basketball', 'sports_basketball', 'sports_cricket', 'sports_cricket', 'sports_esports', 'sports_esports', 'sports_football', 'sports_football', 'sports_golf', 'sports_golf', 'sports_gymnastics', 'sports_gymnastics', 'sports_handball', 'sports_handball', 'sports_hockey', 'sports_hockey', 'sports_kabaddi', 'sports_kabaddi', 'sports_martial_arts', 'sports_martial_arts', 'sports_mma', 'sports_mma', 'sports_motorsports', 'sports_motorsports', 'sports_rugby', 'sports_rugby', 'sports_score', 'sports_score', 'sports_soccer', 'sports_soccer', 'sports_tennis', 'sports_tennis', 'sports_volleyball', 'sports_volleyball', 'sprinkler', 'square', 'square', 'square_foot', 'square_foot', 'ssid_chart', 'ssid_chart', 'stacked_bar_chart', 'stacked_bar_chart', 'stacked_line_chart', 'stacked_line_chart', 'stadia_controller', 'stadium', 'stadium', 'stairs', 'stairs', 'star', 'star', 'star_border', 'star_border_purple500', 'star_half', 'star_half', 'star_outline', 'star_purple500', 'star_rate', 'stars', 'stars', 'start', 'start', 'stay_current_landscape', 'stay_current_landscape', 'stay_current_portrait', 'stay_current_portrait', 'stay_primary_landscape', 'stay_primary_landscape', 'stay_primary_portrait', 'stay_primary_portrait', 'sticky_note_2', 'sticky_note_2', 'stop', 'stop', 'stop_circle', 'stop_circle', 'stop_screen_share', 'stop_screen_share', 'storage', 'storage', 'store', 'store', 'store_mall_directory', 'storefront', 'storefront', 'storm', 'storm', 'straight', 'straight', 'straighten', 'straighten', 'stream', 'stream', 'streetview', 'streetview', 'strikethrough_s', 'strikethrough_s', 'stroller', 'stroller', 'style', 'style', 'styler', 'subdirectory_arrow_left', 'subdirectory_arrow_left', 'subdirectory_arrow_right', 'subdirectory_arrow_right', 'subject', 'subject', 'subscript', 'subscript', 'subscriptions', 'subscriptions', 'subtitles', 'subtitles', 'subtitles_off', 'subtitles_off', 'subway', 'subway', 'summarize', 'summarize', 'sunny', 'sunny', 'sunny_snowing', 'sunny_snowing', 'superscript', 'superscript', 'supervised_user_circle', 'supervised_user_circle', 'supervisor_account', 'supervisor_account', 'support', 'support', 'support_agent', 'support_agent', 'surfing', 'surfing', 'surround_sound', 'surround_sound', 'swap_calls', 'swap_calls', 'swap_horiz', 'swap_horiz', 'swap_horizontal_circle', 'swap_horizontal_circle', 'swap_vert', 'swap_vert', 'swap_vertical_circle', 'swap_vertical_circle', 'swipe', 'swipe', 'swipe_down', 'swipe_down', 'swipe_down_alt', 'swipe_down_alt', 'swipe_left', 'swipe_left', 'swipe_left_alt', 'swipe_left_alt', 'swipe_right', 'swipe_right', 'swipe_right_alt', 'swipe_right_alt', 'swipe_up', 'swipe_up', 'swipe_up_alt', 'swipe_up_alt', 'swipe_vertical', 'swipe_vertical', 'switch', 'switch_access_shortcut', 'switch_access_shortcut', 'switch_access_shortcut_add', 'switch_access_shortcut_add', 'switch_account', 'switch_account', 'switch_camera', 'switch_camera', 'switch_left', 'switch_left', 'switch_right', 'switch_right', 'switch_video', 'switch_video', 'swords', 'synagogue', 'synagogue', 'sync', 'sync', 'sync_alt', 'sync_alt', 'sync_disabled', 'sync_disabled', 'sync_lock', 'sync_lock', 'sync_problem', 'sync_problem', 'system_security_update', 'system_security_update_good', 'system_security_update_warning', 'system_update', 'system_update', 'system_update_alt', 'system_update_alt', 'tab', 'tab', 'tab_unselected', 'tab_unselected', 'table', 'table_bar', 'table_bar', 'table_chart', 'table_chart', 'table_restaurant', 'table_restaurant', 'table_rows', 'table_rows', 'table_view', 'table_view', 'tablet', 'tablet', 'tablet_android', 'tablet_android', 'tablet_mac', 'tablet_mac', 'tag', 'tag', 'tag_faces', 'takeout_dining', 'takeout_dining', 'tamper_detection_off', 'tamper_detection_on', 'tap_and_play', 'tap_and_play', 'tapas', 'tapas', 'task', 'task', 'task_alt', 'task_alt', 'taxi_alert', 'taxi_alert', 'team_dashboard', 'temp_preferences_custom', 'temp_preferences_eco', 'temple_buddhist', 'temple_buddhist', 'temple_hindu', 'temple_hindu', 'tenancy', 'terminal', 'terminal', 'terrain', 'text_decrease', 'text_decrease', 'text_fields', 'text_fields', 'text_format', 'text_format', 'text_increase', 'text_increase', 'text_rotate_up', 'text_rotate_up', 'text_rotate_vertical', 'text_rotate_vertical', 'text_rotation_angledown', 'text_rotation_angledown', 'text_rotation_angleup', 'text_rotation_angleup', 'text_rotation_down', 'text_rotation_down', 'text_rotation_none', 'text_rotation_none', 'text_snippet', 'text_snippet', 'text_to_speech', 'textsms', 'texture', 'texture', 'theater_comedy', 'theater_comedy', 'theaters', 'theaters', 'thermometer', 'thermostat', 'thermostat', 'thermostat_auto', 'thermostat_auto', 'thermostat_carbon', 'thumb_down', 'thumb_down', 'thumb_down_alt', 'thumb_down_off', 'thumb_down_off_alt', 'thumb_up', 'thumb_up', 'thumb_up_alt', 'thumb_up_off', 'thumb_up_off_alt', 'thumbs_up_down', 'thumbs_up_down', 'thunderstorm', 'thunderstorm', 'tibia', 'tibia_alt', 'time_auto', 'time_to_leave', 'timelapse', 'timelapse', 'timeline', 'timeline', 'timer', 'timer', 'timer_10', 'timer_10', 'timer_10_alt_1', 'timer_10_select', 'timer_10_select', 'timer_3', 'timer_3', 'timer_3_alt_1', 'timer_3_select', 'timer_3_select', 'timer_off', 'timer_off', 'tips_and_updates', 'tips_and_updates', 'tire_repair', 'tire_repair', 'title', 'title', 'toc', 'toc', 'today', 'today', 'toggle_off', 'toggle_off', 'toggle_on', 'toggle_on', 'token', 'token', 'toll', 'toll', 'tonality', 'tonality', 'tools_flat_head', 'tools_installation_kit', 'tools_ladder', 'tools_level', 'tools_phillips', 'tools_pliers_wire_stripper', 'tools_power_drill', 'tools_wrench', 'topic', 'topic', 'tornado', 'tornado', 'touch_app', 'touch_app', 'tour', 'tour', 'toys', 'toys', 'toys_fan', 'track_changes', 'track_changes', 'traffic', 'traffic', 'trail_length', 'trail_length_medium', 'trail_length_short', 'train', 'train', 'tram', 'tram', 'transcribe', 'transcribe', 'transfer_within_a_station', 'transfer_within_a_station', 'transform', 'transform', 'transgender', 'transgender', 'transit_enterexit', 'transit_enterexit', 'translate', 'translate', 'transportation', 'travel_explore', 'travel_explore', 'trending_down', 'trending_down', 'trending_flat', 'trending_flat', 'trending_up', 'trending_up', 'trip_origin', 'trip_origin', 'troubleshoot', 'try', 'tsunami', 'tsunami', 'tty', 'tty', 'tune', 'tune', 'tungsten', 'turn_left', 'turn_left', 'turn_right', 'turn_right', 'turn_sharp_left', 'turn_sharp_left', 'turn_sharp_right', 'turn_sharp_right', 'turn_slight_left', 'turn_slight_left', 'turn_slight_right', 'turn_slight_right', 'turned_in', 'turned_in_not', 'tv', 'tv', 'tv_gen', 'tv_off', 'tv_off', 'tv_with_assistant', 'two_wheeler', 'two_wheeler', 'type_specimen', 'type_specimen', 'u_turn_left', 'u_turn_left', 'u_turn_right', 'u_turn_right', 'ulna_radius', 'ulna_radius_alt', 'umbrella', 'umbrella', 'unarchive', 'unarchive', 'undo', 'undo', 'unfold_less', 'unfold_less', 'unfold_less_double', 'unfold_less_double', 'unfold_more', 'unfold_more', 'unfold_more_double', 'unfold_more_double', 'unpublished', 'unpublished', 'unsubscribe', 'unsubscribe', 'upcoming', 'upcoming', 'update', 'update', 'update_disabled', 'update_disabled', 'upgrade', 'upgrade', 'upload', 'upload', 'upload_file', 'upload_file', 'usb', 'usb', 'usb_off', 'usb_off',
|
30461
|
+
// 'vaccines', 'vaccines', 'valve', 'vape_free', 'vape_free', 'vaping_rooms', 'vaping_rooms', 'verified', 'verified', 'verified_user', 'verified_user', 'vertical_align_bottom', 'vertical_align_bottom', 'vertical_align_center', 'vertical_align_center', 'vertical_align_top', 'vertical_align_top', 'vertical_distribute', 'vertical_distribute', 'vertical_shades', 'vertical_shades', 'vertical_shades_closed', 'vertical_shades_closed', 'vertical_split', 'vertical_split', 'vibration', 'vibration', 'video_call', 'video_call', 'video_camera_back', 'video_camera_back', 'video_camera_front', 'video_camera_front', 'video_chat', 'video_chat', 'video_file', 'video_file', 'video_label', 'video_label', 'video_library', 'video_library', 'video_settings', 'video_settings', 'video_stable', 'video_stable', 'videocam', 'videocam', 'videocam_off', 'videocam_off', 'videogame_asset', 'videogame_asset', 'videogame_asset_off', 'videogame_asset_off', 'view_agenda', 'view_agenda', 'view_array', 'view_array', 'view_carousel', 'view_carousel', 'view_column', 'view_column', 'view_comfy', 'view_comfy', 'view_comfy_alt', 'view_comfy_alt', 'view_compact', 'view_compact', 'view_compact_alt', 'view_compact_alt', 'view_cozy', 'view_cozy', 'view_day', 'view_day', 'view_headline', 'view_headline', 'view_in_ar', 'view_in_ar', 'view_in_ar_new', 'view_kanban', 'view_kanban', 'view_list', 'view_list', 'view_module', 'view_module', 'view_quilt', 'view_quilt', 'view_sidebar', 'view_sidebar', 'view_stream', 'view_stream', 'view_timeline', 'view_timeline', 'view_week', 'view_week', 'vignette', 'vignette', 'villa', 'villa', 'visibility', 'visibility', 'visibility_off', 'visibility_off', 'voice_chat', 'voice_chat', 'voice_over_off', 'voice_over_off', 'voicemail', 'voicemail', 'volcano', 'volcano', 'volume_down', 'volume_down', 'volume_down_alt', 'volume_down_alt', 'volume_mute', 'volume_mute', 'volume_off', 'volume_off', 'volume_up', 'volume_up', 'volunteer_activism', 'volunteer_activism', 'vpn_key', 'vpn_key', 'vpn_key_off', 'vpn_key_off', 'vpn_lock', 'vpn_lock', 'vrpano', 'vrpano',
|
30462
|
+
// 'wallet', 'wallet', 'wallpaper', 'wallpaper', 'warehouse', 'warehouse', 'warning', 'warning', 'warning_amber', 'wash', 'wash', 'watch', 'watch', 'watch_later', 'watch_off', 'watch_off', 'water', 'water', 'water_damage', 'water_damage', 'water_drop', 'water_drop', 'water_heater', 'waterfall_chart', 'waterfall_chart', 'waves', 'waves', 'waving_hand', 'waving_hand', 'wb_auto', 'wb_auto', 'wb_cloudy', 'wb_incandescent', 'wb_incandescent', 'wb_iridescent', 'wb_iridescent', 'wb_shade', 'wb_shade', 'wb_sunny', 'wb_sunny', 'wb_twighlight', 'wb_twilight', 'wb_twilight', 'wc', 'wc', 'weather_snowy', 'web', 'web', 'web_asset', 'web_asset', 'web_asset_off', 'web_asset_off', 'web_stories', 'web_stories', 'webhook', 'webhook', 'weekend', 'weekend', 'weight', 'west', 'west', 'whatsapp', 'whatshot', 'whatshot', 'wheelchair_pickup', 'wheelchair_pickup', 'where_to_vote', 'where_to_vote', 'widgets', 'widgets', 'width_full', 'width_full', 'width_normal', 'width_normal', 'width_wide', 'width_wide', 'wifi', 'wifi', 'wifi_1_bar', 'wifi_1_bar', 'wifi_2_bar', 'wifi_2_bar', 'wifi_calling', 'wifi_calling', 'wifi_calling_1', 'wifi_calling_1', 'wifi_calling_2', 'wifi_calling_2', 'wifi_calling_3', 'wifi_calling_3', 'wifi_channel', 'wifi_channel', 'wifi_find', 'wifi_find', 'wifi_lock', 'wifi_lock', 'wifi_off', 'wifi_off', 'wifi_password', 'wifi_password', 'wifi_protected_setup', 'wifi_protected_setup', 'wifi_tethering', 'wifi_tethering', 'wifi_tethering_error', 'wifi_tethering_error', 'wifi_tethering_off', 'wifi_tethering_off', 'wind_power', 'wind_power', 'window', 'window', 'window_closed', 'window_open', 'window_sensor', 'wine_bar', 'wine_bar', 'woman', 'woman', 'woman_2', 'woman_2', 'work', 'work', 'work_history', 'work_history', 'work_off', 'work_outline', 'workspace_premium', 'workspace_premium', 'workspaces', 'workspaces', 'workspaces_filled', 'workspaces_outline', 'wrap_text', 'wrap_text', 'wrong_location', 'wrong_location', 'wysiwyg', 'wysiwyg',
|
30463
|
+
// 'yard', 'yard', 'youtube_searched_for', 'youtube_searched_for', 'zone_person_alert', 'zone_person_idle', 'zone_person_urgent', 'zoom_in', 'zoom_in', 'zoom_in_map', 'zoom_in_map', 'zoom_out', 'zoom_out', 'zoom_out_map', 'zoom_out_map'];
|
30445
30464
|
class DesignerRef {
|
30446
30465
|
constructor(_model) {
|
30447
30466
|
this._model = _model;
|
@@ -30454,6 +30473,8 @@ class DesignerElementComponent {
|
|
30454
30473
|
this._ref = _ref;
|
30455
30474
|
this.change = new EventEmitter();
|
30456
30475
|
}
|
30476
|
+
ngOnInit() {
|
30477
|
+
}
|
30457
30478
|
get args() { return this.model.options; }
|
30458
30479
|
}
|
30459
30480
|
DesignerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerElementComponent, deps: [{ token: i2$1.FormBuilder }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
@@ -30466,6 +30487,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
30466
30487
|
}] }]; }, propDecorators: { change: [{
|
30467
30488
|
type: Output
|
30468
30489
|
}] } });
|
30490
|
+
class DesignerTypeElementComponent extends DesignerElementComponent {
|
30491
|
+
constructor() {
|
30492
|
+
super(...arguments);
|
30493
|
+
this.form = this._fb.group({
|
30494
|
+
name: this._fb.control(null, Validators.required),
|
30495
|
+
title: this._fb.control(null, Validators.required),
|
30496
|
+
});
|
30497
|
+
}
|
30498
|
+
assignargs(evt) {
|
30499
|
+
Object.assign(this.args, evt);
|
30500
|
+
this.change.emit();
|
30501
|
+
}
|
30502
|
+
ngOnInit() {
|
30503
|
+
const { name, title } = this.form.controls;
|
30504
|
+
this.model.draft && title.valueChanges.pipe().subscribe((t) => {
|
30505
|
+
t && name.setValue(programName(t));
|
30506
|
+
});
|
30507
|
+
}
|
30508
|
+
}
|
30509
|
+
DesignerTypeElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerTypeElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
30510
|
+
DesignerTypeElementComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: DesignerTypeElementComponent, usesInheritance: true, ngImport: i0 });
|
30511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerTypeElementComponent, decorators: [{
|
30512
|
+
type: Directive
|
30513
|
+
}] });
|
30514
|
+
function programName(name) {
|
30515
|
+
return name.
|
30516
|
+
replace(/[A-Z]+/g, (c, i) => (i > 0 ? '-' : '') + c.toLowerCase()).
|
30517
|
+
replace(' ', '_');
|
30518
|
+
}
|
30519
|
+
/** */
|
30469
30520
|
class DesignerCubeElementComponent extends DesignerElementComponent {
|
30470
30521
|
constructor(fb, ref) {
|
30471
30522
|
super(fb, ref);
|
@@ -30500,10 +30551,13 @@ class DesignerCubeElementComponent extends DesignerElementComponent {
|
|
30500
30551
|
this._forthAxes(evt.value);
|
30501
30552
|
}
|
30502
30553
|
ngOnInit() {
|
30554
|
+
super.ngOnInit();
|
30503
30555
|
const cubeId = this.args['cube'];
|
30504
30556
|
this.cube = !cubeId ? this.cubes[0] : this.cubes.find(c => c.name === cubeId);
|
30505
|
-
|
30506
|
-
|
30557
|
+
if (this.args['xAxis']) {
|
30558
|
+
this._secondaryAxes(this.args['xAxis']);
|
30559
|
+
this.args['series'] && this._thirdAxes(this.args['series']);
|
30560
|
+
}
|
30507
30561
|
}
|
30508
30562
|
}
|
30509
30563
|
DesignerCubeElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerCubeElementComponent, deps: [{ token: i2$1.FormBuilder }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
@@ -30567,10 +30621,10 @@ class DesignerItemComponent {
|
|
30567
30621
|
}
|
30568
30622
|
}
|
30569
30623
|
DesignerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerItemComponent, deps: [{ token: i0.Injector }, { token: PaneRef, optional: true }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
30570
|
-
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { editMode: "editMode", template: "template", model: "model", designer: "designer" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "_container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<span></span><ng-container #container></ng-container>', isInline: true, styles: [":host{flex:1}::ng-deep form{padding:8px}\n"] });
|
30624
|
+
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { editMode: "editMode", template: "template", model: "model", designer: "designer" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "_container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<span></span><ng-container #container></ng-container>', isInline: true, styles: [":host{flex:1}::ng-deep form{padding:8px}::ng-deep .flex{flex:1}\n"] });
|
30571
30625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DesignerItemComponent, decorators: [{
|
30572
30626
|
type: Component,
|
30573
|
-
args: [{ selector: 'bizdoc-designer-element', template: '<span></span><ng-container #container></ng-container>', styles: [":host{flex:1}::ng-deep form{padding:8px}\n"] }]
|
30627
|
+
args: [{ selector: 'bizdoc-designer-element', template: '<span></span><ng-container #container></ng-container>', styles: [":host{flex:1}::ng-deep form{padding:8px}::ng-deep .flex{flex:1}\n"] }]
|
30574
30628
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: PaneRef, decorators: [{
|
30575
30629
|
type: Optional
|
30576
30630
|
}] }, { type: BizDocComponentFactoryResolver }]; }, propDecorators: { editMode: [{
|
@@ -30590,8 +30644,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
30590
30644
|
|
30591
30645
|
/** */
|
30592
30646
|
let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
30593
|
-
constructor(_panes, _ref) {
|
30647
|
+
constructor(_panes, _ps, _ref) {
|
30594
30648
|
this._panes = _panes;
|
30649
|
+
this._ps = _ps;
|
30595
30650
|
this._ref = _ref;
|
30596
30651
|
this.loading = true;
|
30597
30652
|
this.saving = false;
|
@@ -30601,19 +30656,19 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
30601
30656
|
this._ref.populate().subscribe(r => {
|
30602
30657
|
this.model = r;
|
30603
30658
|
this.sections = [
|
30604
|
-
{ elements: r.forms, type: 'Forms', template: 'form-designer' },
|
30605
|
-
{ elements: r.actions, type: 'Actions', template: 'action-designer' },
|
30606
|
-
{ elements: r.reports, type: 'Reports', template: 'report-designer' },
|
30607
|
-
{ elements: r.widgets, type: 'Widgets', template: 'widget-designer' },
|
30659
|
+
{ elements: r.forms, type: 'Forms', template: 'form-designer', templates: r.tForms },
|
30660
|
+
{ elements: r.actions, type: 'Actions', template: 'action-designer', templates: r.tActions },
|
30661
|
+
{ elements: r.reports, type: 'Reports', template: 'report-designer', templates: r.tReports },
|
30662
|
+
{ elements: r.widgets, type: 'Widgets', template: 'widget-designer', templates: r.tWidgets },
|
30608
30663
|
{ elements: r.views, type: 'Views', template: 'view-designer' },
|
30609
|
-
{ elements: r.guides, type: 'Guides', template: 'guide-designer' },
|
30610
|
-
{ elements: r.cubes, type: 'Cubes', template: 'cube-designer' },
|
30611
|
-
{ elements: r.folders, type: 'Folders', template: 'folder-designer' },
|
30612
|
-
{ elements: r.roles, type: 'Roles', template: 'role-designer' },
|
30613
|
-
{ elements: r.states, type: 'States', template: 'state-designer' },
|
30614
|
-
{ elements: r.utilities, type: 'Utilities', template: 'utility-designer' },
|
30615
|
-
{ elements: r.types, type: 'Types', template: 'type-designer' },
|
30616
|
-
{ elements: r.rules, type: 'Rules', template: 'rule-designer' },
|
30664
|
+
{ elements: r.guides, type: 'Guides', template: 'guide-designer', templates: [{}] },
|
30665
|
+
{ elements: r.cubes, type: 'Cubes', template: 'cube-designer', templates: r.tCubes },
|
30666
|
+
{ elements: r.folders, type: 'Folders', template: 'folder-designer', templates: [{}] },
|
30667
|
+
{ elements: r.roles, type: 'Roles', template: 'role-designer', templates: [{}] },
|
30668
|
+
{ elements: r.states, type: 'States', template: 'state-designer', templates: [{}] },
|
30669
|
+
{ elements: r.utilities, type: 'Utilities', template: 'utility-designer', templates: r.tUtilities },
|
30670
|
+
{ elements: r.types, type: 'Types', template: 'type-designer', templates: r.tTypes },
|
30671
|
+
{ elements: r.rules, type: 'Rules', template: 'rule-designer', templates: r.tRules },
|
30617
30672
|
];
|
30618
30673
|
this.loading = false;
|
30619
30674
|
});
|
@@ -30621,24 +30676,57 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
30621
30676
|
drop(event) {
|
30622
30677
|
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
30623
30678
|
}
|
30679
|
+
/**
|
30680
|
+
* Ctrl-s save
|
30681
|
+
* @param event
|
30682
|
+
*/
|
30683
|
+
handleKeyboardEvent(event) {
|
30684
|
+
if (this.dirty && event.ctrlKey && (event.which === 83 || event.which === 115)) {
|
30685
|
+
this.save();
|
30686
|
+
event.preventDefault();
|
30687
|
+
}
|
30688
|
+
}
|
30624
30689
|
discard(section, element) {
|
30625
30690
|
;
|
30626
30691
|
}
|
30692
|
+
create(section) {
|
30693
|
+
if (section.templates.length === 1) {
|
30694
|
+
const [template] = section.templates, element = {
|
30695
|
+
type: template.type,
|
30696
|
+
name: template.title ? this._uniqueName(programName(template.title), section) : null,
|
30697
|
+
title: template.title ? this._uniqueTitle(template.title, section) : null,
|
30698
|
+
draft: true,
|
30699
|
+
template: template.template
|
30700
|
+
};
|
30701
|
+
section.elements.push(element);
|
30702
|
+
this.edit(element, section.template);
|
30703
|
+
}
|
30704
|
+
else { }
|
30705
|
+
}
|
30627
30706
|
copy(section, element) {
|
30628
|
-
|
30629
|
-
|
30630
|
-
|
30707
|
+
section.elements.splice(section.elements.indexOf(element) + 1, 0, Object.assign(JSON.parse(JSON.stringify(element)), {
|
30708
|
+
copyOf: element.name,
|
30709
|
+
name: this._uniqueName(element.name, section),
|
30710
|
+
title: this._uniqueTitle(element.title, section),
|
30711
|
+
draft: true
|
30712
|
+
}));
|
30713
|
+
this.dirty = true;
|
30714
|
+
}
|
30715
|
+
_uniqueName(name, section) {
|
30716
|
+
let i = name.lastIndexOf('_'), n = 0, val;
|
30717
|
+
do {
|
30631
30718
|
n++;
|
30632
|
-
|
30633
|
-
}
|
30634
|
-
|
30635
|
-
|
30636
|
-
|
30719
|
+
val = (i < 0 || isNaN(parseInt(name.substr(i))) ? name : name.substr(0, i + 1)) + '_' + n;
|
30720
|
+
} while (section.elements.find(e => e.name === val));
|
30721
|
+
return val;
|
30722
|
+
}
|
30723
|
+
_uniqueTitle(title, section) {
|
30724
|
+
let i = title.lastIndexOf(' '), n = 0, val;
|
30725
|
+
do {
|
30637
30726
|
n++;
|
30638
|
-
|
30639
|
-
}
|
30640
|
-
|
30641
|
-
this.dirty = true;
|
30727
|
+
val = (i < 0 || isNaN(parseInt(title.substr(i))) ? title : title.substr(0, i - 1)) + ' ' + n;
|
30728
|
+
} while (section.elements.find(e => e.title === val));
|
30729
|
+
return val;
|
30642
30730
|
}
|
30643
30731
|
edit(element, template) {
|
30644
30732
|
this._panes.navigate(DesignerItemComponent, {
|
@@ -30659,43 +30747,169 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
30659
30747
|
}
|
30660
30748
|
save() {
|
30661
30749
|
this.saving = true;
|
30662
|
-
this.sections.forEach(s => s.elements.forEach(e =>
|
30663
|
-
|
30750
|
+
this.sections.forEach(s => s.elements.forEach(e => {
|
30751
|
+
if (e.privileges && !Object.keys(e.privileges).length)
|
30752
|
+
delete e.privileges;
|
30753
|
+
e.options = cleanup(e.options);
|
30754
|
+
}));
|
30755
|
+
return this._ref.execute(this.model).toPromise().then(() => {
|
30756
|
+
this._ps.toast('ChangesSaved');
|
30757
|
+
this.saving = false;
|
30758
|
+
}, () => {
|
30759
|
+
this._ps.error();
|
30760
|
+
this.saving = false;
|
30761
|
+
});
|
30664
30762
|
}
|
30665
30763
|
};
|
30666
|
-
ConfigurationDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: PanesRouter }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component });
|
30667
|
-
ConfigurationDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ConfigurationDesignerComponent, selector: "ng-component", ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\" (change)=\"dirty = true\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n
|
30764
|
+
ConfigurationDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: PanesRouter }, { token: PromptService }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component });
|
30765
|
+
ConfigurationDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ConfigurationDesignerComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\" (change)=\"dirty = true\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n <!--<ng-container *ngIf=\"e.section !== 'utilities' || e.name !== model.utilityName\">\r\n </ng-container>-->\r\n <button mat-icon-button (click)=\"copy(s, e)\" *ngIf=\"!e.copyOf\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"s.elements.remove(e)\" *ngIf=\"e.draft || e.empty\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"edit(e, s.template)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <div class=\"compose-element\" *ngIf=\"s.templates?.length\" matRipple>\r\n <button mat-icon-button (click)=\"create(s)\" [bizdocTooltip]=\"'New'|translate\" disableRipple=\"true\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section h2{margin:0 8px;position:sticky}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .compose-element{border:2px dashed gray;min-width:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .compose-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-card{margin:0 6px 6px}:host ::ng-deep .mat-card button{opacity:.1}:host ::ng-deep .mat-card:hover button{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11$1.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: i11$1.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: "component", type: i17.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i17.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i17.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i17.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i17.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i8$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.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: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["editMode", "template", "model", "designer"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [itemAnimation] });
|
30668
30766
|
ConfigurationDesignerComponent = __decorate([
|
30669
30767
|
BizDoc({ selector: 'bizdoc-configuration-designer' })
|
30670
30768
|
], ConfigurationDesignerComponent);
|
30671
30769
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, decorators: [{
|
30672
30770
|
type: Component,
|
30673
|
-
args: [{ animations: [itemAnimation], template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\" (change)=\"dirty = true\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n
|
30674
|
-
}], ctorParameters: function () { return [{ type: PanesRouter }, { type: UtilityRef }]; }
|
30771
|
+
args: [{ animations: [itemAnimation], template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\" (change)=\"dirty = true\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n <!--<ng-container *ngIf=\"e.section !== 'utilities' || e.name !== model.utilityName\">\r\n </ng-container>-->\r\n <button mat-icon-button (click)=\"copy(s, e)\" *ngIf=\"!e.copyOf\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"s.elements.remove(e)\" *ngIf=\"e.draft || e.empty\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"edit(e, s.template)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <div class=\"compose-element\" *ngIf=\"s.templates?.length\" matRipple>\r\n <button mat-icon-button (click)=\"create(s)\" [bizdocTooltip]=\"'New'|translate\" disableRipple=\"true\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section h2{margin:0 8px;position:sticky}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .compose-element{border:2px dashed gray;min-width:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .compose-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-card{margin:0 6px 6px}:host ::ng-deep .mat-card button{opacity:.1}:host ::ng-deep .mat-card:hover button{opacity:1}\n"] }]
|
30772
|
+
}], ctorParameters: function () { return [{ type: PanesRouter }, { type: PromptService }, { type: UtilityRef }]; }, propDecorators: { handleKeyboardEvent: [{
|
30773
|
+
type: HostListener,
|
30774
|
+
args: ['document:keydown', ['$event']]
|
30775
|
+
}] } });
|
30776
|
+
function cleanup(params) {
|
30777
|
+
if (!params)
|
30778
|
+
return null;
|
30779
|
+
Object.keys(params).forEach(k => {
|
30780
|
+
const val = params[k];
|
30781
|
+
if (val === null || val === undefined || (isArray(val) && !val.length))
|
30782
|
+
delete params[k];
|
30783
|
+
else if (isObject(val))
|
30784
|
+
params[k] = cleanup(val);
|
30785
|
+
});
|
30786
|
+
if (!Object.keys(params).length)
|
30787
|
+
return null;
|
30788
|
+
return params;
|
30789
|
+
}
|
30675
30790
|
|
30676
30791
|
/** */
|
30677
30792
|
let FormDesignerComponent = class FormDesignerComponent {
|
30678
|
-
constructor(_fb, _session, _ref) {
|
30793
|
+
constructor(_fb, _pane, _cd, _ps, _session, _ref) {
|
30679
30794
|
this._fb = _fb;
|
30795
|
+
this._pane = _pane;
|
30796
|
+
this._cd = _cd;
|
30797
|
+
this._ps = _ps;
|
30680
30798
|
this._session = _session;
|
30681
30799
|
this._ref = _ref;
|
30682
30800
|
this.loading = true;
|
30683
30801
|
this.tools = true;
|
30684
30802
|
this.saving = false;
|
30803
|
+
this.history = [];
|
30804
|
+
this.historyIndex = 0;
|
30685
30805
|
this.form = this._fb.group({
|
30686
|
-
|
30687
|
-
|
30688
|
-
|
30806
|
+
subject: null,
|
30807
|
+
value: null,
|
30808
|
+
cube: null,
|
30809
|
+
summary: null,
|
30689
30810
|
});
|
30811
|
+
this.dirty = false;
|
30812
|
+
this.settings = false;
|
30813
|
+
this.datatypes = this._session.profile.types;
|
30814
|
+
this.cubes = this._session.profile.cubes;
|
30690
30815
|
}
|
30691
30816
|
ngOnInit() {
|
30692
|
-
this.
|
30693
|
-
|
30694
|
-
this.
|
30817
|
+
this._pane.queryParamsChange.subscribe(p => {
|
30818
|
+
const { formId } = p;
|
30819
|
+
formId && this._open(formId);
|
30820
|
+
});
|
30821
|
+
this.form.valueChanges.pipe().
|
30822
|
+
subscribe(v => {
|
30823
|
+
this._notifyChange();
|
30824
|
+
Object.assign(this.model, v);
|
30825
|
+
});
|
30826
|
+
}
|
30827
|
+
_open(formId) {
|
30828
|
+
this._ref.populate(formId).subscribe(r => {
|
30829
|
+
this._formId = formId;
|
30830
|
+
this.model = r || { sections: [] };
|
30695
30831
|
this.loading = false;
|
30696
30832
|
});
|
30697
30833
|
}
|
30834
|
+
addSection(evt) {
|
30835
|
+
let n = 0, name, title;
|
30836
|
+
do {
|
30837
|
+
n++;
|
30838
|
+
name = 'section' + '-' + n;
|
30839
|
+
title = 'Section' + ' ' + n;
|
30840
|
+
} while (this.model.sections.find(s => s.name === name || s.title === title));
|
30841
|
+
this._notifyChange();
|
30842
|
+
this.model.sections.push({
|
30843
|
+
name,
|
30844
|
+
title,
|
30845
|
+
rows: [{ fields: [] }]
|
30846
|
+
});
|
30847
|
+
this._cd.detectChanges();
|
30848
|
+
evt.target.querySelector('input')?.focus();
|
30849
|
+
}
|
30850
|
+
addRow(section, evt) {
|
30851
|
+
this._notifyChange();
|
30852
|
+
section.rows.push({
|
30853
|
+
fields: []
|
30854
|
+
});
|
30855
|
+
evt.target.querySelector('input')?.focus();
|
30856
|
+
this._cd.detectChanges();
|
30857
|
+
}
|
30858
|
+
addField(section, row, kind, evt) {
|
30859
|
+
let n = 0, name, label;
|
30860
|
+
do {
|
30861
|
+
n++;
|
30862
|
+
name = 'field' + '_' + n;
|
30863
|
+
label = 'Field' + ' ' + n;
|
30864
|
+
} while (section.rows.find(r => r.fields.find(f => f.name === name || f.label === label) != null));
|
30865
|
+
this._notifyChange();
|
30866
|
+
row.fields.push({
|
30867
|
+
kind,
|
30868
|
+
name,
|
30869
|
+
label,
|
30870
|
+
});
|
30871
|
+
this._cd.detectChanges();
|
30872
|
+
evt.target.querySelector('input')?.focus();
|
30873
|
+
}
|
30874
|
+
removeField(row, field) {
|
30875
|
+
this._notifyChange();
|
30876
|
+
row.fields.remove(field);
|
30877
|
+
}
|
30878
|
+
removeSection(section) {
|
30879
|
+
this._notifyChange();
|
30880
|
+
this.model.sections.remove(section);
|
30881
|
+
}
|
30882
|
+
removeRow(section, row) {
|
30883
|
+
this._notifyChange();
|
30884
|
+
section.rows.remove(row);
|
30885
|
+
}
|
30886
|
+
_notifyChange() {
|
30887
|
+
this.history.push(this.model);
|
30888
|
+
this.historyIndex = this.history.length - 1;
|
30889
|
+
this.dirty = true;
|
30890
|
+
}
|
30891
|
+
undo() {
|
30892
|
+
this.model = this.history[this.historyIndex];
|
30893
|
+
this.historyIndex--;
|
30894
|
+
}
|
30895
|
+
redo() {
|
30896
|
+
this.model = this.history[this.historyIndex];
|
30897
|
+
this.historyIndex++;
|
30898
|
+
}
|
30899
|
+
/**
|
30900
|
+
* Ctrl-s save; Ctrl-z undo
|
30901
|
+
* @param event
|
30902
|
+
*/
|
30903
|
+
handleKeyboardEvent(event) {
|
30904
|
+
if (this.dirty && event.ctrlKey) {
|
30905
|
+
if (event.which === 83 || event.which === 115) {
|
30906
|
+
this.save();
|
30907
|
+
event.preventDefault();
|
30908
|
+
}
|
30909
|
+
}
|
30910
|
+
}
|
30698
30911
|
drop(event) {
|
30912
|
+
this._notifyChange();
|
30699
30913
|
if (event.previousContainer === event.container) {
|
30700
30914
|
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
30701
30915
|
}
|
@@ -30705,18 +30919,28 @@ let FormDesignerComponent = class FormDesignerComponent {
|
|
30705
30919
|
}
|
30706
30920
|
save() {
|
30707
30921
|
this.saving = true;
|
30708
|
-
this._ref.execute(this.model).subscribe(() =>
|
30922
|
+
this._ref.execute({ metadata: this.model, formId: this._formId }).subscribe(() => {
|
30923
|
+
this._ps.toast('ChangesSaved');
|
30924
|
+
this.dirty = false;
|
30925
|
+
this.saving = false;
|
30926
|
+
}, () => {
|
30927
|
+
this._ps.error();
|
30928
|
+
this.saving = false;
|
30929
|
+
});
|
30709
30930
|
}
|
30710
30931
|
};
|
30711
|
-
FormDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignerComponent, deps: [{ token: i2$1.FormBuilder }, { token: SessionService }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component });
|
30712
|
-
FormDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignerComponent, selector: "ng-component", ngImport: i0, template: "<mat-toolbar></mat-toolbar>\r\n<div class=\"row\">\r\n <div></div>\r\n <div *ngIf=\"tools\"></div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }] });
|
30932
|
+
FormDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignerComponent, deps: [{ token: i2$1.FormBuilder }, { token: PaneRef }, { token: i0.ChangeDetectorRef }, { token: PromptService }, { token: SessionService }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component });
|
30933
|
+
FormDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignerComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === 0\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon>redo</mat-icon></button>\r\n</mat-toolbar>\r\n<button mat-icon-button (click)=\"settings = !settings\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"settings\">\r\n <mat-form-field>\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"value\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Subject'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"subject\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Summary'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"summary\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Analysis'|translate}}</mat-label>\r\n <mat-select formControlName=\"cube\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n<div class=\"form\" autocomplete=\"off\" *ngIf=\"model\" cdkDropList [cdkDropListData]=\"model.sections\" (cdkDropListDropped)=\"drop($event)\">\r\n <section class=\"column\" *ngFor=\"let s of model.sections\" cdkDrag>\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput [(value)]=\"s.title\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput [(value)]=\"s.name\" />\r\n </mat-form-field>\r\n <div cdkDropList [cdkDropListData]=\"s.rows\" (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let r of s.rows\" class=\"row designer-row\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"r.fields\" (cdkDropListDropped)=\"drop($event)\" class=\"row\">\r\n <div *ngFor=\"let f of r.fields\" cdkDrag class=\"field row\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput required [(value)]=\"f.name\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Label'|translate}}</mat-label>\r\n <input matInput required [(value)]=\"f.label\" />\r\n </mat-form-field>\r\n <ng-container [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Date'\">\r\n <input matInput [required]=\"f.required\" />\r\n </mat-form-field>\r\n <div *ngSwitchCase=\"'Text'\">\r\n </div>\r\n <mat-form-field *ngSwitchCase=\"'Select'\">\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select [(value)]=\"f.dataType\" required>\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div *ngSwitchDefault>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select [(value)]=\"f.kind\" required>\r\n <mat-option value=\"String\">{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Number\">{{'Number'|translate}}</mat-option>\r\n <mat-option value=\"PhoneNumber\">{{'PhoneNumber'|translate}}</mat-option>\r\n <mat-option value=\"EmailAddress\">{{'EmailAddress'|translate}}</mat-option>\r\n <mat-option value=\"Url\">{{'Url'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"actions\">\r\n <button mat-stroked-button (click)=\"removeField(r, f)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <div *cdkDragPlaceholder class=\"drag-placeholder\"></div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <button mat-stroked-button [matMenuTriggerFor]=\"fieldKindMenu\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <mat-menu #fieldKindMenu>\r\n <button mat-menu-item (click)=\"addField(s, r, 'String', $event)\">{{'Input'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Date', $event)\">{{'Date'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Select', $event)\">{{'Select'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Checkbox', $event)\">{{'Checkbox'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Switch', $event)\">{{'Switch'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Text', $event)\">{{'Text'|translate}}</button>\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button (click)=\"removeRow(s, r)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <button mat-stroked-button (click)=\"addRow(s, $event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <button mat-stroked-button (click)=\"removeSection(s)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <bizdoc-ace-input [(value)]=\"s.value\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n </section>\r\n <button mat-stroked-button (click)=\"addSection($event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n</div>\r\n", styles: [".form{margin:8px}section,.designer-row,.field{border:2px solid transparent;border-radius:3px;padding:8px}section:hover,.designer-row:hover,.field:hover{border:2px dotted}section .designer-row .field{flex:1}.drag-placeholder{border:2px dashed}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11$1.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: i11$1.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: i11$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i11$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: i8$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30713
30934
|
FormDesignerComponent = __decorate([
|
30714
30935
|
BizDoc({ selector: 'bizdoc-form-designer' })
|
30715
30936
|
], FormDesignerComponent);
|
30716
30937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignerComponent, decorators: [{
|
30717
30938
|
type: Component,
|
30718
|
-
args: [{ template: "<mat-toolbar></mat-toolbar>\r\n<div class=\"
|
30719
|
-
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: SessionService }, { type: UtilityRef }]; }
|
30939
|
+
args: [{ template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === 0\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon>redo</mat-icon></button>\r\n</mat-toolbar>\r\n<button mat-icon-button (click)=\"settings = !settings\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"settings\">\r\n <mat-form-field>\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"value\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Subject'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"subject\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Summary'|translate}}</mat-label>\r\n <bizdoc-ace-input formControlName=\"summary\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Analysis'|translate}}</mat-label>\r\n <mat-select formControlName=\"cube\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n<div class=\"form\" autocomplete=\"off\" *ngIf=\"model\" cdkDropList [cdkDropListData]=\"model.sections\" (cdkDropListDropped)=\"drop($event)\">\r\n <section class=\"column\" *ngFor=\"let s of model.sections\" cdkDrag>\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput [(value)]=\"s.title\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput [(value)]=\"s.name\" />\r\n </mat-form-field>\r\n <div cdkDropList [cdkDropListData]=\"s.rows\" (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let r of s.rows\" class=\"row designer-row\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"r.fields\" (cdkDropListDropped)=\"drop($event)\" class=\"row\">\r\n <div *ngFor=\"let f of r.fields\" cdkDrag class=\"field row\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput required [(value)]=\"f.name\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Label'|translate}}</mat-label>\r\n <input matInput required [(value)]=\"f.label\" />\r\n </mat-form-field>\r\n <ng-container [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Date'\">\r\n <input matInput [required]=\"f.required\" />\r\n </mat-form-field>\r\n <div *ngSwitchCase=\"'Text'\">\r\n </div>\r\n <mat-form-field *ngSwitchCase=\"'Select'\">\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select [(value)]=\"f.dataType\" required>\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div *ngSwitchDefault>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select [(value)]=\"f.kind\" required>\r\n <mat-option value=\"String\">{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Number\">{{'Number'|translate}}</mat-option>\r\n <mat-option value=\"PhoneNumber\">{{'PhoneNumber'|translate}}</mat-option>\r\n <mat-option value=\"EmailAddress\">{{'EmailAddress'|translate}}</mat-option>\r\n <mat-option value=\"Url\">{{'Url'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"actions\">\r\n <button mat-stroked-button (click)=\"removeField(r, f)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <div *cdkDragPlaceholder class=\"drag-placeholder\"></div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <button mat-stroked-button [matMenuTriggerFor]=\"fieldKindMenu\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <mat-menu #fieldKindMenu>\r\n <button mat-menu-item (click)=\"addField(s, r, 'String', $event)\">{{'Input'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Date', $event)\">{{'Date'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Select', $event)\">{{'Select'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Checkbox', $event)\">{{'Checkbox'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Switch', $event)\">{{'Switch'|translate}}</button>\r\n <button mat-menu-item (click)=\"addField(s, r, 'Text', $event)\">{{'Text'|translate}}</button>\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button (click)=\"removeRow(s, r)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <button mat-stroked-button (click)=\"addRow(s, $event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <button mat-stroked-button (click)=\"removeSection(s)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'Value'|translate}}</mat-label>\r\n <bizdoc-ace-input [(value)]=\"s.value\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'Expression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n </section>\r\n <button mat-stroked-button (click)=\"addSection($event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n</div>\r\n", styles: [".form{margin:8px}section,.designer-row,.field{border:2px solid transparent;border-radius:3px;padding:8px}section:hover,.designer-row:hover,.field:hover{border:2px dotted}section .designer-row .field{flex:1}.drag-placeholder{border:2px dashed}\n"] }]
|
30940
|
+
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: PaneRef }, { type: i0.ChangeDetectorRef }, { type: PromptService }, { type: SessionService }, { type: UtilityRef }]; }, propDecorators: { handleKeyboardEvent: [{
|
30941
|
+
type: HostListener,
|
30942
|
+
args: ['document:keydown', ['$event']]
|
30943
|
+
}] } });
|
30720
30944
|
|
30721
30945
|
let ParallelViewDesignComponent = class ParallelViewDesignComponent extends DesignerCubeElementComponent {
|
30722
30946
|
constructor() {
|
@@ -30734,13 +30958,13 @@ let ParallelViewDesignComponent = class ParallelViewDesignComponent extends Desi
|
|
30734
30958
|
}
|
30735
30959
|
};
|
30736
30960
|
ParallelViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ParallelViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
30737
|
-
ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ParallelViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form
|
30961
|
+
ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ParallelViewDesignComponent, 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 *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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div>\r\n <bizdoc-cube-parallel *ngIf=\"args.xAxis\" [cube]=\"args.cube\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [scope]=\"args.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["filters", "xAxis", "series", "indices", "cube", "size", "chartType", "scope", "palettes"], outputs: ["explore"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30738
30962
|
ParallelViewDesignComponent = __decorate([
|
30739
30963
|
BizDoc({ selector: 'parallel-view-designer' })
|
30740
30964
|
], ParallelViewDesignComponent);
|
30741
30965
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ParallelViewDesignComponent, decorators: [{
|
30742
30966
|
type: Component,
|
30743
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form
|
30967
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div>\r\n <bizdoc-cube-parallel *ngIf=\"args.xAxis\" [cube]=\"args.cube\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [scope]=\"args.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
|
30744
30968
|
}] });
|
30745
30969
|
|
30746
30970
|
let SumViewDesignComponent = class SumViewDesignComponent extends DesignerCubeElementComponent {
|
@@ -30751,43 +30975,68 @@ let SumViewDesignComponent = class SumViewDesignComponent extends DesignerCubeEl
|
|
30751
30975
|
xAxis: this._fb.control(null, Validators.required),
|
30752
30976
|
series: null,
|
30753
30977
|
indices: null,
|
30978
|
+
filters: this._fb.group({}),
|
30754
30979
|
periodPolicy: null,
|
30755
30980
|
aggregate: null,
|
30756
30981
|
});
|
30757
30982
|
}
|
30758
30983
|
};
|
30759
30984
|
SumViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SumViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
30760
|
-
SumViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: SumViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<
|
30985
|
+
SumViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: SumViewDesignComponent, 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.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 [disabled]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div>\r\n <bizdoc-cube-sum *ngIf=\"args.xAxis\" [xAxis]=\"args.xAxis\"\r\n [filters]=\"args.filters || {}\"\r\n [parentAxis]=\"args.series\"\r\n [scope]=\"args.scope\"\r\n [periodPolicy]=\"args.periodPolicy\"\r\n [indices]=\"args.indices\"\r\n [cube]=\"cube.name\"></bizdoc-cube-sum>\r\n </div>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30761
30986
|
SumViewDesignComponent = __decorate([
|
30762
30987
|
BizDoc({ selector: 'period-view-designer' })
|
30763
30988
|
], SumViewDesignComponent);
|
30764
30989
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SumViewDesignComponent, decorators: [{
|
30765
30990
|
type: Component,
|
30766
|
-
args: [{ template: "<
|
30991
|
+
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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.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 [disabled]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div>\r\n <bizdoc-cube-sum *ngIf=\"args.xAxis\" [xAxis]=\"args.xAxis\"\r\n [filters]=\"args.filters || {}\"\r\n [parentAxis]=\"args.series\"\r\n [scope]=\"args.scope\"\r\n [periodPolicy]=\"args.periodPolicy\"\r\n [indices]=\"args.indices\"\r\n [cube]=\"cube.name\"></bizdoc-cube-sum>\r\n </div>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
|
30767
30992
|
}] });
|
30768
30993
|
|
30769
30994
|
let MatrixViewDesignComponent = class MatrixViewDesignComponent extends DesignerCubeElementComponent {
|
30770
30995
|
constructor() {
|
30771
30996
|
super(...arguments);
|
30997
|
+
this.sum = this._fb.array([]);
|
30772
30998
|
this.form = this._fb.group({
|
30773
30999
|
cube: null,
|
30774
31000
|
xAxis: this._fb.control(null, Validators.required),
|
30775
31001
|
series: this._fb.control(null, Validators.required),
|
30776
|
-
sum: this._fb.array([]),
|
30777
31002
|
indices: null,
|
30778
31003
|
aggregate: null,
|
30779
|
-
|
31004
|
+
sum: this.sum,
|
31005
|
+
filters: null,
|
30780
31006
|
});
|
30781
31007
|
}
|
31008
|
+
ngOnInit() {
|
31009
|
+
if (this.args.sum) {
|
31010
|
+
if (isArray(this.args.sum))
|
31011
|
+
this.args.sum.forEach(s => this.add(s));
|
31012
|
+
else
|
31013
|
+
this.add(this.args.sum);
|
31014
|
+
}
|
31015
|
+
super.ngOnInit();
|
31016
|
+
}
|
31017
|
+
add(sum) {
|
31018
|
+
this.sum.push(this._fb.group({
|
31019
|
+
axis: sum?.axis || 'series',
|
31020
|
+
title: this._fb.control(sum?.title, Validators.required),
|
31021
|
+
value: sum?.value,
|
31022
|
+
format: sum?.format,
|
31023
|
+
precision: sum?.precision,
|
31024
|
+
explorable: sum?.explorable,
|
31025
|
+
calculate: sum?.calculate
|
31026
|
+
}));
|
31027
|
+
}
|
31028
|
+
drop(event) {
|
31029
|
+
moveItemInArray(this.model.axes, event.previousIndex, event.currentIndex);
|
31030
|
+
}
|
30782
31031
|
};
|
30783
31032
|
MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
30784
|
-
MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<
|
31033
|
+
MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MatrixViewDesignComponent, 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 *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 || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [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]=\"!forthAxes || forthAxes?.length\">\r\n <mat-option *ngFor=\"let x of forthAxes\" [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 <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <div formArrayName=\"sum\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-label>{{'Axis'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"xAxis\">{{'X'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"series\">{{'Y'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"accumulate\">{{'Accumulate'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"sum.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 *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n --> \r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i11$1.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: i11$1.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: i4$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { 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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30785
31034
|
MatrixViewDesignComponent = __decorate([
|
30786
31035
|
BizDoc({ selector: 'matrix-view-designer' })
|
30787
31036
|
], MatrixViewDesignComponent);
|
30788
31037
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
|
30789
31038
|
type: Component,
|
30790
|
-
args: [{ template: "<
|
31039
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [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]=\"!forthAxes || forthAxes?.length\">\r\n <mat-option *ngFor=\"let x of forthAxes\" [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 <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <div formArrayName=\"sum\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-label>{{'Axis'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"xAxis\">{{'X'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"series\">{{'Y'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"accumulate\">{{'Accumulate'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"sum.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 *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n --> \r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
|
30791
31040
|
}] });
|
30792
31041
|
|
30793
31042
|
let ChartViewDesignComponent = class ChartViewDesignComponent extends DesignerCubeElementComponent {
|
@@ -30815,20 +31064,168 @@ let ChartViewDesignComponent = class ChartViewDesignComponent extends DesignerCu
|
|
30815
31064
|
}
|
30816
31065
|
};
|
30817
31066
|
ChartViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ChartViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
30818
|
-
ChartViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ChartViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form *ngIf=\"cubes.length; else none\" 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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple (selectionChange)=\"seriesSelected($event)\" [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"selectedCube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n<ng-template #none></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeAccumulationChartComponent, selector: "bizdoc-cube-accum", inputs: ["palettes", "height", "width", "cube", "xAxis", "filters", "chartType", "scope", "loading"], outputs: ["loadingChange", "explore"] }, { kind: "component", type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: ["width", "height", "cube", "xAxis", "series", "indices", "filters", "yAxis", "chartType", "indicesChartType", "scope", "loading", "palettes"], outputs: ["explore", "loadingChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31067
|
+
ChartViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ChartViewDesignComponent, 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 *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple (selectionChange)=\"seriesSelected($event)\" [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <!--<div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"selectedCube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>-->\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30819
31068
|
ChartViewDesignComponent = __decorate([
|
30820
31069
|
BizDoc({ selector: 'analysis-view-designer' })
|
30821
31070
|
], ChartViewDesignComponent);
|
30822
31071
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ChartViewDesignComponent, decorators: [{
|
30823
31072
|
type: Component,
|
30824
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form
|
31073
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple (selectionChange)=\"seriesSelected($event)\" [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <!--<div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"selectedCube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>-->\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n" }]
|
30825
31074
|
}] });
|
30826
31075
|
|
31076
|
+
class IconPickerComponent {
|
31077
|
+
constructor(ngControl, _overlay, _http, _vc, _element, _dir) {
|
31078
|
+
this.ngControl = ngControl;
|
31079
|
+
this._overlay = _overlay;
|
31080
|
+
this._http = _http;
|
31081
|
+
this._vc = _vc;
|
31082
|
+
this._element = _element;
|
31083
|
+
this._dir = _dir;
|
31084
|
+
this.id = `color-picker-${IconPickerComponent.nextId++}`;
|
31085
|
+
this.errorState = false;
|
31086
|
+
this.describedBy = '';
|
31087
|
+
this.focused = false;
|
31088
|
+
this.valueChanges = new EventEmitter();
|
31089
|
+
this.categories = [];
|
31090
|
+
this.filter = new FormControl(null);
|
31091
|
+
this._required = false;
|
31092
|
+
this._disabled = false;
|
31093
|
+
this.stateChanges = new Subject();
|
31094
|
+
if (this.ngControl != null) {
|
31095
|
+
this.ngControl.valueAccessor = this;
|
31096
|
+
}
|
31097
|
+
}
|
31098
|
+
get value() { return this._value; }
|
31099
|
+
set value(val) {
|
31100
|
+
this._value = val;
|
31101
|
+
this._onChange && this._onChange(val);
|
31102
|
+
this.valueChanges.next(val);
|
31103
|
+
this.stateChanges.next();
|
31104
|
+
}
|
31105
|
+
get empty() {
|
31106
|
+
return this._value === null;
|
31107
|
+
}
|
31108
|
+
get shouldLabelFloat() {
|
31109
|
+
return this.focused || !this.empty;
|
31110
|
+
}
|
31111
|
+
get required() {
|
31112
|
+
return this._required;
|
31113
|
+
}
|
31114
|
+
set required(req) {
|
31115
|
+
this._required = req;
|
31116
|
+
this.stateChanges.next();
|
31117
|
+
}
|
31118
|
+
get disabled() { return this._disabled; }
|
31119
|
+
set disabled(value) {
|
31120
|
+
this._disabled = value;
|
31121
|
+
this.stateChanges.next();
|
31122
|
+
}
|
31123
|
+
registerOnChange(fn) {
|
31124
|
+
this._onChange = fn;
|
31125
|
+
}
|
31126
|
+
registerOnTouched(fn) {
|
31127
|
+
this._onTouched = fn;
|
31128
|
+
}
|
31129
|
+
writeValue(obj) {
|
31130
|
+
this._value = obj;
|
31131
|
+
}
|
31132
|
+
setDescribedByIds(ids) {
|
31133
|
+
this.describedBy = ids.join(' ');
|
31134
|
+
}
|
31135
|
+
onContainerClick(_event) {
|
31136
|
+
this._onTouched && this._onTouched();
|
31137
|
+
this.open();
|
31138
|
+
}
|
31139
|
+
ngOnInit() {
|
31140
|
+
if (!IconPickerComponent.icons)
|
31141
|
+
this._http.get('/assets/system/icons.json').subscribe(e => {
|
31142
|
+
IconPickerComponent.icons = e;
|
31143
|
+
this._list(e);
|
31144
|
+
});
|
31145
|
+
else
|
31146
|
+
this._list(IconPickerComponent.icons);
|
31147
|
+
this.filter.valueChanges.
|
31148
|
+
pipe(debounceTime$1(150)).
|
31149
|
+
subscribe(v => this._list(IconPickerComponent.icons.filter(i => i.tags.findIndex(t => t.indexOf(v) > -1) > -1)));
|
31150
|
+
}
|
31151
|
+
_list(e) {
|
31152
|
+
e.forEach(i => i.categories.forEach(c => {
|
31153
|
+
if (this.categories[c])
|
31154
|
+
this.categories[c].items.push(i);
|
31155
|
+
else
|
31156
|
+
this.categories.push(this.categories[c] = { items: [i] });
|
31157
|
+
}));
|
31158
|
+
}
|
31159
|
+
open() {
|
31160
|
+
this._overlayRef = this._overlay.create({
|
31161
|
+
positionStrategy: this._overlay.position().flexibleConnectedTo(this._element).withPositions([{
|
31162
|
+
originX: 'start',
|
31163
|
+
originY: 'bottom',
|
31164
|
+
overlayX: 'start',
|
31165
|
+
overlayY: 'top'
|
31166
|
+
}, {
|
31167
|
+
originX: 'start',
|
31168
|
+
originY: 'top',
|
31169
|
+
overlayX: 'start',
|
31170
|
+
overlayY: 'bottom'
|
31171
|
+
}]),
|
31172
|
+
hasBackdrop: true,
|
31173
|
+
direction: this._dir.value,
|
31174
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
31175
|
+
panelClass: 'home-panel'
|
31176
|
+
});
|
31177
|
+
const portal = new TemplatePortal(this.panel, this._vc);
|
31178
|
+
this._overlayRef.attach(portal);
|
31179
|
+
merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter$1(k => k.keyCode === ESCAPE))).subscribe(() => this._overlayRef.detach());
|
31180
|
+
}
|
31181
|
+
_trackBy(index, el) {
|
31182
|
+
return el.name;
|
31183
|
+
}
|
31184
|
+
_clear() { }
|
31185
|
+
close() {
|
31186
|
+
this._overlayRef.detach();
|
31187
|
+
}
|
31188
|
+
_pick(icon) {
|
31189
|
+
this.value = icon.name;
|
31190
|
+
this.close();
|
31191
|
+
}
|
31192
|
+
}
|
31193
|
+
IconPickerComponent.nextId = 0;
|
31194
|
+
IconPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: IconPickerComponent, deps: [{ token: i2$1.NgControl, optional: true, self: true }, { token: i1$2.Overlay }, { token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i3$3.Directionality }], target: i0.ɵɵFactoryTarget.Component });
|
31195
|
+
IconPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: { value: "value", required: "required", disabled: "disabled" }, outputs: { valueChanges: "valueChanges" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, viewQueries: [{ propertyName: "panel", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\">\r\n <mat-icon>{{value}}</mat-icon>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n</button>\r\n<ng-template>\r\n <div class=\"icon-palette\">\r\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" />\r\n <div *ngFor=\"let c of categories; trackBy: _trackBy\">\r\n <span></span>\r\n <div>\r\n <mat-icon *ngFor=\"let i of c.items; trackBy: _trackBy\" (click)=\"_pick(i)\">{{i.name}}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
31196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: IconPickerComponent, decorators: [{
|
31197
|
+
type: Component,
|
31198
|
+
args: [{ selector: 'bizdoc-icon-picker', template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\">\r\n <mat-icon>{{value}}</mat-icon>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n</button>\r\n<ng-template>\r\n <div class=\"icon-palette\">\r\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" />\r\n <div *ngFor=\"let c of categories; trackBy: _trackBy\">\r\n <span></span>\r\n <div>\r\n <mat-icon *ngFor=\"let i of c.items; trackBy: _trackBy\" (click)=\"_pick(i)\">{{i.name}}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}\n"] }]
|
31199
|
+
}], ctorParameters: function () { return [{ type: i2$1.NgControl, decorators: [{
|
31200
|
+
type: Optional
|
31201
|
+
}, {
|
31202
|
+
type: Self
|
31203
|
+
}] }, { type: i1$2.Overlay }, { type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i3$3.Directionality }]; }, propDecorators: { id: [{
|
31204
|
+
type: HostBinding
|
31205
|
+
}], value: [{
|
31206
|
+
type: Input
|
31207
|
+
}], shouldLabelFloat: [{
|
31208
|
+
type: HostBinding,
|
31209
|
+
args: ['class.floating']
|
31210
|
+
}], required: [{
|
31211
|
+
type: Input
|
31212
|
+
}], disabled: [{
|
31213
|
+
type: Input
|
31214
|
+
}], describedBy: [{
|
31215
|
+
type: HostBinding,
|
31216
|
+
args: ['attr.aria-describedby']
|
31217
|
+
}], valueChanges: [{
|
31218
|
+
type: Output
|
31219
|
+
}], panel: [{
|
31220
|
+
type: ViewChild,
|
31221
|
+
args: [TemplateRef]
|
31222
|
+
}] } });
|
31223
|
+
|
30827
31224
|
class PrivilegesDesignComponent {
|
30828
|
-
constructor(_fb,
|
31225
|
+
constructor(_fb, _service, _ref) {
|
30829
31226
|
this._fb = _fb;
|
30830
|
-
this._session = _session;
|
30831
31227
|
this._service = _service;
|
31228
|
+
this._ref = _ref;
|
30832
31229
|
this.change = new EventEmitter();
|
30833
31230
|
this.form = this._fb.group({
|
30834
31231
|
rule: null,
|
@@ -30836,8 +31233,12 @@ class PrivilegesDesignComponent {
|
|
30836
31233
|
});
|
30837
31234
|
}
|
30838
31235
|
ngOnInit() {
|
30839
|
-
this._service.roles().subscribe(r => this.roles = r
|
30840
|
-
|
31236
|
+
this._service.roles().subscribe(r => this.roles = r.
|
31237
|
+
concat(this._ref.model.roles.map(r => ({
|
31238
|
+
name: r.name,
|
31239
|
+
title: r.title,
|
31240
|
+
dataType: r.dataType
|
31241
|
+
}))));
|
30841
31242
|
this.form.patchValue(this.model);
|
30842
31243
|
this.form.valueChanges.subscribe(v => Object.assign(this.model, v));
|
30843
31244
|
}
|
@@ -30845,26 +31246,27 @@ class PrivilegesDesignComponent {
|
|
30845
31246
|
this.form.get('roles').setValue(evt.options.map(o => o.value));
|
30846
31247
|
}
|
30847
31248
|
}
|
30848
|
-
PrivilegesDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, deps: [{ token: i2$1.FormBuilder }, { token:
|
31249
|
+
PrivilegesDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, deps: [{ token: i2$1.FormBuilder }, { token: SystemService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
|
30849
31250
|
PrivilegesDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: { model: "model" }, outputs: { change: "change" }, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" multiple *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [selected]=\"model?.roles?.indexOf(r.name) > -1\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n <!--[disabled]=\"false\"-->\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4$5.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4$5.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { 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: "component", type: AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30850
31251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, decorators: [{
|
30851
31252
|
type: Component,
|
30852
31253
|
args: [{ selector: 'bizdoc-privileges', template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" multiple *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [selected]=\"model?.roles?.indexOf(r.name) > -1\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n <!--[disabled]=\"false\"-->\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n" }]
|
30853
|
-
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type:
|
31254
|
+
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: SystemService }, { type: DesignerRef, decorators: [{
|
31255
|
+
type: Inject,
|
31256
|
+
args: [DesignerRef]
|
31257
|
+
}] }]; }, propDecorators: { model: [{
|
30854
31258
|
type: Input
|
30855
31259
|
}], change: [{
|
30856
31260
|
type: Output
|
30857
31261
|
}] } });
|
30858
31262
|
|
30859
|
-
let FormDesignComponent = class FormDesignComponent extends
|
31263
|
+
let FormDesignComponent = class FormDesignComponent extends DesignerTypeElementComponent {
|
30860
31264
|
constructor(fb, _router, _service, _session, ref) {
|
30861
31265
|
super(fb, ref);
|
30862
31266
|
this._router = _router;
|
30863
31267
|
this._service = _service;
|
30864
31268
|
this._session = _session;
|
30865
|
-
this.
|
30866
|
-
rules: this._fb.array([])
|
30867
|
-
});
|
31269
|
+
this.rules = this._fb.array([]);
|
30868
31270
|
this.theme = this._session.theme.dark ? 'MaterialDark' : 'Material';
|
30869
31271
|
this.axisSettings = {
|
30870
31272
|
lineSettings: {},
|
@@ -30891,10 +31293,32 @@ let FormDesignComponent = class FormDesignComponent extends DesignerElementCompo
|
|
30891
31293
|
});
|
30892
31294
|
}
|
30893
31295
|
ngOnInit() {
|
31296
|
+
this.form.addControl('rules', this._fb.control(null), { emitEvent: false });
|
31297
|
+
this.form.addControl('icon', this._fb.control(this.model.icon), { emitEvent: false });
|
31298
|
+
this.form.addControl('_rules', this.rules, { emitEvent: false });
|
30894
31299
|
if (!this.model.privileges)
|
30895
31300
|
this.model.privileges = {};
|
30896
31301
|
this._service.range(this.model.name).subscribe(r => this.usage = r);
|
30897
|
-
this.rules
|
31302
|
+
this.model.rules && this.rules.setValue(Object.keys(this.model.rules).
|
31303
|
+
map(r => {
|
31304
|
+
const rule = this.model.rules[r];
|
31305
|
+
return {
|
31306
|
+
name: r,
|
31307
|
+
value: rule.roles || [],
|
31308
|
+
rule: rule.rule,
|
31309
|
+
title: rule.title
|
31310
|
+
};
|
31311
|
+
}));
|
31312
|
+
this.rules.valueChanges.pipe().subscribe(v => {
|
31313
|
+
const rules = {};
|
31314
|
+
v.forEach((r) => rules[r.name] = {
|
31315
|
+
title: r.title,
|
31316
|
+
roles: r.roles,
|
31317
|
+
rule: r.rule,
|
31318
|
+
});
|
31319
|
+
this.form.get('rules').setValue(rules);
|
31320
|
+
});
|
31321
|
+
super.ngOnInit();
|
30898
31322
|
}
|
30899
31323
|
_formrule(name, permission) {
|
30900
31324
|
return this._fb.group({
|
@@ -30905,25 +31329,28 @@ let FormDesignComponent = class FormDesignComponent extends DesignerElementCompo
|
|
30905
31329
|
diagram() {
|
30906
31330
|
this._router.navigate(['admin/forms', this.model.name]);
|
30907
31331
|
}
|
31332
|
+
design() {
|
31333
|
+
this._router.navigate(['admin/utilities/form-designer'], { queryParams: { formId: this.model.name } });
|
31334
|
+
}
|
30908
31335
|
ngOnDestroy() {
|
30909
31336
|
this._destroy.next();
|
30910
31337
|
this._destroy.complete();
|
30911
31338
|
}
|
30912
31339
|
};
|
30913
|
-
FormDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignComponent, deps: [{ token: i2$1.FormBuilder }, { token:
|
30914
|
-
FormDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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
|
31340
|
+
FormDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignComponent, deps: [{ token: i2$1.FormBuilder }, { token: PanesRouter }, { token: SystemService }, { token: SessionService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
|
31341
|
+
FormDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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 <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i12.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }, { 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: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
30915
31342
|
FormDesignComponent = __decorate([
|
30916
31343
|
BizDoc({ selector: 'form-designer' })
|
30917
31344
|
], FormDesignComponent);
|
30918
31345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignComponent, decorators: [{
|
30919
31346
|
type: Component,
|
30920
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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
|
30921
|
-
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type:
|
31347
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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 <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n" }]
|
31348
|
+
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: PanesRouter }, { type: SystemService }, { type: SessionService }, { type: DesignerRef, decorators: [{
|
30922
31349
|
type: Inject,
|
30923
31350
|
args: [DesignerRef]
|
30924
31351
|
}] }]; } });
|
30925
31352
|
|
30926
|
-
let CubeDesignComponent = class CubeDesignComponent extends
|
31353
|
+
let CubeDesignComponent = class CubeDesignComponent extends DesignerTypeElementComponent {
|
30927
31354
|
constructor(fb, _service, _ps, ref) {
|
30928
31355
|
super(fb, ref);
|
30929
31356
|
this._service = _service;
|
@@ -30931,19 +31358,25 @@ let CubeDesignComponent = class CubeDesignComponent extends DesignerElementCompo
|
|
30931
31358
|
this.views = this._fb.array([]);
|
30932
31359
|
this.axes = this._fb.array([]);
|
30933
31360
|
this.indices = this._fb.array([]);
|
31361
|
+
this.patterns = this._fb.array([]);
|
30934
31362
|
this.secondaryAxes = [];
|
30935
|
-
this.
|
30936
|
-
views: this.views,
|
30937
|
-
indices: this.indices,
|
30938
|
-
axes: this.axes,
|
30939
|
-
scope: null
|
30940
|
-
});
|
31363
|
+
this.syncing = false;
|
30941
31364
|
this.types = ref.model.types;
|
30942
31365
|
}
|
30943
31366
|
sync() {
|
30944
|
-
this.
|
31367
|
+
this.syncing = true;
|
31368
|
+
this._service.synchrinize(this.model.name).subscribe(() => this.syncing = false, () => {
|
31369
|
+
this.syncing = false;
|
31370
|
+
this._ps.error();
|
31371
|
+
});
|
30945
31372
|
}
|
30946
31373
|
ngOnInit() {
|
31374
|
+
this.form.addControl('patterns', this._fb.control(this.model.patterns, Validators.required), { emitEvent: false });
|
31375
|
+
this.form.addControl('views', this._fb.control(this.model.views, Validators.required), { emitEvent: false });
|
31376
|
+
this.form.addControl('indices', this._fb.control(this.model.indices, Validators.required), { emitEvent: false });
|
31377
|
+
this.form.addControl('axes', this._fb.control(this.model.axes, Validators.required), { emitEvent: false });
|
31378
|
+
this.form.addControl('scope', this._fb.control(this.model.scope, Validators.required), { emitEvent: false });
|
31379
|
+
this.form.addControl('anomaly', this._fb.control(this.model.anomaly, Validators.required), { emitEvent: false });
|
30947
31380
|
this.model.axes.forEach(a => {
|
30948
31381
|
this.axes.push(this._formaxis(a), { emitEvent: true });
|
30949
31382
|
});
|
@@ -30993,6 +31426,7 @@ let CubeDesignComponent = class CubeDesignComponent extends DesignerElementCompo
|
|
30993
31426
|
return this._fb.group({
|
30994
31427
|
name: this._fb.control(model.name),
|
30995
31428
|
title: model.title,
|
31429
|
+
icon: model.icon,
|
30996
31430
|
xAxis: this._fb.control(model.xAxis, Validators.required),
|
30997
31431
|
series: model.series,
|
30998
31432
|
indices: model.indices,
|
@@ -31034,83 +31468,65 @@ let CubeDesignComponent = class CubeDesignComponent extends DesignerElementCompo
|
|
31034
31468
|
}
|
31035
31469
|
};
|
31036
31470
|
CubeDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeDesignComponent, deps: [{ token: i2$1.FormBuilder }, { token: SystemService }, { token: PromptService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
|
31037
|
-
CubeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeDesignComponent, 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-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button>{{'Global'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <!-- Axes -->\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <div formArrayName=\"axes\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeAxis(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addAxis()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Indices -->\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <div formArrayName=\"indices\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of indices.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeIndex(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addIndex()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Views -->\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <div formArrayName=\"views\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropView($event)\">\r\n <div class=\"row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field *ngIf=\"isChart(index)\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected(index, $event)\" multiple>\r\n <mat-option *ngFor=\"let x of model.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [disabled]=\"isAccum(index)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes[index]\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeView(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <button mat-icon-button (click)=\"addView()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!-- Info -->\r\n<ng-template #info>\r\n <button mat-stroked-button (click)=\"sync()\">{{'Synchronize'|translate}}</button>\r\n <!--<mat-spinner *ngIf=\"false\" diameter=\"20\"></mat-spinner>-->\r\n <div class=\"row\">\r\n <div>\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div>\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div>\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of model.views\">\r\n <td class=\"mat-cell\">{{v.title}}</td>\r\n <td class=\"mat-cell\">({{(v.type||'Chart')|translate}})</td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".flex{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i11$1.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: i11$1.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: i6$5.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i6$5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { 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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31471
|
+
CubeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CubeDesignComponent, 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-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button>{{'Global'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <!-- Axes -->\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <div formArrayName=\"axes\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeAxis(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addAxis()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Indices -->\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <div formArrayName=\"indices\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of indices.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeIndex(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addIndex()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Views -->\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <div formArrayName=\"views\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropView($event)\">\r\n <div class=\"row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field *ngIf=\"isChart(index)\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected(index, $event)\" multiple>\r\n <mat-option *ngFor=\"let x of model.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [disabled]=\"isAccum(index)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes[index]\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeView(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <button mat-icon-button (click)=\"addView()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!-- Info -->\r\n<ng-template #info>\r\n <button mat-stroked-button (click)=\"sync()\">\r\n <span> {{'Synchronize'|translate}}</span>\r\n <mat-spinner *ngIf=\"syncing\" diameter=\"20\"></mat-spinner>\r\n </button>\r\n <div class=\"row\">\r\n <div *ngIf=\"model.axes.length\">\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div *ngIf=\"model.indices.length\">\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div *ngIf=\"model.views.length\">\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of model.views\">\r\n <td class=\"mat-cell\">{{v.title}}</td>\r\n <td class=\"mat-cell\">({{(v.type||'Chart')|translate}})</td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i11$1.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: i11$1.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: i4$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { 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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.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: i4$2.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31038
31472
|
CubeDesignComponent = __decorate([
|
31039
31473
|
BizDoc({ selector: 'cube-designer' })
|
31040
31474
|
], CubeDesignComponent);
|
31041
31475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CubeDesignComponent, decorators: [{
|
31042
31476
|
type: Component,
|
31043
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button>{{'Global'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <!-- Axes -->\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <div formArrayName=\"axes\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeAxis(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addAxis()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Indices -->\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <div formArrayName=\"indices\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of indices.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeIndex(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addIndex()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Views -->\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <div formArrayName=\"views\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropView($event)\">\r\n <div class=\"row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field *ngIf=\"isChart(index)\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected(index, $event)\" multiple>\r\n <mat-option *ngFor=\"let x of model.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [disabled]=\"isAccum(index)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes[index]\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeView(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <button mat-icon-button (click)=\"addView()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!-- Info -->\r\n<ng-template #info>\r\n <button mat-stroked-button (click)=\"sync()\">{{'Synchronize'|translate}}</
|
31477
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button>{{'Global'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <!-- Axes -->\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <div formArrayName=\"axes\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeAxis(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addAxis()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Indices -->\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <div formArrayName=\"indices\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropAxis($event)\">\r\n <div class=\"row\" *ngFor=\"let a of indices.controls; index as index\" [formGroup]=\"a\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeIndex(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"addIndex()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <!-- Views -->\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <div formArrayName=\"views\" class=\"column\" cdkDropList (cdkDropListDropped)=\"dropView($event)\">\r\n <div class=\"row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n \r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field *ngIf=\"isChart(index)\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected(index, $event)\" multiple>\r\n <mat-option *ngFor=\"let x of model.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [disabled]=\"isAccum(index)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes[index]\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"removeView(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n <button mat-icon-button (click)=\"addView()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!-- Info -->\r\n<ng-template #info>\r\n <button mat-stroked-button (click)=\"sync()\">\r\n <span> {{'Synchronize'|translate}}</span>\r\n <mat-spinner *ngIf=\"syncing\" diameter=\"20\"></mat-spinner>\r\n </button>\r\n <div class=\"row\">\r\n <div *ngIf=\"model.axes.length\">\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div *ngIf=\"model.indices.length\">\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <!--<td class=\"mat-cell\">{{a.name}}</td>-->\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div *ngIf=\"model.views.length\">\r\n <h2 class=\"mat-title\">{{'Views'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of model.views\">\r\n <td class=\"mat-cell\">{{v.title}}</td>\r\n <td class=\"mat-cell\">({{(v.type||'Chart')|translate}})</td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n</ng-template>\r\n" }]
|
31044
31478
|
}], ctorParameters: function () { return [{ type: i2$1.FormBuilder }, { type: SystemService }, { type: PromptService }, { type: DesignerRef, decorators: [{
|
31045
31479
|
type: Inject,
|
31046
31480
|
args: [DesignerRef]
|
31047
31481
|
}] }]; } });
|
31048
31482
|
|
31049
|
-
let WidgetDesignComponent = class WidgetDesignComponent extends
|
31050
|
-
constructor() {
|
31051
|
-
super(...arguments);
|
31052
|
-
this.form = this._fb.group({
|
31053
|
-
name: null,
|
31054
|
-
title: null,
|
31055
|
-
});
|
31056
|
-
}
|
31483
|
+
let WidgetDesignComponent = class WidgetDesignComponent extends DesignerTypeElementComponent {
|
31057
31484
|
};
|
31058
31485
|
WidgetDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: WidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31059
|
-
WidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: WidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
|
31486
|
+
WidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: WidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
|
31060
31487
|
WidgetDesignComponent = __decorate([
|
31061
31488
|
BizDoc({ selector: 'widget-designer' })
|
31062
31489
|
], WidgetDesignComponent);
|
31063
31490
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: WidgetDesignComponent, decorators: [{
|
31064
31491
|
type: Component,
|
31065
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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" }]
|
31492
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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" }]
|
31066
31493
|
}] });
|
31067
31494
|
|
31068
|
-
let ActionDesignComponent = class ActionDesignComponent extends
|
31069
|
-
constructor() {
|
31070
|
-
super(...arguments);
|
31071
|
-
this.form = this._fb.group({
|
31072
|
-
name: null,
|
31073
|
-
title: null,
|
31074
|
-
});
|
31075
|
-
}
|
31495
|
+
let ActionDesignComponent = class ActionDesignComponent extends DesignerTypeElementComponent {
|
31076
31496
|
};
|
31077
31497
|
ActionDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ActionDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31078
|
-
ActionDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ActionDesignComponent, 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
|
31498
|
+
ActionDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ActionDesignComponent, 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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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 </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4$2.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: "pipe", type: TranslatePipe, name: "translate" }] });
|
31079
31499
|
ActionDesignComponent = __decorate([
|
31080
31500
|
BizDoc({ selector: 'action-designer' })
|
31081
31501
|
], ActionDesignComponent);
|
31082
31502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ActionDesignComponent, decorators: [{
|
31083
31503
|
type: Component,
|
31084
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field
|
31504
|
+
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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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 </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
|
31085
31505
|
}] });
|
31086
31506
|
|
31087
|
-
let ReportDesignComponent = class ReportDesignComponent extends
|
31088
|
-
constructor() {
|
31089
|
-
super(...arguments);
|
31090
|
-
this.form = this._fb.group({
|
31091
|
-
name: null,
|
31092
|
-
title: null,
|
31093
|
-
});
|
31094
|
-
}
|
31507
|
+
let ReportDesignComponent = class ReportDesignComponent extends DesignerTypeElementComponent {
|
31095
31508
|
ngOnInit() {
|
31509
|
+
this.form.addControl('icon', this._fb.control(this.model.icon), { emitEvent: false });
|
31510
|
+
super.ngOnInit();
|
31096
31511
|
}
|
31097
31512
|
};
|
31098
31513
|
ReportDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31099
|
-
ReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ReportDesignComponent, 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 </form>\r\n
|
31514
|
+
ReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ReportDesignComponent, 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 <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
|
31100
31515
|
ReportDesignComponent = __decorate([
|
31101
31516
|
BizDoc({ selector: 'report-designer' })
|
31102
31517
|
], ReportDesignComponent);
|
31103
31518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ReportDesignComponent, decorators: [{
|
31104
31519
|
type: Component,
|
31105
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n
|
31520
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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" }]
|
31106
31521
|
}] });
|
31107
31522
|
|
31108
31523
|
let ViewDesignComponent = class ViewDesignComponent extends DesignerElementComponent {
|
31109
31524
|
constructor() {
|
31110
31525
|
super(...arguments);
|
31111
|
-
this.form = this._fb.group({
|
31112
|
-
|
31113
|
-
|
31526
|
+
this.form = this._fb.group({
|
31527
|
+
name: null,
|
31528
|
+
title: this._fb.control(null, Validators.required),
|
31529
|
+
});
|
31114
31530
|
}
|
31115
31531
|
};
|
31116
31532
|
ViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
@@ -31123,24 +31539,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
31123
31539
|
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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" }]
|
31124
31540
|
}] });
|
31125
31541
|
|
31126
|
-
let TypeDesignComponent = class TypeDesignComponent extends
|
31127
|
-
|
31128
|
-
|
31129
|
-
|
31130
|
-
name: null,
|
31131
|
-
title: null,
|
31132
|
-
assignable: false,
|
31133
|
-
});
|
31542
|
+
let TypeDesignComponent = class TypeDesignComponent extends DesignerTypeElementComponent {
|
31543
|
+
ngOnInit() {
|
31544
|
+
this.form.addControl('assignable', this._fb.control(this.model.assignable, Validators.required), { emitEvent: false });
|
31545
|
+
super.ngOnInit();
|
31134
31546
|
}
|
31135
31547
|
};
|
31136
31548
|
TypeDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: TypeDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31137
|
-
TypeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: TypeDesignComponent, 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-slide-toggle formControlName=\"assignable\">{{'Assignable'|translate}}</mat-slide-toggle>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n
|
31549
|
+
TypeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: TypeDesignComponent, 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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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-slide-toggle formControlName=\"assignable\">{{'Assignable'|translate}}</mat-slide-toggle>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: i4$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i4$2.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: "pipe", type: TranslatePipe, name: "translate" }] });
|
31138
31550
|
TypeDesignComponent = __decorate([
|
31139
31551
|
BizDoc({ selector: 'type-designer' })
|
31140
31552
|
], TypeDesignComponent);
|
31141
31553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: TypeDesignComponent, decorators: [{
|
31142
31554
|
type: Component,
|
31143
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"assignable\">{{'Assignable'|translate}}</mat-slide-toggle>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n
|
31555
|
+
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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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-slide-toggle formControlName=\"assignable\">{{'Assignable'|translate}}</mat-slide-toggle>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
|
31144
31556
|
}] });
|
31145
31557
|
|
31146
31558
|
let AnalysisWidgetDesignComponent = class AnalysisWidgetDesignComponent extends DesignerCubeElementComponent {
|
@@ -31168,13 +31580,13 @@ let AnalysisWidgetDesignComponent = class AnalysisWidgetDesignComponent extends
|
|
31168
31580
|
}
|
31169
31581
|
};
|
31170
31582
|
AnalysisWidgetDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AnalysisWidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31171
|
-
AnalysisWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: AnalysisWidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form *ngIf=\"cubes.length; else none\" 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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\" multiple>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" (selectionChange)=\"seriesSelected($event)\" multiple [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n<ng-template #none>{{''}}</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeAccumulationChartComponent, selector: "bizdoc-cube-accum", inputs: ["palettes", "height", "width", "cube", "xAxis", "filters", "chartType", "scope", "loading"], outputs: ["loadingChange", "explore"] }, { kind: "component", type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: ["width", "height", "cube", "xAxis", "series", "indices", "filters", "yAxis", "chartType", "indicesChartType", "scope", "loading", "palettes"], outputs: ["explore", "loadingChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31583
|
+
AnalysisWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: AnalysisWidgetDesignComponent, 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 *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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\" multiple>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" (selectionChange)=\"seriesSelected($event)\" multiple [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "component", type: CubeAccumulationChartComponent, selector: "bizdoc-cube-accum", inputs: ["palettes", "height", "width", "cube", "xAxis", "filters", "chartType", "scope", "loading"], outputs: ["loadingChange", "explore"] }, { kind: "component", type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: ["width", "height", "cube", "xAxis", "series", "indices", "filters", "yAxis", "chartType", "indicesChartType", "scope", "loading", "palettes"], outputs: ["explore", "loadingChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31172
31584
|
AnalysisWidgetDesignComponent = __decorate([
|
31173
31585
|
BizDoc({ selector: 'analysis-widget-designer' })
|
31174
31586
|
], AnalysisWidgetDesignComponent);
|
31175
31587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AnalysisWidgetDesignComponent, decorators: [{
|
31176
31588
|
type: Component,
|
31177
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form
|
31589
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\" multiple>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" (selectionChange)=\"seriesSelected($event)\" multiple [disabled]=\"isAccum\">\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 <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube?.indices?.length\">\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [disabled]=\"isAccum\">\r\n <mat-option *ngFor=\"let x of cube.indices\" [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>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\" [disabled]=\"isAccum\">\r\n <mat-option>{{'Default'|translate}}</mat-option>\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n <div *ngIf=\"args.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"args.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"args.filters\"\r\n [xAxis]=\"args.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"args.xAxis\"\r\n [series]=\"args.series\"\r\n [indices]=\"args.indices\"\r\n [filters]=\"args.filters\"\r\n [chartType]=\"args.chartType\"\r\n [indicesChartType]=\"args.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"args.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n" }]
|
31178
31590
|
}] });
|
31179
31591
|
|
31180
31592
|
let ExploreViewDesignComponent = class ExploreViewDesignComponent extends DesignerCubeElementComponent {
|
@@ -31332,13 +31744,13 @@ let UsageReportDesignComponent = class UsageReportDesignComponent extends Design
|
|
31332
31744
|
}
|
31333
31745
|
};
|
31334
31746
|
UsageReportDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: UsageReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31335
|
-
UsageReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: UsageReportDesignComponent, 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-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" 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 <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple multiple>\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 </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n
|
31747
|
+
UsageReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: UsageReportDesignComponent, 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-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" 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 <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple multiple>\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 </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { 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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31336
31748
|
UsageReportDesignComponent = __decorate([
|
31337
31749
|
BizDoc({ selector: 'usage-report-designer' })
|
31338
31750
|
], UsageReportDesignComponent);
|
31339
31751
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: UsageReportDesignComponent, decorators: [{
|
31340
31752
|
type: Component,
|
31341
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" 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 <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple multiple>\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 </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n
|
31753
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" 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 <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple multiple>\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 </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info></ng-template>\r\n" }]
|
31342
31754
|
}] });
|
31343
31755
|
|
31344
31756
|
let AnomalyRuleDesignComponent = class AnomalyRuleDesignComponent extends DesignerElementComponent {
|
@@ -31365,6 +31777,10 @@ let BoxFormDesignComponent = class BoxFormDesignComponent extends DesignerElemen
|
|
31365
31777
|
this.form = this._fb.group({});
|
31366
31778
|
}
|
31367
31779
|
ngOnInit() {
|
31780
|
+
if (!this.args.sections)
|
31781
|
+
this.args.sections = [];
|
31782
|
+
if (!this.model.icon)
|
31783
|
+
this.model.icon = 'description';
|
31368
31784
|
}
|
31369
31785
|
};
|
31370
31786
|
BoxFormDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BoxFormDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
@@ -31415,66 +31831,61 @@ let PivotViewDesignComponent = class PivotViewDesignComponent extends DesignerCu
|
|
31415
31831
|
}
|
31416
31832
|
};
|
31417
31833
|
PivotViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PivotViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31418
|
-
PivotViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: PivotViewDesignComponent, 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 *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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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
|
31834
|
+
PivotViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: PivotViewDesignComponent, 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 *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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31419
31835
|
PivotViewDesignComponent = __decorate([
|
31420
31836
|
BizDoc({ selector: 'pivot-view-designer' })
|
31421
31837
|
], PivotViewDesignComponent);
|
31422
31838
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PivotViewDesignComponent, decorators: [{
|
31423
31839
|
type: Component,
|
31424
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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
|
31840
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 (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>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required 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>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple (selectionChange)=\"seriesSelected($event)\">\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 <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [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]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
|
31425
31841
|
}] });
|
31426
31842
|
|
31427
|
-
let UtilityDesignComponent = class UtilityDesignComponent extends
|
31428
|
-
constructor() {
|
31429
|
-
super(...arguments);
|
31430
|
-
this.form = this._fb.group({});
|
31431
|
-
}
|
31843
|
+
let UtilityDesignComponent = class UtilityDesignComponent extends DesignerTypeElementComponent {
|
31432
31844
|
ngOnInit() {
|
31845
|
+
this.form.addControl('icon', this._fb.control(null), { emitEvent: false });
|
31846
|
+
super.ngOnInit();
|
31433
31847
|
}
|
31434
31848
|
};
|
31435
31849
|
UtilityDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: UtilityDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31436
|
-
UtilityDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: UtilityDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
|
31850
|
+
UtilityDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: UtilityDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
|
31437
31851
|
UtilityDesignComponent = __decorate([
|
31438
31852
|
BizDoc({ selector: 'utility-designer' })
|
31439
31853
|
], UtilityDesignComponent);
|
31440
31854
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: UtilityDesignComponent, decorators: [{
|
31441
31855
|
type: Component,
|
31442
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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" }]
|
31856
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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" }]
|
31443
31857
|
}] });
|
31444
31858
|
|
31445
|
-
let FolderDesignComponent = class FolderDesignComponent extends
|
31446
|
-
|
31447
|
-
|
31448
|
-
|
31449
|
-
name: null,
|
31450
|
-
title: null,
|
31451
|
-
});
|
31859
|
+
let FolderDesignComponent = class FolderDesignComponent extends DesignerTypeElementComponent {
|
31860
|
+
ngOnInit() {
|
31861
|
+
this.form.addControl('icon', this._fb.control(this.model.icon), { emitEvent: false });
|
31862
|
+
super.ngOnInit();
|
31452
31863
|
}
|
31453
31864
|
};
|
31454
31865
|
FolderDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FolderDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31455
|
-
FolderDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FolderDesignComponent, 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
|
31866
|
+
FolderDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FolderDesignComponent, 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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4$2.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: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
31456
31867
|
FolderDesignComponent = __decorate([
|
31457
31868
|
BizDoc({ selector: 'folder-designer' })
|
31458
31869
|
], FolderDesignComponent);
|
31459
31870
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FolderDesignComponent, decorators: [{
|
31460
31871
|
type: Component,
|
31461
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field
|
31872
|
+
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" }]
|
31462
31873
|
}] });
|
31463
31874
|
|
31464
|
-
let GuideDesignComponent = class GuideDesignComponent extends
|
31875
|
+
let GuideDesignComponent = class GuideDesignComponent extends DesignerTypeElementComponent {
|
31465
31876
|
constructor() {
|
31466
31877
|
super(...arguments);
|
31467
31878
|
this.steps = this._fb.array([]);
|
31468
|
-
this.form = this._fb.group({
|
31469
|
-
name: null,
|
31470
|
-
title: null,
|
31471
|
-
steps: this.steps
|
31472
|
-
});
|
31473
31879
|
}
|
31474
31880
|
ngOnInit() {
|
31881
|
+
super.ngOnInit();
|
31882
|
+
this.form.addControl('steps', this.steps);
|
31475
31883
|
if (!this.model.privileges)
|
31476
31884
|
this.model.privileges = {};
|
31477
|
-
this.model.steps
|
31885
|
+
if (!this.model.steps)
|
31886
|
+
this.model.steps = [];
|
31887
|
+
else
|
31888
|
+
this.model.steps.forEach(s => this.steps.push(this._stepform(s), { emitEvent: false }));
|
31478
31889
|
}
|
31479
31890
|
drop(event) {
|
31480
31891
|
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
@@ -31499,58 +31910,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
31499
31910
|
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n </mat-form-field>\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 <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n</ng-template>\r\n" }]
|
31500
31911
|
}] });
|
31501
31912
|
|
31502
|
-
let RuleDesignComponent = class RuleDesignComponent extends
|
31503
|
-
constructor() {
|
31504
|
-
super(...arguments);
|
31505
|
-
this.form = this._fb.group({});
|
31506
|
-
}
|
31913
|
+
let RuleDesignComponent = class RuleDesignComponent extends DesignerTypeElementComponent {
|
31507
31914
|
};
|
31508
31915
|
RuleDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RuleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31509
|
-
RuleDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: RuleDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
31916
|
+
RuleDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: RuleDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
31510
31917
|
RuleDesignComponent = __decorate([
|
31511
31918
|
BizDoc({ selector: 'rule-designer' })
|
31512
31919
|
], RuleDesignComponent);
|
31513
31920
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RuleDesignComponent, decorators: [{
|
31514
31921
|
type: Component,
|
31515
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\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" }]
|
31922
|
+
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
|
31516
31923
|
}] });
|
31517
31924
|
|
31518
|
-
let RoleDesignComponent = class RoleDesignComponent extends
|
31519
|
-
|
31520
|
-
|
31521
|
-
this.form
|
31522
|
-
|
31523
|
-
title: null,
|
31524
|
-
});
|
31925
|
+
let RoleDesignComponent = class RoleDesignComponent extends DesignerTypeElementComponent {
|
31926
|
+
ngOnInit() {
|
31927
|
+
this.types = this._ref.model.types.filter(t => t.assignable);
|
31928
|
+
this.form.addControl('dataType', this._fb.control(this.model.dataType, Validators.required), { emitEvent: false });
|
31929
|
+
super.ngOnInit();
|
31525
31930
|
}
|
31526
31931
|
};
|
31527
31932
|
RoleDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RoleDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31528
|
-
RoleDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: RoleDesignComponent, 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
|
31933
|
+
RoleDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: RoleDesignComponent, 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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$2.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: "pipe", type: TranslatePipe, name: "translate" }] });
|
31529
31934
|
RoleDesignComponent = __decorate([
|
31530
31935
|
BizDoc({ selector: 'role-designer' })
|
31531
31936
|
], RoleDesignComponent);
|
31532
31937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: RoleDesignComponent, decorators: [{
|
31533
31938
|
type: Component,
|
31534
|
-
args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field
|
31939
|
+
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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <mat-option *ngFor=\"let t of types\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n </div>\r\n</ng-template>\r\n" }]
|
31535
31940
|
}] });
|
31536
31941
|
|
31537
|
-
let StateDesignComponent = class StateDesignComponent extends
|
31538
|
-
|
31539
|
-
|
31540
|
-
this.form
|
31541
|
-
|
31542
|
-
title: null,
|
31543
|
-
});
|
31942
|
+
let StateDesignComponent = class StateDesignComponent extends DesignerTypeElementComponent {
|
31943
|
+
ngOnInit() {
|
31944
|
+
this.form.addControl('color', this._fb.control(this.model.color), { emitEvent: false });
|
31945
|
+
this.form.addControl('backgroundColor', this._fb.control(this.model.color), { emitEvent: false });
|
31946
|
+
super.ngOnInit();
|
31544
31947
|
}
|
31545
31948
|
};
|
31546
31949
|
StateDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StateDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
31547
|
-
StateDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StateDesignComponent, 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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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 </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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4$2.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: "pipe", type: TranslatePipe, name: "translate" }] });
|
31950
|
+
StateDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StateDesignComponent, 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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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>{{'Color'|translate}}</mat-label>\r\n <input matInput formControlName=\"color\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'BackgroundColor'|translate}}</mat-label>\r\n <input matInput formControlName=\"backgroundColor\" />\r\n </mat-form-field>\r\n <!--<bizdoc-color-picker formControlName=\"backgroundColor\" ></bizdoc-color-picker>-->\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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4$2.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: "pipe", type: TranslatePipe, name: "translate" }] });
|
31548
31951
|
StateDesignComponent = __decorate([
|
31549
31952
|
BizDoc({ selector: 'state-designer' })
|
31550
31953
|
], StateDesignComponent);
|
31551
31954
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StateDesignComponent, decorators: [{
|
31552
31955
|
type: Component,
|
31553
|
-
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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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 </form>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
|
31956
|
+
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>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\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>{{'Color'|translate}}</mat-label>\r\n <input matInput formControlName=\"color\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'BackgroundColor'|translate}}</mat-label>\r\n <input matInput formControlName=\"backgroundColor\" />\r\n </mat-form-field>\r\n <!--<bizdoc-color-picker formControlName=\"backgroundColor\" ></bizdoc-color-picker>-->\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" }]
|
31554
31957
|
}] });
|
31555
31958
|
|
31556
31959
|
let ReturnToRoleActionDesignComponent = class ReturnToRoleActionDesignComponent extends DesignerElementComponent {
|
@@ -31577,10 +31980,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
31577
31980
|
args: [DesignerRef]
|
31578
31981
|
}] }]; } });
|
31579
31982
|
|
31983
|
+
let configurationDatasourceDesignComponent = class configurationDatasourceDesignComponent extends DesignerElementComponent {
|
31984
|
+
constructor() {
|
31985
|
+
super(...arguments);
|
31986
|
+
this.items = this._fb.array([]);
|
31987
|
+
this.form = this._fb.group({
|
31988
|
+
items: this._fb.group({})
|
31989
|
+
});
|
31990
|
+
}
|
31991
|
+
ngOnInit() {
|
31992
|
+
if (!this.args.items)
|
31993
|
+
this.args.items = {};
|
31994
|
+
Object.keys(this.args.items).forEach(k => this.items.push(this._form(k, this.args.items[k])));
|
31995
|
+
this.items.valueChanges.pipe(debounceTime$1(150)).
|
31996
|
+
subscribe(v => this._tomap(v));
|
31997
|
+
}
|
31998
|
+
_tomap(varray) {
|
31999
|
+
const items = {};
|
32000
|
+
varray.forEach(v => items[v.key] = v.value);
|
32001
|
+
this.form.get('items').setValue(items);
|
32002
|
+
}
|
32003
|
+
add() {
|
32004
|
+
this._form(null, null);
|
32005
|
+
}
|
32006
|
+
_form(key, value) {
|
32007
|
+
return this._fb.group({
|
32008
|
+
key: this._fb.control(key, Validators.required),
|
32009
|
+
value: this._fb.control(value, Validators.required)
|
32010
|
+
});
|
32011
|
+
}
|
32012
|
+
drop(event) {
|
32013
|
+
const array = this.items.value;
|
32014
|
+
moveItemInArray(array, event.previousIndex, event.currentIndex);
|
32015
|
+
this._tomap(array);
|
32016
|
+
}
|
32017
|
+
};
|
32018
|
+
configurationDatasourceDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: configurationDatasourceDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
32019
|
+
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$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4$2.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: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
32020
|
+
configurationDatasourceDesignComponent = __decorate([
|
32021
|
+
BizDoc({ selector: 'configuration-datasource-designer' })
|
32022
|
+
], configurationDatasourceDesignComponent);
|
32023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: configurationDatasourceDesignComponent, decorators: [{
|
32024
|
+
type: Component,
|
32025
|
+
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" }]
|
32026
|
+
}] });
|
32027
|
+
|
31580
32028
|
const SYSTEM_COMPONENTS = [RoleNodeComponent, ManageCubeIndexUtility, PermissionsUtility, PositionsComponent, ProfilerComponent,
|
31581
32029
|
PatternsComponent, SystemDiffComponent, DocumentTraceComponent, ConfigurationDesignerComponent, FormDesignerComponent];
|
31582
32030
|
const DESINER_COMPONENTS = [StateDesignComponent, RoleDesignComponent, FormDesignComponent, RuleDesignComponent, ReportDesignComponent, GuideDesignComponent, UtilityDesignComponent, FolderDesignComponent, WidgetDesignComponent, ActionDesignComponent, DocumentsWidgetDesignComponent, CubeDesignComponent, ViewDesignComponent, TypeDesignComponent, ReportDesignComponent,
|
31583
|
-
ReturnToRoleActionDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsReportDesignComponent, PerformanceWidgetDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent, PivotViewDesignComponent];
|
32031
|
+
configurationDatasourceDesignComponent, ReturnToRoleActionDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsReportDesignComponent, PerformanceWidgetDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent, PivotViewDesignComponent];
|
31584
32032
|
class SystemModule {
|
31585
32033
|
static forChild() {
|
31586
32034
|
registerComponents(SYSTEM_COMPONENTS);
|
@@ -31594,8 +32042,9 @@ class SystemModule {
|
|
31594
32042
|
SystemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
31595
32043
|
SystemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: SystemModule, declarations: [
|
31596
32044
|
/** design */
|
32045
|
+
IconPickerComponent,
|
31597
32046
|
StateDesignComponent, RoleDesignComponent, GuideDesignComponent, RuleDesignComponent, ReportDesignComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, CubeDesignComponent, ActionDesignComponent, ReportDesignComponent, ViewDesignComponent, TypeDesignComponent,
|
31598
|
-
ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
32047
|
+
configurationDatasourceDesignComponent, ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
31599
32048
|
/** utilities */
|
31600
32049
|
ConfigurationDesignerComponent, FormDesignerComponent, DesignerItemComponent,
|
31601
32050
|
PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
|
@@ -31635,8 +32084,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
31635
32084
|
args: [{
|
31636
32085
|
declarations: [
|
31637
32086
|
/** design */
|
32087
|
+
IconPickerComponent,
|
31638
32088
|
StateDesignComponent, RoleDesignComponent, GuideDesignComponent, RuleDesignComponent, ReportDesignComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, CubeDesignComponent, ActionDesignComponent, ReportDesignComponent, ViewDesignComponent, TypeDesignComponent,
|
31639
|
-
ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
32089
|
+
configurationDatasourceDesignComponent, ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
31640
32090
|
/** utilities */
|
31641
32091
|
ConfigurationDesignerComponent, FormDesignerComponent, DesignerItemComponent,
|
31642
32092
|
PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
|
@@ -31857,5 +32307,5 @@ function withRoute(routes) {
|
|
31857
32307
|
* Generated bundle index. Do not edit.
|
31858
32308
|
*/
|
31859
32309
|
|
31860
|
-
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateFormatPipe, DateRangePipe, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, FadeSlideInOut, FieldType, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, INBOX, IdentityName, ItemResolveService, JoinPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SessionService, ShakeAnimation, SharedModule, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TimeAgoPipe, TimePicker, TimespanInput, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, registerComponents };
|
32310
|
+
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateFormatPipe, DateRangePipe, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, FadeSlideInOut, FieldType, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, INBOX, IdentityName, ItemResolveService, JoinPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SessionService, ShakeAnimation, SharedModule, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TimeAgoPipe, TimePicker, TimespanInput, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, cleanup$1 as cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, registerComponents };
|
31861
32311
|
//# sourceMappingURL=bizdoc-core.mjs.map
|