@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
@@ -1533,7 +1533,7 @@ class MailboxService {
1533
1533
  lat: r.coords.latitude.toString()
1534
1534
  });
1535
1535
  observe.complete();
1536
- }, () => {
1536
+ }, e => {
1537
1537
  if (configuration.position === 'Ask')
1538
1538
  observe.next({});
1539
1539
  else
@@ -2271,7 +2271,7 @@ const STRINGS = {
2271
2271
  JoinAnd: '{0} and {1}',
2272
2272
  NumericJoinAnd: '{0} and {1}',
2273
2273
  JoinComma: ', ',
2274
- Awaiting: 'Waiting for {0}',
2274
+ Awaiting: 'waiting for {0}',
2275
2275
  Escalated: 'Escalated',
2276
2276
  Collapse: 'Collapse',
2277
2277
  DownloadExcel: 'Excel',
@@ -2350,6 +2350,7 @@ const STRINGS = {
2350
2350
  ChatHelp: 'Communicate with other users privately',
2351
2351
  ShowAs: 'Show as {0}',
2352
2352
  Unauthorized: 'Unauthorized access',
2353
+ LicenseErr: 'License',
2353
2354
  RemoveAsk: 'Are you sure?',
2354
2355
  Comments: 'Comments',
2355
2356
  Remove: 'Remove',
@@ -8979,6 +8980,7 @@ class ComposeFormComponent {
8979
8980
  else
8980
8981
  switch (response.status) {
8981
8982
  case 401:
8983
+ this._sb.error('Unauthorized');
8982
8984
  break;
8983
8985
  case 409: // version change
8984
8986
  {
@@ -8988,9 +8990,12 @@ class ComposeFormComponent {
8988
8990
  this._sb.error('VersionErr', this.model.number);
8989
8991
  break;
8990
8992
  }
8991
- case 406: // validation exception
8993
+ case 406: // validation
8992
8994
  this._sb.errorString(response.error);
8993
8995
  break;
8996
+ case 426: // license
8997
+ this._sb.error('LicenseErr');
8998
+ break;
8994
8999
  default:
8995
9000
  this._sb.error(message, ...args);
8996
9001
  }
@@ -9711,7 +9716,7 @@ class CubeChartComponent {
9711
9716
  this._draw();
9712
9717
  this.loadingChange.emit(false);
9713
9718
  }, (e) => {
9714
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
9719
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
9715
9720
  this.loadingChange.emit(false);
9716
9721
  });
9717
9722
  }
@@ -10002,7 +10007,7 @@ class CubeGridComponent {
10002
10007
  this.loadingChange.emit(false);
10003
10008
  });
10004
10009
  }, (e) => {
10005
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10010
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
10006
10011
  this.loadingChange.emit(false);
10007
10012
  });
10008
10013
  }
@@ -10308,7 +10313,7 @@ class CubePivotComponent {
10308
10313
  this._draw();
10309
10314
  this.loadingChange.emit(false);
10310
10315
  }, (e) => {
10311
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10316
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
10312
10317
  this.loadingChange.emit(false);
10313
10318
  });
10314
10319
  }
@@ -10687,20 +10692,18 @@ class CubeSpreadsheetComponent {
10687
10692
  this._draw();
10688
10693
  this.loadingChange.emit(false);
10689
10694
  });
10690
- }, (e) => {
10691
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10692
- this.loadingChange.emit(false);
10693
- });
10695
+ }, e => this._handleErr(e));
10694
10696
  else
10695
10697
  this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
10696
10698
  subscribe(data => {
10697
10699
  this._datatable(data);
10698
10700
  this._draw();
10699
10701
  this.loadingChange.emit(false);
10700
- }, (e) => {
10701
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
10702
- this.loadingChange.emit(false);
10703
- });
10702
+ }, e => this._handleErr(e));
10703
+ }
10704
+ _handleErr(response) {
10705
+ this._sb.error(response.status === 401 ? 'Unauthorized' : response.status === 426 ? 'LicenseErr' : null);
10706
+ this.loadingChange.emit(false);
10704
10707
  }
10705
10708
  _datatable(data) {
10706
10709
  const cells = [], style = { fontWeight: 'bold', textAlign: 'center' };
@@ -12596,7 +12599,7 @@ class CubeExplorePaneComponent {
12596
12599
  this.loading = false;
12597
12600
  }, e => {
12598
12601
  this.loading = false;
12599
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
12602
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
12600
12603
  });
12601
12604
  }
12602
12605
  }
