@bizdoc/core 1.13.19 → 1.13.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +13 -7
  2. package/esm2020/lib/compose/form.component.mjs +6 -2
  3. package/esm2020/lib/compose/trace/trace.component.mjs +5 -2
  4. package/esm2020/lib/core/mailbox.service.mjs +2 -2
  5. package/esm2020/lib/core/translations.mjs +3 -2
  6. package/esm2020/lib/cube/chart/chart.component.mjs +2 -2
  7. package/esm2020/lib/cube/explore/explore.pane.component.mjs +2 -2
  8. package/esm2020/lib/cube/grid/grid.component.mjs +2 -2
  9. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +7 -9
  10. package/esm2020/lib/cube/matrix/popup.component.mjs +17 -20
  11. package/esm2020/lib/cube/matrix/table.component.mjs +3 -2
  12. package/esm2020/lib/cube/parallel/parallel.component.mjs +2 -2
  13. package/esm2020/lib/cube/pivot/pivot.component.mjs +2 -2
  14. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  15. package/esm2020/lib/dashboard/cube/compare.widget.mjs +2 -2
  16. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  17. package/esm2020/lib/home/home.desktop.component.mjs +50 -24
  18. package/esm2020/lib/reports/report.pane.component.mjs +2 -1
  19. package/esm2020/lib/views/cube/explore.component.mjs +2 -2
  20. package/fesm2015/bizdoc-core.mjs +77 -40
  21. package/fesm2015/bizdoc-core.mjs.map +1 -1
  22. package/fesm2020/bizdoc-core.mjs +77 -40
  23. package/fesm2020/bizdoc-core.mjs.map +1 -1
  24. package/lib/core/translations.d.ts +1 -0
  25. package/lib/cube/grid/spreadsheet.component.d.ts +1 -0
  26. package/lib/cube/matrix/popup.component.d.ts +1 -3
  27. package/lib/dashboard/cube/compare.widget.d.ts +1 -1
  28. package/lib/home/home.desktop.component.d.ts +4 -1
  29. package/package.json +1 -1
@@ -1538,7 +1538,7 @@ class MailboxService {
1538
1538
  lat: r.coords.latitude.toString()
1539
1539
  });
1540
1540
  observe.complete();
1541
- }, () => {
1541
+ }, e => {
1542
1542
  if (configuration.position === 'Ask')
1543
1543
  observe.next({});
1544
1544
  else
@@ -2276,7 +2276,7 @@ const STRINGS = {
2276
2276
  JoinAnd: '{0} and {1}',
2277
2277
  NumericJoinAnd: '{0} and {1}',
2278
2278
  JoinComma: ', ',
2279
- Awaiting: 'Waiting for {0}',
2279
+ Awaiting: 'waiting for {0}',
2280
2280
  Escalated: 'Escalated',
2281
2281
  Collapse: 'Collapse',
2282
2282
  DownloadExcel: 'Excel',
@@ -2355,6 +2355,7 @@ const STRINGS = {
2355
2355
  ChatHelp: 'Communicate with other users privately',
2356
2356
  ShowAs: 'Show as {0}',
2357
2357
  Unauthorized: 'Unauthorized access',
2358
+ LicenseErr: 'License',
2358
2359
  RemoveAsk: 'Are you sure?',
2359
2360
  Comments: 'Comments',
2360
2361
  Remove: 'Remove',
@@ -9025,6 +9026,7 @@ class ComposeFormComponent {
9025
9026
  else
9026
9027
  switch (response.status) {
9027
9028
  case 401:
9029
+ this._sb.error('Unauthorized');
9028
9030
  break;
9029
9031
  case 409: // version change
9030
9032
  {
@@ -9034,9 +9036,12 @@ class ComposeFormComponent {
9034
9036
  this._sb.error('VersionErr', this.model.number);
9035
9037
  break;
9036
9038
  }
9037
- case 406: // validation exception
9039
+ case 406: // validation
9038
9040
  this._sb.errorString(response.error);
9039
9041
  break;
9042
+ case 426: // license
9043
+ this._sb.error('LicenseErr');
9044
+ break;
9040
9045
  default:
9041
9046
  this._sb.error(message, ...args);
9042
9047
  }
@@ -9759,7 +9764,7 @@ class CubeChartComponent {
9759
9764
  this._draw();
9760
9765
  this.loadingChange.emit(false);
9761
9766
  }, (e) => {
9762
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
9767
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
9763
9768
  this.loadingChange.emit(false);
9764
9769
  });
9765
9770
  }
@@ -10050,7 +10055,7 @@ class CubeGridComponent {
10050
10055
  this.loadingChange.emit(false);
10051
10056
  });
10052
10057
  }, (e) => {
10053
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10058
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
10054
10059
  this.loadingChange.emit(false);
10055
10060
  });
