@bizdoc/core 2.4.6 → 2.4.10

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.
@@ -56,7 +56,7 @@ import * as i3$1 from '@angular/material/form-field';
56
56
  import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
57
57
  import * as i3$2 from '@angular/material/slide-toggle';
58
58
  import { MatSlideToggleModule, MatSlideToggle } from '@angular/material/slide-toggle';
59
- import * as i1$3 from '@angular/cdk/bidi';
59
+ import * as i7 from '@angular/cdk/bidi';
60
60
  import { __decorate } from 'tslib';
61
61
  import { coerceBooleanProperty, coerceNumberProperty, coerceArray } from '@angular/cdk/coercion';
62
62
  import * as i6 from '@angular/cdk/text-field';
@@ -73,7 +73,7 @@ import 'ace-builds/src-noconflict/mode-javascript';
73
73
  import 'ace-builds/src-noconflict/theme-github';
74
74
  import 'ace-builds/src-noconflict/theme-twilight';
75
75
  import 'ace-builds/src-noconflict/ext-language_tools';
76
- import * as i1$4 from '@angular/router';
76
+ import * as i1$3 from '@angular/router';
77
77
  import { NavigationStart as NavigationStart$1, ActivationEnd, RouterModule } from '@angular/router';
78
78
  import * as i6$1 from '@angular/material/divider';
79
79
  import * as i10$1 from '@angular/material/menu';
@@ -87,9 +87,9 @@ import * as i5$1 from '@angular/material/table';
87
87
  import { MatTableModule, MatTableDataSource } from '@angular/material/table';
88
88
  import * as i6$2 from '@angular/material/sort';
89
89
  import { MatSortModule, MatSort } from '@angular/material/sort';
90
- import * as i7$1 from '@angular/material/paginator';
90
+ import * as i7$2 from '@angular/material/paginator';
91
91
  import { MatPaginatorIntl, MatPaginatorModule, MatPaginator } from '@angular/material/paginator';
92
- import * as i7$3 from '@angular/material/tabs';
92
+ import * as i7$4 from '@angular/material/tabs';
93
93
  import { MatTabsModule } from '@angular/material/tabs';
94
94
  import * as i2$a from '@angular/material/bottom-sheet';
95
95
  import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
@@ -105,13 +105,13 @@ import * as i5$2 from '@angular/material/badge';
105
105
  import { MatBadgeModule } from '@angular/material/badge';
106
106
  import * as i6$3 from '@angular/material/button-toggle';
107
107
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
108
- import * as i7$2 from '@angular/material/progress-bar';
108
+ import * as i7$3 from '@angular/material/progress-bar';
109
109
  import { MatProgressBarModule } from '@angular/material/progress-bar';
110
110
  import * as i8$1 from '@angular/material/toolbar';
111
111
  import { MatToolbarModule } from '@angular/material/toolbar';
112
112
  import * as i2$b from '@angular/material/radio';
113
113
  import { MatRadioModule, MatRadioButton } from '@angular/material/radio';
114
- import * as i7 from '@angular/material/progress-spinner';
114
+ import * as i7$1 from '@angular/material/progress-spinner';
115
115
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
116
116
  import * as i5$5 from '@angular/cdk/scrolling';
117
117
  import { CdkScrollableModule, ScrollingModule } from '@angular/cdk/scrolling';
@@ -133,15 +133,14 @@ import { UndoRedo, ConnectorBridging, ConnectorEditing, Snapping, Diagram, BpmnD
133
133
  import { DiagramTools as DiagramTools$1, DiagramConstraints as DiagramConstraints$1, ConnectionPointOrigin, SnapConstraints, Diagram as Diagram$1, NodeConstraints as NodeConstraints$1, ComplexHierarchicalTreeService, DiagramModule, SymbolPaletteModule, ConnectorBridgingService, LineRoutingService, BpmnDiagramsService, LayoutAnimationService, UndoRedoService, SnappingService, ConnectorEditingService, LineDistributionService, ComplexHierarchicalTree, BpmnDiagrams as BpmnDiagrams$1, DataBinding, LineDistribution } from '@syncfusion/ej2-angular-diagrams';
134
134
  import * as i5$3 from '@syncfusion/ej2-angular-schedule';
135
135
  import { ScheduleModule, ExcelExportService as ExcelExportService$2, DayService, WorkWeekService, MonthService, MonthAgendaService, ICalendarExportService, AgendaService, YearService, Day, WorkWeek, Month, MonthAgenda, Agenda, Year, Schedule } from '@syncfusion/ej2-angular-schedule';
136
- import { DIALOG_DATA } from '@angular/cdk/dialog';
137
136
  import * as i10$2 from '@syncfusion/ej2-angular-kanban';
138
137
  import { KanbanComponent, KanbanModule } from '@syncfusion/ej2-angular-kanban';
139
138
  import * as i3$4 from '@syncfusion/ej2-angular-inputs';
140
139
  import { SignatureModule } from '@syncfusion/ej2-angular-inputs';
141
140
  import * as i8$4 from '@syncfusion/ej2-angular-lineargauge';
142
141
  import { LinearGaugeModule, AnnotationsService, GaugeTooltipService } from '@syncfusion/ej2-angular-lineargauge';
143
- import * as i7$4 from '@syncfusion/ej2-angular-charts';
144
- import { ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, AreaSeries, LineSeries, DateTime, RangeTooltip, RangeNavigator, SparklineTooltip, Sparkline, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, AccumulationChart as AccumulationChart$1, Highlight, StripLine, BoxAndWhiskerSeries, Category, Tooltip as Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation, Chart as Chart$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
142
+ import * as i7$5 from '@syncfusion/ej2-angular-charts';
143
+ import { ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, BulletTooltipService, AreaSeries, LineSeries, DateTime, RangeTooltip, RangeNavigator, SparklineTooltip, Sparkline, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, AccumulationChart as AccumulationChart$1, Highlight, StripLine, BoxAndWhiskerSeries, Category, Tooltip as Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation, Chart as Chart$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
145
144
  import * as i8$3 from '@syncfusion/ej2-angular-grids';
146
145
  import { GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, ExcelExport, Sort, Group, Page, Freeze, Selection as Selection$1, Aggregate, Grid as Grid$1, GridComponent } from '@syncfusion/ej2-angular-grids';
147
146
  import * as i6$6 from '@syncfusion/ej2-angular-circulargauge';
@@ -157,6 +156,7 @@ import calendar from 'dayjs/plugin/calendar';
157
156
  import advancedFormat from 'dayjs/plugin/advancedFormat';
158
157
  import updateLocale from 'dayjs/plugin/updateLocale';
159
158
  import { CircularGauge as CircularGauge$1 } from '@syncfusion/ej2-circulargauge';
159
+ import { DIALOG_DATA } from '@angular/cdk/dialog';
160
160
 
161
161
  const BIZDOC_CONFIG = new InjectionToken('bizdoc');
162
162
  var OpenPolicy;
@@ -3390,7 +3390,7 @@ class ColorPicker {
3390
3390
  merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.key === 'Escape'))).subscribe(() => this.close());
3391
3391
  return ref;
3392
3392
  }
3393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColorPicker, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
3393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColorPicker, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i7.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
3394
3394
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", 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\" type=\"button\">\n <span>{{label}}</span>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"color-palette\">\n @for (p of Object.keys(_palettes); track p) {\n <div class=\"color-container\">\n @for (c of Object.keys(_palettes[p]); track c) {\n <span (click)='_pick(_palettes[p][c])' [style.background-color]='_palettes[p][c]' class=\"color-item\"></span>\n }\n </div>\n }\n </div>\n</ng-template>\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: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3395
3395
  }
3396
3396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColorPicker, decorators: [{
@@ -3404,7 +3404,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
3404
3404
  type: Optional
3405
3405
  }, {
3406
3406
  type: Self
3407
- }] }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1$3.Directionality }], propDecorators: { label: [{
3407
+ }] }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i7.Directionality }], propDecorators: { label: [{
3408
3408
  type: Input
3409
3409
  }], value: [{
3410
3410
  type: Input
@@ -5578,8 +5578,7 @@ class LayoutComponent {
5578
5578
  f.label = f.name;
5579
5579
  Object.assign(instance, f);
5580
5580
  instance.mode = 'compose';
5581
- instance.appearance = 'outline';
5582
- f.defaultValue && instance.control.setValue(f.defaultValue, { emitEvent: false });
5581
+ f.defaultValue !== undefined && instance.control.setValue(f.defaultValue, { emitEvent: false });
5583
5582
  this.form.addControl(f.name, instance.control);
5584
5583
  return instance;
5585
5584
  });
@@ -6053,10 +6052,12 @@ const FAMILY_SVG = {
6053
6052
  'SAP': 'sap.svg',
6054
6053
  'Mfg': 'qad.svg',
6055
6054
  'HiBob': 'hibob.svg',
6056
- 'Priority': 'priority.svg',
6055
+ 'Priority': 'priority.png',
6057
6056
  'ActiveDirectory': 'windows.svg',
6058
6057
  'Amazon': 'amazon.svg',
6059
6058
  'Google': 'google.svg',
6059
+ 'Hadoop': 'Hadoop.svg',
6060
+ 'Workday': 'Workday.svg',
6060
6061
  'Okta': 'okta.svg'
6061
6062
  };
6062
6063
  const CAP_NAME_CHAR = /[A-Z]+/g, NON_NAME_CHAR = /[^\w\-_.]+/g;
@@ -6389,7 +6390,7 @@ class GuideComponent {
6389
6390
  this._overlayRef.detach();
6390
6391
  done && this._clear();
6391
6392
  }
6392
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: SessionService }, { token: i1$1.Overlay }, { token: i1$4.Router }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
6393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: SessionService }, { token: i1$1.Overlay }, { token: i1$3.Router }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
6393
6394
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\n <div class=\"column content\">\n <div class=\"row\">\n @if (step?.title) {\n <h2 class=\"mat-h2\">{{step?.title}}</h2>\n }\n <span class=\"divider\"></span>\n @if (index < count - 1) {\n <button mat-icon-button (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n </div>\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\n </p>\n <div class=\"row center\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n @if (index >= count - 1) {\n <button mat-button (click)=\"close(true)\">{{'GuideFinish'|translate}}</button>\n }\n </div>\n </div>\n <div class=\"tooltip-container\">\n <div class=\"tooltip\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [trigger('body', [
6394
6395
  state('here', style({ width: '*', height: '*' })),
6395
6396
  transition('*<=>*', animate('250ms', style({})))
@@ -6404,7 +6405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
6404
6405
  }], ctorParameters: () => [{ type: undefined, decorators: [{
6405
6406
  type: Inject,
6406
6407
  args: [TOUR_TOKEN]
6407
- }] }, { type: SessionService }, { type: i1$1.Overlay }, { type: i1$4.Router }, { type: i1$1.OverlayRef }], propDecorators: { keydown: [{
6408
+ }] }, { type: SessionService }, { type: i1$1.Overlay }, { type: i1$3.Router }, { type: i1$1.OverlayRef }], propDecorators: { keydown: [{
6408
6409
  type: HostListener,
6409
6410
  args: ['window:keydown', ['$event']]
6410
6411
  }] } });
@@ -7866,12 +7867,12 @@ class NgRouter extends RouterImpl {
7866
7867
  navigate(commands, extra) {
7867
7868
  this._router.navigate(commands, extra);
7868
7869
  }
7869
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NgRouter, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
7870
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NgRouter, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
7870
7871
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NgRouter }); }
7871
7872
  }
7872
7873
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NgRouter, decorators: [{
7873
7874
  type: Injectable
7874
- }], ctorParameters: () => [{ type: i1$4.Router }] });
7875
+ }], ctorParameters: () => [{ type: i1$3.Router }] });
7875
7876
 
7876
7877
  /** */
7877
7878
  class CheckboxComponent {
@@ -8143,8 +8144,8 @@ class AttachmentPreview {
8143
8144
  startExitAnimation() {
8144
8145
  this.animationState = 'leave';
8145
8146
  }
8146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentPreview, deps: [{ token: i1$3.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2$1.DomSanitizer }, { token: MailboxService }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
8147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\n @if (!loading) {\n <div class=\"toolbar-wrapper row\" [@slideDown]=\"slideDown\">\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n </div>\n }\n @if (loading) {\n <div class=\"spinner-wrapper\">\n <mat-spinner></mat-spinner>\n </div>\n }\n @if (!isImage) {\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" #obj width=\"250\"\n height=\"200\">\n </object>\n }\n @if (isImage) {\n <img (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }], animations: [
8147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentPreview, deps: [{ token: i7.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2$1.DomSanitizer }, { token: MailboxService }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
8148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\n @if (!loading) {\n <div class=\"toolbar-wrapper row\" [@slideDown]=\"slideDown\">\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n </div>\n }\n @if (loading) {\n <div class=\"spinner-wrapper\">\n <mat-spinner></mat-spinner>\n </div>\n }\n @if (!isImage) {\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" #obj width=\"250\"\n height=\"200\">\n </object>\n }\n @if (isImage) {\n <img (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }], animations: [
8148
8149
  trigger('fade', [
8149
8150
  state('fadeOut', style({ opacity: 0 })),
8150
8151
  state('fadeIn', style({ opacity: 1 })),
@@ -8185,7 +8186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
8185
8186
  transition('* => *', animate(ANIMATION_TIMINGS)),
8186
8187
  ])
8187
8188
  ], template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\n @if (!loading) {\n <div class=\"toolbar-wrapper row\" [@slideDown]=\"slideDown\">\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n </div>\n }\n @if (loading) {\n <div class=\"spinner-wrapper\">\n <mat-spinner></mat-spinner>\n </div>\n }\n @if (!isImage) {\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" #obj width=\"250\"\n height=\"200\">\n </object>\n }\n @if (isImage) {\n <img (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"] }]
8188
- }], ctorParameters: () => [{ type: i1$3.Directionality }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
8189
+ }], ctorParameters: () => [{ type: i7.Directionality }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
8189
8190
  type: Inject,
8190
8191
  args: [FILE_PREVIEW_DIALOG_DATA]
8191
8192
  }] }, { type: i2$1.DomSanitizer }, { type: MailboxService }, { type: i1$1.OverlayRef }], propDecorators: { obj: [{
@@ -8240,12 +8241,12 @@ class AttachmentInfo {
8240
8241
  this._injector = _injector;
8241
8242
  this._dir = _dir;
8242
8243
  }
8243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentInfo, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Injectable }); }
8244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentInfo, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: i7.Directionality }], target: i0.ɵɵFactoryTarget.Injectable }); }
8244
8245
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentInfo }); }
8245
8246
  }
8246
8247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentInfo, decorators: [{
8247
8248
  type: Injectable
8248
- }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i1$3.Directionality }] });
8249
+ }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i7.Directionality }] });
8249
8250
 