@@ -12930,6 +12933,7 @@ class ReportPaneComponent {
12930
12933
  clearFilter() {
12931
12934
  this.args = {};
12932
12935
  this.anyFilters = false;
12936
+ this._cd.detectChanges();
12933
12937
  this.viewer.execute();
12934
12938
  }
12935
12939
  /**
@@ -14526,8 +14530,11 @@ class TraceViewComponent extends TraceBase {
14526
14530
  step.action = await actionBy(action, by.gender, recipient.id);
14527
14531
  }
14528
14532
  else {
14529
- if (recipient.userId === this._session.userId)
14533
+ if (recipient.userId === this._session.userId) {
14530
14534
  step.name = this._translate.get('You');
14535
+ if (action)
14536
+ step.action = await actionBy(action, this._session.gender, recipient.id);
14537
+ }
14531
14538
  else {
14532
14539
  let who = await profileOf(recipient.userId);
14533
14540
  step.name = nameOf(who);
@@ -15320,9 +15327,10 @@ class CubeMatrixComponent {
15320
15327
  clearTimeout(progressTask);
15321
15328
  this.loadingChange.next(this.loading = false);
15322
15329
  }, (e) => {
15323
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
15330
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
15324
15331
  clearTimeout(progressTask);
15325
15332
  this.loadingChange.next(this.loading = false);
15333
+ this.loadingChange.error(e);
15326
15334
  }));
15327
15335
  }
15328
15336
  _serialize(series) {
@@ -17318,10 +17326,10 @@ class AboutDialog {
17318
17326
  }
17319
17327
  }
17320
17328
  AboutDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AboutDialog, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
17321
- 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 } });
17329
+ 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 } });
17322
17330
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AboutDialog, decorators: [{
17323
17331
  type: Component,
17324
- 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" }]
17332
+ 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" }]
17325
17333
  }], ctorParameters: function () { return [{ type: SessionService }]; } });
17326
17334
 
17327
17335
  const OPTION_PANEL = new InjectionToken('options');
@@ -19237,10 +19245,11 @@ function prepareRoutes(routes, treePath) {
19237
19245
 
19238
19246
  /** home comp */
19239
19247
  class HomeComponent extends HomeBase {
19240
- constructor(_router, _mailbox, injector, session, popup, messaging, translate, snackBar, config) {
19248
+ constructor(_router, _mailbox, injector, session, popup, messaging, translate, _sb, snackBar, config) {
19241
19249
  super(popup, session, messaging, translate, snackBar, injector, config);
19242
19250
  this._router = _router;
19243
19251
  this._mailbox = _mailbox;
19252
+ this._sb = _sb;
19244
19253
  this.sysAdmin = this._session.isSystem;
19245
19254
  this._submenuMode = localStorage.getItem('submenuMode') || 'full';
19246
19255
  this.forms = this._session.profile.forms.filter(f => f.creatable);
@@ -19328,11 +19337,35 @@ class HomeComponent extends HomeBase {
19328
19337
  policy: OpenPolicy.Clear,
19329
19338
  state: { item: r }
19330
19339
  });
19331
- }, () => {
19332
- this._snackBar.open(this._translate.get('Err'), null, { duration: 4000 });
19340
+ }, (e) => {
19341
+ this._handleErr(e);
19333
19342
  this.creating = false;
19334
19343
  });
19335
19344
  }
19345
+ _handleErr(response) {
19346
+ if (response.constructor.name === 'PositionError')
19347
+ switch (response.code) {
19348
+ case 1:
19349
+ this._sb.error('UserDeniedGeoErr');
19350
+ break;
19351
+ default:
19352
+ this._sb.error('GeoErr');
19353
+ }
19354
+ else
19355
+ switch (response.status) {
19356
+ case 401:
19357
+ this._sb.error('Unauthorized');
19358
+ break;
19359
+ case 406:
19360
+ this._sb.errorString(response.error);
19361
+ break;
19362
+ case 426: // license
19363
+ this._sb.error('LicenseErr');
19364
+ break;
19365
+ default:
19366
+ this._sb.error();
19367
+ }
19368
+ }
19336
19369
  opensubmenu(menu) {
19337
19370
  if (this.submenu === menu)
19338
19371
  this.submenuMode = this.submenuMode === 'full' ? 'shrink' : 'full';
@@ -19389,12 +19422,12 @@ class HomeComponent extends HomeBase {
19389
19422
  }
19390
19423
  }
19391
19424
  }
19392
- 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 });
19425
+ 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 });
19393
19426
  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] });