10056
10061
  }
@@ -10356,7 +10361,7 @@ class CubePivotComponent {
10356
10361
  this._draw();
10357
10362
  this.loadingChange.emit(false);
10358
10363
  }, (e) => {
10359
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10364
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
10360
10365
  this.loadingChange.emit(false);
10361
10366
  });
10362
10367
  }
@@ -10737,20 +10742,18 @@ class CubeSpreadsheetComponent {
10737
10742
  this._draw();
10738
10743
  this.loadingChange.emit(false);
10739
10744
  });
10740
- }, (e) => {
10741
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10742
- this.loadingChange.emit(false);
10743
- });
10745
+ }, e => this._handleErr(e));
10744
10746
  else
10745
10747
  this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
10746
10748
  subscribe(data => {
10747
10749
  this._datatable(data);
10748
10750
  this._draw();
10749
10751
  this.loadingChange.emit(false);
10750
- }, (e) => {
10751
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10752
- this.loadingChange.emit(false);
10753
- });
10752
+ }, e => this._handleErr(e));
10753
+ }
10754
+ _handleErr(response) {
10755
+ this._sb.error(response.status === 401 ? 'Unauthorized' : response.status === 426 ? 'LicenseErr' : null);
10756
+ this.loadingChange.emit(false);
10754
10757
  }
10755
10758
  _datatable(data) {
10756
10759
  var _a;
@@ -12655,7 +12658,7 @@ class CubeExplorePaneComponent {
12655
12658
  this.loading = false;
12656
12659
  }, e => {
12657
12660
  this.loading = false;
12658
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
12661
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
12659
12662
  });
12660
12663
  }
12661
12664
  }