8250
8251
  class ProgressDirective {
8251
8252
  constructor(elementRef, renderer) {
@@ -8435,13 +8436,13 @@ class AttachmentsComponent {
8435
8436
  else
8436
8437
  this._sb.ask('DeleteFileAsk', 'DeleteFile', { color: 'warn' }).subscribe(ok => ok && task());
8437
8438
  }
8438
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentsComponent, deps: [{ token: MailboxService }, { token: SessionService }, { token: i0.ViewContainerRef }, { token: PromptService }, { token: i1$1.Overlay }, { token: i0.Injector }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
8439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentsComponent, deps: [{ token: MailboxService }, { token: SessionService }, { token: i0.ViewContainerRef }, { token: PromptService }, { token: i1$1.Overlay }, { token: i0.Injector }, { token: i7.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
8439
8440
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: { model: "model", viewedIndicator: "viewedIndicator", includeDeleted: "includeDeleted" }, usesOnChanges: true, ngImport: i0, template: "@for (a of attachments; track a) {\n <div>\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\"\n [progressIndicator]=\"a.progress\">\n @if (viewedIndicator && a.viewed) {\n <mat-icon>done_all</mat-icon>\n }\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\n <mat-icon>attachment</mat-icon>&nbsp;\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\n </button>\n <mat-menu #attachment>\n @if (!a.failed) {\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (canPreview(a)) {\n <button mat-menu-item (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersion(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canDelete(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n}\n", styles: [":host{display:flex;flex-flow:wrap;position:relative;z-index:0}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"], dependencies: [{ kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
8440
8441
  }
8441
8442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AttachmentsComponent, decorators: [{
8442
8443
  type: Component,
8443
8444
  args: [{ selector: 'bizdoc-attachments', template: "@for (a of attachments; track a) {\n <div>\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\"\n [progressIndicator]=\"a.progress\">\n @if (viewedIndicator && a.viewed) {\n <mat-icon>done_all</mat-icon>\n }\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\n <mat-icon>attachment</mat-icon>&nbsp;\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\n </button>\n <mat-menu #attachment>\n @if (!a.failed) {\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (canPreview(a)) {\n <button mat-menu-item (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersion(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canDelete(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n}\n", styles: [":host{display:flex;flex-flow:wrap;position:relative;z-index:0}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"] }]
8444
- }], ctorParameters: () => [{ type: MailboxService }, { type: SessionService }, { type: i0.ViewContainerRef }, { type: PromptService }, { type: i1$1.Overlay }, { type: i0.Injector }, { type: i1$3.Directionality }], propDecorators: { model: [{
8445
+ }], ctorParameters: () => [{ type: MailboxService }, { type: SessionService }, { type: i0.ViewContainerRef }, { type: PromptService }, { type: i1$1.Overlay }, { type: i0.Injector }, { type: i7.Directionality }], propDecorators: { model: [{
8445
8446
  type: Input
8446
8447
  }], viewedIndicator: [{
8447
8448
  type: Input
@@ -8880,13 +8881,13 @@ class ExpandedItemComponent {
8880
8881
  this._destroy.complete();
8881
8882
  this._typingTask && clearTimeout(this._typingTask);
8882
8883
  }
8883
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: PromptService }, { token: ChatInfo }, { token: AccountService }, { token: MailboxService }, { token: SessionService }, { token: i1$3.Directionality }, { token: i2$2.MatDialog }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
8884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: PromptService }, { token: ChatInfo }, { token: AccountService }, { token: MailboxService }, { token: SessionService }, { token: i7.Directionality }, { token: i2$2.MatDialog }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
8884
8885
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [disabled]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"], dependencies: [{ kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: StatePipe, name: "state" }] }); }
8885
8886
  }
8886
8887
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExpandedItemComponent, decorators: [{
8887
8888
  type: Component,
8888
8889
  args: [{ selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [disabled]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"] }]
8889
- }], ctorParameters: () => [{ type: PromptService }, { type: ChatInfo }, { type: AccountService }, { type: MailboxService }, { type: SessionService }, { type: i1$3.Directionality }, { type: i2$2.MatDialog }, { type: TranslateService }, { type: HubService }], propDecorators: { model: [{
8890
+ }], ctorParameters: () => [{ type: PromptService }, { type: ChatInfo }, { type: AccountService }, { type: MailboxService }, { type: SessionService }, { type: i7.Directionality }, { type: i2$2.MatDialog }, { type: TranslateService }, { type: HubService }], propDecorators: { model: [{
8890
8891
  type: Input
8891
8892
  }], sent: [{
8892
8893
  type: Output
@@ -9305,7 +9306,7 @@ class BrowseItemsComponent {
9305
9306
  this._destroy.complete();
9306
9307
  }
9307
9308
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowseItemsComponent, deps: [{ token: MailboxService }, { token: AccountService }, { token: CubeService }, { token: SessionService }, { token: PromptService }, { token: TranslateService }, { token: i0.ChangeDetectorRef }, { token: RouterImpl }, { token: HubService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
9308
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, host: { classAttribute: "bizdoc-browse-items" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n@if (dataSource?.data.length === 0) {\n <bizdoc-none title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\n}\n<mat-table cdkDropList class=\"data-table\"\n [cdkDropListDisabled]=\"isMobile\"\n [cdkDropListData]=\"dataSource?.data\"\n cdkDropListConnectedTo=\"folders\"\n cdkDropListSortingDisabled\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef>\n <div class=\"\"></div>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\n (change)=\"$event ? selection.toggle(item) : null\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n <!-- drag -->\n <!--<button mat-icon-button cdkDragHandle\n (mousedown)=\"dragDisabled = false\"\n (mouseup)=\"dragDisabled = true\"\n (touchstart)=\"dragDisabled = false\"\n (touchend)=\"dragDisabled = true\"\n class=\"drag hide-xs\" aria-disabled=\"true\">\n <mat-icon>drag_indicator</mat-icon>\n </button>-->\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\n </mat-cell>\n</ng-container>\n<!-- Number column -->\n<ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n</ng-container>\n\n<!-- Subject column -->\n<ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"owner\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @if (item.ownerId) {\n <bizdoc-identity-name [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\n }\n </mat-cell>\n</ng-container>\n<ng-container matColumnDef=\"sender\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @if (item.senderId) {\n <bizdoc-identity-name [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\n }\n </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"received\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"receivedAgo\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"replied\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"issued\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"issuedAgo\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"state\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n</ng-container>\n\n@if (customColumns) {\n @for (c of customColumns; track c) {\n <ng-container [matColumnDef]=\"c.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @switch (c.type) {\n @case ('Date') {\n <span>\n {{item.model[c.name] | amCalendar }}\n </span>\n }\n @case ('Decimal') {\n <span>\n {{item.model[c.name] | number }}\n </span>\n }\n @case ('Boolean') {\n <span>\n <bizdoc-checkbox [checked]=\"item.model[c.name]\"></bizdoc-checkbox>\n </span>\n }\n @default {\n <span>\n {{item.model[c.name]}}z\n </span>\n }\n }\n </mat-cell>\n </ng-container>\n }\n}\n\n<!-- Value column -->\n<ng-container matColumnDef=\"value\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\n</ng-container>\n\n<!-- options column -->\n<ng-container matColumnDef=\"options\">\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\n @if (enableViews) {\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><mat-icon>more_vert</mat-icon></button>\n </mat-cell>\n</ng-container>\n<!-- Expanded Content Column -->\n<ng-container matColumnDef=\"expandedDetail\">\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\n [class.read-row]=\"item.read\">\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\n @if (item == expandedElement) {\n <bizdoc-expanded-item [model]=\"item\"></bizdoc-expanded-item>\n }\n </div>\n </mat-cell>\n</ng-container>\n<mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n<mat-row @item [@updated]=\"item == updatedElement\"\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\n cdkDrag [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"dragDisabled\"\n (cdkDragReleased)=\"dragDisabled = true\"\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\n <div *cdkDragPreview>\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\n </div>\n <div *cdkDragPlaceholder>\n <!-- none -->\n </div>\n</mat-row>\n<mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\n class=\"detail-row\" matRipple\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-item=\"item\">\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\n </ng-template>\n</mat-menu>\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-mdc-row .tool{opacity:.05}.mat-mdc-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: ["checked", "color", "icon"] }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
9309
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, host: { classAttribute: "bizdoc-browse-items" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n@if (dataSource?.data.length === 0) {\n <bizdoc-none title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\n}\n<mat-table cdkDropList class=\"data-table\"\n [cdkDropListDisabled]=\"isMobile\"\n [cdkDropListData]=\"dataSource?.data\"\n cdkDropListConnectedTo=\"folders\"\n cdkDropListSortingDisabled\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef>\n <div class=\"\"></div>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\n (change)=\"$event ? selection.toggle(item) : null\"\n [checked]=\"selection.isSelected(item)\">\n </mat-checkbox>\n <!-- drag -->\n <!--<button mat-icon-button cdkDragHandle\n (mousedown)=\"dragDisabled = false\"\n (mouseup)=\"dragDisabled = true\"\n (touchstart)=\"dragDisabled = false\"\n (touchend)=\"dragDisabled = true\"\n class=\"drag hide-xs\" aria-disabled=\"true\">\n <mat-icon>drag_indicator</mat-icon>\n </button>-->\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\n </mat-cell>\n</ng-container>\n<!-- Number column -->\n<ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n</ng-container>\n\n<!-- Subject column -->\n<ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"owner\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @if (item.ownerId) {\n <bizdoc-identity-name [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\n }\n </mat-cell>\n</ng-container>\n<ng-container matColumnDef=\"sender\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @if (item.senderId) {\n <bizdoc-identity-name [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\n }\n </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"received\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"receivedAgo\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"replied\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"issued\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"issuedAgo\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\n</ng-container>\n\n<ng-container matColumnDef=\"state\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n</ng-container>\n\n@if (customColumns) {\n @for (c of customColumns; track c) {\n <ng-container [matColumnDef]=\"c.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n @switch (c.type) {\n @case ('Date') {\n <span>\n {{item.model[c.name] | amCalendar }}\n </span>\n }\n @case ('Decimal') {\n <span>\n {{item.model[c.name] | number }}\n </span>\n }\n @case ('Boolean') {\n <span>\n <bizdoc-checkbox [checked]=\"item.model[c.name]\"></bizdoc-checkbox>\n </span>\n }\n @default {\n <span>\n {{item.model[c.name]}}z\n </span>\n }\n }\n </mat-cell>\n </ng-container>\n }\n}\n\n<!-- Value column -->\n<ng-container matColumnDef=\"value\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\n</ng-container>\n\n<!-- options column -->\n<ng-container matColumnDef=\"options\">\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\n @if (enableViews) {\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><mat-icon>more_vert</mat-icon></button>\n </mat-cell>\n</ng-container>\n<!-- Expanded Content Column -->\n<ng-container matColumnDef=\"expandedDetail\">\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\n [class.read-row]=\"item.read\">\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\n @if (item == expandedElement) {\n <bizdoc-expanded-item [model]=\"item\"></bizdoc-expanded-item>\n }\n </div>\n </mat-cell>\n</ng-container>\n<mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n<mat-row @item [@updated]=\"item == updatedElement\"\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\n cdkDrag [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"dragDisabled\"\n (cdkDragReleased)=\"dragDisabled = true\"\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\n <div *cdkDragPreview>\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\n </div>\n <div *cdkDragPlaceholder>\n <!-- none -->\n </div>\n</mat-row>\n<mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\n class=\"detail-row\" matRipple\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-item=\"item\">\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\n </ng-template>\n</mat-menu>\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-mdc-row .tool{opacity:.05}.mat-mdc-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: ["checked", "color", "icon"] }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
9309
9310
  listAnimation,
9310
9311
  itemAnimation,
9311
9312
  expandListItemAnimation,
@@ -10200,13 +10201,13 @@ class BrowsePaneComponent {
10200
10201
  this._destroy.next();
10201
10202
  this._destroy.complete();
10202
10203
  }
10203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowsePaneComponent, deps: [{ token: PaneRef }, { token: SessionService }, { token: Popup }, { token: PanesRouter }, { token: i1$3.Directionality }, { token: TranslateService }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
10204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowsePaneComponent, deps: [{ token: PaneRef }, { token: SessionService }, { token: Popup }, { token: PanesRouter }, { token: i7.Directionality }, { token: TranslateService }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
10204
10205
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: BrowsePaneComponent, selector: "bizdoc-browse.pane", host: { listeners: { "document:keydown": "handleKeydown($event)" } }, viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }, { propertyName: "search", first: true, predicate: ["searchEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (!items.selection.isEmpty()) {\n <!--<button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>-->\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">\n @if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}\n </button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n }\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n } @else {\n <!--<button mat-icon-button (click)=\"openSearch()\"\n [bizdocTooltip]=\"'Search'|translate\" class=\"tool\">\n <mat-icon>search</mat-icon>\n </button>\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"-->\n <input matInput\n [formControl]=\"contains\" autocomplete=\"off\" placeholder=\"{{'SearchFolders' | translate}}\"\n class=\"mat-body search-box\"\n #searchEl\n (keydown.escape)=\"clearSearch($event)\">\n @if (contains.value) {\n <mat-icon (click)=\"clearSearch()\">close</mat-icon>\n }\n <span class=\"divider\"></span>\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\" #filterEl><mat-icon>filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\"\n (open)=\"open($event)\" (view)=\"view($event) \" #items></bizdoc-browse-items>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [searchAnimation] }); }
10205
10206
  }
10206
10207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowsePaneComponent, decorators: [{
10207
10208
  type: Component,
10208
10209
  args: [{ selector: 'bizdoc-browse.pane', animations: [searchAnimation], template: "<mat-toolbar class=\"nav-toolbar\">\n @if (!items.selection.isEmpty()) {\n <!--<button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>-->\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">\n @if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}\n </button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n }\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n } @else {\n <!--<button mat-icon-button (click)=\"openSearch()\"\n [bizdocTooltip]=\"'Search'|translate\" class=\"tool\">\n <mat-icon>search</mat-icon>\n </button>\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"-->\n <input matInput\n [formControl]=\"contains\" autocomplete=\"off\" placeholder=\"{{'SearchFolders' | translate}}\"\n class=\"mat-body search-box\"\n #searchEl\n (keydown.escape)=\"clearSearch($event)\">\n @if (contains.value) {\n <mat-icon (click)=\"clearSearch()\">close</mat-icon>\n }\n <span class=\"divider\"></span>\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\" #filterEl><mat-icon>filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\"\n (open)=\"open($event)\" (view)=\"view($event) \" #items></bizdoc-browse-items>\n" }]
10209
- }], ctorParameters: () => [{ type: PaneRef }, { type: SessionService }, { type: Popup }, { type: PanesRouter }, { type: i1$3.Directionality }, { type: TranslateService }, { type: i2$2.MatDialog }], propDecorators: { items: [{
10210
+ }], ctorParameters: () => [{ type: PaneRef }, { type: SessionService }, { type: Popup }, { type: PanesRouter }, { type: i7.Directionality }, { type: TranslateService }, { type: i2$2.MatDialog }], propDecorators: { items: [{
10210
10211
  type: ViewChild,
10211
10212
  args: [BrowseItemsComponent, { static: true }]
10212
10213
  }], filterEl: [{
@@ -12201,7 +12202,7 @@ class CubeViewPaneComponent extends ViewBase {
12201
12202
  });
12202
12203
  }
12203
12204
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: Popup }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
12204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window.keydown": "handleKeydown($event)" } }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n {{p.title}}\n </button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\" #filterEl><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-view [filters]=\"axes\" #vp\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n[(loading)]=\"loading\"></bizdoc-cube-view>\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
12205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window.keydown": "handleKeydown($event)" } }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n {{p.title}}\n </button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\" #filterEl><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-view [filters]=\"axes\" #vp\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n[(loading)]=\"loading\"></bizdoc-cube-view>\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
12205
12206
  }
12206
12207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
12207
12208
  type: Component,
@@ -12567,7 +12568,7 @@ class TaggingDirective {
12567
12568
  this._input.value = this._element.nativeElement.value;
12568
12569
  this._element.nativeElement.selectionStart = position + key.length - (val ? val.length - 1 : 0);
12569
12570
  }
12570
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TaggingDirective, deps: [{ token: i3$3.MatInput, self: true }, { token: i1$3.Directionality }, { token: i0.ElementRef }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Directive }); }
12571
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TaggingDirective, deps: [{ token: i3$3.MatInput, self: true }, { token: i7.Directionality }, { token: i0.ElementRef }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Directive }); }
12571
12572
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: TaggingDirective, selector: "[bizdocTagging]", inputs: { resource: ["bizdocTagging", "resource"] }, outputs: { resourceChange: "bizdocTaggingChange" }, host: { listeners: { "keydown": "_handleKeydown($event)", "input": "_handleInput($event)" } }, ngImport: i0 }); }
12572
12573
  }
12573
12574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TaggingDirective, decorators: [{
@@ -12581,7 +12582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
12581
12582
  }]
12582
12583
  }], ctorParameters: () => [{ type: i3$3.MatInput, decorators: [{
12583
12584
  type: Self
12584
- }] }, { type: i1$3.Directionality }, { type: i0.ElementRef }, { type: i1$1.Overlay }], propDecorators: { resource: [{
12585
+ }] }, { type: i7.Directionality }, { type: i0.ElementRef }, { type: i1$1.Overlay }], propDecorators: { resource: [{
12585
12586
  type: Input,
12586
12587
  args: ['bizdocTagging']
12587
12588
  }], resourceChange: [{
@@ -13069,7 +13070,7 @@ class CommentComponent {
13069
13070
  });
13070
13071
  }
13071
13072
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CommentComponent, deps: [{ token: SessionService }, { token: PromptService }, { token: TranslateService }, { token: ChatInfo }, { token: AccountService }, { token: Popup }, { token: i1$1.Overlay }, { token: MailboxService }, { token: i0.ViewContainerRef }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
13072
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CommentComponent, selector: "bizdoc-comment", inputs: { model: "model", item: "item" }, outputs: { deleted: "deleted", reply: "reply" }, host: { classAttribute: "comment" }, viewQueries: [{ propertyName: "bodyElement", first: true, predicate: ["body"], descendants: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\n <div class=\"comment-body\" #body>\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\n }\n </div>\n @if (me) {\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\n }\n <mat-menu #menu>\n <ng-template matMenuContent>\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\n </ng-template>\n </mat-menu>\n</div>\n<div class=\"row\">\n <div class=\"column\">\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <div>\n <small class=\"flex\" bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\n @if (item.edited) {\n &nbsp;<a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\n }\n @if (!me) {\n &nbsp;<a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\n }\n </div>\n </div>\n @if (voting) {\n <div class=\"comment-actions\">\n @if (item.votes > 0 || item.votes < 0) {\n <a [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\n }\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" [disableRipple]=\"true\"><mat-icon>thumb_up_alt</mat-icon></button>\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" [disableRipple]=\"true\"><mat-icon>thumb_down_alt</mat-icon></button>\n </div>\n }\n</div>\n<ng-template #previewTemplate>\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TaggingPipe, name: "taggingHtml" }] }); }
13073
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CommentComponent, selector: "bizdoc-comment", inputs: { model: "model", item: "item" }, outputs: { deleted: "deleted", reply: "reply" }, host: { classAttribute: "comment" }, viewQueries: [{ propertyName: "bodyElement", first: true, predicate: ["body"], descendants: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\n <div class=\"comment-body\" #body>\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\n }\n </div>\n @if (me) {\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\n }\n <mat-menu #menu>\n <ng-template matMenuContent>\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\n </ng-template>\n </mat-menu>\n</div>\n<div class=\"row\">\n <div class=\"column\">\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <div>\n <small class=\"flex\" bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\n @if (item.edited) {\n &nbsp;<a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\n }\n @if (!me) {\n &nbsp;<a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\n }\n </div>\n </div>\n @if (voting) {\n <div class=\"comment-actions\">\n @if (item.votes > 0 || item.votes < 0) {\n <a [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\n }\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" [disableRipple]=\"true\"><mat-icon>thumb_up_alt</mat-icon></button>\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" [disableRipple]=\"true\"><mat-icon>thumb_down_alt</mat-icon></button>\n </div>\n }\n</div>\n<ng-template #previewTemplate>\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", dependencies: [{ kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TaggingPipe, name: "taggingHtml" }] }); }
13073
13074
  }
13074
13075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CommentComponent, decorators: [{
13075
13076
  type: Component,
@@ -13550,7 +13551,7 @@ class ExploreItemsComponent {
13550
13551
  this._loading$.unsubscribe();
13551
13552
  }
13552
13553
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExploreItemsComponent, deps: [{ token: CubeService }, { token: PromptService }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
13553
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: { pageSize: "pageSize", cube: "cube", index: "index", scope: "scope", axes: "axes", loading: "loading" }, outputs: { explore: "explore", load: "load", loadingChange: "loadingChange" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-table matSort [dataSource]=\"dataSource\" @list>\n @for (c of columns; track c) {\n <ng-container [matColumnDef]=\"c.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label || c.name}}</mat-header-cell>\n <mat-cell *matCellDef=\"let element\" [class.figure]=\"c.type === 'Currency'\">\n @switch (c.controlType) {\n @case ('date') {\n {{element[c.name] | amDateFormat: 'll'}}\n }\n @case ('number') {\n @switch (c.kind) {\n @case ('Currency') {\n {{element[c.name] | currency : (element.currencyCode || currencyCode) : 'symbol' : CURRENCY_FORMAT }}\n }\n @default {\n {{element[c.name] | number }}\n }\n }\n }\n @case ('checkbox') {\n <bizdoc-checkbox [checked]=\"element.model[c.name]\"></bizdoc-checkbox>\n }\n @default {\n {{element[c.name] }}\n }\n }\n </mat-cell>\n </ng-container>\n }\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"expand(element)\" [class.selectable]=\"selectable\" @item></mat-row>\n</mat-table>\n<mat-paginator #paginator [pageSize]=\"pageSize\" hidePageSize style=\"display: none\"></mat-paginator>\n", styles: [".selectable{cursor:pointer}.figure{justify-content:right}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: ["checked", "color", "icon"] }, { kind: "pipe", type: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }], animations: [
13554
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: { pageSize: "pageSize", cube: "cube", index: "index", scope: "scope", axes: "axes", loading: "loading" }, outputs: { explore: "explore", load: "load", loadingChange: "loadingChange" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-table matSort [dataSource]=\"dataSource\" @list>\n @for (c of columns; track c) {\n <ng-container [matColumnDef]=\"c.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label || c.name}}</mat-header-cell>\n <mat-cell *matCellDef=\"let element\" [class.figure]=\"c.type === 'Currency'\">\n @switch (c.controlType) {\n @case ('date') {\n {{element[c.name] | amDateFormat: 'll'}}\n }\n @case ('number') {\n @switch (c.kind) {\n @case ('Currency') {\n {{element[c.name] | currency : (element.currencyCode || currencyCode) : 'symbol' : CURRENCY_FORMAT }}\n }\n @default {\n {{element[c.name] | number }}\n }\n }\n }\n @case ('checkbox') {\n <bizdoc-checkbox [checked]=\"element.model[c.name]\"></bizdoc-checkbox>\n }\n @default {\n {{element[c.name] }}\n }\n }\n </mat-cell>\n </ng-container>\n }\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"expand(element)\" [class.selectable]=\"selectable\" @item></mat-row>\n</mat-table>\n<mat-paginator #paginator [pageSize]=\"pageSize\" hidePageSize style=\"display: none\"></mat-paginator>\n", styles: [".selectable{cursor:pointer}.figure{justify-content:right}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: ["checked", "color", "icon"] }, { kind: "pipe", type: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }], animations: [
13554
13555
  listAnimation,
13555
13556
  itemAnimation
13556
13557
  ] }); }
@@ -13637,7 +13638,7 @@ class CubeExplorePaneComponent {
13637
13638
  });
13638
13639
  }
13639
13640
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeExplorePaneComponent, deps: [{ token: PaneRef }, { token: PromptService }, { token: SessionService }, { token: CubeService }, { token: TranslateService }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
13640
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CubeExplorePaneComponent, selector: "ng-component", host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"items.exportExcel()\" [bizdocTooltip]=\"'DownloadExcel' | translate\"><mat-icon>save_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-tags [interactive]=false [cube]=\"cube\" [axes]=\"axes\"></bizdoc-cube-tags>\r\n<bizdoc-cube-explore #items [cube]=\"cube\" [index]=\"index\" [axes]=axes\r\n (explore)=\"item($event)\" (loadingChange)=\"loading = $event\"\r\n [scope]=\"scope\" [pageSize]=\"pageSize\"></bizdoc-cube-explore>\r\n", styles: [":host{min-width:360px}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FilterTagsComponent, selector: "bizdoc-cube-tags", inputs: ["axes", "cube", "interactive"], outputs: ["axesChange"] }, { kind: "component", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
13641
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CubeExplorePaneComponent, selector: "ng-component", host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"items.exportExcel()\" [bizdocTooltip]=\"'DownloadExcel' | translate\"><mat-icon>save_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-tags [interactive]=false [cube]=\"cube\" [axes]=\"axes\"></bizdoc-cube-tags>\r\n<bizdoc-cube-explore #items [cube]=\"cube\" [index]=\"index\" [axes]=axes\r\n (explore)=\"item($event)\" (loadingChange)=\"loading = $event\"\r\n [scope]=\"scope\" [pageSize]=\"pageSize\"></bizdoc-cube-explore>\r\n", styles: [":host{min-width:360px}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FilterTagsComponent, selector: "bizdoc-cube-tags", inputs: ["axes", "cube", "interactive"], outputs: ["axesChange"] }, { kind: "component", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
13641
13642
  }
13642
13643
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeExplorePaneComponent, decorators: [{
13643
13644
  type: Component,
@@ -13828,7 +13829,7 @@ class ReportViewerComponent {
13828
13829
  this._destroy.complete();
13829
13830
  }
13830
13831
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.HttpClient }, { token: PromptService }, { token: i0.Injector }, { token: HubService }, { token: TranslateService }, { token: SessionService }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
13831
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: { report: "report", args: "args" }, host: { listeners: { "window:resize": "resize()" } }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["vc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "table", first: true, predicate: TableViewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar [mode]=\"progress === 0 ? 'query' : 'buffer'\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > -1 ? 'visible':'hidden'\"></mat-progress-bar>\r\n<ng-container #vc></ng-container>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}:host :last-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
13832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: { report: "report", args: "args" }, host: { listeners: { "window:resize": "resize()" } }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["vc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "table", first: true, predicate: TableViewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar [mode]=\"progress === 0 ? 'query' : 'buffer'\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > -1 ? 'visible':'hidden'\"></mat-progress-bar>\r\n<ng-container #vc></ng-container>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}:host :last-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
13832
13833
  }
13833
13834
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ReportViewerComponent, decorators: [{
13834
13835
  type: Component,
@@ -14738,7 +14739,7 @@ class WorkflowComponent {
14738
14739
  this._nodedestroy.complete();
14739
14740
  }
14740
14741
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WorkflowComponent, deps: [{ token: PromptService }, { token: SystemService }, { token: PaneRef }, { token: PanesRouter }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
14741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--@if(connectors.length){\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n @if(nodes[0].annotations.length){\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n }\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n }-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
14742
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--@if(connectors.length){\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n @if(nodes[0].annotations.length){\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n }\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n }-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
14742
14743
  }
14743
14744
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WorkflowComponent, decorators: [{
14744
14745
  type: Component,
@@ -17097,7 +17098,7 @@ class CubeMatrixPaneComponent extends CubeMatrixBase {
17097
17098
  });
17098
17099
  }
17099
17100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixPaneComponent, deps: [{ token: PaneRef }, { token: PanesRouter }, { token: TranslateService }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
17100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
17101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
17101
17102
  }
17102
17103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixPaneComponent, decorators: [{
17103
17104
  type: Component,
@@ -17455,87 +17456,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
17455
17456
  args: [NOTIFICATION_DATA]
17456
17457
  }] }, { type: AccountService }, { type: TranslateService }, { type: RouterImpl }, { type: SessionService }, { type: ChatInfo }] });
17457
17458
 
17458
- class OverlayFormComponent {
17459
- constructor(session, _router, _injector, _cf, _guide, _messaging, formId) {
17460
- this._router = _router;
17461
- this._injector = _injector;
17462
- this._cf = _cf;
17463
- this._guide = _guide;
17464
- this._messaging = _messaging;
17465
- this.created$ = new Subject();
17466
- this._destroy = new Subject();
17467
- this.form = session.profile.forms.find(f => f.name === formId);
17468
- }
17469
- ngOnInit() {
17470
- if (!this.form.template)
17471
- throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
17472
- const comp = this._cf.component(this.form.template);
17473
- this._formRef = new FormRef(this._router, this.form);
17474
- // create on form event
17475
- this._formRef._create$.pipe(takeUntil(this._destroy)).
17476
- subscribe({
17477
- next: m => {
17478
- this.creating = true;
17479
- this.created$.next(m);
17480
- },
17481
- error: this.created$.error.bind(this)
17482
- });
17483
- const injector = Injector.create({
17484
- providers: [
17485
- {
17486
- provide: FormRef, useValue: this._formRef
17487
- }
17488
- ], parent: this._injector
17489
- });
17490
- const componentRef = this.container.createComponent(comp, { injector });
17491
- const instance = componentRef.instance;
17492
- this._formRef._mode = instance.mode = 'overlay';
17493
- // callback
17494
- this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => instance.onMessage && instance.onMessage(e.message));
17495
- }
17496
- guide() {
17497
- this._guide.start(this.form.guide);
17498
- }
17499
- ngOnDestroy() {
17500
- this.created$.unsubscribe();
17501
- this._destroy.next();
17502
- }
17503
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: i0.Injector }, { token: BizDocComponentFactoryResolver }, { token: GuideService }, { token: HubService }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
17504
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: OverlayFormComponent, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
17505
- <h1 class="mat-h1 row">{{form.title}}
17506
- @if(form.guide) {
17507
- <span class="divider"></span>
17508
- <button mat-icon-button (click)="guide()" [bizdocTooltip]="'Help'|translate"><mat-icon>support</mat-icon></button>
17509
- }
17510
- </h1>
17511
- <hr />
17512
- <mat-progress-bar mode="indeterminate" [style.visibility]="creating ? 'visible':'hidden'"></mat-progress-bar>
17513
- <ng-container #container></ng-container>`, isInline: true, styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }] }); }
17514
- }
17515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, decorators: [{
17516
- type: Component,
17517
- args: [{ template: `
17518
- <h1 class="mat-h1 row">{{form.title}}
17519
- @if(form.guide) {
17520
- <span class="divider"></span>
17521
- <button mat-icon-button (click)="guide()" [bizdocTooltip]="'Help'|translate"><mat-icon>support</mat-icon></button>
17522
- }
17523
- </h1>
17524
- <hr />
17525
- <mat-progress-bar mode="indeterminate" [style.visibility]="creating ? 'visible':'hidden'"></mat-progress-bar>
17526
- <ng-container #container></ng-container>`, host: {}, styles: [":host{display:flex;flex-direction:column}\n"] }]
17527
- }], ctorParameters: () => [{ type: SessionService }, { type: RouterImpl }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }, { type: GuideService }, { type: HubService }, { type: undefined, decorators: [{
17528
- type: Inject,
17529
- args: [DIALOG_DATA]
17530
- }] }], propDecorators: { container: [{
17531
- type: ViewChild,
17532
- args: ['container', { static: true, read: ViewContainerRef }]
17533
- }] } });
17534
-
17535
17459
  class DocumentFactory {
17536
- constructor(_session, _mailbox, _ps, _overlay, _dir, _router) {
17460
+ constructor(_session, _mailbox, _cf, _messaging, _ps, _overlay, _dir, _router) {
17537
17461
  this._session = _session;
17538
17462
  this._mailbox = _mailbox;
17463
+ this._cf = _cf;
17464
+ this._messaging = _messaging;
17539
17465
  this._ps = _ps;
17540
17466
  this._overlay = _overlay;
17541
17467
  this._dir = _dir;
@@ -17550,49 +17476,63 @@ class DocumentFactory {
17550
17476
  positionStrategy: this._overlay.position().global().
17551
17477
  centerHorizontally().centerVertically(),
17552
17478
  hasBackdrop: true,
17553
- height: '90vh',
17554
- width: '90vw',
17479
+ height: '92vh',
17480
+ width: '93vw',
17555
17481
  direction: this._dir.value,
17556
- backdropClass: 'cdk-overlay-transparent-backdrop',
17557
- panelClass: 'home-panel'
17482
+ backdropClass: 'cdk-overlay-dark-backdrop',
17483
+ panelClass: 'form-panel'
17558
17484
  });
17485
+ if (!form.template)
17486
+ throw (`Form '${form.name}' model missing '[Template()]' attribute.`);
17487
+ const comp = this._cf.component(form.template);
17488
+ const formRef = new FormRef(this._router, form);
17559
17489
  const injector = Injector.create({
17560
17490
  providers: [
17561
17491
  {
17562
- provide: DIALOG_DATA,
17563
- useValue: formId
17492
+ provide: FormRef, useValue: formRef
17564
17493
  }
17565
17494
  ]
17566
17495
  });
17567
- const portal = new ComponentPortal(OverlayFormComponent, null, injector);
17496
+ const portal = new ComponentPortal(comp, null, injector);
17568
17497
  const compRef = overlayRef.attach(portal);
17569
- compRef.instance.created$.
17570
- subscribe(m => {
17571
- if (m !== false)
17572
- this._mailbox.create(formId, m).subscribe({
17573
- next: d => {
17574
- observe.next(d);
17575
- },
17576
- error: e => {
17577
- this._error(e);
17578
- overlayRef.detach();
17579
- observe.error();
17580
- },
17581
- complete: () => {
17582
- overlayRef.detach();
17583
- observe.complete();
17584
- }
17585
- });
17586
- else {
17587
- observe.error();
17498
+ formRef._mode = compRef.instance.mode = 'overlay';
17499
+ // create on form create() call
17500
+ formRef._create$.
17501
+ subscribe({
17502
+ next: m => {
17503
+ if (m !== false)
17504
+ this._mailbox.create(formId, m).subscribe({
17505
+ next: d => {
17506
+ observe.next(d);
17507
+ },
17508
+ error: e => {
17509
+ this._error(e);
17510
+ observe.error();
17511
+ },
17512
+ complete: () => {
17513
+ overlayRef.detach();
17514
+ observe.complete();
17515
+ }
17516
+ });
17517
+ else {
17518
+ overlayRef.detach();
17519
+ observe.complete();
17520
+ }
17521
+ },
17522
+ error: () => {
17588
17523
  overlayRef.detach();
17524
+ observe.complete();
17589
17525
  }
17590
17526
  });
17527
+ // callback
17528
+ this._messaging.callback$.pipe(takeUntil$1(formRef._create$)).subscribe(e => compRef.instance.onMessage && compRef.instance.onMessage(e.message));
17529
+ // escape
17591
17530
  merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).
17592
17531
  subscribe(() => {
17593
- observe.error();
17532
+ observe.complete();
17594
17533
  overlayRef.detach();
17595
17534
  });
17535
+ break;
17596
17536
  default:
17597
17537
  this._mailbox.create(formId).subscribe({
17598
17538
  next: m => observe.next(m),
@@ -17647,13 +17587,13 @@ class DocumentFactory {
17647
17587
  this._ps.error();
17648
17588
  }
17649
17589
  }
17650
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, deps: [{ token: SessionService }, { token: MailboxService }, { token: PromptService }, { token: i1$1.Overlay }, { token: i1$3.Directionality }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Injectable }); }
17590
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, deps: [{ token: SessionService }, { token: MailboxService }, { token: BizDocComponentFactoryResolver }, { token: HubService }, { token: PromptService }, { token: i1$1.Overlay }, { token: i7.Directionality }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Injectable }); }
17651
17591
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, providedIn: 'root' }); }
17652
17592
  }
17653
17593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, decorators: [{
17654
17594
  type: Injectable,
17655
17595
  args: [{ providedIn: 'root' }]
17656
- }], ctorParameters: () => [{ type: SessionService }, { type: MailboxService }, { type: PromptService }, { type: i1$1.Overlay }, { type: i1$3.Directionality }, { type: RouterImpl }] });
17596
+ }], ctorParameters: () => [{ type: SessionService }, { type: MailboxService }, { type: BizDocComponentFactoryResolver }, { type: HubService }, { type: PromptService }, { type: i1$1.Overlay }, { type: i7.Directionality }, { type: RouterImpl }] });
17657
17597
 