19394
19427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HomeComponent, decorators: [{
19395
19428
  type: Component,
19396
19429
  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"] }]
19397
- }], ctorParameters: function () { return [{ type: PanesRouter }, { type: MailboxService }, { type: i0.Injector }, { type: SessionService }, { type: Popup }, { type: HubService }, { type: TranslateService }, { type: i8$2.MatSnackBar }, { type: undefined, decorators: [{
19430
+ }], ctorParameters: function () { 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: [{
19398
19431
  type: Inject,
19399
19432
  args: [BIZDOC_CONFIG]
19400
19433
  }] }]; }, propDecorators: { drawer: [{
@@ -19455,7 +19488,7 @@ class FormSelectorSheet {
19455
19488
  copy(event) {
19456
19489
  event.preventDefault();
19457
19490
  this._bsRef.afterDismissed().subscribe(() => this._dialog.open(CopyDialog).afterClosed().subscribe(i => {
19458
- if (i)
19491
+ i &&
19459
19492
  this._mailbox.copy(i.documentId).subscribe(i => {
19460
19493
  this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
19461
19494
  this._route(i);
@@ -19466,9 +19499,9 @@ class FormSelectorSheet {
19466
19499
  _getForm(name) {
19467
19500
  return this._session.profile.forms.find(f => f.name === name);
19468
19501
  }
19469
- _error(e) {
19470
- if (e.constructor.name === 'PositionError')
19471
- switch (e.code) {
19502
+ _error(response) {
19503
+ if (response.constructor.name === 'PositionError')
19504
+ switch (response.code) {
19472
19505
  case 1:
19473
19506
  this._sb.error('UserDeniedGeoErr');
19474
19507
  break;
@@ -19476,9 +19509,15 @@ class FormSelectorSheet {
19476
19509
  this._sb.error('GeoErr');
19477
19510
  }
19478
19511
  else
19479
- switch (e.status) {
19512
+ switch (response.status) {
19513
+ case 401:
19514
+ this._sb.error('Unauthorized');
19515
+ break;
19480
19516
  case 406:
19481
- this._sb.errorString(e.error);
19517
+ this._sb.errorString(response.error);
19518
+ break;
19519
+ case 426: // license
19520
+ this._sb.error('LicenseErr');
19482
19521
  break;
19483
19522
  default:
19484
19523
  this._sb.error();
@@ -20225,9 +20264,9 @@ class CubeMobileViewComponent extends ViewBase {
20225
20264
  this.item = item;
20226
20265
  this.mode = 'item';
20227
20266
  this.loading = false;
20228
- }, e => {
20267
+ }, (e) => {
20229
20268
  this.loading = false;
20230
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
20269
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
20231
20270
  });
20232
20271
  }
20233
20272
  toggleFilter() {
@@ -20951,10 +20990,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
20951
20990
  class CubeMatrixPopupComponent extends CubeMatrixBase {
20952
20991
  /** filters */
20953
20992
  /** cube-info ctor */
20954
- constructor(_ref, data, service, ds, session, _sb) {
20993
+ constructor(_ref, data, service, ds, session) {
20955
20994
  super(service, ds, session);
20956
20995
  this._ref = _ref;
20957
- this._sb = _sb;
20958
20996
  this.preloading = true;
20959
20997
  if (!data.options)
20960
20998
  throw 'no data options';
@@ -20974,13 +21012,12 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
20974
21012
  }
20975
21013
  ngOnInit() {
20976
21014
  this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe(() => this.preloading = false, (e) => {
20977
- if (e.status === 406)
21015
+ if (e.status === 401)
20978
21016
  this._ref.close();
20979
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
20980
21017
  });
20981
21018
  }
20982
21019
  }
20983
- 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 });
21020
+ 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 });
20984
21021
  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 } });
20985
21022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeMatrixPopupComponent, decorators: [{
20986
21023
  type: Component,
@@ -20991,7 +21028,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
20991
21028
  }] }, { type: undefined, decorators: [{
20992
21029
  type: Inject,
20993
21030
  args: [POPUP_DATA]
20994
- }] }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }, { type: PromptService }]; }, propDecorators: { table: [{
21031
+ }] }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }]; }, propDecorators: { table: [{
20995
21032
  type: ViewChild,
20996
21033
  args: [CubeMatrixComponent, { static: true }]
20997
21034
  }] } });
@@ -26208,7 +26245,7 @@ let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
26208
26245
  this.loading = false;
26209
26246
  }, e => {
26210
26247
  this.loading = false;
26211
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
26248
+ this._sb.error(e.status === 401 ? 'Unauthorized' : null);
26212
26249
  });
26213
26250
  }
26214
26251
  };
@@ -26324,7 +26361,7 @@ class CubeParallelComponent {
26324
26361
  this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
26325
26362
  this._loading.next(false);
26326
26363
  }, (e) => {
26327
- this._sb.error(e.status === 406 ? 'Unauthorized' : null);
26364
+ this._sb.error(e.status === 401 ? 'Unauthorized' : e.status === 426 ? 'LicenseErr' : null);
26328
26365
  this._loading.next(false);
26329
26366
  });
26330
26367
  }