@@ -12989,6 +12992,7 @@ class ReportPaneComponent {
12989
12992
  clearFilter() {
12990
12993
  this.args = {};
12991
12994
  this.anyFilters = false;
12995
+ this._cd.detectChanges();
12992
12996
  this.viewer.execute();
12993
12997
  }
12994
12998
  /**
@@ -14605,8 +14609,11 @@ class TraceViewComponent extends TraceBase {
14605
14609
  step.action = yield actionBy(action, by.gender, recipient.id);
14606
14610
  }
14607
14611
  else {
14608
- if (recipient.userId === this._session.userId)
14612
+ if (recipient.userId === this._session.userId) {
14609
14613
  step.name = this._translate.get('You');
14614
+ if (action)
14615
+ step.action = yield actionBy(action, this._session.gender, recipient.id);
14616
+ }
14610
14617
  else {
14611
14618
  let who = yield profileOf(recipient.userId);
14612
14619
  step.name = nameOf(who);
@@ -15397,9 +15404,10 @@ class CubeMatrixComponent {
15397
15404
  clearTimeout(progressTask);
15398
15405
  this.loadingChange.next(this.loading = false);
15399
15406
  }, (e) => {
15400
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
15407
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
15401
15408
  clearTimeout(progressTask);
15402
15409
  this.loadingChange.next(this.loading = false);
15410
+ this.loadingChange.error(e);
15403
15411
  }));
15404
15412
  }
15405
15413
  _serialize(series) {
@@ -17422,10 +17430,10 @@ class AboutDialog {
17422
17430
  }
17423
17431
  }
17424
17432
  AboutDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AboutDialog, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
17425
- AboutDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AboutDialog, selector: "bizdoc-about", ngImport: i0, template: "<h2 mat-dialog-title>BizDoc v{{version}}</h2>\r\n<mat-dialog-content>\r\n <div *ngIf=\"license; else none\">\r\n <div [ngSwitch]=\"license.mode\">\r\n <div *ngSwitchCase=\"'Grace'\"> {{\"GraceLicense\" | translate : dayjs(license.expiration).toNow() }}</div>\r\n <div *ngSwitchCase=\"'Limited'\">{{'LimitLicense'|translate}}</div>\r\n <div *ngSwitchCase=\"'Expired'\">{{\"ExpiredLicense\" | translate : (license.expiration | amTimeAgo)}}</div>\r\n </div>\r\n <div [innerHtml]='\"LicencedTo\" | translate : license.companyName'></div>\r\n </div>\r\n <br />\r\n <span>&copy; Moding Ltd.</span>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close>{{'OK'|translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #none>\r\n <div>{{'EvaluationLicense' | translate}}</div>\r\n</ng-template>\r\n", components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe, "amTimeAgo": TimeAgoPipe } });
17433
+ AboutDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AboutDialog, selector: "bizdoc-about", ngImport: i0, template: "<h2 mat-dialog-title>BizDoc v{{version}}</h2>\r\n<mat-dialog-content>\r\n <div *ngIf=\"license; else none\">\r\n <div [ngSwitch]=\"license.mode\">\r\n <div *ngSwitchCase=\"'Grace'\"> {{\"GraceLicense\" | translate : dayjs(license.expiration).toNow() }}</div>\r\n <div *ngSwitchCase=\"'Limited'\">{{'LimitLicense'|translate}}</div>\r\n <div *ngSwitchCase=\"'Expired'\">{{\"ExpiredLicense\" | translate : (license.expiration | amTimeAgo)}}</div>\r\n </div>\r\n <div *ngIf=\"license.companyName\" [innerHtml]='\"LicencedTo\" | translate : license.companyName'></div>\r\n </div>\r\n <br />\r\n <span>&copy; Moding Ltd.</span>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close>{{'OK'|translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #none>\r\n <div>{{'EvaluationLicense' | translate}}</div>\r\n</ng-template>\r\n", components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe, "amTimeAgo": TimeAgoPipe } });
17426
17434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AboutDialog, decorators: [{
17427
17435
  type: Component,
17428
- args: [{ selector: 'bizdoc-about', template: "<h2 mat-dialog-title>BizDoc v{{version}}</h2>\r\n<mat-dialog-content>\r\n <div *ngIf=\"license; else none\">\r\n <div [ngSwitch]=\"license.mode\">\r\n <div *ngSwitchCase=\"'Grace'\"> {{\"GraceLicense\" | translate : dayjs(license.expiration).toNow() }}</div>\r\n <div *ngSwitchCase=\"'Limited'\">{{'LimitLicense'|translate}}</div>\r\n <div *ngSwitchCase=\"'Expired'\">{{\"ExpiredLicense\" | translate : (license.expiration | amTimeAgo)}}</div>\r\n </div>\r\n <div [innerHtml]='\"LicencedTo\" | translate : license.companyName'></div>\r\n </div>\r\n <br />\r\n <span>&copy; Moding Ltd.</span>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close>{{'OK'|translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #none>\r\n <div>{{'EvaluationLicense' | translate}}</div>\r\n</ng-template>\r\n" }]
17436
+ args: [{ selector: 'bizdoc-about', template: "<h2 mat-dialog-title>BizDoc v{{version}}</h2>\r\n<mat-dialog-content>\r\n <div *ngIf=\"license; else none\">\r\n <div [ngSwitch]=\"license.mode\">\r\n <div *ngSwitchCase=\"'Grace'\"> {{\"GraceLicense\" | translate : dayjs(license.expiration).toNow() }}</div>\r\n <div *ngSwitchCase=\"'Limited'\">{{'LimitLicense'|translate}}</div>\r\n <div *ngSwitchCase=\"'Expired'\">{{\"ExpiredLicense\" | translate : (license.expiration | amTimeAgo)}}</div>\r\n </div>\r\n <div *ngIf=\"license.companyName\" [innerHtml]='\"LicencedTo\" | translate : license.companyName'></div>\r\n </div>\r\n <br />\r\n <span>&copy; Moding Ltd.</span>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close>{{'OK'|translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #none>\r\n <div>{{'EvaluationLicense' | translate}}</div>\r\n</ng-template>\r\n" }]
17429
17437
  }], ctorParameters: function () { return [{ type: SessionService }]; } });
17430
17438
 
17431
17439
  const OPTION_PANEL = new InjectionToken('options');
@@ -19370,10 +19378,11 @@ function prepareRoutes(routes, treePath) {
19370
19378
 
19371
19379
  /** home comp */
19372
19380
  class HomeComponent extends HomeBase {
19373
- constructor(_router, _mailbox, injector, session, popup, messaging, translate, snackBar, config) {
19381
+ constructor(_router, _mailbox, injector, session, popup, messaging, translate, _sb, snackBar, config) {
19374
19382
  super(popup, session, messaging, translate, snackBar, injector, config);
19375
19383
  this._router = _router;
19376
19384
  this._mailbox = _mailbox;
19385
+ this._sb = _sb;
19377
19386
  this.sysAdmin = this._session.isSystem;
19378
19387
  this._submenuMode = localStorage.getItem('submenuMode') || 'full';
19379
19388
  this.forms = this._session.profile.forms.filter(f => f.creatable);
@@ -19461,11 +19470,35 @@ class HomeComponent extends HomeBase {
19461
19470
  policy: OpenPolicy.Clear,
19462
19471
  state: { item: r }
19463
19472
  });
19464
- }, () => {
19465
- this._snackBar.open(this._translate.get('Err'), null, { duration: 4000 });
19473
+ }, (e) => {
19474
+ this._handleErr(e);
19466
19475
  this.creating = false;
19467
19476
  });
19468
19477
  }