17658
17598
  class InviteNotification {
17659
17599
  constructor(_router, _factory, session, translate, notification) {
@@ -18777,12 +18717,12 @@ class OptionsService {
18777
18717
  oRef.attach(portal);
18778
18718
  oRef.backdropClick().subscribe(() => oRef.dispose());
18779
18719
  }
18780
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OptionsService, deps: [{ token: i1$3.Directionality }, { token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
18720
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OptionsService, deps: [{ token: i7.Directionality }, { token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
18781
18721
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OptionsService }); }
18782
18722
  }
18783
18723
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OptionsService, decorators: [{
18784
18724
  type: Injectable
18785
- }], ctorParameters: () => [{ type: i1$3.Directionality }, { type: i1$1.Overlay }, { type: i0.Injector }] });
18725
+ }], ctorParameters: () => [{ type: i7.Directionality }, { type: i1$1.Overlay }, { type: i0.Injector }] });
18786
18726
 
18787
18727
  /** */
18788
18728
  class OutOfOfficeToast {
@@ -18834,10 +18774,10 @@ class AppHttpInterceptor {
18834
18774
  else
18835
18775
  return next.handle(request);
18836
18776
  }), catchError((e) => {
18837
- // there is already ongoing authentication,
18838
- if (this._authenticating$)
18839
- return this._authenticating$;
18840
- else if (e.status === 401) {
18777
+ if (e.status === 401) {
18778
+ // there is already ongoing authentication,
18779
+ if (this._authenticating$)
18780
+ return this._authenticating$;
18841
18781
  eraseCookie(IMPERSONATE_COOKIE_NAME);
18842
18782
  this._authenticating$ =
18843
18783
  // give AuthenticationImpl to
@@ -20182,7 +20122,7 @@ class SlotsComponent {
20182
20122
  this._destroy.complete();
20183
20123
  }
20184
20124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SlotsComponent, deps: [{ token: PANES_DATA }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PanesRouter }, { token: WindowTitleService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
20185
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }], animations: [
20125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$4.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$4.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$4.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }], animations: [
20186
20126
  panesAnimation,
20187
20127
  paneAnimation,
20188
20128
  paramAnimation,
@@ -20738,7 +20678,7 @@ class ComposeMenuComponent {
20738
20678
  this._destroy.complete();
20739
20679
  }
20740
20680
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: DocumentFactory }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
20741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", 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>\n<div class=\"container\">\n <h1 class=\"mat-h1\">{{'New'|translate}}</h1>\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\n\n <mat-nav-list dense>\n @for (f of defaultgroup.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n @for (g of groups; track g; let index = $index) {\n @if (index) {\n <mat-divider></mat-divider>\n }\n <h3 mat-subheader>{{g.title}}</h3>\n @for (f of g.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n</div>\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [] }); }
20681
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", 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>\n<div class=\"container\">\n <h1 class=\"mat-h1\">{{'New'|translate}}</h1>\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\n\n <mat-nav-list dense>\n @for (f of defaultgroup.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n @for (g of groups; track g; let index = $index) {\n @if (index) {\n <mat-divider></mat-divider>\n }\n <h3 mat-subheader>{{g.title}}</h3>\n @for (f of g.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n</div>\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [] }); }
20742
20682
  }
20743
20683
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMenuComponent, decorators: [{
20744
20684
  type: Component,
@@ -21029,22 +20969,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
21029
20969
  /** form selector component */
21030
20970
  class FormSelectorSheet {
21031
20971
  /** form selector ctor */
21032
- constructor(_dialog, _bsRef, _sb, _factory, _router, _session) {
20972
+ constructor(_dialog, _bsRef, _sb, _factory, _router, session) {
21033
20973
  this._dialog = _dialog;
21034
20974
  this._bsRef = _bsRef;
21035
20975
  this._sb = _sb;
21036
20976
  this._factory = _factory;
21037
20977
  this._router = _router;
21038
- this._session = _session;
21039
20978
  this._done = new Subject();
21040
20979
  this.done = this._done.asObservable();
21041
- this.forms = _session.profile.forms.filter(f => f.creatable);
20980
+ this.forms = session.profile.forms.filter(f => f.creatable);
21042
20981
  }
21043
20982
  open(form) {
21044
20983
  this._factory.create(form).subscribe({
21045
20984
  next: i => this._nav(i),
20985
+ complete: () => this._bsRef.dismiss()
21046
20986
  });
21047
- this._bsRef.dismiss();
21048
20987
  }
21049
20988
  copy(event) {
21050
20989
  event.preventDefault();
@@ -21064,13 +21003,13 @@ class FormSelectorSheet {
21064
21003
  }
21065
21004
  });
21066
21005
  }
21067
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, deps: [{ token: i2$2.MatDialog }, { token: i2$a.MatBottomSheetRef }, { token: PromptService }, { token: DocumentFactory }, { token: i1$4.Router }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
21006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, deps: [{ token: i2$2.MatDialog }, { token: i2$a.MatBottomSheetRef }, { token: PromptService }, { token: DocumentFactory }, { token: i1$3.Router }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
21068
21007
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormSelectorSheet, selector: "bizdoc-form-selector", ngImport: i0, template: "<mat-nav-list role=\"list\">\n @for (f of forms; track f) {\n <a mat-list-item role=\"listitem\" (click)=\"open(f.name)\">\n <span matListItemTitle>{{f.title}}</span>\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n </a>\n }\n <mat-divider></mat-divider>\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\n <span matListItemTitle>{{'Elipsis'| translate: ('Copy' | translate)}}</span>\n </a>\n</mat-nav-list>\n", dependencies: [{ kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21069
21008
  }
21070
21009
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, decorators: [{
21071
21010
  type: Component,
21072
21011
  args: [{ selector: 'bizdoc-form-selector', template: "<mat-nav-list role=\"list\">\n @for (f of forms; track f) {\n <a mat-list-item role=\"listitem\" (click)=\"open(f.name)\">\n <span matListItemTitle>{{f.title}}</span>\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n </a>\n }\n <mat-divider></mat-divider>\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\n <span matListItemTitle>{{'Elipsis'| translate: ('Copy' | translate)}}</span>\n </a>\n</mat-nav-list>\n" }]
21073
- }], ctorParameters: () => [{ type: i2$2.MatDialog }, { type: i2$a.MatBottomSheetRef }, { type: PromptService }, { type: DocumentFactory }, { type: i1$4.Router }, { type: SessionService }] });
21012
+ }], ctorParameters: () => [{ type: i2$2.MatDialog }, { type: i2$a.MatBottomSheetRef }, { type: PromptService }, { type: DocumentFactory }, { type: i1$3.Router }, { type: SessionService }] });
21074
21013
 
21075
21014
  class ChatMobileComponent {
21076
21015
  constructor() {
@@ -21176,13 +21115,13 @@ class HomeMobileComponent extends HomeBase {
21176
21115
  this.mode = 'notifications';
21177
21116
  this.secondaryDrawer.toggle().then(this.resize);
21178
21117
  }
21179
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i1$4.Router }, { token: i2$a.MatBottomSheet }, { token: i1$3.Directionality }, { token: Popup }, { token: i0.Injector }, { token: SessionService }, { token: HubService }, { token: TranslateService }, { token: i3.MatSnackBar }, { token: ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
21180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\n <!--<img id=\"logo\" src=\"logo.svg\" alt=\"\" />-->\n </div>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">notifications</mat-icon></button>\n @if (chatEnabled) {\n <button mat-icon-button (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\" class=\"mat-icon-rtl-mirror\">chat</mat-icon></button>\n }\n</mat-toolbar>\n<mat-sidenav-container autosize>\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\n <mat-nav-list class=\"nav-menu-mobile\">\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\n <mat-icon matListItemIcon>apps</mat-icon><span matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-expansion-panel expanded=\"true\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>inbox</mat-icon>-->\n <span>{{'Mailbox' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (f of profile.folders; track f) {\n <mat-list-item [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\n <mat-icon matListItemIcon>{{f.icon}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n @if (schedulerEnabled) {\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" [attr.aria-label]=\"'Scheduler' | translate\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon>\n <span matListItemTitle>{{ 'Schedule' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis) {\n @for (c of profile.cubes; track c) {\n @if (c.views.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>-->\n <span>{{c.title}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (v of c.views; track v) {\n <mat-list-item [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\n <mat-icon matListItemIcon>{{v.icon || 'insights'}}</mat-icon>\n <span matListItemTitle>{{v.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n }\n }\n @if (profile.reports.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>list_alt</mat-icon>-->\n <span>{{'Reports' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (r of profile.reports; track r) {\n <mat-list-item [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\n <mat-icon matListItemIcon>{{r.icon}}</mat-icon><span matListItemTitle>{{r.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" data-help=\"options\"\n (click)=\"options($event)\">\n <mat-icon matListItemIcon>settingson</mat-icon>\n <span matListItemTitle>{{'Settings' | translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\n <mat-icon matListItemIcon>logout</mat-icon>\n <span matListItemTitle>{{'Power' | translate}}</span>\n </mat-list-item>\n </mat-nav-list>\n </mat-sidenav>\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\n @switch (mode) {\n @case ('chat') {\n <bizdoc-chat [(contact)]=\"contact\"></bizdoc-chat>\n }\n @case ('notifications') {\n <bizdoc-notifications-table></bizdoc-notifications-table>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content data-help=\"main\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n</mat-sidenav-container>\n@if (composeEnabled) {\n <button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\n}\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-mdc-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-mdc-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-body{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i11$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: ChatMobileComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [fabAnimation] }); }
21118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i1$3.Router }, { token: i2$a.MatBottomSheet }, { token: i7.Directionality }, { token: Popup }, { token: i0.Injector }, { token: SessionService }, { token: HubService }, { token: TranslateService }, { token: i3.MatSnackBar }, { token: ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
21119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\n <!--<img id=\"logo\" src=\"logo.svg\" alt=\"\" />-->\n </div>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">notifications</mat-icon></button>\n @if (chatEnabled) {\n <button mat-icon-button (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\" class=\"mat-icon-rtl-mirror\">chat</mat-icon></button>\n }\n</mat-toolbar>\n<mat-sidenav-container autosize>\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\n <mat-nav-list class=\"nav-menu-mobile\">\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\n <mat-icon matListItemIcon>apps</mat-icon><span matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-expansion-panel expanded=\"true\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>inbox</mat-icon>-->\n <span>{{'Mailbox' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (f of profile.folders; track f) {\n <mat-list-item [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\n <mat-icon matListItemIcon>{{f.icon}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n @if (schedulerEnabled) {\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" [attr.aria-label]=\"'Scheduler' | translate\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon>\n <span matListItemTitle>{{ 'Schedule' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis) {\n @for (c of profile.cubes; track c) {\n @if (c.views.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>-->\n <span>{{c.title}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (v of c.views; track v) {\n <mat-list-item [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\n <mat-icon matListItemIcon>{{v.icon || 'insights'}}</mat-icon>\n <span matListItemTitle>{{v.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n }\n }\n @if (profile.reports.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>list_alt</mat-icon>-->\n <span>{{'Reports' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (r of profile.reports; track r) {\n <mat-list-item [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\n <mat-icon matListItemIcon>{{r.icon}}</mat-icon><span matListItemTitle>{{r.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" data-help=\"options\"\n (click)=\"options($event)\">\n <mat-icon matListItemIcon>settingson</mat-icon>\n <span matListItemTitle>{{'Settings' | translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\n <mat-icon matListItemIcon>logout</mat-icon>\n <span matListItemTitle>{{'Power' | translate}}</span>\n </mat-list-item>\n </mat-nav-list>\n </mat-sidenav>\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\n @switch (mode) {\n @case ('chat') {\n <bizdoc-chat [(contact)]=\"contact\"></bizdoc-chat>\n }\n @case ('notifications') {\n <bizdoc-notifications-table></bizdoc-notifications-table>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content data-help=\"main\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n</mat-sidenav-container>\n@if (composeEnabled) {\n <button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\n}\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-mdc-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-mdc-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-body{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i11$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: ChatMobileComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [fabAnimation] }); }
21181
21120
  }
21182
21121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeMobileComponent, decorators: [{
21183
21122
  type: Component,
21184
21123
  args: [{ selector: 'bizdoc-mobile-home', animations: [fabAnimation], template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\n <!--<img id=\"logo\" src=\"logo.svg\" alt=\"\" />-->\n </div>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">notifications</mat-icon></button>\n @if (chatEnabled) {\n <button mat-icon-button (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\" class=\"mat-icon-rtl-mirror\">chat</mat-icon></button>\n }\n</mat-toolbar>\n<mat-sidenav-container autosize>\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\n <mat-nav-list class=\"nav-menu-mobile\">\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\n <mat-icon matListItemIcon>apps</mat-icon><span matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-expansion-panel expanded=\"true\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>inbox</mat-icon>-->\n <span>{{'Mailbox' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (f of profile.folders; track f) {\n <mat-list-item [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\n <mat-icon matListItemIcon>{{f.icon}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n @if (schedulerEnabled) {\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" [attr.aria-label]=\"'Scheduler' | translate\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon>\n <span matListItemTitle>{{ 'Schedule' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis) {\n @for (c of profile.cubes; track c) {\n @if (c.views.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>-->\n <span>{{c.title}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (v of c.views; track v) {\n <mat-list-item [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\n <mat-icon matListItemIcon>{{v.icon || 'insights'}}</mat-icon>\n <span matListItemTitle>{{v.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n }\n }\n @if (profile.reports.length) {\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <!--<mat-icon>list_alt</mat-icon>-->\n <span>{{'Reports' | translate}}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n @for (r of profile.reports; track r) {\n <mat-list-item [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\n <mat-icon matListItemIcon>{{r.icon}}</mat-icon><span matListItemTitle>{{r.title}}</span>\n </mat-list-item>\n }\n </mat-expansion-panel>\n }\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" data-help=\"options\"\n (click)=\"options($event)\">\n <mat-icon matListItemIcon>settingson</mat-icon>\n <span matListItemTitle>{{'Settings' | translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\n <mat-icon matListItemIcon>logout</mat-icon>\n <span matListItemTitle>{{'Power' | translate}}</span>\n </mat-list-item>\n </mat-nav-list>\n </mat-sidenav>\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\n @switch (mode) {\n @case ('chat') {\n <bizdoc-chat [(contact)]=\"contact\"></bizdoc-chat>\n }\n @case ('notifications') {\n <bizdoc-notifications-table></bizdoc-notifications-table>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content data-help=\"main\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n</mat-sidenav-container>\n@if (composeEnabled) {\n <button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\n}\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-mdc-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-mdc-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-body{padding:0}\n"] }]
21185
- }], ctorParameters: () => [{ type: i1$4.Router }, { type: i2$a.MatBottomSheet }, { type: i1$3.Directionality }, { type: Popup }, { type: i0.Injector }, { type: SessionService }, { type: HubService }, { type: TranslateService }, { type: i3.MatSnackBar }, { type: ChatInfo }, { type: undefined, decorators: [{
21124
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i2$a.MatBottomSheet }, { type: i7.Directionality }, { type: Popup }, { type: i0.Injector }, { type: SessionService }, { type: HubService }, { type: TranslateService }, { type: i3.MatSnackBar }, { type: ChatInfo }, { type: undefined, decorators: [{
21186
21125
  type: Inject,
21187
21126
  args: [BIZDOC_CONFIG]
21188
21127
  }] }], propDecorators: { menuDrawer: [{
@@ -21530,13 +21469,13 @@ class BrowseMobileComponent {
21530
21469
  this._destroy.next();
21531
21470
  this._destroy.complete();
21532
21471
  }
21533
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowseMobileComponent, deps: [{ token: i1$4.Router }, { token: WindowTitleService }, { token: SessionService }, { token: i1$4.ActivatedRoute }, { token: i1$3.Directionality }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
21472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowseMobileComponent, deps: [{ token: i1$3.Router }, { token: WindowTitleService }, { token: SessionService }, { token: i1$3.ActivatedRoute }, { token: i7.Directionality }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
21534
21473
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: BrowseMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" class=\"hide-xs\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n <!-- <span class=\"mat-body show-xs\">{{items.selection.selected.length}}</span>-->\n <button mat-icon-button color=\"primary\" (click)=\"items.submitAll()\" [bizdocTooltip]=\"'Submit' | translate\" [attr.aria-label]=\"'Submit' | translate\" class=\"show-xs\"><mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon></button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">@if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}</button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n }\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n <button mat-icon-button (click)=\"drawer.toggle()\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav #drawer mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @default {\n <bizdoc-browse-filter class=\"nav-filter\" [values]=filters (valuesChange)=\"filterChange($event)\" [folderId]=\"folderId\"></bizdoc-browse-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\" (open)=\"open($event)\" (view)=view($event) #items></bizdoc-browse-items>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".nav-filter{padding:8px;display:flex}\n"], dependencies: [{ kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: BrowseFilterComponent, selector: "bizdoc-browse-filter", inputs: ["values", "folderId", "exclude"], outputs: ["valuesChange"] }, { kind: "component", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21535
21474
  }
21536
21475
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BrowseMobileComponent, decorators: [{
21537
21476
  type: Component,
21538
21477
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" class=\"hide-xs\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n <!-- <span class=\"mat-body show-xs\">{{items.selection.selected.length}}</span>-->\n <button mat-icon-button color=\"primary\" (click)=\"items.submitAll()\" [bizdocTooltip]=\"'Submit' | translate\" [attr.aria-label]=\"'Submit' | translate\" class=\"show-xs\"><mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon></button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">@if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}</button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n }\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n <button mat-icon-button (click)=\"drawer.toggle()\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav #drawer mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @default {\n <bizdoc-browse-filter class=\"nav-filter\" [values]=filters (valuesChange)=\"filterChange($event)\" [folderId]=\"folderId\"></bizdoc-browse-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\" (open)=\"open($event)\" (view)=view($event) #items></bizdoc-browse-items>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".nav-filter{padding:8px;display:flex}\n"] }]
21539
- }], ctorParameters: () => [{ type: i1$4.Router }, { type: WindowTitleService }, { type: SessionService }, { type: i1$4.ActivatedRoute }, { type: i1$3.Directionality }, { type: i2$2.MatDialog }], propDecorators: { items: [{
21478
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: WindowTitleService }, { type: SessionService }, { type: i1$3.ActivatedRoute }, { type: i7.Directionality }, { type: i2$2.MatDialog }], propDecorators: { items: [{
21540
21479
  type: ViewChild,
21541
21480
  args: [BrowseItemsComponent, { static: true }]
21542
21481
  }], drawer: [{
@@ -21616,13 +21555,13 @@ class ComposeMobileComponent {
21616
21555
  this._destroy.next();
21617
21556
  this._destroy.complete();
21618
21557
  }
21619
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMobileComponent, deps: [{ token: WindowTitleService }, { token: SessionService }, { token: i1$4.Router }, { token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21558
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMobileComponent, deps: [{ token: WindowTitleService }, { token: SessionService }, { token: i1$3.Router }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21620
21559
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ComposeMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "comments", first: true, predicate: CommentsComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (page !== undefined) {\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\n </button>\n }\n @if (model.draft) {\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\n </button>\n }\n @if (form.actions.length === 1) {\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\n </button>\n }\n @else if (form.actions.length > 1) {\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\n </button>\n }\n <!-- action -->\n <mat-menu #actionmenu>\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && form.actions[i-1].group !== a.group) {\n <mat-divider></mat-divider>\n }\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\n }\n </mat-menu>\n @if (mode === 'compose') {\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\n <mat-icon>save</mat-icon>\n </button>\n }\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon class=\"filled\">{{model.tags && model.tags.length ?'bookmark':'bookmark_border'}}</mat-icon></button>\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon class=\"filled\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\n @if (mode !== 'compose' && !model.completed && model.pending) {\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\"><mat-icon>create</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"toggle('comments')\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\n <mat-icon class=\"filled\">format_quote</mat-icon>\n </button>\n @if (enableAnalysis) {\n <button mat-icon-button (click)=\"toggle('views')\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #optionsMenu=\"matMenu\">\n <ng-template matMenuContent>\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\n <!--<mat-icon>content_copy</mat-icon>-->\n <span>{{'Copy' | translate}}</span>\n </button>\n @if (model.draft && !model.issued) {\n <button mat-menu-item (click)=\"discard()\" [disabled]=\"working\">\n <!--<mat-icon>delete_outlined</mat-icon>-->\n <span>{{'Discard' | translate}}</span>\n </button>\n }\n @if (form.help) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"form.guide(form.help)\">\n <!--<mat-icon>help_outline</mat-icon>-->\n <span>{{'Help' | translate}}</span>\n </button>\n }\n </ng-template>\n </mat-menu>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\">\n <mat-sidenav-content>\n <bizdoc-form [model]=model #form (validChange)=\"valid=$event\"\n (workingChange)=\"working=$event\" [page]=\"page\"\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\n </mat-sidenav-content>\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\" #drawer autoFocus=\"false\" class=\"side-nav\">\n @switch (viewMode) {\n @case ('views') {\n <bizdoc-document-views [model]=\"model\"></bizdoc-document-views>\n }\n @default {\n <bizdoc-comments [model]=\"model\"></bizdoc-comments>\n }\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [".page-container ::ng-deep form{padding:6px}.side-nav{min-width:280px}\n"], dependencies: [{ kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }, { kind: "component", type: CommentsComponent, selector: "bizdoc-comments", inputs: ["model"], outputs: ["change"] }, { kind: "component", type: ComposeFormComponent, selector: "bizdoc-form", inputs: ["model", "working", "dirty", "valid", "page", "mode", "contacts"], outputs: ["modelChange", "workingChange", "dirtyChange", "validChange", "saved"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21621
21560
  }
21622
21561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMobileComponent, decorators: [{
21623
21562
  type: Component,
21624
21563
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n @if (page !== undefined) {\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\n </button>\n }\n @if (model.draft) {\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\n </button>\n }\n @if (form.actions.length === 1) {\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\n </button>\n }\n @else if (form.actions.length > 1) {\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\n </button>\n }\n <!-- action -->\n <mat-menu #actionmenu>\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && form.actions[i-1].group !== a.group) {\n <mat-divider></mat-divider>\n }\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\n }\n </mat-menu>\n @if (mode === 'compose') {\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\n <mat-icon>save</mat-icon>\n </button>\n }\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon class=\"filled\">{{model.tags && model.tags.length ?'bookmark':'bookmark_border'}}</mat-icon></button>\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon class=\"filled\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\n @if (mode !== 'compose' && !model.completed && model.pending) {\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\"><mat-icon>create</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"toggle('comments')\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\n <mat-icon class=\"filled\">format_quote</mat-icon>\n </button>\n @if (enableAnalysis) {\n <button mat-icon-button (click)=\"toggle('views')\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #optionsMenu=\"matMenu\">\n <ng-template matMenuContent>\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\n <!--<mat-icon>content_copy</mat-icon>-->\n <span>{{'Copy' | translate}}</span>\n </button>\n @if (model.draft && !model.issued) {\n <button mat-menu-item (click)=\"discard()\" [disabled]=\"working\">\n <!--<mat-icon>delete_outlined</mat-icon>-->\n <span>{{'Discard' | translate}}</span>\n </button>\n }\n @if (form.help) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"form.guide(form.help)\">\n <!--<mat-icon>help_outline</mat-icon>-->\n <span>{{'Help' | translate}}</span>\n </button>\n }\n </ng-template>\n </mat-menu>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\">\n <mat-sidenav-content>\n <bizdoc-form [model]=model #form (validChange)=\"valid=$event\"\n (workingChange)=\"working=$event\" [page]=\"page\"\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\n </mat-sidenav-content>\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\" #drawer autoFocus=\"false\" class=\"side-nav\">\n @switch (viewMode) {\n @case ('views') {\n <bizdoc-document-views [model]=\"model\"></bizdoc-document-views>\n }\n @default {\n <bizdoc-comments [model]=\"model\"></bizdoc-comments>\n }\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [".page-container ::ng-deep form{padding:6px}.side-nav{min-width:280px}\n"] }]
21625
- }], ctorParameters: () => [{ type: WindowTitleService }, { type: SessionService }, { type: i1$4.Router }, { type: i1$4.ActivatedRoute }], propDecorators: { form: [{
21564
+ }], ctorParameters: () => [{ type: WindowTitleService }, { type: SessionService }, { type: i1$3.Router }, { type: i1$3.ActivatedRoute }], propDecorators: { form: [{
21626
21565
  type: ViewChild,
21627
21566
  args: [ComposeFormComponent, { static: true }]
21628
21567
  }], comments: [{
@@ -21748,13 +21687,13 @@ class ReportMobileComponent {
21748
21687
  this._destroy.next();
21749
21688
  this._destroy.complete();
21750
21689
  }
21751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ReportMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$4.ActivatedRoute }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PromptService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
21690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ReportMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$3.ActivatedRoute }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PromptService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
21752
21691
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ReportMobileComponent, selector: "bizdoc-report", viewQueries: [{ propertyName: "filter", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "viewer", first: true, predicate: ReportViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n @if (report.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n @if (hasFilters) {\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n }\n @if (hasFilters) {\n <button mat-icon-button (click)=\"filter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\">\n <mat-sidenav-content>\n <bizdoc-report-viewer [report]=\"report\" [args]=\"args\"></bizdoc-report-viewer>\n </mat-sidenav-content>\n <mat-sidenav mode=\"over\" opened=\"false\" #filter position=\"end\">\n @if (viewer.reportRef) {\n <bizdoc-report-arguments [args]=\"args\" (argsChange)=\"argsChange($event)\" [reportRef]=\"viewer.reportRef\"\n [template]=\"report.argumentsTemplate\" [arguments]=\"report.arguments\"></bizdoc-report-arguments>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [".contents{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: ["report", "args"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: ["reportRef", "template", "arguments", "args"], outputs: ["argsChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21753
21692
  }
21754
21693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ReportMobileComponent, decorators: [{
21755
21694
  type: Component,
21756
21695
  args: [{ selector: 'bizdoc-report', template: "<mat-toolbar>\n <button mat-icon-button (click)=\"viewer.execute()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"viewer.exportExcel()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n @if (report.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n @if (hasFilters) {\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n }\n @if (hasFilters) {\n <button mat-icon-button (click)=\"filter($event)\" bizdocTooltip=\"{{'Filter' | translate}}\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\">\n <mat-sidenav-content>\n <bizdoc-report-viewer [report]=\"report\" [args]=\"args\"></bizdoc-report-viewer>\n </mat-sidenav-content>\n <mat-sidenav mode=\"over\" opened=\"false\" #filter position=\"end\">\n @if (viewer.reportRef) {\n <bizdoc-report-arguments [args]=\"args\" (argsChange)=\"argsChange($event)\" [reportRef]=\"viewer.reportRef\"\n [template]=\"report.argumentsTemplate\" [arguments]=\"report.arguments\"></bizdoc-report-arguments>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [".contents{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}\n"] }]
21757
- }], ctorParameters: () => [{ type: WindowTitleService }, { type: i1$4.ActivatedRoute }, { type: SessionService }, { type: i0.ChangeDetectorRef }, { type: PromptService }, { type: GuideService }], propDecorators: { filter: [{
21696
+ }], ctorParameters: () => [{ type: WindowTitleService }, { type: i1$3.ActivatedRoute }, { type: SessionService }, { type: i0.ChangeDetectorRef }, { type: PromptService }, { type: GuideService }], propDecorators: { filter: [{
21758
21697
  type: ViewChild,
21759
21698
  args: [MatSidenav, { static: true }]
21760
21699
  }], viewer: [{
@@ -21838,13 +21777,13 @@ class CubeMobileViewComponent extends ViewBase {
21838
21777
  this._destroy.next();
21839
21778
  this._destroy.complete();
21840
21779
  }
21841
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMobileViewComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }, { token: PromptService }, { token: WindowTitleService }, { token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21780
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMobileViewComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }, { token: PromptService }, { token: WindowTitleService }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21842
21781
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMobileViewComponent, selector: "ng-component", viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "explorePane", first: true, predicate: ExploreItemsComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n <span>{{p.title}}</span>\n </button>\n }\n </mat-menu>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\n <mat-menu #menu>\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\n @if (mode === 'explore') {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @case ('explore') {\n <bizdoc-cube-explore [cube]=\"cube.name\" [index]=\"exploreIndex\" [axes]=exploreAxes\n (explore)=\"exploreItem($event)\" #explorePane [pageSize]=1000 (loadingChange)=\"loading = $event\"></bizdoc-cube-explore>\n }\n @case ('item') {\n <bizdoc-cube-item [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\n }\n @default {\n <bizdoc-cube-filter [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n [(loading)]=\"loading\"></bizdoc-cube-view>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden;max-width:95%}:host ::ng-deep .e-pivot-context-menu{display:none}\n"], dependencies: [{ kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ExploreItemImplComponent, selector: "bizdoc-cube-item", inputs: ["template", "model"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "component", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "component", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21843
21782
  }
21844
21783
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMobileViewComponent, decorators: [{
21845
21784
  type: Component,
21846
21785
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n <span>{{p.title}}</span>\n </button>\n }\n </mat-menu>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\n <mat-menu #menu>\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\n @if (mode === 'explore') {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @case ('explore') {\n <bizdoc-cube-explore [cube]=\"cube.name\" [index]=\"exploreIndex\" [axes]=exploreAxes\n (explore)=\"exploreItem($event)\" #explorePane [pageSize]=1000 (loadingChange)=\"loading = $event\"></bizdoc-cube-explore>\n }\n @case ('item') {\n <bizdoc-cube-item [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\n }\n @default {\n <bizdoc-cube-filter [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n [(loading)]=\"loading\"></bizdoc-cube-view>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden;max-width:95%}:host ::ng-deep .e-pivot-context-menu{display:none}\n"] }]
21847
- }], ctorParameters: () => [{ type: SessionService }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }, { type: PromptService }, { type: WindowTitleService }, { type: i1$4.ActivatedRoute }], propDecorators: { viewPane: [{
21786
+ }], ctorParameters: () => [{ type: SessionService }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }, { type: PromptService }, { type: WindowTitleService }, { type: i1$3.ActivatedRoute }], propDecorators: { viewPane: [{
21848
21787
  type: ViewChild,
21849
21788
  args: [CubeViewComponent, { static: true }]
21850
21789
  }], drawer: [{
@@ -21876,7 +21815,7 @@ class SchedulerMobileComponent {
21876
21815
  }
21877
21816
  });
21878
21817
  }
21879
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SchedulerMobileComponent, deps: [{ token: i1$4.Router }, { token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21818
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SchedulerMobileComponent, deps: [{ token: i1$3.Router }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
21880
21819
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SchedulerMobileComponent, selector: "ng-component", ngImport: i0, template: `<bizdoc-schedule [selectedDate]=date (selectedDateChange)='change($event)'></bizdoc-schedule>`, isInline: true, dependencies: [{ kind: "component", type: ScheduleViewComponent, selector: "bizdoc-schedule", inputs: ["selectedDate"], outputs: ["selectedDateChange"] }] }); }
21881
21820
  }
21882
21821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SchedulerMobileComponent, decorators: [{
@@ -21884,7 +21823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
21884
21823
  args: [{
21885
21824
  template: `<bizdoc-schedule [selectedDate]=date (selectedDateChange)='change($event)'></bizdoc-schedule>`
21886
21825
  }]
21887
- }], ctorParameters: () => [{ type: i1$4.Router }, { type: i1$4.ActivatedRoute }] });
21826
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }] });
21888
21827
 
21889
21828
  /**
21890
21829
  * get model before route navigate */
@@ -21907,12 +21846,12 @@ class RecipientResolveService {
21907
21846
  throw new Error();
21908
21847
  }));
21909
21848
  }
21910
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RecipientResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21849
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RecipientResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21911
21850
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RecipientResolveService }); }
21912
21851
  }
21913
21852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RecipientResolveService, decorators: [{
21914
21853
  type: Injectable
21915
- }], ctorParameters: () => [{ type: MailboxService }, { type: PromptService }, { type: i1$4.Router }] });
21854
+ }], ctorParameters: () => [{ type: MailboxService }, { type: PromptService }, { type: i1$3.Router }] });
21916
21855
  /** */
21917
21856
  class DocumentResolveService {
21918
21857
  constructor(_mailbox, _sb, _router) {
@@ -21933,12 +21872,12 @@ class DocumentResolveService {
21933
21872
  throw new Error();
21934
21873
  }));
21935
21874
  }
21936
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21875
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
21937
21876
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentResolveService }); }
21938
21877
  }
21939
21878
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentResolveService, decorators: [{
21940
21879
  type: Injectable
21941
- }], ctorParameters: () => [{ type: MailboxService }, { type: PromptService }, { type: i1$4.Router }] });
21880
+ }], ctorParameters: () => [{ type: MailboxService }, { type: PromptService }, { type: i1$3.Router }] });
21942
21881
 
21943
21882
  /** notifications component*/
21944
21883
  class NotificationsComponent {
@@ -21991,13 +21930,13 @@ class CubeMatrixMobileComponent extends CubeMatrixBase {
21991
21930
  state: { index }
21992
21931
  });
21993
21932
  }
21994
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$4.ActivatedRoute }, { token: i1$4.Router }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
21995
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21933
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
21934
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21996
21935
  }
21997
21936
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixMobileComponent, decorators: [{
21998
21937
  type: Component,
21999
21938
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
22000
- }], ctorParameters: () => [{ type: WindowTitleService }, { type: i1$4.ActivatedRoute }, { type: i1$4.Router }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }], propDecorators: { table: [{
21939
+ }], ctorParameters: () => [{ type: WindowTitleService }, { type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }], propDecorators: { table: [{
22001
21940
  type: ViewChild,
22002
21941
  args: [CubeMatrixComponent, { static: true }]
22003
21942
  }] } });
@@ -22009,7 +21948,7 @@ class DocumentInfoPageComponent {
22009
21948
  title.set(`#${this.model.number}`);
22010
21949
  });
22011
21950
  }
22012
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentInfoPageComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
21951
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentInfoPageComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
22013
21952
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DocumentInfoPageComponent, selector: "bizdoc-document-info-page", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
22014
21953
  }
22015
21954
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentInfoPageComponent, decorators: [{
@@ -22018,7 +21957,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
22018
21957
  selector: 'bizdoc-document-info-page',
22019
21958
  template: `<bizdoc-document [model]=model></bizdoc-document>`
22020
21959
  }]
22021
- }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: WindowTitleService }] });
21960
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: WindowTitleService }] });
22022
21961
 
22023
21962
  class DocumentViewMobileComponent {
22024
21963
  constructor(route, title) {
@@ -22027,13 +21966,13 @@ class DocumentViewMobileComponent {
22027
21966
  title.set(`#${this.model.number}`);
22028
21967
  });
22029
21968
  }
22030
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentViewMobileComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
21969
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentViewMobileComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
22031
21970
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DocumentViewMobileComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, dependencies: [{ kind: "component", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] }); }
22032
21971
  }
22033
21972
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentViewMobileComponent, decorators: [{
22034
21973
  type: Component,
22035
21974
  args: [{ template: '<bizdoc-document-views [model]=model></bizdoc-document-views>' }]
22036
- }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: WindowTitleService }] });
21975
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: WindowTitleService }] });
22037
21976
 
22038
21977
  const ROUTES = [
22039
21978
  {
@@ -22133,7 +22072,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
22133
22072
 
22134
22073
  class SyncfusionChartModule {
22135
22074
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SyncfusionChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22136
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SyncfusionChartModule, imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule], exports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule] }); }
22075
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SyncfusionChartModule, imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule], exports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule] }); }
22137
22076
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SyncfusionChartModule, providers: [RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
22138
22077
  SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService,
22139
22078
  StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService,
@@ -22143,13 +22082,14 @@ class SyncfusionChartModule {
22143
22082
  RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService,
22144
22083
  MultiLevelLabelService, ParetoSeriesService, TooltipRenderService,
22145
22084
  SparklineTooltipService, SplineRangeAreaSeriesService,
22146
- AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService], imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule] }); }
22085
+ AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService,
22086
+ BulletTooltipService /*, BulletChartLegendService*/], imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule] }); }
22147
22087
  }
22148
22088
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SyncfusionChartModule, decorators: [{
22149
22089
  type: NgModule,
22150
22090
  args: [{
22151
- imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule],
22152
- exports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule],
22091
+ imports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule],
22092
+ exports: [ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule],
22153
22093
  providers: [RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
22154
22094
  SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService,
22155
22095
  StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService,
@@ -22159,9 +22099,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
22159
22099
  RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService,
22160
22100
  MultiLevelLabelService, ParetoSeriesService, TooltipRenderService,
22161
22101
  SparklineTooltipService, SplineRangeAreaSeriesService,
22162
- AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService]
22102
+ AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService,
22103
+ BulletTooltipService /*, BulletChartLegendService*/]
22163
22104
  }]
22164
22105
  }] });
22106
+ //BulletChart.Inject(BulletTooltip);
22165
22107
  RangeNavigator.Inject(AreaSeries, LineSeries, DateTime, RangeTooltip);
22166
22108
  Sparkline.Inject(SparklineTooltip);
22167
22109
  AccumulationChart$1.Inject(PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection);
@@ -22489,7 +22431,7 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
22489
22431
  });
22490
22432
  }
22491
22433
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
22492
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"container\">\n @if (!preloading && (patterns?.length || filters?.length)) {\n <div class=\"row\">\n <span class=\"divider\"></span>\n <!-- title -->\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n </div>\n }\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\n [sum]=sum [interactive]=\"false\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\n</div>\n", styles: [".container{padding:8px}::ng-deep .cube-table{display:inline}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
22434
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeMatrixPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"container\">\n @if (!preloading && (patterns?.length || filters?.length)) {\n <div class=\"row\">\n <span class=\"divider\"></span>\n <!-- title -->\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n </div>\n }\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\n [sum]=sum [interactive]=\"false\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\n</div>\n", styles: [".container{padding:8px}::ng-deep .cube-table{display:inline}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
22493
22435
  }
22494
22436
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeMatrixPopupComponent, decorators: [{
22495
22437
  type: Component,
@@ -22875,8 +22817,8 @@ let NumericField = class NumericField {
22875
22817
  focus() { this.input.focus(); }
22876
22818
  ngOnInit() {
22877
22819
  this.required && this.control.addValidators(Validators.required);
22878
- this.min && this.control.addValidators(Validators.minLength(this.min));
22879
- this.max && this.control.addValidators(Validators.maxLength(this.max));
22820
+ this.min && this.control.addValidators(Validators.min(this.min));
22821
+ this.max && this.control.addValidators(Validators.max(this.max));
22880
22822
  }
22881
22823
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NumericField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22882
22824
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: NumericField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance>\n <mat-label>{{label|localizedString}}</mat-label>\n <input matInput type=\"number\" [formControl]=control [placeholder]=\"placeholder|localizedString\"\n [required]=\"required\" [min]=\"min\" [max]=\"max\" [pattern]=\"pattern\" />\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </mat-form-field>\n } @else {\n {{control.value|number}}\n }\n", dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$3.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: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
@@ -24490,7 +24432,7 @@ let RecentsWidget = class RecentsWidget {
24490
24432
  this._destroy.complete();
24491
24433
  }
24492
24434
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RecentsWidget, deps: [{ token: RouterImpl }, { token: MailboxService }, { token: PromptService }, { token: WidgetRef }, { token: SessionService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
24493
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: RecentsWidget, selector: "ng-component", host: { properties: { "style.height": "this.height" } }, ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z0\" @list>\n <ng-container matColumnDef=\"number\">\n <th mat-header-cell *matHeaderCellDef> {{'Number' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\"> <a (click)=\"open(item)\">#{{item.number}}</a> </td>\n </ng-container>\n\n <ng-container matColumnDef=\"subject\">\n <th mat-header-cell *matHeaderCellDef> {{'Subject' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\" class=\"text\"> {{item.subject}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"state\">\n <th mat-header-cell *matHeaderCellDef> {{'Status' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\"> {{item.stateId | state }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"option\">\n <th mat-header-cell *matHeaderCellDef> </th>\n <td mat-cell *matCellDef=\"let item\">\n @if (!item.loading) {\n @if (enableAnalysis) {\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" matAnimate=\"rotate\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button (click)=\"open(item)\" [bizdocTooltip]=\"'Open' | translate\" [attr.aria-label]=\"'Open' | translate\" class=\"tool\"><mat-icon>more_horiz</mat-icon></button>\n } @else {\n <mat-spinner diameter=\"26\"></mat-spinner>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row @item *matRowDef=\"let row; columns: columns;\"></tr>\n</table>\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n", ":host ::ng-deep tr .tool{opacity:.1}:host ::ng-deep tr:hover .tool{opacity:1}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [
24435
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: RecentsWidget, selector: "ng-component", host: { properties: { "style.height": "this.height" } }, ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z0\" @list>\n <ng-container matColumnDef=\"number\">\n <th mat-header-cell *matHeaderCellDef> {{'Number' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\"> <a (click)=\"open(item)\">#{{item.number}}</a> </td>\n </ng-container>\n\n <ng-container matColumnDef=\"subject\">\n <th mat-header-cell *matHeaderCellDef> {{'Subject' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\" class=\"text\"> {{item.subject}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"state\">\n <th mat-header-cell *matHeaderCellDef> {{'Status' | translate}} </th>\n <td mat-cell *matCellDef=\"let item\"> {{item.stateId | state }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"option\">\n <th mat-header-cell *matHeaderCellDef> </th>\n <td mat-cell *matCellDef=\"let item\">\n @if (!item.loading) {\n @if (enableAnalysis) {\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" matAnimate=\"rotate\"><mat-icon>data_usage</mat-icon></button>\n }\n <button mat-icon-button (click)=\"open(item)\" [bizdocTooltip]=\"'Open' | translate\" [attr.aria-label]=\"'Open' | translate\" class=\"tool\"><mat-icon>more_horiz</mat-icon></button>\n } @else {\n <mat-spinner diameter=\"26\"></mat-spinner>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row @item *matRowDef=\"let row; columns: columns;\"></tr>\n</table>\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n", ":host ::ng-deep tr .tool{opacity:.1}:host ::ng-deep tr:hover .tool{opacity:1}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [
24494
24436
  listAnimation,
24495
24437
  itemAnimation
24496
24438
  ] }); }
@@ -25084,7 +25026,7 @@ let PeersPerformanceWidget = class PeersPerformanceWidget {
25084
25026
  this._destroy.next();
25085
25027
  this._destroy.complete();
25086
25028
  }
25087
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PeersPerformanceWidget, deps: [{ token: SessionService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: AccountService }, { token: i1$3.Directionality }, { token: DurationFormatPipe }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25029
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PeersPerformanceWidget, deps: [{ token: SessionService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: AccountService }, { token: i7.Directionality }, { token: DurationFormatPipe }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25088
25030
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PeersPerformanceWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "this.id" }, styleAttribute: "display: block" }, ngImport: i0, template: '', isInline: true }); }
25089
25031
  };
25090
25032
  PeersPerformanceWidget = PeersPerformanceWidget_1 = __decorate([
@@ -25102,7 +25044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
25102
25044
  dir: 'ltr'
25103
25045
  }
25104
25046
  }]
25105
- }], ctorParameters: () => [{ type: SessionService }, { type: WidgetRef }, { type: i0.ElementRef }, { type: AccountService }, { type: i1$3.Directionality }, { type: DurationFormatPipe }, { type: TranslateService }], propDecorators: { id: [{
25047
+ }], ctorParameters: () => [{ type: SessionService }, { type: WidgetRef }, { type: i0.ElementRef }, { type: AccountService }, { type: i7.Directionality }, { type: DurationFormatPipe }, { type: TranslateService }], propDecorators: { id: [{
25106
25048
  type: HostBinding
25107
25049
  }] } });
25108
25050
 
@@ -25123,7 +25065,7 @@ let PendingResultsWidget = class PendingResultsWidget {
25123
25065
  this._destroy.complete();
25124
25066
  }
25125
25067
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PendingResultsWidget, deps: [{ token: WidgetRef }], target: i0.ɵɵFactoryTarget.Component }); }
25126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PendingResultsWidget, selector: "bizdoc-pending-results", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" matSort class=\"mat-elevation-z0\" @list>\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'Name' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> <bizdoc-identity-name [identity]='element.userId' chating=\"room\"></bizdoc-identity-name></td>\n </ng-container>\n\n <ng-container matColumnDef=\"duration\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Duration' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> <span [bizdocTooltip]='element.duration|amDurationFormat'>{{ element.duration | amDuration : 's' }}</span> </td>\n </ng-container>\n\n <ng-container matColumnDef=\"standard\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Standard' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> @if (element.standard) {\n <span [bizdocTooltip]=\"element.standard|amDurationFormat\">{{ element.standard | amDuration: 's' }}</span>\n } </td>\n </ng-container>\n\n <ng-container matColumnDef=\"count\">\n <th mat-header-cell *matHeaderCellDef> </th>\n <td mat-cell *matCellDef=\"let element\" dir=\"ltr\">\n <span class=\"range\">{{ element.processed }} / {{element.pending + element.processed}}</span>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columns;\" @item></tr>\n</table>\n<style scoped>\n .range {\n white-space: nowrap;\n}\n</style>\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n", "\n .range {\n white-space: nowrap;\n}\n"], dependencies: [{ kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
25068
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PendingResultsWidget, selector: "bizdoc-pending-results", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" matSort class=\"mat-elevation-z0\" @list>\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'Name' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> <bizdoc-identity-name [identity]='element.userId' chating=\"room\"></bizdoc-identity-name></td>\n </ng-container>\n\n <ng-container matColumnDef=\"duration\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Duration' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> <span [bizdocTooltip]='element.duration|amDurationFormat'>{{ element.duration | amDuration : 's' }}</span> </td>\n </ng-container>\n\n <ng-container matColumnDef=\"standard\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Standard' | translate}} </th>\n <td mat-cell *matCellDef=\"let element\"> @if (element.standard) {\n <span [bizdocTooltip]=\"element.standard|amDurationFormat\">{{ element.standard | amDuration: 's' }}</span>\n } </td>\n </ng-container>\n\n <ng-container matColumnDef=\"count\">\n <th mat-header-cell *matHeaderCellDef> </th>\n <td mat-cell *matCellDef=\"let element\" dir=\"ltr\">\n <span class=\"range\">{{ element.processed }} / {{element.pending + element.processed}}</span>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columns;\" @item></tr>\n</table>\n<style scoped>\n .range {\n white-space: nowrap;\n}\n</style>\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n", "\n .range {\n white-space: nowrap;\n}\n"], dependencies: [{ kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
25127
25069
  listAnimation,
25128
25070
  itemAnimation
25129
25071
  ] }); }
@@ -25335,7 +25277,7 @@ let PersonalScoreWidget = class PersonalScoreWidget {
25335
25277
  this._destroy.next();
25336
25278
  this._destroy.complete();
25337
25279
  }
25338
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PersonalScoreWidget, deps: [{ token: WidgetRef }, { token: SessionService }, { token: i1$3.Directionality }, { token: DurationFormatPipe }, { token: i0.ElementRef }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PersonalScoreWidget, deps: [{ token: WidgetRef }, { token: SessionService }, { token: i7.Directionality }, { token: DurationFormatPipe }, { token: i0.ElementRef }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25339
25281
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PersonalScoreWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, styleAttribute: "display: block" }, ngImport: i0, template: '', isInline: true }); }
25340
25282
  };
25341
25283
  PersonalScoreWidget = __decorate([
@@ -25354,7 +25296,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
25354
25296
  dir: 'ltr'
25355
25297
  }
25356
25298
  }]