19478
+ _handleErr(response) {
19479
+ if (response.constructor.name === 'PositionError')
19480
+ switch (response.code) {
19481
+ case 1:
19482
+ this._sb.error('UserDeniedGeoErr');
19483
+ break;
19484
+ default:
19485
+ this._sb.error('GeoErr');
19486
+ }
19487
+ else
19488
+ switch (response.status) {
19489
+ case 401:
19490
+ this._sb.error('Unauthorized');
19491
+ break;
19492
+ case 406:
19493
+ this._sb.errorString(response.error);
19494
+ break;
19495
+ case 426: // license
19496
+ this._sb.error('LicenseErr');
19497
+ break;
19498
+ default:
19499
+ this._sb.error();
19500
+ }
19501
+ }
19469
19502
  opensubmenu(menu) {
19470
19503
  if (this.submenu === menu)
19471
19504
  this.submenuMode = this.submenuMode === 'full' ? 'shrink' : 'full';
@@ -19522,13 +19555,13 @@ class HomeComponent extends HomeBase {
19522
19555
  }
19523
19556
  }
19524
19557
  }
19525
- HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HomeComponent, deps: [{ token: PanesRouter }, { token: MailboxService }, { token: i0.Injector }, { token: SessionService }, { token: Popup }, { token: HubService }, { token: TranslateService }, { token: i8$2.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
19558
+ HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HomeComponent, deps: [{ token: PanesRouter }, { token: MailboxService }, { token: i0.Injector }, { token: SessionService }, { token: Popup }, { token: HubService }, { token: TranslateService }, { token: PromptService }, { token: i8$2.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
19526
19559
  HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\" [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"end\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes></bizdoc-panes>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { type: ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: SlotsComponent, selector: "bizdoc-panes" }], directives: [{ type: i6$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": TranslatePipe }, animations: [submenuAnimation] });
19527
19560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HomeComponent, decorators: [{
19528
19561
  type: Component,
19529
19562
  args: [{ selector: 'bizdoc-home', animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\" [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"end\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes></bizdoc-panes>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"] }]
19530
19563
  }], ctorParameters: function () {
19531
- return [{ type: PanesRouter }, { type: MailboxService }, { type: i0.Injector }, { type: SessionService }, { type: Popup }, { type: HubService }, { type: TranslateService }, { type: i8$2.MatSnackBar }, { type: undefined, decorators: [{
19564
+ return [{ type: PanesRouter }, { type: MailboxService }, { type: i0.Injector }, { type: SessionService }, { type: Popup }, { type: HubService }, { type: TranslateService }, { type: PromptService }, { type: i8$2.MatSnackBar }, { type: undefined, decorators: [{
19532
19565
  type: Inject,
19533
19566
  args: [BIZDOC_CONFIG]
19534
19567
  }] }];
@@ -19590,7 +19623,7 @@ class FormSelectorSheet {
19590
19623
  copy(event) {
19591
19624
  event.preventDefault();
19592
19625
  this._bsRef.afterDismissed().subscribe(() => this._dialog.open(CopyDialog).afterClosed().subscribe(i => {
19593
- if (i)
19626
+ i &&
19594
19627
  this._mailbox.copy(i.documentId).subscribe(i => {
19595
19628
  this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
19596
19629
  this._route(i);
@@ -19601,9 +19634,9 @@ class FormSelectorSheet {
19601
19634
  _getForm(name) {
19602
19635
  return this._session.profile.forms.find(f => f.name === name);
19603
19636
  }
19604
- _error(e) {
19605
- if (e.constructor.name === 'PositionError')
19606
- switch (e.code) {
19637
+ _error(response) {
19638
+ if (response.constructor.name === 'PositionError')
19639
+ switch (response.code) {
19607
19640
  case 1:
19608
19641
  this._sb.error('UserDeniedGeoErr');
19609
19642
  break;
@@ -19611,9 +19644,15 @@ class FormSelectorSheet {
19611
19644
  this._sb.error('GeoErr');
19612
19645
  }
19613
19646
  else
19614
- switch (e.status) {
19647
+ switch (response.status) {
19648
+ case 401:
19649
+ this._sb.error('Unauthorized');
19650
+ break;
19615
19651
  case 406:
19616
- this._sb.errorString(e.error);
19652
+ this._sb.errorString(response.error);
19653
+ break;
19654
+ case 426: // license
19655
+ this._sb.error('LicenseErr');
19617
19656
  break;
19618
19657
  default:
19619
19658
  this._sb.error();
@@ -20364,9 +20403,9 @@ class CubeMobileViewComponent extends ViewBase {
20364
20403
  this.item = item;
20365
20404
  this.mode = 'item';
20366
20405
  this.loading = false;
20367
- }, e => {
20406
+ }, (e) => {
20368
20407
  this.loading = false;
20369
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
20408
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
20370
20409
  });
20371
20410
  }
20372
20411
  toggleFilter() {
@@ -21094,10 +21133,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
21094
21133
  class CubeMatrixPopupComponent extends CubeMatrixBase {
21095
21134
  /** filters */
21096
21135
  /** cube-info ctor */
21097
- constructor(_ref, data, service, ds, session, _sb) {
21136
+ constructor(_ref, data, service, ds, session) {
21098
21137
  super(service, ds, session);
21099
21138
  this._ref = _ref;
21100
- this._sb = _sb;
21101
21139
  this.preloading = true;
21102
21140
  if (!data.options)
21103
21141
  throw 'no data options';
@@ -21117,13 +21155,12 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
21117
21155
  }
21118
21156
  ngOnInit() {
21119
21157
  this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe(() => this.preloading = false, (e) => {
21120
- if (e.status === 406)
21158
+ if (e.status === 401)
21121
21159
  this._ref.close();
21122
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
21123
21160
  });
21124
21161
  }
21125
21162
  }
21126
- CubeMatrixPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }, { token: PromptService }], target: i0.ɵɵFactoryTarget.Component });
21163
+ CubeMatrixPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
21127
21164
  CubeMatrixPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", 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>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading && (patterns?.length || filters?.length)\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [sum]=sum [interactive]=\"false\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [placeAt]=\"placeAt\"\r\n [indexAt]=\"indexAt\"\r\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}::ng-deep .cube-table{display:inline}\n"], components: [{ type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10.AsyncPipe, "typeValue": TypeValuePipe } });
21128
21165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeMatrixPopupComponent, decorators: [{
21129
21166
  type: Component,
@@ -21135,7 +21172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
21135
21172
  }] }, { type: undefined, decorators: [{
21136
21173
  type: Inject,
21137
21174
  args: [POPUP_DATA]
21138
- }] }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }, { type: PromptService }];
21175
+ }] }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }];
21139
21176
  }, propDecorators: { table: [{
21140
21177
  type: ViewChild,
21141
21178
  args: [CubeMatrixComponent, { static: true }]
@@ -26395,7 +26432,7 @@ let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
26395
26432
  this.loading = false;
26396
26433
  }, e => {
26397
26434
  this.loading = false;
26398
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
26435
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
26399
26436
  });
26400
26437
  }
26401
26438
  };
@@ -26511,7 +26548,7 @@ class CubeParallelComponent {
26511
26548
  this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
26512
26549
  this._loading.next(false);
26513
26550
  }, (e) => {
26514
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
26551
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
26515
26552
  this._loading.next(false);
26516
26553
  });
26517
26554
  }