25357
- }], ctorParameters: () => [{ type: WidgetRef }, { type: SessionService }, { type: i1$3.Directionality }, { type: DurationFormatPipe }, { type: i0.ElementRef }, { type: TranslateService }] });
25299
+ }], ctorParameters: () => [{ type: WidgetRef }, { type: SessionService }, { type: i7.Directionality }, { type: DurationFormatPipe }, { type: i0.ElementRef }, { type: TranslateService }] });
25358
25300
 
25359
25301
  class CubeDocumentsGridComponent {
25360
25302
  constructor(_ref, _info, _session, _accounts, service) {
@@ -25399,7 +25341,7 @@ class CubeDocumentsGridComponent {
25399
25341
  this._destroy.complete();
25400
25342
  }
25401
25343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentsGridComponent, deps: [{ token: ReportRef }, { token: DocumentInfo }, { token: SessionService }, { token: AccountService }, { token: CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
25402
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", dependencies: [{ kind: "directive", type: i6$5.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i6$5.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { kind: "directive", type: i7$4.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i7$4.ColumnsDirective, selector: "ejs-chart>e-columns" }, { kind: "component", type: i8$3.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i8$3.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i8$3.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i8$3.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i8$3.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i9$1.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { kind: "directive", type: i9$1.ColumnsDirective, selector: "e-sheet>e-columns" }, { kind: "directive", type: i10$2.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }, { kind: "directive", type: i10$2.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }, { kind: "pipe", type: FormPipe, name: "form" }] }); }
25344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", dependencies: [{ kind: "directive", type: i6$5.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i6$5.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { kind: "directive", type: i7$5.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i7$5.ColumnsDirective, selector: "ejs-chart>e-columns" }, { kind: "component", type: i8$3.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i8$3.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i8$3.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i8$3.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i8$3.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i9$1.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { kind: "directive", type: i9$1.ColumnsDirective, selector: "e-sheet>e-columns" }, { kind: "directive", type: i10$2.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }, { kind: "directive", type: i10$2.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }, { kind: "pipe", type: FormPipe, name: "form" }] }); }
25403
25345
  }
25404
25346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentsGridComponent, decorators: [{
25405
25347
  type: Component,
@@ -25433,7 +25375,7 @@ class CubeDocumentsTableComponent {
25433
25375
  this._info.open(id);
25434
25376
  }
25435
25377
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentsTableComponent, deps: [{ token: ReportRef }, { token: DocumentInfo }, { token: SessionService }, { token: CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
25436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentsTableComponent, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" [@list]=\"PAGE_SIZE\">\n <ng-container matColumnDef=\"number\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element.id)\">{{element.number}}</a> </td>\n </ng-container>\n <ng-container matColumnDef=\"subject\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.subject}} </td>\n </ng-container>\n <ng-container matColumnDef=\"userId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Name' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <bizdoc-identity-name [identity]=\"element.userId\" [by]=\"element.byId\"></bizdoc-identity-name>\n </td>\n </ng-container>\n <ng-container matColumnDef=\"stateId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Status' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> <span class=\"document-state\" [style.color]=\"element.stateId|state : 'color'\" [style.borderColor]=\"element.stateId|state : 'color'\">{{element.stateId | state}}</span> </td>\n </ng-container>\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Value' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\" class=\"figure\">\n {{element.value | currency : (element.currencyCode || DEFAULT_CURRENCY) : 'symbol' : CURRENCY_FORMAT }}\n @if (element.partial) {\n <mat-icon [bizdocTooltip]=\"element.total | currency : element.currencyCode : 'symbol' : CURRENCY_FORMAT\">error_outline</mat-icon>\n }\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\n <tr mat-row [@item] *matRowDef=\"let element; columns: displayColumns;\"></tr>\n</table>\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons [style.display]=\"paging ? '' : 'none'\"></mat-paginator>\n", styles: ["table{width:100%}td.figure{text-align:right}.document-state{border-radius:2px 3px;padding:4px;border-width:1px;border-style:solid}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [listAnimation, itemAnimation] }); }
25378
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentsTableComponent, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" [@list]=\"PAGE_SIZE\">\n <ng-container matColumnDef=\"number\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element.id)\">{{element.number}}</a> </td>\n </ng-container>\n <ng-container matColumnDef=\"subject\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.subject}} </td>\n </ng-container>\n <ng-container matColumnDef=\"userId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Name' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <bizdoc-identity-name [identity]=\"element.userId\" [by]=\"element.byId\"></bizdoc-identity-name>\n </td>\n </ng-container>\n <ng-container matColumnDef=\"stateId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Status' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> <span class=\"document-state\" [style.color]=\"element.stateId|state : 'color'\" [style.borderColor]=\"element.stateId|state : 'color'\">{{element.stateId | state}}</span> </td>\n </ng-container>\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Value' | translate}}</th>\n <td mat-cell *matCellDef=\"let element\" class=\"figure\">\n {{element.value | currency : (element.currencyCode || DEFAULT_CURRENCY) : 'symbol' : CURRENCY_FORMAT }}\n @if (element.partial) {\n <mat-icon [bizdocTooltip]=\"element.total | currency : element.currencyCode : 'symbol' : CURRENCY_FORMAT\">error_outline</mat-icon>\n }\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\n <tr mat-row [@item] *matRowDef=\"let element; columns: displayColumns;\"></tr>\n</table>\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons [style.display]=\"paging ? '' : 'none'\"></mat-paginator>\n", styles: ["table{width:100%}td.figure{text-align:right}.document-state{border-radius:2px 3px;padding:4px;border-width:1px;border-style:solid}\n"], dependencies: [{ kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [listAnimation, itemAnimation] }); }
25437
25379
  }
25438
25380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentsTableComponent, decorators: [{
25439
25381
  type: Component,
@@ -25556,12 +25498,12 @@ class UsageReportBase {
25556
25498
  this._destroy.next();
25557
25499
  this._destroy.complete();
25558
25500
  }
25559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageReportBase, deps: [{ token: RouterImpl }, { token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: PromptService }, { token: i1$3.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
25501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageReportBase, deps: [{ token: RouterImpl }, { token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: PromptService }, { token: i7.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
25560
25502
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: UsageReportBase, ngImport: i0 }); }
25561
25503
  }
25562
25504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageReportBase, decorators: [{
25563
25505
  type: Directive
25564
- }], ctorParameters: () => [{ type: RouterImpl }, { type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: PromptService }, { type: i1$3.Directionality }, { type: TranslateService }] });
25506
+ }], ctorParameters: () => [{ type: RouterImpl }, { type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: PromptService }, { type: i7.Directionality }, { type: TranslateService }] });
25565
25507
  ;
25566
25508
 
25567
25509
  /**
@@ -25891,7 +25833,7 @@ class UsageChartComponent extends UsageReportBase {
25891
25833
  this.pivot && this.pivot.destroy();
25892
25834
  super.ngOnDestroy();
25893
25835
  }
25894
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageChartComponent, deps: [{ token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: RouterImpl }, { token: PromptService }, { token: i0.ElementRef }, { token: i1$3.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageChartComponent, deps: [{ token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: RouterImpl }, { token: PromptService }, { token: i0.ElementRef }, { token: i7.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
25895
25837
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: UsageChartComponent, selector: "ng-component", host: { properties: { "id": "id", "dir": "dir" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
25896
25838
  }
25897
25839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsageChartComponent, decorators: [{
@@ -25903,7 +25845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
25903
25845
  '[dir]': 'dir'
25904
25846
  }
25905
25847
  }]
25906
- }], ctorParameters: () => [{ type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: RouterImpl }, { type: PromptService }, { type: i0.ElementRef }, { type: i1$3.Directionality }, { type: TranslateService }] });
25848
+ }], ctorParameters: () => [{ type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: RouterImpl }, { type: PromptService }, { type: i0.ElementRef }, { type: i7.Directionality }, { type: TranslateService }] });
25907
25849
 
25908
25850
  const PIVOT_HEADER_DELIMITER = '|';
25909
25851
  /**
@@ -26130,7 +26072,7 @@ class UsagePivotComponent extends UsageReportBase {
26130
26072
  this.pivot && this.pivot.destroy();
26131
26073
  super.ngOnDestroy();
26132
26074
  }
26133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsagePivotComponent, deps: [{ token: i0.ElementRef }, { token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: RouterImpl }, { token: PromptService }, { token: i1$3.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
26075
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsagePivotComponent, deps: [{ token: i0.ElementRef }, { token: ReportRef }, { token: DatasourceService }, { token: CubeService }, { token: SessionService }, { token: RouterImpl }, { token: PromptService }, { token: i7.Directionality }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
26134
26076
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: UsagePivotComponent, selector: "ng-component", host: { properties: { "id": "id" } }, viewQueries: [{ propertyName: "pivot", first: true, predicate: PivotViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
26135
26077
  }
26136
26078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UsagePivotComponent, decorators: [{
@@ -26140,7 +26082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
26140
26082
  //templateUrl: 'usage-pivot.component.html',
26141
26083
  host: { '[id]': 'id' }
26142
26084
  }]
26143
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: RouterImpl }, { type: PromptService }, { type: i1$3.Directionality }, { type: TranslateService }], propDecorators: { pivot: [{
26085
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ReportRef }, { type: DatasourceService }, { type: CubeService }, { type: SessionService }, { type: RouterImpl }, { type: PromptService }, { type: i7.Directionality }, { type: TranslateService }], propDecorators: { pivot: [{
26144
26086
  type: ViewChild,
26145
26087
  args: [PivotViewComponent]
26146
26088
  }] } });
@@ -26966,7 +26908,7 @@ class CombinationPickerBody {
26966
26908
  this.modeChange.complete();
26967
26909
  }
26968
26910
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CombinationPickerBody, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: COMBINATION_PICKER_BODY, optional: true }, { token: i1$2.FormBuilder }, { token: PromptService }, { token: CubeInfo }, { token: DatasourceService }, { token: i0.ChangeDetectorRef }, { token: SessionService }, { token: CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
26969
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CombinationPickerBody, selector: "bizdoc-combination-picker-body", viewQueries: [{ propertyName: "axes", predicate: MatSelect, descendants: true }], ngImport: i0, template: "<div class=\"account-picker-popup\" cdkTrapFocus>\n @switch (mode) {\n <!--[@transformPanel]=\"enter\"-->\n @case ('filter') {\n <mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"_working ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- filter -->\n <form [formGroup]=\"_form\">\n @for (a of _axes; track a; let i = $index) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{a.title}}</mat-label>\n <mat-select [formControlName]=\"a.name\">\n @if (_keys[a.name].length>1) {\n <mat-option>{{'All'|translate}}</mat-option>\n }\n @for (key of _keys[a.name]; track key) {\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{_form.controls[a.name].value}}</mat-hint>\n </mat-form-field>\n }\n </form>\n <div class=\"actions\">\n <button mat-icon-button (click)=\"_filter()\" [disabled]=\"_working\" [bizdocTooltip]=\"'Search'|translate\" class=\"mat-icon-rtl-mirror\" [tabIndex]=\"_axes.length\">\n <mat-icon>search</mat-icon>\n </button>\n </div>\n }\n <!-- results -->\n @case ('results') {\n <div class=\"actions\">\n <button mat-icon-button (click)=\"_switchMode('filter')\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </div>\n <mat-action-list>\n @for (codes of _combinations; track codes) {\n <mat-list-item (click)=\"_select(codes)\">\n <h3 matListItemTitle>{{_nameOf(codes)}}</h3>\n @if (_explorable) {\n <p matListItemLine><a (click)=\"_info(codes, $event)\">{{_codeOf(codes)}}</a></p>\n }\n </mat-list-item>\n }\n </mat-action-list>\n }\n }\n</div>\n", styles: [".account-picker-popup{display:flex;flex-direction:column;width:100%}.account-picker-popup form{padding:8px;flex-flow:column wrap;box-sizing:border-box;gap:6px;display:flex}.account-picker-popup form>*{flex:1 1 100%;box-sizing:border-box;max-width:calc(50% - 3px)}.account-picker-popup .actions{display:flex;flex-direction:row;place-content:center flex-end;align-items:center;padding:8px}.account-picker-popup ::ng-deep .mat-mdc-list-base{overflow:auto}.account-picker-popup ::ng-deep .mat-mdc-list-base .mat-mdc-list-item .mat-line:nth-child(n+2){font-size:14px}@media screen and (min-width: 600px){.account-picker-popup form{flex-flow:row wrap}}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatActionList, selector: "mat-action-list", exportAs: ["matActionList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }] }); }
26911
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CombinationPickerBody, selector: "bizdoc-combination-picker-body", viewQueries: [{ propertyName: "axes", predicate: MatSelect, descendants: true }], ngImport: i0, template: "<div class=\"account-picker-popup\" cdkTrapFocus>\n @switch (mode) {\n <!--[@transformPanel]=\"enter\"-->\n @case ('filter') {\n <mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"_working ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- filter -->\n <form [formGroup]=\"_form\">\n @for (a of _axes; track a; let i = $index) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{a.title}}</mat-label>\n <mat-select [formControlName]=\"a.name\">\n @if (_keys[a.name].length>1) {\n <mat-option>{{'All'|translate}}</mat-option>\n }\n @for (key of _keys[a.name]; track key) {\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{_form.controls[a.name].value}}</mat-hint>\n </mat-form-field>\n }\n </form>\n <div class=\"actions\">\n <button mat-icon-button (click)=\"_filter()\" [disabled]=\"_working\" [bizdocTooltip]=\"'Search'|translate\" class=\"mat-icon-rtl-mirror\" [tabIndex]=\"_axes.length\">\n <mat-icon>search</mat-icon>\n </button>\n </div>\n }\n <!-- results -->\n @case ('results') {\n <div class=\"actions\">\n <button mat-icon-button (click)=\"_switchMode('filter')\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </div>\n <mat-action-list>\n @for (codes of _combinations; track codes) {\n <mat-list-item (click)=\"_select(codes)\">\n <h3 matListItemTitle>{{_nameOf(codes)}}</h3>\n @if (_explorable) {\n <p matListItemLine><a (click)=\"_info(codes, $event)\">{{_codeOf(codes)}}</a></p>\n }\n </mat-list-item>\n }\n </mat-action-list>\n }\n }\n</div>\n", styles: [".account-picker-popup{display:flex;flex-direction:column;width:100%}.account-picker-popup form{padding:8px;flex-flow:column wrap;box-sizing:border-box;gap:6px;display:flex}.account-picker-popup form>*{flex:1 1 100%;box-sizing:border-box;max-width:calc(50% - 3px)}.account-picker-popup .actions{display:flex;flex-direction:row;place-content:center flex-end;align-items:center;padding:8px}.account-picker-popup ::ng-deep .mat-mdc-list-base{overflow:auto}.account-picker-popup ::ng-deep .mat-mdc-list-base .mat-mdc-list-item .mat-line:nth-child(n+2){font-size:14px}@media screen and (min-width: 600px){.account-picker-popup form{flex-flow:row wrap}}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatActionList, selector: "mat-action-list", exportAs: ["matActionList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }] }); }
26970
26912
  }
26971
26913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CombinationPickerBody, decorators: [{
26972
26914
  type: Component,
@@ -27193,7 +27135,7 @@ class CombinationPicker {
27193
27135
  this.descriptionChange.complete();
27194
27136
  this.stateChanges.complete();
27195
27137
  }
27196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CombinationPicker, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i3$1.MatFormField, optional: true }, { token: i1$1.Overlay }, { token: i2$2.MatDialog }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2$8.FocusMonitor }, { token: i0.ElementRef }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
27138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CombinationPicker, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i3$1.MatFormField, optional: true }, { token: i1$1.Overlay }, { token: i2$2.MatDialog }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2$8.FocusMonitor }, { token: i0.ElementRef }, { token: i7.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
27197
27139
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CombinationPicker, selector: "bizdoc-combination-picker", inputs: { _divider: ["divider", "_divider"], _displayDivider: ["displayDivider", "_displayDivider"], limit: "limit", cube: "cube", exploreSettings: "exploreSettings", description: "description", touchUi: "touchUi", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, outputs: { optionSelected: "optionSelected", descriptionChange: "descriptionChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<textarea matInput [disabled]=\"disabled\" (keydown)=\"_keyDown($event)\" [value]=\"description\" [placeholder]=\"placeholder\"></textarea>\r\n<mat-icon matSuffix tabindex=\"-1\" [ngClass]=\"{'mat-warn-text':errorState, 'disabled': disabled}\">arrow_drop_down</mat-icon>\r\n", styles: [":host{display:flex;flex-direction:row}:host textarea{resize:none;cursor:pointer;flex:1}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$3.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"] }] }); }
27198
27140
  }
27199
27141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CombinationPicker, decorators: [{
@@ -27208,7 +27150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
27208
27150
  type: Self
27209
27151
  }] }, { type: i3$1.MatFormField, decorators: [{
27210
27152
  type: Optional
27211
- }] }, { type: i1$1.Overlay }, { type: i2$2.MatDialog }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2$8.FocusMonitor }, { type: i0.ElementRef }, { type: i1$3.Directionality }], propDecorators: { _divider: [{
27153
+ }] }, { type: i1$1.Overlay }, { type: i2$2.MatDialog }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2$8.FocusMonitor }, { type: i0.ElementRef }, { type: i7.Directionality }], propDecorators: { _divider: [{
27212
27154
  type: Input,
27213
27155
  args: ['divider']
27214
27156
  }], _displayDivider: [{
@@ -27997,7 +27939,7 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
27997
27939
  this.title = null;
27998
27940
  }
27999
27941
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
28000
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <!-- title -->\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #patternsMenu xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\n} @else {\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\n}\n", styles: [".table{padding:0 8px}\n"], dependencies: [{ kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
27942
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <!-- title -->\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #patternsMenu xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\n} @else {\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\n}\n", styles: [".table{padding:0 8px}\n"], dependencies: [{ kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
28001
27943
  };
28002
27944
  CubeDocumentMatrixComponent = __decorate([
28003
27945
  BizDoc({
@@ -28075,7 +28017,7 @@ let CubeDocumentViewComponent = class CubeDocumentViewComponent extends CubeBase
28075
28017
  }
28076
28018
  }
28077
28019
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentViewComponent, deps: [{ token: SessionService }, { token: DocumentViewRef }, { token: CubeService }, { token: Popup }, { token: RouterImpl }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
28078
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n {{p.title}}\n </button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-view [filters]=\"axes\" #vp\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n (loading)=\"loading = $event\"></bizdoc-cube-view>\n} @else {\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\n}\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
28020
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (view.guide) {\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n }\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n <mat-menu #pmenu>\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"patternChange(p)\">\n {{p.title}}\n </button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-view [filters]=\"axes\" #vp\n (explore)=\"explore($event)\"\n [cube]=\"cube\"\n [view]=\"view\"\n (loading)=\"loading = $event\"></bizdoc-cube-view>\n} @else {\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\n}\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
28079
28021
  };
28080
28022
  CubeDocumentViewComponent = __decorate([
28081
28023
  BizDoc({
@@ -28868,7 +28810,7 @@ let CubeDocumentSumComponent = class CubeDocumentSumComponent extends CubeBase {
28868
28810
  });
28869
28811
  }
28870
28812
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDocumentSumComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
28871
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n @if (alternate || selectedAxis) {\n <div class=\"nav-toolbar\">\n <span class=\"divider\"></span>\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n @if (selectedAxis) {\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType | async }} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #amenu>\n @for (a of alternateAxes; track a) {\n <button mat-menu-item\n (click)=\"switchAxis(a)\">\n {{a | typeValue: primaryAxis.dataType | async}}\n </button>\n }\n </mat-menu>\n }\n </div>\n }\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\n [indices]=\"indices\" [cube]=\"cube.name\"\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\n}\n", styles: [":host{padding:0 8px}\n"], dependencies: [{ kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }] }); }
28813
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n @if (alternate || selectedAxis) {\n <div class=\"nav-toolbar\">\n <span class=\"divider\"></span>\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n @if (selectedAxis) {\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType | async }} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #amenu>\n @for (a of alternateAxes; track a) {\n <button mat-menu-item\n (click)=\"switchAxis(a)\">\n {{a | typeValue: primaryAxis.dataType | async}}\n </button>\n }\n </mat-menu>\n }\n </div>\n }\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\n [indices]=\"indices\" [cube]=\"cube.name\"\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\n}\n", styles: [":host{padding:0 8px}\n"], dependencies: [{ kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }] }); }
28872
28814
  };
28873
28815
  CubeDocumentSumComponent = __decorate([
28874
28816
  BizDoc({
@@ -28991,7 +28933,7 @@ let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
28991
28933
  });
28992
28934
  }
28993
28935
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeExploreViewComponent, deps: [{ token: DocumentViewRef }, { token: PromptService }, { token: RouterImpl }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
28994
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeExploreViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-explore #items [cube]=\"cube.name\" [axes]=axes\n (explore)=\"item($event)\"\n (loadingChange)=\"loading = $event\" [pageSize]=\"pageSize\"\n [scope]=\"scope\"></bizdoc-cube-explore>\n}\n", dependencies: [{ kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
28936
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeExploreViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "@if (hasdata) {\n <div class=\"nav-toolbar\">\n @if (alternate) {\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #cmenu>\n @for (a of alternate; track a) {\n <button mat-menu-item\n (click)=\"switchTo(a)\">\n {{a.title}}\n </button>\n }\n </mat-menu>\n }\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n </div>\n @if (loading) {\n <div class=\"loading-view\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n <bizdoc-cube-explore #items [cube]=\"cube.name\" [axes]=axes\n (explore)=\"item($event)\"\n (loadingChange)=\"loading = $event\" [pageSize]=\"pageSize\"\n [scope]=\"scope\"></bizdoc-cube-explore>\n}\n", dependencies: [{ kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
28995
28937
  };
28996
28938
  CubeExploreViewComponent = __decorate([
28997
28939
  BizDoc({
@@ -29166,7 +29108,7 @@ class CubeParallelComponent {
29166
29108
  this._loading.complete();
29167
29109
  }
29168
29110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeParallelComponent, deps: [{ token: PromptService }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
29169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: { filters: "filters", xAxis: "xAxis", series: "series", indices: "indices", cube: "cube", size: "size", chartType: "chartType", scope: "scope", palettes: "palettes" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: "@if (items.length) {\n <div class=\"row\">\n @for (s of items; track s) {\n <div class=\"element\">\n <ejs-sparkline [width]='width' height='100px'\n [type]='s.chartType'\n [id]=\"s.data.name\"\n [dataSource]=\"s.data.points\"\n xName=\"name\"\n yName=\"y\" [palette]=\"s.palette\"\n [format]=\"format\"\n valueType=\"Category\"\n [enableRtl]=\"enableRtl\"\n [border]=\"s.border\"\n [fill]=\"s.fill\"\n [theme]=\"theme\"\n [axisSettings]=\"axisSettings\"\n [markerSettings]=\"s.markerSettings\"\n (pointRegionMouseClick)=\"sprklineClick(s, $event)\"\n [tooltipSettings]=\"s.tooltipSettings\">\n </ejs-sparkline>\n <h4 class=\"mat-h4\">{{s.data.title}}</h4>\n </div>\n }\n </div>\n}\n", styles: [":host{padding:8px}.element{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;flex:1 1 auto}\n"], dependencies: [{ kind: "component", type: i7$4.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"] }] }); }
29111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: { filters: "filters", xAxis: "xAxis", series: "series", indices: "indices", cube: "cube", size: "size", chartType: "chartType", scope: "scope", palettes: "palettes" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: "@if (items.length) {\n <div class=\"row\">\n @for (s of items; track s) {\n <div class=\"element\">\n <ejs-sparkline [width]='width' height='100px'\n [type]='s.chartType'\n [id]=\"s.data.name\"\n [dataSource]=\"s.data.points\"\n xName=\"name\"\n yName=\"y\" [palette]=\"s.palette\"\n [format]=\"format\"\n valueType=\"Category\"\n [enableRtl]=\"enableRtl\"\n [border]=\"s.border\"\n [fill]=\"s.fill\"\n [theme]=\"theme\"\n [axisSettings]=\"axisSettings\"\n [markerSettings]=\"s.markerSettings\"\n (pointRegionMouseClick)=\"sprklineClick(s, $event)\"\n [tooltipSettings]=\"s.tooltipSettings\">\n </ejs-sparkline>\n <h4 class=\"mat-h4\">{{s.data.title}}</h4>\n </div>\n }\n </div>\n}\n", styles: [":host{padding:8px}.element{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;flex:1 1 auto}\n"], dependencies: [{ kind: "component", type: i7$5.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"] }] }); }
29170
29112
  }
29171
29113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeParallelComponent, decorators: [{
29172
29114
  type: Component,
@@ -29884,7 +29826,7 @@ let PerformanceWindComponent = class PerformanceWindComponent {
29884
29826
  this._destroy.next();
29885
29827
  }
29886
29828
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PerformanceWindComponent, deps: [{ token: RouterImpl }, { token: AccountService }, { token: SessionService }, { token: TranslateService }, { token: ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
29887
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PerformanceWindComponent, selector: "ng-component", viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: " @if(records) {\r\n<div class=\"row\">\r\n <div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n </div>\r\n <ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n </ejs-chart>\r\n</div>\r\n}\r\n", styles: [":host{flex:1;display:flex}.legend{overflow-y:auto;display:flex;flex-wrap:wrap;max-width:400px}\n"], dependencies: [{ kind: "directive", type: i6$6.PointerDirective, selector: "e-pointers>e-pointer", inputs: ["animation", "border", "cap", "color", "description", "imageUrl", "linearGradient", "markerHeight", "markerShape", "markerWidth", "needleEndWidth", "needleStartWidth", "needleTail", "offset", "pointerWidth", "position", "radialGradient", "radius", "roundedCornerRadius", "text", "textStyle", "type", "value"] }, { kind: "directive", type: i6$6.PointersDirective, selector: "ej-circulargauge>e-axes>e-axis>e-pointers" }, { kind: "directive", type: i6$6.AxisDirective, selector: "e-axes>e-axis", inputs: ["annotations", "background", "direction", "endAngle", "hideIntersectingLabel", "labelStyle", "lineStyle", "majorTicks", "maximum", "minimum", "minorTicks", "pointers", "radius", "rangeGap", "ranges", "roundingPlaces", "showLastLabel", "startAndEndRangeGap", "startAngle"] }, { kind: "directive", type: i6$6.AxesDirective, selector: "ej-circulargauge>e-axes" }, { kind: "component", type: i7$4.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i7$4.SeriesDirective, selector: "e-series-collection>e-series", inputs: ["animation", "bearFillColor", "binInterval", "border", "boxPlotMode", "bullFillColor", "cardinalSplineTension", "close", "colorName", "columnFacet", "columnSpacing", "columnWidth", "columnWidthInPixel", "connector", "cornerRadius", "dashArray", "dataSource", "dragSettings", "drawType", "emptyPointSettings", "enableComplexProperty", "enableSolidCandles", "enableTooltip", "errorBar", "fill", "groupName", "high", "intermediateSumIndexes", "isClosed", "legendImageUrl", "legendShape", "low", "marker", "maxRadius", "minRadius", "name", "negativeFillColor", "nonHighlightStyle", "opacity", "open", "paretoOptions", "pointColorMapping", "query", "segmentAxis", "segments", "selectionStyle", "showMean", "showNormalDistribution", "size", "splineType", "stackingGroup", "step", "sumIndexes", "summaryFillColor", "tooltipFormat", "tooltipMappingName", "trendlines", "type", "unSelectedStyle", "visible", "volume", "width", "xAxisName", "xName", "yAxisName", "yName", "zOrder"] }, { kind: "directive", type: i7$4.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "directive", type: i7$4.AxisDirective, selector: "e-axes>e-axis", inputs: ["border", "coefficient", "columnIndex", "crossesAt", "crossesInAxis", "crosshairTooltip", "description", "desiredIntervals", "edgeLabelPlacement", "enableAutoIntervalOnZooming", "enableScrollbarOnZooming", "enableTrim", "interval", "intervalType", "isIndexed", "isInversed", "labelFormat", "labelIntersectAction", "labelPadding", "labelPlacement", "labelPosition", "labelRotation", "labelStyle", "lineBreakAlignment", "lineStyle", "logBase", "majorGridLines", "majorTickLines", "maximum", "maximumLabelWidth", "maximumLabels", "minimum", "minorGridLines", "minorTickLines", "minorTicksPerInterval", "multiLevelLabels", "name", "opposedPosition", "placeNextToAxisLine", "plotOffset", "plotOffsetBottom", "plotOffsetLeft", "plotOffsetRight", "plotOffsetTop", "rangePadding", "rowIndex", "scrollbarSettings", "skeleton", "skeletonType", "span", "startAngle", "startFromZero", "stripLines", "tabIndex", "tickPosition", "title", "titlePadding", "titleRotation", "titleStyle", "valueType", "visible", "zoomFactor", "zoomPosition"] }, { kind: "directive", type: i7$4.AxesDirective, selector: "ejs-chart>e-axes" }, { kind: "component", type: i8$4.LinearGaugeComponent, selector: "ejs-lineargauge", inputs: ["allowImageExport", "allowMargin", "allowPdfExport", "allowPrint", "animationDuration", "annotations", "axes", "background", "border", "container", "description", "edgeLabelPlacement", "enablePersistence", "enableRtl", "format", "height", "locale", "margin", "orientation", "rangePalettes", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width"], outputs: ["animationComplete", "annotationRender", "axisLabelRender", "beforePrint", "dragEnd", "dragMove", "dragStart", "gaugeMouseDown", "gaugeMouseLeave", "gaugeMouseMove", "gaugeMouseUp", "load", "loaded", "resized", "tooltipRender", "valueChange"] }, { kind: "directive", type: i8$4.PointerDirective, selector: "e-pointers>e-pointer", inputs: ["animationDuration", "border", "color", "description", "enableDrag", "height", "imageUrl", "linearGradient", "markerType", "offset", "opacity", "placement", "position", "radialGradient", "roundedCornerRadius", "text", "textStyle", "type", "value", "width"] }, { kind: "directive", type: i8$4.PointersDirective, selector: "ej-linear-gauge>e-axes>e-axis>e-pointers" }, { kind: "directive", type: i8$4.AxisDirective, selector: "e-axes>e-axis", inputs: ["isInversed", "labelStyle", "line", "majorTicks", "maximum", "minimum", "minorTicks", "opposedPosition", "pointers", "ranges", "showLastLabel"] }, { kind: "directive", type: i8$4.AxesDirective, selector: "ej-lineargauge>e-axes" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
29829
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PerformanceWindComponent, selector: "ng-component", viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: " @if(records) {\r\n<div class=\"row\">\r\n <div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n </div>\r\n <ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n </ejs-chart>\r\n</div>\r\n}\r\n", styles: [":host{flex:1;display:flex}.legend{overflow-y:auto;display:flex;flex-wrap:wrap;max-width:400px}\n"], dependencies: [{ kind: "directive", type: i6$6.PointerDirective, selector: "e-pointers>e-pointer", inputs: ["animation", "border", "cap", "color", "description", "imageUrl", "linearGradient", "markerHeight", "markerShape", "markerWidth", "needleEndWidth", "needleStartWidth", "needleTail", "offset", "pointerWidth", "position", "radialGradient", "radius", "roundedCornerRadius", "text", "textStyle", "type", "value"] }, { kind: "directive", type: i6$6.PointersDirective, selector: "ej-circulargauge>e-axes>e-axis>e-pointers" }, { kind: "directive", type: i6$6.AxisDirective, selector: "e-axes>e-axis", inputs: ["annotations", "background", "direction", "endAngle", "hideIntersectingLabel", "labelStyle", "lineStyle", "majorTicks", "maximum", "minimum", "minorTicks", "pointers", "radius", "rangeGap", "ranges", "roundingPlaces", "showLastLabel", "startAndEndRangeGap", "startAngle"] }, { kind: "directive", type: i6$6.AxesDirective, selector: "ej-circulargauge>e-axes" }, { kind: "component", type: i7$5.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i7$5.SeriesDirective, selector: "e-series-collection>e-series", inputs: ["animation", "bearFillColor", "binInterval", "border", "boxPlotMode", "bullFillColor", "cardinalSplineTension", "close", "colorName", "columnFacet", "columnSpacing", "columnWidth", "columnWidthInPixel", "connector", "cornerRadius", "dashArray", "dataSource", "dragSettings", "drawType", "emptyPointSettings", "enableComplexProperty", "enableSolidCandles", "enableTooltip", "errorBar", "fill", "groupName", "high", "intermediateSumIndexes", "isClosed", "legendImageUrl", "legendShape", "low", "marker", "maxRadius", "minRadius", "name", "negativeFillColor", "nonHighlightStyle", "opacity", "open", "paretoOptions", "pointColorMapping", "query", "segmentAxis", "segments", "selectionStyle", "showMean", "showNormalDistribution", "size", "splineType", "stackingGroup", "step", "sumIndexes", "summaryFillColor", "tooltipFormat", "tooltipMappingName", "trendlines", "type", "unSelectedStyle", "visible", "volume", "width", "xAxisName", "xName", "yAxisName", "yName", "zOrder"] }, { kind: "directive", type: i7$5.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "directive", type: i7$5.AxisDirective, selector: "e-axes>e-axis", inputs: ["border", "coefficient", "columnIndex", "crossesAt", "crossesInAxis", "crosshairTooltip", "description", "desiredIntervals", "edgeLabelPlacement", "enableAutoIntervalOnZooming", "enableScrollbarOnZooming", "enableTrim", "interval", "intervalType", "isIndexed", "isInversed", "labelFormat", "labelIntersectAction", "labelPadding", "labelPlacement", "labelPosition", "labelRotation", "labelStyle", "lineBreakAlignment", "lineStyle", "logBase", "majorGridLines", "majorTickLines", "maximum", "maximumLabelWidth", "maximumLabels", "minimum", "minorGridLines", "minorTickLines", "minorTicksPerInterval", "multiLevelLabels", "name", "opposedPosition", "placeNextToAxisLine", "plotOffset", "plotOffsetBottom", "plotOffsetLeft", "plotOffsetRight", "plotOffsetTop", "rangePadding", "rowIndex", "scrollbarSettings", "skeleton", "skeletonType", "span", "startAngle", "startFromZero", "stripLines", "tabIndex", "tickPosition", "title", "titlePadding", "titleRotation", "titleStyle", "valueType", "visible", "zoomFactor", "zoomPosition"] }, { kind: "directive", type: i7$5.AxesDirective, selector: "ejs-chart>e-axes" }, { kind: "component", type: i8$4.LinearGaugeComponent, selector: "ejs-lineargauge", inputs: ["allowImageExport", "allowMargin", "allowPdfExport", "allowPrint", "animationDuration", "annotations", "axes", "background", "border", "container", "description", "edgeLabelPlacement", "enablePersistence", "enableRtl", "format", "height", "locale", "margin", "orientation", "rangePalettes", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width"], outputs: ["animationComplete", "annotationRender", "axisLabelRender", "beforePrint", "dragEnd", "dragMove", "dragStart", "gaugeMouseDown", "gaugeMouseLeave", "gaugeMouseMove", "gaugeMouseUp", "load", "loaded", "resized", "tooltipRender", "valueChange"] }, { kind: "directive", type: i8$4.PointerDirective, selector: "e-pointers>e-pointer", inputs: ["animationDuration", "border", "color", "description", "enableDrag", "height", "imageUrl", "linearGradient", "markerType", "offset", "opacity", "placement", "position", "radialGradient", "roundedCornerRadius", "text", "textStyle", "type", "value", "width"] }, { kind: "directive", type: i8$4.PointersDirective, selector: "ej-linear-gauge>e-axes>e-axis>e-pointers" }, { kind: "directive", type: i8$4.AxisDirective, selector: "e-axes>e-axis", inputs: ["isInversed", "labelStyle", "line", "majorTicks", "maximum", "minimum", "minorTicks", "opposedPosition", "pointers", "ranges", "showLastLabel"] }, { kind: "directive", type: i8$4.AxesDirective, selector: "ej-lineargauge>e-axes" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
29888
29830
  };
29889
29831
  PerformanceWindComponent = __decorate([
29890
29832
  BizDoc({
@@ -30437,6 +30379,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
30437
30379
  args: [{ template: '', styles: [":host{flex:1}\n"] }]
30438
30380
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: AccountService }, { type: SessionService }, { type: TranslateService }, { type: ReportRef }] });
30439
30381
 
30382
+ class OverlayFormComponent {
30383
+ constructor(session, _router, _injector, _cf, _guide, _messaging, formId) {
30384
+ this._router = _router;
30385
+ this._injector = _injector;
30386
+ this._cf = _cf;
30387
+ this._guide = _guide;
30388
+ this._messaging = _messaging;
30389
+ this.created$ = new Subject();
30390
+ this._destroy = new Subject();
30391
+ this.form = session.profile.forms.find(f => f.name === formId);
30392
+ }
30393
+ ngOnInit() {
30394
+ if (!this.form.template)
30395
+ throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
30396
+ const comp = this._cf.component(this.form.template);
30397
+ this._formRef = new FormRef(this._router, this.form);
30398
+ // create on form event
30399
+ this._formRef._create$.pipe(takeUntil(this._destroy)).
30400
+ subscribe({
30401
+ next: m => this.created$.next(m),
30402
+ error: () => this.created$.error(false)
30403
+ });
30404
+ const injector = Injector.create({
30405
+ providers: [
30406
+ {
30407
+ provide: FormRef, useValue: this._formRef
30408
+ }
30409
+ ], parent: this._injector
30410
+ });
30411
+ const componentRef = this.container.createComponent(comp, { injector });
30412
+ const instance = componentRef.instance;
30413
+ this._formRef._mode = instance.mode = 'overlay';
30414
+ // callback
30415
+ this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => instance.onMessage && instance.onMessage(e.message));
30416
+ }
30417
+ guide() {
30418
+ this._guide.start(this.form.guide);
30419
+ }
30420
+ ngOnDestroy() {
30421
+ this.created$.unsubscribe();
30422
+ this._destroy.next();
30423
+ }
30424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: i0.Injector }, { token: BizDocComponentFactoryResolver }, { token: GuideService }, { token: HubService }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
30425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: OverlayFormComponent, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<h1 class=\"mat-h1 row\">\r\n <span>{{form.title}}</span>\r\n @if(form.guide) {\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help_outlined</mat-icon></button>\r\n }\r\n</h1>\r\n<hr />\r\n<!--<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"creating ? 'visible':'hidden'\"></mat-progress-bar>-->\r\n<ng-container #container></ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:inherit}\n"], dependencies: [{ kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: TranslatePipe, name: "translate" }] }); }
30426
+ }
30427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, decorators: [{
30428
+ type: Component,
30429
+ args: [{ host: {}, template: "<h1 class=\"mat-h1 row\">\r\n <span>{{form.title}}</span>\r\n @if(form.guide) {\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help_outlined</mat-icon></button>\r\n }\r\n</h1>\r\n<hr />\r\n<!--<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"creating ? 'visible':'hidden'\"></mat-progress-bar>-->\r\n<ng-container #container></ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:inherit}\n"] }]
30430
+ }], ctorParameters: () => [{ type: SessionService }, { type: RouterImpl }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }, { type: GuideService }, { type: HubService }, { type: undefined, decorators: [{
30431
+ type: Inject,
30432
+ args: [DIALOG_DATA]
30433
+ }] }], propDecorators: { container: [{
30434
+ type: ViewChild,
30435
+ args: ['container', { static: true, read: ViewContainerRef }]
30436
+ }] } });
30437
+
30440
30438
  /** configuration componenets */
30441
30439
  const CORE_COMPONENTS = [PerformanceWindComponent, PerformanceHiloComponent, CubePerformanceWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
30442
30440
  SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
@@ -31160,8 +31158,8 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
31160
31158
  ngOnDestroy() {
31161
31159
  this._destroy.next();
31162
31160
  }
31163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ManageCubeIndexUtility, deps: [{ token: i1$3.Directionality }, { token: UtilityRef }, { token: SessionService }, { token: i0.ViewContainerRef }, { token: PromptService }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
31164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ManageCubeIndexUtility, selector: "ng-component", viewQueries: [{ propertyName: "editTmpl", first: true, predicate: ["editTmpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<table mat-table [dataSource]=\"dataSource\">\n @for (a of axes; track a; let i = $index) {\n <ng-container [matColumnDef]=\"a.name\">\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\n </ng-container>\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\n</table>\n<ng-template #editTmpl>\n <form [formGroup]=\"form\">\n @for (a of axes; track a) {\n <mat-form-field>\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\n </mat-form-field>\n }\n <mat-form-field>\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\n </mat-form-field>\n </form>\n</ng-template>\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
31161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ManageCubeIndexUtility, deps: [{ token: i7.Directionality }, { token: UtilityRef }, { token: SessionService }, { token: i0.ViewContainerRef }, { token: PromptService }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
31162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ManageCubeIndexUtility, selector: "ng-component", viewQueries: [{ propertyName: "editTmpl", first: true, predicate: ["editTmpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<table mat-table [dataSource]=\"dataSource\">\n @for (a of axes; track a; let i = $index) {\n <ng-container [matColumnDef]=\"a.name\">\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\n </ng-container>\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\n</table>\n<ng-template #editTmpl>\n <form [formGroup]=\"form\">\n @for (a of axes; track a) {\n <mat-form-field>\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\n </mat-form-field>\n }\n <mat-form-field>\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\n </mat-form-field>\n </form>\n</ng-template>\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
31165
31163
  };
31166
31164
  ManageCubeIndexUtility = __decorate([
31167
31165
  BizDoc({ selector: 'manage-cube-index' })
@@ -31169,7 +31167,7 @@ ManageCubeIndexUtility = __decorate([
31169
31167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ManageCubeIndexUtility, decorators: [{
31170
31168
  type: Component,
31171
31169
  args: [{ template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<table mat-table [dataSource]=\"dataSource\">\n @for (a of axes; track a; let i = $index) {\n <ng-container [matColumnDef]=\"a.name\">\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\n </ng-container>\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\n</table>\n<ng-template #editTmpl>\n <form [formGroup]=\"form\">\n @for (a of axes; track a) {\n <mat-form-field>\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\n </mat-form-field>\n }\n <mat-form-field>\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\n </mat-form-field>\n </form>\n</ng-template>\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"] }]
31172
- }], ctorParameters: () => [{ type: i1$3.Directionality }, { type: UtilityRef, decorators: [{
31170
+ }], ctorParameters: () => [{ type: i7.Directionality }, { type: UtilityRef, decorators: [{
31173
31171
  type: Inject,
31174
31172
  args: [UtilityRef]
31175
31173
  }] }, { type: SessionService }, { type: i0.ViewContainerRef }, { type: PromptService }, { type: i1$1.Overlay }], propDecorators: { editTmpl: [{
@@ -31332,7 +31330,7 @@ class UtilityWrapperComponent {
31332
31330
  ngOnDestroy() {
31333
31331
  this._routing.unsubscribe();
31334
31332
  }
31335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UtilityWrapperComponent, deps: [{ token: SessionService }, { token: i1$4.ActivatedRoute }, { token: WindowTitleService }, { token: i1.HttpClient }, { token: PromptService }, { token: HubService }, { token: i0.ViewContainerRef }, { token: BizDocComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
31333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UtilityWrapperComponent, deps: [{ token: SessionService }, { token: i1$3.ActivatedRoute }, { token: WindowTitleService }, { token: i1.HttpClient }, { token: PromptService }, { token: HubService }, { token: i0.ViewContainerRef }, { token: BizDocComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
31336
31334
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: UtilityWrapperComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
31337
31335
  }
31338
31336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UtilityWrapperComponent, decorators: [{
@@ -31340,7 +31338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
31340
31338
  args: [{
31341
31339
  template: ''
31342
31340
  }]
31343
- }], ctorParameters: () => [{ type: SessionService }, { type: i1$4.ActivatedRoute }, { type: WindowTitleService }, { type: i1.HttpClient }, { type: PromptService }, { type: HubService }, { type: i0.ViewContainerRef }, { type: BizDocComponentFactoryResolver }, { type: i0.Injector }] });
31341
+ }], ctorParameters: () => [{ type: SessionService }, { type: i1$3.ActivatedRoute }, { type: WindowTitleService }, { type: i1.HttpClient }, { type: PromptService }, { type: HubService }, { type: i0.ViewContainerRef }, { type: BizDocComponentFactoryResolver }, { type: i0.Injector }] });
31344
31342
 
31345
31343
  const IGNORE_NODE = ['author', 'history', 'targetDecorator', 'sourceDecorator', 'offsetX', 'offsetY', 'rotateAngle', 'width', 'height',
31346
31344
  'style', 'segments', 'offset', 'targetPortID', 'sourcePortID', 'horizontalAlignment', 'verticalAlignment', 'workflow.timestamp',
@@ -31856,7 +31854,7 @@ let SystemDiffComponent = class SystemDiffComponent {
31856
31854
  this._destroy.complete();
31857
31855
  }
31858
31856
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SystemDiffComponent, deps: [{ token: PromptService }, { token: UtilityRef }, { token: TranslateService }, { token: DatasourceService }, { token: AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
31859
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SystemDiffComponent, selector: "ng-component", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}.timeline{border:none;width:150px}.timeline .time{font-size:12px!important}:host ::ng-deep .mat-drawer-inner-container{overflow:auto}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
31857
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SystemDiffComponent, selector: "ng-component", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}.timeline{border:none;width:150px}.timeline .time{font-size:12px!important}:host ::ng-deep .mat-drawer-inner-container{overflow:auto}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", 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: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
31860
31858
  };
31861
31859
  SystemDiffComponent = __decorate([
31862
31860
  BizDoc({ selector: 'bizdoc-configuration-diff' })
@@ -32341,7 +32339,7 @@ let DocumentTraceComponent = class DocumentTraceComponent {
32341
32339
  this._destroy.complete();
32342
32340
  }
32343
32341
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentTraceComponent, deps: [{ token: UtilityRef }, { token: SystemService }, { token: SessionService }, { token: PaneRef }, { token: PanesRouter }, { token: PromptService }, { token: TranslateService }, { token: Popup }, { token: GuideService }, { token: i0.ChangeDetectorRef }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
32344
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator$1, descendants: true }], ngImport: i0, template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column gap\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i7$4.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPlacement", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i7$4.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i7$4.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] }); }
32342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator$1, descendants: true }], ngImport: i0, template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column gap\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i7$5.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPlacement", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i7$5.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i7$5.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] }); }
32345
32343
  };
32346
32344
  DocumentTraceComponent = __decorate([
32347
32345
  BizDoc({ selector: 'bizdoc-trace-utility' })
@@ -32556,8 +32554,8 @@ let PatternsComponent = class PatternsComponent {
32556
32554
  this._destroy.next();
32557
32555
  this._destroy.complete();
32558
32556
  }
32559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PatternsComponent, deps: [{ token: SessionService }, { token: i1$3.Directionality }, { token: i1$2.FormBuilder }, { token: UtilityRef }, { token: DatasourceService }, { token: SystemService }, { token: PromptService }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
32560
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\n </mat-menu>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\n</table>\n@if (paging) {\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\n}\n<!-- dialog -->\n<ng-template #properties>\n <mat-dialog-content>\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\n </mat-form-field>\n @if (cube) {\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\n @for (a of cube?.axes; track a) {\n @if (include.indexOf(a.name)>-1) {\n <mat-form-field class=\"flex\">\n <input matInput\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\n <mat-autocomplete #segment>\n @for (o of segments[a.name] | async; track o) {\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\n }\n </mat-autocomplete>\n @if (axes.controls[a.name].invalid) {\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\n }\n </mat-form-field>\n }\n &nbsp;\n }\n </div>\n }\n <mat-form-field>\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\n @for (r of roles; track r) {\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\n }\n </mat-select>\n @if (form.controls.roles.hasError('required')) {\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\n }\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\n </mat-dialog-actions>\n </ng-template>\n <style scoped>\n table {\n width: 100%\n }\n</style>\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32557
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PatternsComponent, deps: [{ token: SessionService }, { token: i7.Directionality }, { token: i1$2.FormBuilder }, { token: UtilityRef }, { token: DatasourceService }, { token: SystemService }, { token: PromptService }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
32558
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\n </mat-menu>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\n</table>\n@if (paging) {\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\n}\n<!-- dialog -->\n<ng-template #properties>\n <mat-dialog-content>\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\n </mat-form-field>\n @if (cube) {\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\n @for (a of cube?.axes; track a) {\n @if (include.indexOf(a.name)>-1) {\n <mat-form-field class=\"flex\">\n <input matInput\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\n <mat-autocomplete #segment>\n @for (o of segments[a.name] | async; track o) {\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\n }\n </mat-autocomplete>\n @if (axes.controls[a.name].invalid) {\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\n }\n </mat-form-field>\n }\n &nbsp;\n }\n </div>\n }\n <mat-form-field>\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\n @for (r of roles; track r) {\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\n }\n </mat-select>\n @if (form.controls.roles.hasError('required')) {\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\n }\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\n </mat-dialog-actions>\n </ng-template>\n <style scoped>\n table {\n width: 100%\n }\n</style>\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32561
32559
  };
32562
32560
  PatternsComponent = __decorate([
32563
32561
  BizDoc({
@@ -32567,7 +32565,7 @@ PatternsComponent = __decorate([
32567
32565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PatternsComponent, decorators: [{
32568
32566
  type: Component,
32569
32567
  args: [{ template: "<mat-toolbar>\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\n </mat-menu>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\n</table>\n@if (paging) {\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\n}\n<!-- dialog -->\n<ng-template #properties>\n <mat-dialog-content>\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\n </mat-form-field>\n @if (cube) {\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\n @for (a of cube?.axes; track a) {\n @if (include.indexOf(a.name)>-1) {\n <mat-form-field class=\"flex\">\n <input matInput\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\n <mat-autocomplete #segment>\n @for (o of segments[a.name] | async; track o) {\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\n }\n </mat-autocomplete>\n @if (axes.controls[a.name].invalid) {\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\n }\n </mat-form-field>\n }\n &nbsp;\n }\n </div>\n }\n <mat-form-field>\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\n @for (r of roles; track r) {\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\n }\n </mat-select>\n @if (form.controls.roles.hasError('required')) {\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\n }\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\n </mat-dialog-actions>\n </ng-template>\n <style scoped>\n table {\n width: 100%\n }\n</style>\n" }]
32570
- }], ctorParameters: () => [{ type: SessionService }, { type: i1$3.Directionality }, { type: i1$2.FormBuilder }, { type: UtilityRef, decorators: [{
32568
+ }], ctorParameters: () => [{ type: SessionService }, { type: i7.Directionality }, { type: i1$2.FormBuilder }, { type: UtilityRef, decorators: [{
32571
32569
  type: Inject,
32572
32570
  args: [UtilityRef]
32573
32571
  }] }, { type: DatasourceService }, { type: SystemService }, { type: PromptService }, { type: i2$2.MatDialog }], propDecorators: { properties: [{
@@ -32969,7 +32967,7 @@ let PositionsComponent = class PositionsComponent {
32969
32967
  this._destroy.complete();
32970
32968
  }
32971
32969
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PositionsComponent, deps: [{ token: SessionService }, { token: UtilityRef }, { token: DatasourceService }, { token: PromptService }, { token: WindowTitleService }, { token: TranslateService }, { token: Popup }, { token: SystemService }, { token: i2$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
32972
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PositionsComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "noRoleTpl", first: true, predicate: ["noRoleTpl"], descendants: true, static: true }, { propertyName: "roleTpl", first: true, predicate: ["roleTpl"], descendants: true, static: true }, { propertyName: "patternTpl", first: true, predicate: ["patternTpl"], descendants: true, static: true }, { propertyName: "newGroupTpl", first: true, predicate: ["groupTpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\n <button mat-icon-button [matMenuTriggerFor]=\"newMenu\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\n <mat-menu #newMenu>\n <button mat-menu-item (click)=\"newRole()\">{{'Role'|translate}}</button>\n <button mat-menu-item (click)=\"newPattern()\">{{'Pattern'|translate}}</button>\n <button mat-menu-item (click)=\"newGroup()\">{{'Group'|translate}} </button>\n </mat-menu>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\" (click)=\"download()\" [disabled]=\"dirty\"><mat-icon>save_alt</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"row flex\">\n <mat-nav-list class=\"nav-list\" [style.display]=\"tools?'':'none'\">\n @for (t of datatypes; track t) {\n <mat-list-item (click)=\"change(t.name)\" [class.active]=\"t === type\">{{t.title}}</mat-list-item>\n }\n </mat-nav-list>\n <table mat-table matSort [dataSource]=\"dataSource\" [style.display]=\"dataSource ? '': 'none'\" class=\"flex\">\n @for (column of (type?.columns ||[]); track column) {\n <ng-container [matColumnDef]=\"column.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{column.label}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element[column.name]}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{''}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <span>\n @switch (element.type) {\n @case ('group') {\n ({{'Group'|translate}})\n }\n @case ('pattern') {\n ({{'Pattern'|translate}})\n }\n @default {\n {{element.key}}\n }\n }\n </span>\n </td>\n </ng-container>\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{''}}</th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.value}}\n </td>\n </ng-container>\n @for (role of roles; track role) {\n <ng-container [matColumnDef]=\"role.name\">\n <th mat-header-cell *matHeaderCellDef>{{role.title}}</th>\n <td mat-cell *matCellDef=\"let element\" [attr.data-role]=\"role.name\" class=\"role-column\">\n @if (positions[role.name][element.key]) {\n @for (u of positions[role.name][element.key]; track u; let first = $first) {\n @if (!first) {\n ,\n }\n {{profiles[u]?.name}}\n }\n }\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element.type === 'pattern' || element.type === 'group') {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n }\n <mat-menu #options>\n @if (element.type === 'pattern') {\n <button mat-menu-item (click)=\"editPattern(element.key)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"deletePattern(element.key)\">{{'Remove'|translate}} </button>\n }\n @if (element.type === 'group') {\n <button mat-menu-item (click)=\"editGroup(element.key)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"deleteGroup(element.key)\">{{'Remove'|translate}} </button>\n }\n </mat-menu>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns\" (click)=\"edit(element.key, $event)\"></tr>\n </table>\n</div>\n<!-- role template -->\n<ng-template #roleTpl>\n <h2 mat-dialog-title>{{'Role' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"role\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"role.value\" color=\"primary\" [disabled]=\"!role.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!-- pattern template -->\n<ng-template #patternTpl>\n <h2 mat-dialog-title>{{'Pattern' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"pattern\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n <mat-form-field>\n <input matInput formControlName=\"expression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"pattern.value\" color=\"primary\" [disabled]=\"!pattern.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!-- group -->\n<ng-template #groupTpl>\n <h2 mat-dialog-title>{{'Group' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"group\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n <mat-form-field>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n <mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n @if (group.value.items?.length > 1) {\n <span class=\"additional-selection\">\n (+{{group.value.items.length - 1}} {{(group.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n }\n </mat-select-trigger>\n @for (v of source; track v) {\n <mat-option [value]=\"v.key\">\n @if (!type.columns) {\n <span>{{v.value}}</span>\n }\n @if (type.columns) {\n <span>@for (c of type.columns; track c) {\n <span>{{v.value[c.name]}}</span>\n }</span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"group.value\" color=\"primary\" [disabled]=\"!group.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<ng-template #noRoleTpl>\n <mat-dialog-content>\n {{'NoRoles'|translate : type?.title}}\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">{{'CreateRole' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!--<form style=\"display:none\">\n<input type=\"file\" name=\"file\" (onchange)=\"upload($event)\" #file/>\n</form>-->\n", styles: [":host{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.nav-list{min-width:180px}table{width:100%}.form{padding:8px}:host ::ng-deep .mat-mdc-list-item{cursor:pointer}table ::ng-deep .role-column{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32970
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PositionsComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "noRoleTpl", first: true, predicate: ["noRoleTpl"], descendants: true, static: true }, { propertyName: "roleTpl", first: true, predicate: ["roleTpl"], descendants: true, static: true }, { propertyName: "patternTpl", first: true, predicate: ["patternTpl"], descendants: true, static: true }, { propertyName: "newGroupTpl", first: true, predicate: ["groupTpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\n <button mat-icon-button [matMenuTriggerFor]=\"newMenu\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\n <mat-menu #newMenu>\n <button mat-menu-item (click)=\"newRole()\">{{'Role'|translate}}</button>\n <button mat-menu-item (click)=\"newPattern()\">{{'Pattern'|translate}}</button>\n <button mat-menu-item (click)=\"newGroup()\">{{'Group'|translate}} </button>\n </mat-menu>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\" (click)=\"download()\" [disabled]=\"dirty\"><mat-icon>save_alt</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"row flex\">\n <mat-nav-list class=\"nav-list\" [style.display]=\"tools?'':'none'\">\n @for (t of datatypes; track t) {\n <mat-list-item (click)=\"change(t.name)\" [class.active]=\"t === type\">{{t.title}}</mat-list-item>\n }\n </mat-nav-list>\n <table mat-table matSort [dataSource]=\"dataSource\" [style.display]=\"dataSource ? '': 'none'\" class=\"flex\">\n @for (column of (type?.columns ||[]); track column) {\n <ng-container [matColumnDef]=\"column.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{column.label}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element[column.name]}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{''}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <span>\n @switch (element.type) {\n @case ('group') {\n ({{'Group'|translate}})\n }\n @case ('pattern') {\n ({{'Pattern'|translate}})\n }\n @default {\n {{element.key}}\n }\n }\n </span>\n </td>\n </ng-container>\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{''}}</th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.value}}\n </td>\n </ng-container>\n @for (role of roles; track role) {\n <ng-container [matColumnDef]=\"role.name\">\n <th mat-header-cell *matHeaderCellDef>{{role.title}}</th>\n <td mat-cell *matCellDef=\"let element\" [attr.data-role]=\"role.name\" class=\"role-column\">\n @if (positions[role.name][element.key]) {\n @for (u of positions[role.name][element.key]; track u; let first = $first) {\n @if (!first) {\n ,\n }\n {{profiles[u]?.name}}\n }\n }\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element.type === 'pattern' || element.type === 'group') {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n }\n <mat-menu #options>\n @if (element.type === 'pattern') {\n <button mat-menu-item (click)=\"editPattern(element.key)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"deletePattern(element.key)\">{{'Remove'|translate}} </button>\n }\n @if (element.type === 'group') {\n <button mat-menu-item (click)=\"editGroup(element.key)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"deleteGroup(element.key)\">{{'Remove'|translate}} </button>\n }\n </mat-menu>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns\" (click)=\"edit(element.key, $event)\"></tr>\n </table>\n</div>\n<!-- role template -->\n<ng-template #roleTpl>\n <h2 mat-dialog-title>{{'Role' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"role\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"role.value\" color=\"primary\" [disabled]=\"!role.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!-- pattern template -->\n<ng-template #patternTpl>\n <h2 mat-dialog-title>{{'Pattern' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"pattern\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n <mat-form-field>\n <input matInput formControlName=\"expression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"pattern.value\" color=\"primary\" [disabled]=\"!pattern.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!-- group -->\n<ng-template #groupTpl>\n <h2 mat-dialog-title>{{'Group' | translate }}</h2>\n <mat-dialog-content>\n <form [formGroup]=\"group\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'| translate\" required autocomplete=\"off\" />\n </mat-form-field>\n <mat-form-field>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n <mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n @if (group.value.items?.length > 1) {\n <span class=\"additional-selection\">\n (+{{group.value.items.length - 1}} {{(group.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n }\n </mat-select-trigger>\n @for (v of source; track v) {\n <mat-option [value]=\"v.key\">\n @if (!type.columns) {\n <span>{{v.value}}</span>\n }\n @if (type.columns) {\n <span>@for (c of type.columns; track c) {\n <span>{{v.value[c.name]}}</span>\n }</span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"group.value\" color=\"primary\" [disabled]=\"!group.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<ng-template #noRoleTpl>\n <mat-dialog-content>\n {{'NoRoles'|translate : type?.title}}\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">{{'CreateRole' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n<!--<form style=\"display:none\">\n<input type=\"file\" name=\"file\" (onchange)=\"upload($event)\" #file/>\n</form>-->\n", styles: [":host{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.nav-list{min-width:180px}table{width:100%}.form{padding:8px}:host ::ng-deep .mat-mdc-list-item{cursor:pointer}table ::ng-deep .role-column{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
32973
32971
  };
32974
32972
  PositionsComponent = __decorate([
32975
32973
  BizDoc({ selector: 'bizdoc-positions' })
@@ -33354,7 +33352,7 @@ let ProfilerComponent = class ProfilerComponent {
33354
33352
  this._destroy.complete();
33355
33353
  }
33356
33354
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProfilerComponent, deps: [{ token: PromptService }, { token: UtilityRef }, { token: SessionService }, { token: i2$2.MatDialog }, { token: DocumentInfo }, { token: ChatInfo }, { token: GuideService }, { token: PanesRouter }, { token: i0.ChangeDetectorRef }, { token: PaneRef }, { token: TranslateService }, { token: AccountService }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
33357
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ProfilerComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["activity"], descendants: true }, { propertyName: "chartElement", first: true, predicate: ["activity"], descendants: true, read: ElementRef }, { propertyName: "assignTpl", first: true, predicate: ["assignTpl"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\n (optionSelected)=\"change($event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\" matSuffix>search</mat-icon>\n </mat-form-field>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n</mat-toolbar>\n@if (data) {\n <div class=\"row wrap\">\n <!-- info -->\n <mat-card class=\"flex\">\n <mat-card-header>\n <mat-card-title>\n <span>{{data.info.name}}</span>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <br />\n </mat-card-content>\n <mat-card-actions>\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n <mat-card class=\"flex\" data-help=\"activity\">\n <mat-card-header>\n <mat-card-title>\n {{'Activity' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\n <e-series-collection>\n </e-series-collection>\n </ejs-chart>\n </mat-card-content>\n </mat-card>\n <!-- pending -->\n <mat-card class=\"flex\" data-help=\"pending\">\n <mat-card-header>\n <mat-card-title>\n {{'Pending' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n @if (data.pending.length) {\n <table class=\"mat-mdc-table\">\n <thead>\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-header-cell\"></td>\n <td class=\"mat-mdc-header-cell\"></td>\n </tr>\n </thead>\n <tbody role=\"rowgroup\">\n @for (r of data.pending; track r) {\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\n <td class=\"mat-mdc-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\n </tr>\n }\n </tbody>\n </table>\n } @else {\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\n }\n </mat-card-content>\n </mat-card>\n <!-- positions -->\n <mat-card class=\"flex\" data-help=\"positions\">\n <mat-card-header>\n <mat-card-title>\n {{'Positions' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n @if (data.positions.length) {\n <table class=\"mat-mdc-table\">\n @for (p of data.positions; track p) {\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-cell\">{{p.value }}</td>\n <td class=\"mat-mdc-cell\">{{p.role | role}}</td>\n <td class=\"mat-mdc-cell\">\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n } @else {\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\n }\n </mat-card-content>\n <mat-card-actions>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n </div>\n}\n<!-- assign dialog -->\n<ng-template #assignTpl>\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\n <mat-dialog-content>\n <form autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\n @for (u of assignable$ | async; track u) {\n <mat-option [value]=\"u.id\">{{u.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n", styles: [":host{min-width:560px;display:block}.mat-mdc-card{margin:5px}.mat-mdc-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-mdc-table{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7$4.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i7$4.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i11.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i11.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DifferencePipe, name: "amDifference" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: RolePipe, name: "role" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
33355
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ProfilerComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["activity"], descendants: true }, { propertyName: "chartElement", first: true, predicate: ["activity"], descendants: true, read: ElementRef }, { propertyName: "assignTpl", first: true, predicate: ["assignTpl"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\n (optionSelected)=\"change($event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\" matSuffix>search</mat-icon>\n </mat-form-field>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n</mat-toolbar>\n@if (data) {\n <div class=\"row wrap\">\n <!-- info -->\n <mat-card class=\"flex\">\n <mat-card-header>\n <mat-card-title>\n <span>{{data.info.name}}</span>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <br />\n </mat-card-content>\n <mat-card-actions>\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n <mat-card class=\"flex\" data-help=\"activity\">\n <mat-card-header>\n <mat-card-title>\n {{'Activity' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\n <e-series-collection>\n </e-series-collection>\n </ejs-chart>\n </mat-card-content>\n </mat-card>\n <!-- pending -->\n <mat-card class=\"flex\" data-help=\"pending\">\n <mat-card-header>\n <mat-card-title>\n {{'Pending' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n @if (data.pending.length) {\n <table class=\"mat-mdc-table\">\n <thead>\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-header-cell\"></td>\n <td class=\"mat-mdc-header-cell\"></td>\n </tr>\n </thead>\n <tbody role=\"rowgroup\">\n @for (r of data.pending; track r) {\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\n <td class=\"mat-mdc-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\n </tr>\n }\n </tbody>\n </table>\n } @else {\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\n }\n </mat-card-content>\n </mat-card>\n <!-- positions -->\n <mat-card class=\"flex\" data-help=\"positions\">\n <mat-card-header>\n <mat-card-title>\n {{'Positions' | translate}}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n @if (data.positions.length) {\n <table class=\"mat-mdc-table\">\n @for (p of data.positions; track p) {\n <tr class=\"mat-mdc-row\">\n <td class=\"mat-mdc-cell\">{{p.value }}</td>\n <td class=\"mat-mdc-cell\">{{p.role | role}}</td>\n <td class=\"mat-mdc-cell\">\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n } @else {\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\n }\n </mat-card-content>\n <mat-card-actions>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n </div>\n}\n<!-- assign dialog -->\n<ng-template #assignTpl>\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\n <mat-dialog-content>\n <form autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\n @for (u of assignable$ | async; track u) {\n <mat-option [value]=\"u.id\">{{u.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n </mat-dialog-actions>\n</ng-template>\n", styles: [":host{min-width:560px;display:block}.mat-mdc-card{margin:5px}.mat-mdc-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-mdc-table{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7$5.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i7$5.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i11.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i11.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DifferencePipe, name: "amDifference" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: RolePipe, name: "role" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
33358
33356
  };
33359
33357
  ProfilerComponent = __decorate([
33360
33358
  BizDoc({ selector: 'bizdoc-user-profiler' })
@@ -33582,7 +33580,7 @@ class IconPickerComponent {
33582
33580
  this.value = icon.name;
33583
33581
  this.close();
33584
33582
  }
33585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IconPickerComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
33583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IconPickerComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i7.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
33586
33584
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", 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\" type=\"button\">\n <mat-icon>{{value}}</mat-icon>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"icon-palette\">\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" autocomplete=\"off\"/>\n <cdk-virtual-scroll-viewport itemSize=\"100\" class=\"categories\" templateCacheSize=\"0\">\n @for (i of items; track i.name) {\n <mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n }\n <!--<div *cdkVirtualFor=\"let c of categories; track: _trackBy\">\n @for(i of c.items; track: _trackBy)){<mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>}\n </div>-->\n </cdk-virtual-scroll-viewport>\n</div>\n</ng-template>\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}.categories{height:300px;width:300px}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5$5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i5$5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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"] }] }); }
33587
33585
  }
33588
33586
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IconPickerComponent, decorators: [{
@@ -33592,7 +33590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
33592
33590
  type: Optional
33593
33591
  }, {
33594
33592
  type: Self
33595
- }] }, { type: i1$1.Overlay }, { type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1$3.Directionality }], propDecorators: { id: [{
33593
+ }] }, { type: i1$1.Overlay }, { type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i7.Directionality }], propDecorators: { id: [{
33596
33594
  type: HostBinding
33597
33595
  }], value: [{
33598
33596
  type: Input
@@ -34273,7 +34271,7 @@ class CubeDesignComponent extends DesignerTypeElementComponent {
34273
34271
  });
34274
34272
  }
34275
34273
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDesignComponent, deps: [{ token: i1$2.FormBuilder }, { token: SystemService }, { token: PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
34276
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDesignComponent, selector: "ng-component", viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [context]=\"context\" (continue)=\"onContinue()\">\n <!-- widget -->\n <ng-template bizdocContent>\n @if (jobInfo) {\n <dl>\n @if (jobInfo.lastExecution) {\n <dt>{{'LastExecution'|translate}}</dt>\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.nextExecution) {\n <dt>{{'NextExecution'|translate}}</dt>\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.lastJobState) {\n <dt>{{'LastJobState'|translate}}</dt>\n <dd>\n @if (jobInfo.error) {\n <mat-icon [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\n }\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\n </dd>\n }\n </dl>\n }\n <div class=\"row start center\">\n <button mat-stroked-button (click)=\"sync()\" [disabled]=\"model.draft || syncing\">\n <span> {{'Synchronize'|translate}}</span>\n </button>\n &nbsp;\n @if (syncing) {\n <mat-spinner diameter=\"22\"></mat-spinner>\n }\n </div>\n <div class=\"row\">\n @if(model.axes?.length)\n {\n <mat-chip-set>\n @for(axis of model.axes; track axis){\n <mat-chip>{{axis.title}}</mat-chip>\n }\n @for(index of model.indices || []; track index){\n <mat-chip>{{index.title}}</mat-chip>\n }\n </mat-chip-set>\n }\n </div>\n </ng-template>\n <!-- edit -->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\n <mat-radio-group formControlName=\"scope\">\n <p></p>\n <mat-radio-button color=\"warn\">{{'Global'|translate}}</mat-radio-button>\n <p>{{'SecurityGlobalHelp'|translate}}</p>\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\n <p>{{'SecurityPositionsHelp'|translate}}</p>\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\n <p>{{'SecurityPatternsHelp'|translate}}</p>\n </mat-radio-group>\n <ng-container formGroupName=\"yAxis\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Type'|translate}}</mat-label>\n <mat-select formControlName=\"type\">\n <mat-option value=\"Currency\">{{'Currency'|translate}}</mat-option>\n <mat-option value=\"Number\">{{'Numeric'|translate}}</mat-option>\n <mat-option value=\"Count\">{{'Accumulative'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <mat-form-field>\n <mat-label>{{'Currency'|translate}}</mat-label>\n <mat-select formControlName=\"currencyCode\" [sortComparator]=\"sortComparator\">\n @for (c of currencies; track c) {\n <mat-option [value]=\"c.name\">{{c.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <!--Axes-->\n <h2 class=\"mat-h2 row\">\n {{'Axes'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(axes, newAxis(), 'Axis', 'axis')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"axes\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, axes)\">\n @for (a of axes.controls; track a; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"a\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{a.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(a, 'Axis', 'axis')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"axes.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <!--Indices-->\n <h2 class=\"mat-h2 row\">\n {{'Indices'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(indices, newIndex(), 'Index', 'index')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"indices\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, indices)\">\n @for (i of indices.controls; track i; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"i\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{i.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(i, 'Index', 'index')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"indices.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n @if (indices.controls.length) {\n <mat-form-field>\n <mat-label>{{'AnomalyNotification'|translate}}</mat-label>\n <mat-select formControlName=\"anomaly\">\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\n <mat-option value=\"Positions\">{{'Positions'|translate}}</mat-option>\n <mat-option value=\"Recipients\">{{'Everyone'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n <!--Patterns-->\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"indices\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{p.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <!--Views-->\n <h2 class=\"row mat-h2\">\n {{'CubeViews'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(views, newView(), 'CubeView', 'view')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"views\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, views)\">\n @for (v of views.controls; track v; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"v\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{v.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(v, 'View', 'view')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"views.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-form-field>\n <mat-label>{{'Schedule'|translate}}</mat-label>\n <bizdoc-timespan-input formControlName=\"schedule\"></bizdoc-timespan-input>\n <mat-icon matSuffix>timer</mat-icon>\n <mat-hint></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n <!--idx-->\n <ng-template bizdocCustomContent=\"index\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <!-- pattern-->\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <bizdoc-designer-cube-filter [cube]=\"model\" [form]=\"form.controls.axes\"></bizdoc-designer-cube-filter>\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\n </ng-container>\n </ng-template>\n <!-- view -->\n <ng-template bizdocCustomContent=\"view\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Type'|translate}}</mat-label>\n <mat-select formControlName=\"type\">\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\n <mat-option value=\"PivotChart\">{{'PivotChart'|translate}}</mat-option>\n <mat-option value=\"PivotGrid\">{{'PivotGrid'|translate}}</mat-option>\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of axes.controls; track a) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value || a.controls.name.value}}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of axes.controls; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.controls.name.value) < 0) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value|| a.controls.name.value}}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of indices.controls; track i) {\n <mat-option [value]=\"i.controls.name.value\">{{i.controls.title.value|| i.controls.name.value}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n @switch (form.controls.type.value) {\n @case ('Chart') {\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value?.length>0\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value?.length>0\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value?.length>0\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value?.length>0\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value?.length>0\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine100'|translate}}</mat-option>\n }\n @case ('Pivot') {\n <mat-option>{{'None'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine100'|translate}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n @switch (form.controls.type.value) {\n @case ('Chart') {\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingLine100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingStepArea'|translate}}</mat-option>\n }\n @case ('Pivot') {\n <mat-option>{{'None'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingLine100'|translate}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Guide'|translate}}</mat-label>\n <mat-select formControlName=\"guide\">\n <mat-option>{{'None'|translate}}</mat-option>\n @for (g of guides; track g) {\n <mat-option [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n </ng-container>\n </ng-template>\n <!-- Axis -->\n <ng-template bizdocCustomContent=\"axis\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n <mat-form-field>\n <mat-label>{{'DataType'|translate}}</mat-label>\n <mat-select formControlName=\"dataType\" required>\n @for (t of typegroups['_'].elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n @for (g of typegroups|sort: 'title'; track g) {\n <mat-optgroup [label]=\"g.title\">\n @for (t of g.elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\n }\n </mat-form-field>\n <div><mat-checkbox formControlName=\"combination\">{{'CombinationAxis'|translate}}</mat-checkbox></div>\n <div><mat-checkbox formControlName=\"sensitive\">{{'SensitiveAxis'|translate}}</mat-checkbox></div>\n <mat-form-field>\n <mat-label>{{'SelectionMode'|translate}}</mat-label>\n <mat-select formControlName=\"selectionMode\">\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\n <mat-option>{{'OneMode'|translate}}</mat-option>\n <mat-option value=\"Multiple\">{{'Multiple'|translate}}</mat-option>\n <mat-option value=\"Search\">{{'Autocomplete'|translate}}</mat-option>\n <mat-option value=\"Pattern\">{{'Pattern'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'DescendentOf'|translate}}</mat-label>\n <mat-select formControlName=\"descendentOf\">\n @for (a of axes.controls; track a) {\n @if (a!=form) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <div><mat-checkbox formControlName=\"indexable\">{{'IndexableAxis'|translate}}</mat-checkbox></div>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", styles: [":host ::ng-deep form{min-width:350px}:host ::ng-deep .mat-mdc-radio-group p{margin-inline-start:8px}.mat-mdc-table{width:100%}.mat-mdc-table .mat-mdc-cell:last-child{width:80px}.flex{flex:1}table tr td:first-child{width:26px}dl{width:100%;overflow:hidden;padding:0;margin:0}dt{padding:0;margin:0;clear:both}dd{float:left;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$b.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$b.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2$5.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.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: TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CubeDesignComponent, selector: "ng-component", viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [context]=\"context\" (continue)=\"onContinue()\">\n <!-- widget -->\n <ng-template bizdocContent>\n @if (jobInfo) {\n <dl>\n @if (jobInfo.lastExecution) {\n <dt>{{'LastExecution'|translate}}</dt>\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.nextExecution) {\n <dt>{{'NextExecution'|translate}}</dt>\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.lastJobState) {\n <dt>{{'LastJobState'|translate}}</dt>\n <dd>\n @if (jobInfo.error) {\n <mat-icon [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\n }\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\n </dd>\n }\n </dl>\n }\n <div class=\"row start center\">\n <button mat-stroked-button (click)=\"sync()\" [disabled]=\"model.draft || syncing\">\n <span> {{'Synchronize'|translate}}</span>\n </button>\n &nbsp;\n @if (syncing) {\n <mat-spinner diameter=\"22\"></mat-spinner>\n }\n </div>\n <div class=\"row\">\n @if(model.axes?.length)\n {\n <mat-chip-set>\n @for(axis of model.axes; track axis){\n <mat-chip>{{axis.title}}</mat-chip>\n }\n @for(index of model.indices || []; track index){\n <mat-chip>{{index.title}}</mat-chip>\n }\n </mat-chip-set>\n }\n </div>\n </ng-template>\n <!-- edit -->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\n <mat-radio-group formControlName=\"scope\">\n <p></p>\n <mat-radio-button color=\"warn\">{{'Global'|translate}}</mat-radio-button>\n <p>{{'SecurityGlobalHelp'|translate}}</p>\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\n <p>{{'SecurityPositionsHelp'|translate}}</p>\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\n <p>{{'SecurityPatternsHelp'|translate}}</p>\n </mat-radio-group>\n <ng-container formGroupName=\"yAxis\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Type'|translate}}</mat-label>\n <mat-select formControlName=\"type\">\n <mat-option value=\"Currency\">{{'Currency'|translate}}</mat-option>\n <mat-option value=\"Number\">{{'Numeric'|translate}}</mat-option>\n <mat-option value=\"Count\">{{'Accumulative'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <mat-form-field>\n <mat-label>{{'Currency'|translate}}</mat-label>\n <mat-select formControlName=\"currencyCode\" [sortComparator]=\"sortComparator\">\n @for (c of currencies; track c) {\n <mat-option [value]=\"c.name\">{{c.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <!--Axes-->\n <h2 class=\"mat-h2 row\">\n {{'Axes'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(axes, newAxis(), 'Axis', 'axis')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"axes\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, axes)\">\n @for (a of axes.controls; track a; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"a\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{a.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(a, 'Axis', 'axis')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"axes.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <!--Indices-->\n <h2 class=\"mat-h2 row\">\n {{'Indices'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(indices, newIndex(), 'Index', 'index')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"indices\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, indices)\">\n @for (i of indices.controls; track i; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"i\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{i.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(i, 'Index', 'index')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"indices.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n @if (indices.controls.length) {\n <mat-form-field>\n <mat-label>{{'AnomalyNotification'|translate}}</mat-label>\n <mat-select formControlName=\"anomaly\">\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\n <mat-option value=\"Positions\">{{'Positions'|translate}}</mat-option>\n <mat-option value=\"Recipients\">{{'Everyone'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n <!--Patterns-->\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"indices\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{p.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <!--Views-->\n <h2 class=\"row mat-h2\">\n {{'CubeViews'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(views, newView(), 'CubeView', 'view')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"views\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, views)\">\n @for (v of views.controls; track v; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"v\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\">\n {{v.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(v, 'View', 'view')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"views.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-form-field>\n <mat-label>{{'Schedule'|translate}}</mat-label>\n <bizdoc-timespan-input formControlName=\"schedule\"></bizdoc-timespan-input>\n <mat-icon matSuffix>timer</mat-icon>\n <mat-hint></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n <!--idx-->\n <ng-template bizdocCustomContent=\"index\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <!-- pattern-->\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <bizdoc-designer-cube-filter [cube]=\"model\" [form]=\"form.controls.axes\"></bizdoc-designer-cube-filter>\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\n </ng-container>\n </ng-template>\n <!-- view -->\n <ng-template bizdocCustomContent=\"view\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Type'|translate}}</mat-label>\n <mat-select formControlName=\"type\">\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\n <mat-option value=\"PivotChart\">{{'PivotChart'|translate}}</mat-option>\n <mat-option value=\"PivotGrid\">{{'PivotGrid'|translate}}</mat-option>\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of axes.controls; track a) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value || a.controls.name.value}}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of axes.controls; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.controls.name.value) < 0) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value|| a.controls.name.value}}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of indices.controls; track i) {\n <mat-option [value]=\"i.controls.name.value\">{{i.controls.title.value|| i.controls.name.value}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n @switch (form.controls.type.value) {\n @case ('Chart') {\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value?.length>0\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value?.length>0\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value?.length>0\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value?.length>0\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value?.length>0\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine100'|translate}}</mat-option>\n }\n @case ('Pivot') {\n <mat-option>{{'None'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value?.length\">{{'StackingLine100'|translate}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n @switch (form.controls.type.value) {\n @case ('Chart') {\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingLine100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"form.controls.indices.value?.length<2\">{{'StackingStepArea'|translate}}</mat-option>\n }\n @case ('Pivot') {\n <mat-option>{{'None'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"form.controls.series.value?.length<2\">{{'StackingLine100'|translate}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Guide'|translate}}</mat-label>\n <mat-select formControlName=\"guide\">\n <mat-option>{{'None'|translate}}</mat-option>\n @for (g of guides; track g) {\n <mat-option [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n </ng-container>\n </ng-template>\n <!-- Axis -->\n <ng-template bizdocCustomContent=\"axis\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n <mat-form-field>\n <mat-label>{{'DataType'|translate}}</mat-label>\n <mat-select formControlName=\"dataType\" required>\n @for (t of typegroups['_'].elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n @for (g of typegroups|sort: 'title'; track g) {\n <mat-optgroup [label]=\"g.title\">\n @for (t of g.elements|sort: 'title'; track t) {\n <mat-option [value]=\"t.name\">\n {{t.title}}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\n }\n </mat-form-field>\n <div><mat-checkbox formControlName=\"combination\">{{'CombinationAxis'|translate}}</mat-checkbox></div>\n <div><mat-checkbox formControlName=\"sensitive\">{{'SensitiveAxis'|translate}}</mat-checkbox></div>\n <mat-form-field>\n <mat-label>{{'SelectionMode'|translate}}</mat-label>\n <mat-select formControlName=\"selectionMode\">\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\n <mat-option>{{'OneMode'|translate}}</mat-option>\n <mat-option value=\"Multiple\">{{'Multiple'|translate}}</mat-option>\n <mat-option value=\"Search\">{{'Autocomplete'|translate}}</mat-option>\n <mat-option value=\"Pattern\">{{'Pattern'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'DescendentOf'|translate}}</mat-label>\n <mat-select formControlName=\"descendentOf\">\n @for (a of axes.controls; track a) {\n @if (a!=form) {\n <mat-option [value]=\"a.controls.name.value\">{{a.controls.title.value}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n <div><mat-checkbox formControlName=\"indexable\">{{'IndexableAxis'|translate}}</mat-checkbox></div>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", styles: [":host ::ng-deep form{min-width:350px}:host ::ng-deep .mat-mdc-radio-group p{margin-inline-start:8px}.mat-mdc-table{width:100%}.mat-mdc-table .mat-mdc-cell:last-child{width:80px}.flex{flex:1}table tr td:first-child{width:26px}dl{width:100%;overflow:hidden;padding:0;margin:0}dt{padding:0;margin:0;clear:both}dd{float:left;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$b.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$b.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2$5.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.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: TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34277
34275
  }
34278
34276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CubeDesignComponent, decorators: [{
34279
34277
  type: Component,
@@ -34547,7 +34545,7 @@ class FormDesignComponent extends DesignerTypeElementComponent {
34547
34545
  this._destroy.complete();
34548
34546
  }
34549
34547
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormDesignComponent, deps: [{ token: i1$2.FormBuilder }, { token: PanesRouter }, { token: SystemService }, { token: SessionService }, { token: i0.Injector }, { token: TranslateService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
34550
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\" [context]=\"context\">\n <ng-template bizdocContent>\n @if (usage) {\n <ejs-sparkline width='250px' height='200px'\n type=\"Line\"\n [id]=\"model.name\"\n [fill]=\"primary\"\n [dataSource]=\"usage\"\n xName=\"date\"\n yName=\"count\"\n lineWidth=\"2\"\n valueType=\"DateTime\"\n [locale]=\"locale\"\n [markerSettings]=\"markerSettings\"\n [tooltipSettings]=\"tooltipSettings\"\n (tooltipInitialize)=\"tooltipInitialize($event)\"\n [enableRtl]=\"enableRtl\">\n </ejs-sparkline>\n }\n <div class=\"row\">\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"invite()\">{{'Invite'|l18n}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <!--edit-->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <div class=\"row flex\" [formGroup]=\"format\">\n <mat-form-field>\n <mat-label>{{'Prefix'|translate}}</mat-label>\n <input matInput formControlName=\"prefix\" />\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Digits'|translate}}</mat-label>\n <input matInput formControlName=\"digits\" maxlength=\"2\" />\n </mat-form-field>\n &nbsp;\n <mat-form-field>\n <mat-label>{{'Suffix'|translate}}</mat-label>\n <input matInput formControlName=\"suffix\" />\n </mat-form-field>\n </div>\n <bizdoc-localized-string formControlName=\"group\" [placeholder]=\"'Group'|translate\"></bizdoc-localized-string>\n <bizdoc-localized-string formControlName=\"description\" [placeholder]=\"'Description'|translate\"></bizdoc-localized-string>\n @if (guides.length) {\n <mat-form-field>\n <mat-label>{{'Guide'|translate}}</mat-label>\n <mat-select formControlName=\"guide\">\n <mat-option>{{'None'|translate}}</mat-option>\n @for (g of guides; track g) {\n <mat-option [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cubes.length) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cubes\" multiple>\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title |localizedString}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{'FormCubeHelp'|translate}}</mat-hint>\n </mat-form-field>\n }\n <!--Rules-->\n <h2 class=\"mat-h2 row\">\n {{'Rules'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(rules, newRule(), 'Rule', 'rule')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"rules\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, rules)\">\n @for (r of rules.controls; track r; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"r\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\" width=\"99%\">\n {{r.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell\" style=\"white-space: pre;\">\n <button mat-icon-button (click)=\"edit(r, 'Rule', 'rule')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"rules.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"rule\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i7$4.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: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: L18nPipe, name: "l18n" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34548
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\" [context]=\"context\">\n <ng-template bizdocContent>\n @if (usage) {\n <ejs-sparkline width='250px' height='200px'\n type=\"Line\"\n [id]=\"model.name\"\n [fill]=\"primary\"\n [dataSource]=\"usage\"\n xName=\"date\"\n yName=\"count\"\n lineWidth=\"2\"\n valueType=\"DateTime\"\n [locale]=\"locale\"\n [markerSettings]=\"markerSettings\"\n [tooltipSettings]=\"tooltipSettings\"\n (tooltipInitialize)=\"tooltipInitialize($event)\"\n [enableRtl]=\"enableRtl\">\n </ejs-sparkline>\n }\n <div class=\"row\">\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"invite()\">{{'Invite'|l18n}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <!--edit-->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <div class=\"row flex\" [formGroup]=\"format\">\n <mat-form-field>\n <mat-label>{{'Prefix'|translate}}</mat-label>\n <input matInput formControlName=\"prefix\" />\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Digits'|translate}}</mat-label>\n <input matInput formControlName=\"digits\" maxlength=\"2\" />\n </mat-form-field>\n &nbsp;\n <mat-form-field>\n <mat-label>{{'Suffix'|translate}}</mat-label>\n <input matInput formControlName=\"suffix\" />\n </mat-form-field>\n </div>\n <bizdoc-localized-string formControlName=\"group\" [placeholder]=\"'Group'|translate\"></bizdoc-localized-string>\n <bizdoc-localized-string formControlName=\"description\" [placeholder]=\"'Description'|translate\"></bizdoc-localized-string>\n @if (guides.length) {\n <mat-form-field>\n <mat-label>{{'Guide'|translate}}</mat-label>\n <mat-select formControlName=\"guide\">\n <mat-option>{{'None'|translate}}</mat-option>\n @for (g of guides; track g) {\n <mat-option [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cubes.length) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cubes\" multiple>\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title |localizedString}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{'FormCubeHelp'|translate}}</mat-hint>\n </mat-form-field>\n }\n <!--Rules-->\n <h2 class=\"mat-h2 row\">\n {{'Rules'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(rules, newRule(), 'Rule', 'rule')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"rules\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, rules)\">\n @for (r of rules.controls; track r; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"r\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell flex\" width=\"99%\">\n {{r.controls.title.value}}\n </td>\n <td class=\"mat-mdc-cell\" style=\"white-space: pre;\">\n <button mat-icon-button (click)=\"edit(r, 'Rule', 'rule')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"rules.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"rule\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" required />\n @if (form.controls.title.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i7$5.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: "directive", type: i2$6.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: i2$6.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: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: L18nPipe, name: "l18n" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34551
34549
  }
34552
34550
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormDesignComponent, decorators: [{
34553
34551
  type: Component,
@@ -35160,7 +35158,7 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
35160
35158
  }
35161
35159
  }
35162
35160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: PanesRouter }, { token: i1$2.FormBuilder }, { token: TranslateService }, { token: PromptService }, { token: SessionService }, { token: i0.ElementRef }, { token: i0.Injector }, { token: Popup }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component }); }
35163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ConfigurationDesignerComponent, selector: "ng-component", host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "filters", first: true, predicate: ["filters"], descendants: true, read: TemplateRef }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\" #filterEl><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading ? 'buffer' : 'indeterminate'\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n@if (loading) {\n <bizdoc-none title=\"SettingThingsUp\" subtitle=\"PleaseWait\" icon=\"architecture\"></bizdoc-none>\n}\n<div>\n @for (s of sections | filterBy:'hide': false: searchBy; track s) {\n <section>\n <h2 class=\"mat-h1\">{{s.title}}</h2>\n <!--<hr />-->\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\n @for (e of s.elements | filterBy:'hide': false: searchBy; track e) {\n <mat-card [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-mdc-card-title\">\n <!-- @item-->\n <mat-card-header>\n <mat-card-title>\n {{e.title|localizedString}}\n <span class=\"divider\"></span>\n @if (e.help) {\n <mat-icon [bizdocTooltip]=\"e.help\" [bizdocTooltipDuration]=\"6000\">help_outline</mat-icon>\n }\n </mat-card-title>\n <mat-card-subtitle>\n {{e.name}}\n </mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <ng-container *ngComponentOutlet=\"s.comp; injector: e.injector\"></ng-container>\n </mat-card-content>\n <mat-card-actions class=\"row\">\n @if (!e.copyOf) {\n <button mat-icon-button (click)=\"copy(s, e)\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\n }\n @if (e.draft || e.empty) {\n <button mat-icon-button (click)=\"remove(s, e)\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\n }\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"edit(s, e)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n }\n @if (s.templates?.length) {\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\">\n <span [matMenuTriggerFor]=\"templateMenu\" #menuTrigger=\"matMenuTrigger\"></span>\n <button mat-icon-button><mat-icon [bizdocTooltip]=\"'New'|translate\" disableRipple=\"true\">add</mat-icon></button>\n <mat-menu #templateMenu>\n @for (t of s.templates; track t) {\n <button mat-menu-item (click)=\"create(s, t)\">\n @if (t.family) {\n <span>\n {{t.family}}\n &nbsp;-&nbsp;\n </span>\n }\n <span>\n {{t.title}}\n </span>\n </button>\n }\n </mat-menu>\n </div>\n }\n </div>\n </section>\n }\n</div>\n<!-- search filters -->\n<ng-template #filters>\n <form autocomplete=\"off\" class=\"column gap\" [formGroup]=\"form\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{'Categories'|translate}}</mat-label>\n <mat-select formControlName=\"sections\" multiple>\n @for (c of sections | sort : 'title'; track c) {\n <mat-option [value]=\"c.type\">{{c.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if(families.length) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{'Families'|translate}}</mat-label>\n <mat-select formControlName=\"family\">\n <mat-option>{{'All'|translate}}</mat-option>\n @for (f of families; track f) {\n <mat-option [value]=\"f\">{{f}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n </form>\n</ng-template>\n", styles: [":host{outline:none}section h2{margin:10px}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .add-element{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .add-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-mdc-card{margin:6px;display:flex;flex-direction:column}:host ::ng-deep .mat-mdc-card button{opacity:.1}:host ::ng-deep .mat-mdc-card:hover button{opacity:1}:host ::ng-deep .mat-mdc-card-header-text{width:100%}:host ::ng-deep .mat-mdc-card-title{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center}.divider{min-width:3px}:host ::ng-deep .mat-mdc-card-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i9.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i2$6.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: i2$6.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: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i11.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i11.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i11.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: FilterPipe, name: "filterBy" }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [itemAnimation] }); }
35161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ConfigurationDesignerComponent, selector: "ng-component", host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "filters", first: true, predicate: ["filters"], descendants: true, read: TemplateRef }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\" #filterEl><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading ? 'buffer' : 'indeterminate'\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n@if (loading) {\n <bizdoc-none title=\"SettingThingsUp\" subtitle=\"PleaseWait\" icon=\"architecture\"></bizdoc-none>\n}\n<div>\n @for (s of sections | filterBy:'hide': false: searchBy; track s) {\n <section>\n <h2 class=\"mat-h1\">{{s.title}}</h2>\n <!--<hr />-->\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\n @for (e of s.elements | filterBy:'hide': false: searchBy; track e) {\n <mat-card [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-mdc-card-title\">\n <!-- @item-->\n <mat-card-header>\n <mat-card-title>\n {{e.title|localizedString}}\n <span class=\"divider\"></span>\n @if (e.help) {\n <mat-icon [bizdocTooltip]=\"e.help\" [bizdocTooltipDuration]=\"6000\">help_outline</mat-icon>\n }\n </mat-card-title>\n <mat-card-subtitle>\n {{e.name}}\n </mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <ng-container *ngComponentOutlet=\"s.comp; injector: e.injector\"></ng-container>\n </mat-card-content>\n <mat-card-actions class=\"row\">\n @if (!e.copyOf) {\n <button mat-icon-button (click)=\"copy(s, e)\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\n }\n @if (e.draft || e.empty) {\n <button mat-icon-button (click)=\"remove(s, e)\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\n }\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"edit(s, e)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\n </mat-card-actions>\n </mat-card>\n }\n @if (s.templates?.length) {\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\">\n <span [matMenuTriggerFor]=\"templateMenu\" #menuTrigger=\"matMenuTrigger\"></span>\n <button mat-icon-button><mat-icon [bizdocTooltip]=\"'New'|translate\" disableRipple=\"true\">add</mat-icon></button>\n <mat-menu #templateMenu>\n @for (t of s.templates; track t) {\n <button mat-menu-item (click)=\"create(s, t)\">\n @if (t.family) {\n <span>\n {{t.family}}\n &nbsp;-&nbsp;\n </span>\n }\n <span>\n {{t.title}}\n </span>\n </button>\n }\n </mat-menu>\n </div>\n }\n </div>\n </section>\n }\n</div>\n<!-- search filters -->\n<ng-template #filters>\n <form autocomplete=\"off\" class=\"column gap\" [formGroup]=\"form\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{'Categories'|translate}}</mat-label>\n <mat-select formControlName=\"sections\" multiple>\n @for (c of sections | sort : 'title'; track c) {\n <mat-option [value]=\"c.type\">{{c.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if(families.length) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{'Families'|translate}}</mat-label>\n <mat-select formControlName=\"family\">\n <mat-option>{{'All'|translate}}</mat-option>\n @for (f of families; track f) {\n <mat-option [value]=\"f\">{{f}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n </form>\n</ng-template>\n", styles: [":host{outline:none}section h2{margin:10px}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .add-element{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .add-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-mdc-card{margin:6px;display:flex;flex-direction:column}:host ::ng-deep .mat-mdc-card button{opacity:.1}:host ::ng-deep .mat-mdc-card:hover button{opacity:1}:host ::ng-deep .mat-mdc-card-header-text{width:100%}:host ::ng-deep .mat-mdc-card-title{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center}.divider{min-width:3px}:host ::ng-deep .mat-mdc-card-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i9.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i2$6.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: i2$6.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: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i11.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i11.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i11.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i2$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: FilterPipe, name: "filterBy" }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [itemAnimation] }); }
35164
35162
  };
35165
35163
  ConfigurationDesignerComponent = __decorate([
35166
35164
  BizDoc({ selector: 'bizdoc-configuration-designer' })
@@ -36299,7 +36297,7 @@ class JobDesignComponent extends DesignerTypeElementComponent {
36299
36297
  });
36300
36298
  }
36301
36299
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: JobDesignComponent, deps: [{ token: i1$2.FormBuilder }, { token: SystemService }, { token: PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
36302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: JobDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\n <!-- widget -->\n <ng-template bizdocContent>\n @if (jobInfo) {\n <dl>\n @if (jobInfo.lastExecution) {\n <dt>{{'LastExecution'|translate}}</dt>\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.nextExecution) {\n <dt>{{'NextExecution'|translate}}</dt>\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.lastJobState) {\n <dt>{{'LastJobState'|translate}}</dt>\n <dd>\n @if (jobInfo.error) {\n <mat-icon [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\n }\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\n </dd>\n }\n </dl>\n }\n <div class=\"row start center\">\n <button mat-stroked-button (click)=\"execute()\" [disabled]=\"model.draft || working\">\n <span> {{'Execute'|translate}}</span>\n </button>\n &nbsp;\n @if (working) {\n <mat-spinner diameter=\"22\"></mat-spinner>\n }\n </div>\n </ng-template>\n <!-- edit -->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", 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: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
36300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: JobDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\n <!-- widget -->\n <ng-template bizdocContent>\n @if (jobInfo) {\n <dl>\n @if (jobInfo.lastExecution) {\n <dt>{{'LastExecution'|translate}}</dt>\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.nextExecution) {\n <dt>{{'NextExecution'|translate}}</dt>\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\n }\n @if (jobInfo.lastJobState) {\n <dt>{{'LastJobState'|translate}}</dt>\n <dd>\n @if (jobInfo.error) {\n <mat-icon [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\n }\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\n </dd>\n }\n </dl>\n }\n <div class=\"row start center\">\n <button mat-stroked-button (click)=\"execute()\" [disabled]=\"model.draft || working\">\n <span> {{'Execute'|translate}}</span>\n </button>\n &nbsp;\n @if (working) {\n <mat-spinner diameter=\"22\"></mat-spinner>\n }\n </div>\n </ng-template>\n <!-- edit -->\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", 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: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
36303
36301
  }
36304
36302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: JobDesignComponent, decorators: [{
36305
36303
  type: Component,
@@ -36966,7 +36964,7 @@ class BizDocModule {
36966
36964
  }
36967
36965
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BizDocModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36968
36966
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: BizDocModule, declarations: [BizDocApp], imports: [BrowserModule,
36969
- BrowserAnimationsModule, i1$4.RouterModule, MobileModule,
36967
+ BrowserAnimationsModule, i1$3.RouterModule, MobileModule,
36970
36968
  DesktopModule, SystemModule, SharedModule], exports: [BizDocApp,
36971
36969
  SharedModule,
36972
36970
  MaterialModule] }); }