@bizdoc/core 1.9.10 → 1.9.12

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 (40) hide show
  1. package/esm2020/lib/browse/filter/filter.component.mjs +3 -6
  2. package/esm2020/lib/compose/compose.pane.component.mjs +7 -4
  3. package/esm2020/lib/compose/document.component.mjs +9 -11
  4. package/esm2020/lib/compose/form-ref.mjs +6 -7
  5. package/esm2020/lib/compose/form.component.mjs +2 -2
  6. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  7. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +6 -8
  8. package/esm2020/lib/core/slots/slots.component.mjs +14 -16
  9. package/esm2020/lib/cube/accum/accum.component.mjs +3 -2
  10. package/esm2020/lib/cube/chart/chart.component.mjs +7 -2
  11. package/esm2020/lib/cube/cube-view.component.mjs +9 -6
  12. package/esm2020/lib/cube/declarations.mjs +1 -1
  13. package/esm2020/lib/cube/grid/grid.component.mjs +18 -6
  14. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +8 -6
  15. package/esm2020/lib/cube/matrix/table.component.mjs +4 -4
  16. package/esm2020/lib/cube/pivot/pivot.component.mjs +3 -3
  17. package/esm2020/lib/cube/view.pane.component.mjs +2 -2
  18. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +1 -1
  19. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +1 -1
  20. package/esm2020/lib/routes.desktop.mjs +8 -8
  21. package/fesm2015/bizdoc-core.mjs +89 -72
  22. package/fesm2015/bizdoc-core.mjs.map +1 -1
  23. package/fesm2020/bizdoc-core.mjs +89 -72
  24. package/fesm2020/bizdoc-core.mjs.map +1 -1
  25. package/lib/compose/compose.pane.component.d.ts +1 -0
  26. package/lib/compose/document.component.d.ts +2 -4
  27. package/lib/compose/form-ref.d.ts +1 -3
  28. package/lib/compose/version-compare/version-compare.component.d.ts +2 -4
  29. package/lib/core/slots/slots.component.d.ts +1 -2
  30. package/lib/cube/accum/accum.component.d.ts +1 -1
  31. package/lib/cube/chart/chart.component.d.ts +1 -1
  32. package/lib/cube/cube-view.component.d.ts +3 -1
  33. package/lib/cube/declarations.d.ts +1 -0
  34. package/lib/cube/grid/grid.component.d.ts +8 -4
  35. package/lib/cube/grid/spreadsheet.component.d.ts +3 -3
  36. package/lib/cube/matrix/table.component.d.ts +1 -1
  37. package/lib/cube/pivot/pivot.component.d.ts +1 -1
  38. package/lib/dashboard/cube/accum-cube.widget.d.ts +2 -2
  39. package/lib/dashboard/cube/cube-analysis.base.d.ts +0 -4
  40. package/package.json +1 -1
@@ -5985,12 +5985,9 @@ class BrowseFilterComponent {
5985
5985
  const folder = this._session.profile.folders.find(f => f.name === this.folderId);
5986
5986
  if (folder.filters)
5987
5987
  this.filters = folder.filters;
5988
- else if (this._config.folders.axes) {
5989
- const { axes, cube } = this._config.folders;
5990
- this.filters = { axes, cube };
5991
- }
5988
+ return;
5992
5989
  }
5993
- else if (this._config.folders.axes) {
5990
+ if (this._config.folders && this._config.folders.axes) {
5994
5991
  const { axes, cube } = this._config.folders;
5995
5992
  this.filters = { axes, cube };
5996
5993
  }
@@ -8327,8 +8324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
8327
8324
  }] } });
8328
8325
 
8329
8326
  class FormRef {
8330
- constructor(_router) {
8331
- this._router = _router;
8327
+ constructor( /*private _router: RouterImpl*/) {
8332
8328
  this._saving = new Subject();
8333
8329
  this._stateChange = new Subject();
8334
8330
  this._modelChange = new Subject();
@@ -8357,10 +8353,10 @@ class FormRef {
8357
8353
  * @param page
8358
8354
  */
8359
8355
  navigate(page) {
8360
- this._router.navigate([], {
8361
- queryParams: { page },
8362
- state: { paging: true }
8363
- });
8356
+ //this._router.navigate([], {
8357
+ // queryParams: { page },
8358
+ // state: { paging: true }
8359
+ //});
8364
8360
  this._navigating.next(page);
8365
8361
  }
8366
8362
  /** release events */
@@ -8835,7 +8831,7 @@ class ComposeFormComponent {
8835
8831
  if (!this.form.template)
8836
8832
  throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
8837
8833
  const factory = this._cf.resolve(this.form.template);
8838
- this._formRef = new FormRef(this._router);
8834
+ this._formRef = new FormRef();
8839
8835
  this._formRef._navigating.
8840
8836
  subscribe(p => this.page = p);
8841
8837
  this._formRef._stateChange.pipe(startWith()).
@@ -9181,7 +9177,7 @@ class ComposePaneComponent {
9181
9177
  this._pane.icon = form.icon;
9182
9178
  if (this.model.draft) {
9183
9179
  this.mode = 'compose';
9184
- //this._pane.expand();
9180
+ //setTimeout(()=>this._pane.expand());
9185
9181
  }
9186
9182
  else
9187
9183
  this.mode = 'preview';
@@ -9219,6 +9215,9 @@ class ComposePaneComponent {
9219
9215
  });
9220
9216
  this._pane.fullscreenChange.subscribe(f => this.expendable = !f);
9221
9217
  }
9218
+ close() {
9219
+ this._pane.close();
9220
+ }
9222
9221
  edit() {
9223
9222
  this.mode = 'compose';
9224
9223
  this.expendable && this.expand();
@@ -9305,12 +9304,12 @@ class ComposePaneComponent {
9305
9304
  }
9306
9305
  }
9307
9306
  ComposePaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ComposePaneComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: PaneRef }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
9308
- ComposePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ComposePaneComponent, selector: "bizdoc-compose.pane", host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)", "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "dropableElement", first: true, predicate: ["dropable"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.actions?.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"model.actions?.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\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>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.copy()\" data-help=\"copy\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"working\"><mat-icon>content_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"discard()\" [bizdocTooltip]=\"'Discard' | translate\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\"><mat-icon>delete_outlined</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.guide(form.help)\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"form.help\" tabindex=\"1\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}.file-dropable.drag{opacity:.5;overflow:hidden;margin:8px;border-style:dashed;border-color:#777;border-width:5px;background-color:#f5f5f5;z-index:2;top:0;left:0;right:0;bottom:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: ComposeFormComponent, selector: "bizdoc-form", inputs: ["model", "working", "dirty", "valid", "mode", "contacts"], outputs: ["modelChange", "workingChange", "dirtyChange", "validChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i8$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe } });
9307
+ ComposePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ComposePaneComponent, selector: "bizdoc-compose.pane", host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)", "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "dropableElement", first: true, predicate: ["dropable"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.actions?.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"model.actions?.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\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>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"discard()\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n <ng-container *ngIf=\"form.help\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"close()\"><!--<mat-icon></mat-icon>--><span>{{'Close'| translate}}</span></button>\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}.file-dropable.drag{opacity:.5;overflow:hidden;margin:8px;border-style:dashed;border-color:#777;border-width:5px;background-color:#f5f5f5;z-index:2;top:0;left:0;right:0;bottom:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: ComposeFormComponent, selector: "bizdoc-form", inputs: ["model", "working", "dirty", "valid", "mode", "contacts"], outputs: ["modelChange", "workingChange", "dirtyChange", "validChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i8$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe } });
9309
9308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ComposePaneComponent, decorators: [{
9310
9309
  type: Component,
9311
9310
  args: [{ selector: 'bizdoc-compose.pane', host: {
9312
9311
  class: 'pane'
9313
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.actions?.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"model.actions?.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\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>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.copy()\" data-help=\"copy\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"working\"><mat-icon>content_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"discard()\" [bizdocTooltip]=\"'Discard' | translate\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\"><mat-icon>delete_outlined</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.guide(form.help)\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"form.help\" tabindex=\"1\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}.file-dropable.drag{opacity:.5;overflow:hidden;margin:8px;border-style:dashed;border-color:#777;border-width:5px;background-color:#f5f5f5;z-index:2;top:0;left:0;right:0;bottom:0}\n"] }]
9312
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.actions?.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"model.actions?.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\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>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"discard()\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n <ng-container *ngIf=\"form.help\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"close()\"><!--<mat-icon></mat-icon>--><span>{{'Close'| translate}}</span></button>\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}.file-dropable.drag{opacity:.5;overflow:hidden;margin:8px;border-style:dashed;border-color:#777;border-width:5px;background-color:#f5f5f5;z-index:2;top:0;left:0;right:0;bottom:0}\n"] }]
9314
9313
  }], ctorParameters: function () { return [{ type: SessionService }, { type: MailboxService }, { type: PaneRef }, { type: PanesRouter }]; }, propDecorators: { form: [{
9315
9314
  type: ViewChild,
9316
9315
  args: [ComposeFormComponent, { static: true }]
@@ -9578,7 +9577,8 @@ class CubeAccumulationChartComponent {
9578
9577
  dataLabel: this.dataLabel,
9579
9578
  explode: true,
9580
9579
  explodeOffset: '10%',
9581
- explodeIndex: 0, innerRadius: this.innerRadius,
9580
+ explodeIndex: 0,
9581
+ innerRadius: this.innerRadius,
9582
9582
  palettes: this.palettes
9583
9583
  }]
9584
9584
  }, this._elementRef.nativeElement);
@@ -9710,12 +9710,17 @@ class CubeChartComponent {
9710
9710
  set series(value) {
9711
9711
  if (value)
9712
9712
  this._series = isArray(value) ? value : [value];
9713
+ else
9714
+ this._series = null;
9713
9715
  }
9714
9716
  get indices() {
9715
9717
  return this._indices;
9716
9718
  }
9717
9719
  set indices(value) {
9718
- this._indices = isArray(value) ? value : [value];
9720
+ if (value)
9721
+ this._indices = isArray(value) ? value : [value];
9722
+ else
9723
+ this._indices = null;
9719
9724
  }
9720
9725
  ngOnInit() {
9721
9726
  if (this.chartType === 'Line' || this.chartType === 'Spline')
@@ -9901,9 +9906,20 @@ class CubeGridComponent {
9901
9906
  this._rows = [];
9902
9907
  this._columns = [];
9903
9908
  }
9909
+ set xAxis(val) {
9910
+ this._xAxis = isArray(val) ? val : [val];
9911
+ }
9912
+ set series(val) {
9913
+ if (val)
9914
+ this._series = isArray(val) ? val : [val];
9915
+ }
9916
+ set indices(val) {
9917
+ if (val)
9918
+ this._indices = isArray(val) ? val : [val];
9919
+ }
9904
9920
  ngOnInit() {
9905
- const cube = this._session.profile.cubes.find(c => c.name === this.cube);
9906
- const x = cube.axes.find(a => a.name === this.xAxis[0]), y = cube.axes.find(a => a.name === this.series[0]);
9921
+ this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
9922
+ const x = this._cube.axes.find(a => a.name === this._xAxis[0]), y = this._cube.axes.find(a => a.name === this._series[0]);
9907
9923
  const promises = [];
9908
9924
  // aquire columns source
9909
9925
  let observe = this._ds.all(x.dataType).
@@ -9953,7 +9969,7 @@ class CubeGridComponent {
9953
9969
  }
9954
9970
  execute() {
9955
9971
  this.loadingChange.emit(true);
9956
- this._service.series(this.cube, this.xAxis, { series: this.series, filters: this.filters, indices: this.indices }).
9972
+ this._service.series(this._cube.name, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
9957
9973
  subscribe(series => {
9958
9974
  this._prepare.then(() => {
9959
9975
  const rows = [];
@@ -10024,9 +10040,9 @@ class CubeGridComponent {
10024
10040
  if (data[`_${column}`] === 0)
10025
10041
  return;
10026
10042
  const axes = {};
10027
- axes[this.xAxis[0]] = column;
10043
+ axes[this._xAxis[0]] = column;
10028
10044
  if (type !== 'Index')
10029
- axes[this.series[0]] = row;
10045
+ axes[this._series[0]] = row;
10030
10046
  this.explore.emit({ axes, index: type === 'Index' ? row : null });
10031
10047
  }
10032
10048
  customAggregate(_, column) {
@@ -10267,7 +10283,7 @@ class CubePivotComponent {
10267
10283
  // columns
10268
10284
  const columns = xAxis2.concat(series2);
10269
10285
  // query
10270
- this._service.table(this.cube, columns, { filters: this.filters, indices: this.indices }).subscribe(r => {
10286
+ this._service.table(this._cube.name, columns, { filters: this.filters, indices: this.indices }).subscribe(r => {
10271
10287
  this._presets(xAxis2, series2, r);
10272
10288
  this._draw();
10273
10289
  this.loadingChange.emit(false);
@@ -10429,9 +10445,9 @@ class CubePivotComponent {
10429
10445
  }
10430
10446
  }
10431
10447
  ngOnDestroy() {
10448
+ this.pivot && this.pivot.destroy();
10432
10449
  this._destroy.next();
10433
10450
  this._destroy.complete();
10434
- this.pivot && this.pivot.destroy();
10435
10451
  }
10436
10452
  }
10437
10453
  CubePivotComponent.nextId = 0;
@@ -10517,7 +10533,7 @@ class CubeSpreadsheetComponent {
10517
10533
  maximumFractionDigits: this._service.fractionDigits,
10518
10534
  minimumFractionDigits: this._service.fractionDigits
10519
10535
  });
10520
- this._cube = this._session.profile.cubes.find(c => c.name === this.cube);
10536
+ this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
10521
10537
  if (!this._series) {
10522
10538
  this._axes = this._xAxis.map(c => this._cube.axes.find(a => a.name == c));
10523
10539
  if (this._indices)
@@ -10569,7 +10585,7 @@ class CubeSpreadsheetComponent {
10569
10585
  execute() {
10570
10586
  this.loadingChange.emit(true);
10571
10587
  if (!this._series)
10572
- this._service.table(this.cube, this._xAxis, { filters: this.filters, indices: this._indices }).
10588
+ this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
10573
10589
  subscribe(data => {
10574
10590
  this._datatable(data);
10575
10591
  this._draw();
@@ -10627,7 +10643,7 @@ class CubeSpreadsheetComponent {
10627
10643
  const cells = [{ value: '' }];
10628
10644
  this._xcolumns.forEach(c => cells.push({ value: c.value, style }));
10629
10645
  this.dataSource = [{ cells, height: 25 }];
10630
- this._indices && this._cube.indices.filter(i => this._indices.indexOf(i.name) > 0).
10646
+ this._indices && this._cindices.
10631
10647
  forEach(i => {
10632
10648
  const cells = [{ value: i.title, style }], serie = d.find(s => s.index === i.name), map = {};
10633
10649
  if (serie) {
@@ -10703,8 +10719,10 @@ class CubeSpreadsheetComponent {
10703
10719
  const key = this.dataSource[i].source['_' + a.name];
10704
10720
  if (!axes[a.name])
10705
10721
  axes[a.name] = key;
10706
- else if (isString(axes[a.name]))
10707
- axes[a.name] = [axes[a.name], key];
10722
+ else if (isString(axes[a.name])) {
10723
+ if (axes[a.name] !== key)
10724
+ axes[a.name] = [axes[a.name], key];
10725
+ }
10708
10726
  else if (axes[a.name].indexOf(key) < 0)
10709
10727
  axes[a.name].push(key);
10710
10728
  });
@@ -10819,9 +10837,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
10819
10837
 
10820
10838
  /** */
10821
10839
  class CubeViewComponent {
10822
- constructor(_viewContainer, _factoryResolver) {
10840
+ constructor(_viewContainer, _factoryResolver, _cd) {
10823
10841
  this._viewContainer = _viewContainer;
10824
10842
  this._factoryResolver = _factoryResolver;
10843
+ this._cd = _cd;
10825
10844
  this.axes = {};
10826
10845
  this.explore = new EventEmitter();
10827
10846
  this.loadingChange = new EventEmitter();
@@ -10909,7 +10928,8 @@ class CubeViewComponent {
10909
10928
  }
10910
10929
  }
10911
10930
  }
10912
- this.refresh();
10931
+ //this._cd.detectChanges();
10932
+ setTimeout(() => this._instance.execute());
10913
10933
  }
10914
10934
  _attach(comp) {
10915
10935
  const factory = this._factoryResolver.resolveComponentFactory(comp);
@@ -10923,6 +10943,7 @@ class CubeViewComponent {
10923
10943
  instance.cube = this.cube.name;
10924
10944
  instance.xAxis = this.view.xAxis;
10925
10945
  instance.currencyCode = this.cube.currencyCode;
10946
+ instance.filters = Object.assign(Object.assign({}, this.view.filters), this.axes);
10926
10947
  instance.loadingChange.pipe(takeUntil(this._viewDestroy), debounceTime(150)).subscribe(e => this.loadingChange.emit(this.loading = e));
10927
10948
  return instance;
10928
10949
  }
@@ -10938,7 +10959,7 @@ class CubeViewComponent {
10938
10959
  }
10939
10960
  refresh() {
10940
10961
  this._instance.filters = Object.assign(Object.assign({}, this.view.filters), this.axes);
10941
- this._instance.ngOnChanges({ 'filters': {} });
10962
+ this._instance.execute();
10942
10963
  }
10943
10964
  exportToExcel() {
10944
10965
  this._instance.exportToExcel(this.view.title);
@@ -10949,7 +10970,7 @@ class CubeViewComponent {
10949
10970
  this._viewDestroy.complete();
10950
10971
  }
10951
10972
  }
10952
- CubeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
10973
+ CubeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10953
10974
  CubeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: { axes: "axes", cube: "cube", view: "view", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { listeners: { "window:resize": "resize()" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
10954
10975
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewComponent, decorators: [{
10955
10976
  type: Component,
@@ -10964,7 +10985,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
10964
10985
  CubeSpreadsheetComponent
10965
10986
  ]
10966
10987
  }]
10967
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { axes: [{
10988
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { axes: [{
10968
10989
  type: Input
10969
10990
  }], explore: [{
10970
10991
  type: Output
@@ -11111,12 +11132,12 @@ class CubeViewPaneComponent extends ViewBase {
11111
11132
  }
11112
11133
  }
11113
11134
  CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: Popup }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component });
11114
- CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\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>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</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-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-width:650px}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
11135
+ CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\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>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</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-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
11115
11136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
11116
11137
  type: Component,
11117
11138
  args: [{ host: {
11118
11139
  class: 'pane'
11119
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\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>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</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-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-width:650px}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
11140
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\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>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</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-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
11120
11141
  }], ctorParameters: function () { return [{ type: SessionService }, { type: PaneRef }, { type: Popup }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }]; }, propDecorators: { viewPane: [{
11121
11142
  type: ViewChild,
11122
11143
  args: [CubeViewComponent, { static: true }]
@@ -13400,17 +13421,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
13400
13421
  /** component*/
13401
13422
  class VersionCompareComponent {
13402
13423
  /** ctor */
13403
- constructor(_session, _cf, _container, _router, _injector) {
13424
+ constructor(_session, _cf, _container, _injector) {
13404
13425
  this._session = _session;
13405
13426
  this._cf = _cf;
13406
13427
  this._container = _container;
13407
- this._router = _router;
13408
13428
  this._injector = _injector;
13409
13429
  }
13410
13430
  get form() { return this._form; }
13411
13431
  get currentVersion() { return this._currentVersion; }
13412
13432
  get baseVersion() { return this._baseVersion; }
13413
- ngOnChanges(changes) {
13433
+ ngOnChanges(_) {
13414
13434
  this._form = this._session.profile.forms.find(f => f.name === this.model.formId);
13415
13435
  const log = this.model.log.find(l => l.type === 'ModelChange' && l.time === this.version);
13416
13436
  const idx = this.model.log.indexOf(log);
@@ -13420,7 +13440,7 @@ class VersionCompareComponent {
13420
13440
  const componentFactory = this._cf.resolve(this._form.template);
13421
13441
  const injector = Injector.create([
13422
13442
  { provide: VersionCompareComponent, useValue: this },
13423
- { provide: FormRef, useValue: new FormRef(this._router) },
13443
+ { provide: FormRef, useValue: new FormRef() },
13424
13444
  { provide: DOCUMENT_MODEL, useValue: this.model }
13425
13445
  ], this._injector);
13426
13446
  this._container.clear();
@@ -13431,7 +13451,7 @@ class VersionCompareComponent {
13431
13451
  instance.onBind(newModel, this._baseVersion);
13432
13452
  }
13433
13453
  }
13434
- VersionCompareComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: VersionCompareComponent, deps: [{ token: SessionService }, { token: BizDocComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: PanesRouter }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
13454
+ VersionCompareComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: VersionCompareComponent, deps: [{ token: SessionService }, { token: BizDocComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
13435
13455
  VersionCompareComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: VersionCompareComponent, selector: "bizdoc-version-compare", inputs: { model: "model", version: "version" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
13436
13456
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: VersionCompareComponent, decorators: [{
13437
13457
  type: Component,
@@ -13439,7 +13459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
13439
13459
  selector: 'bizdoc-version-compare',
13440
13460
  template: ''
13441
13461
  }]
13442
- }], ctorParameters: function () { return [{ type: SessionService }, { type: BizDocComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: PanesRouter }, { type: i0.Injector }]; }, propDecorators: { model: [{
13462
+ }], ctorParameters: function () { return [{ type: SessionService }, { type: BizDocComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { model: [{
13443
13463
  type: Input
13444
13464
  }], version: [{
13445
13465
  type: Input
@@ -15639,16 +15659,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
15639
15659
  }], ctorParameters: function () { return [{ type: SessionService }, { type: TranslateService }, { type: PaneRef }]; } });
15640
15660
 
15641
15661
  class DocumentInfoComponent {
15642
- constructor(_session, _cf, _router, _injector) {
15662
+ constructor(_session, _cf, _injector) {
15643
15663
  this._session = _session;
15644
15664
  this._cf = _cf;
15645
- this._router = _router;
15646
15665
  this._injector = _injector;
15647
15666
  }
15648
- ngOnChanges(changes) {
15667
+ ngOnChanges(_) {
15649
15668
  const form = this._session.profile.forms.find(f => f.name === this.model.formId);
15650
15669
  this._formRef && this._formRef._destroy();
15651
- this._formRef = new FormRef(this._router);
15670
+ this._formRef = new FormRef();
15652
15671
  const factory = this._cf.resolve(form.template);
15653
15672
  const injector = Injector.create([{
15654
15673
  provide: DOCUMENT_MODEL, useValue: this.model
@@ -15664,12 +15683,12 @@ class DocumentInfoComponent {
15664
15683
  this._formRef._destroy();
15665
15684
  }
15666
15685
  }
15667
- DocumentInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DocumentInfoComponent, deps: [{ token: SessionService }, { token: BizDocComponentFactoryResolver }, { token: RouterImpl }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
15686
+ DocumentInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DocumentInfoComponent, deps: [{ token: SessionService }, { token: BizDocComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
15668
15687
  DocumentInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: { model: "model" }, viewQueries: [{ propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"false\" [viewedIndicator]=\"true\"></bizdoc-attachments>\r\n</div>\r\n<ng-container #component></ng-container>\r\n", components: [{ type: PeopleComponent, selector: "bizdoc-people", inputs: ["model"] }, { type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }] });
15669
15688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DocumentInfoComponent, decorators: [{
15670
15689
  type: Component,
15671
15690
  args: [{ selector: 'bizdoc-document', template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"false\" [viewedIndicator]=\"true\"></bizdoc-attachments>\r\n</div>\r\n<ng-container #component></ng-container>\r\n" }]
15672
- }], ctorParameters: function () { return [{ type: SessionService }, { type: BizDocComponentFactoryResolver }, { type: RouterImpl }, { type: i0.Injector }]; }, propDecorators: { _container: [{
15691
+ }], ctorParameters: function () { return [{ type: SessionService }, { type: BizDocComponentFactoryResolver }, { type: i0.Injector }]; }, propDecorators: { _container: [{
15673
15692
  type: ViewChild,
15674
15693
  args: ['component', { read: ViewContainerRef, static: true }]
15675
15694
  }], model: [{
@@ -16389,10 +16408,10 @@ class ComposeMenuComponent {
16389
16408
  }
16390
16409
  }
16391
16410
  ComposeMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: PromptService }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
16392
- ComposeMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n\r\n <!--<hr />\r\n\r\n <form>\r\n <mat-form-field floatLabel=\"never\" data-help=\"copy\">\r\n <input matInput type=\"search\" [placeholder]=\"'Copy'|translate\" [formControl]=\"search\" autocomplete=\"off\" />\r\n <mat-icon class=\"mat-icon-rtl-mirror\" matSuffix aria-disabled=\"true\">search</mat-icon>\r\n </mat-form-field>\r\n <ul class=\"mat-body-2\">\r\n <li *ngFor=\"let i of items | async\" (click)=\"copy(i)\">\r\n <a>\r\n {{i.number}}\r\n <ng-container *ngIf=\"i.subject\">&nbsp;{{i.subject}}</ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </form>-->\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], components: [{ type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i6$1.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "translate": TranslatePipe }, animations: [] });
16411
+ ComposeMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], components: [{ type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { 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: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i6$1.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "translate": TranslatePipe }, animations: [] });
16393
16412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ComposeMenuComponent, decorators: [{
16394
16413
  type: Component,
16395
- args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n\r\n <!--<hr />\r\n\r\n <form>\r\n <mat-form-field floatLabel=\"never\" data-help=\"copy\">\r\n <input matInput type=\"search\" [placeholder]=\"'Copy'|translate\" [formControl]=\"search\" autocomplete=\"off\" />\r\n <mat-icon class=\"mat-icon-rtl-mirror\" matSuffix aria-disabled=\"true\">search</mat-icon>\r\n </mat-form-field>\r\n <ul class=\"mat-body-2\">\r\n <li *ngFor=\"let i of items | async\" (click)=\"copy(i)\">\r\n <a>\r\n {{i.number}}\r\n <ng-container *ngIf=\"i.subject\">&nbsp;{{i.subject}}</ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </form>-->\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
16414
+ args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
16396
16415
  }], ctorParameters: function () { return [{ type: SessionService }, { type: MailboxService }, { type: PromptService }, { type: PanesRouter }]; }, propDecorators: { change: [{
16397
16416
  type: Output
16398
16417
  }] } });
@@ -16837,7 +16856,7 @@ class SlotsComponent {
16837
16856
  return;
16838
16857
  }
16839
16858
  else {
16840
- this._navQueryParams(tab, queryParams, state);
16859
+ this._navQueryParams(tab, queryParams);
16841
16860
  this.group = tab.group;
16842
16861
  this.selectedTabIndex = i;
16843
16862
  this._cd.detectChanges();
@@ -16869,7 +16888,7 @@ class SlotsComponent {
16869
16888
  return;
16870
16889
  }
16871
16890
  else {
16872
- this._navQueryParams(pane, queryParams, state);
16891
+ this._navQueryParams(pane, queryParams);
16873
16892
  this.scrollTo(i);
16874
16893
  this._replaceUrl();
16875
16894
  return;
@@ -16923,7 +16942,7 @@ class SlotsComponent {
16923
16942
  else {
16924
16943
  const pane = (policy & OpenPolicy.Tab) == OpenPolicy.Tab ?
16925
16944
  this.tabs[this.selectedTabIndex] : this.panes[this.selectedIndex];
16926
- this._navQueryParams(pane, queryParams, state);
16945
+ this._navQueryParams(pane, queryParams);
16927
16946
  this._replaceUrl();
16928
16947
  if ((policy & OpenPolicy.Tab) != OpenPolicy.Tab)
16929
16948
  this.select(this.selectedIndex);
@@ -17053,7 +17072,7 @@ class SlotsComponent {
17053
17072
  }
17054
17073
  else {
17055
17074
  const queryParams = this._parseQueryParams(queryString);
17056
- this._navQueryParams(pane, queryParams, state);
17075
+ this._navQueryParams(pane, queryParams);
17057
17076
  return;
17058
17077
  }
17059
17078
  }
@@ -17093,7 +17112,7 @@ class SlotsComponent {
17093
17112
  }
17094
17113
  else {
17095
17114
  const queryParams = this._parseQueryParams(queryString);
17096
- this._navQueryParams(tab, queryParams, state);
17115
+ this._navQueryParams(tab, queryParams);
17097
17116
  return;
17098
17117
  }
17099
17118
  }
@@ -17131,11 +17150,9 @@ class SlotsComponent {
17131
17150
  *
17132
17151
  * @param pane
17133
17152
  * @param queryParams
17134
- * @param data
17135
17153
  */
17136
- _navQueryParams(pane, queryParams, data) {
17154
+ _navQueryParams(pane, queryParams) {
17137
17155
  pane._queryString = this._queryString(queryParams);
17138
- pane._data$.next(Object.assign(Object.assign({}, pane.data), data));
17139
17156
  pane._queryParams$.next(queryParams);
17140
17157
  this._router._events$.next(new QueryParamNavigation(queryParams, pane));
17141
17158
  }
@@ -17627,15 +17644,15 @@ class SlotsComponent {
17627
17644
  this.navigationArrows();
17628
17645
  this._resize();
17629
17646
  }
17630
- navigationArrows(evt) {
17631
- const container = this._panesContainerRef.element.nativeElement;
17632
- this.next = this._rtl ? container.clientWidth - container.scrollLeft < container.scrollWidth :
17633
- container.scrollLeft + container.clientWidth < container.scrollWidth;
17634
- this.prev = this._rtl ? container.scrollLeft < 0 : container.scrollLeft > 0;
17647
+ navigationArrows(_) {
17648
+ const container = this._panesContainerRef.element.nativeElement, scrollLeft = Math.round(container.scrollLeft);
17649
+ this.next = this._rtl ? container.clientWidth - scrollLeft < container.scrollWidth :
17650
+ scrollLeft + container.clientWidth < container.scrollWidth;
17651
+ this.prev = this._rtl ? scrollLeft < 0 : scrollLeft > 0;
17635
17652
  }
17636
17653
  scrollBy(n) {
17637
- const { nativeElement } = this._panesContainerRef.element;
17638
- nativeElement.scrollBy({ behavior: 'smooth', left: n * (this._rtl ? -1 : 1) });
17654
+ const left = n * (this._rtl ? -1 : 1);
17655
+ this._panesContainerRef.element.nativeElement.scrollBy({ behavior: 'smooth', left });
17639
17656
  }
17640
17657
  focus(index) {
17641
17658
  const el = this._children.item(index);
@@ -18219,13 +18236,13 @@ const PANES_CONFIG = [{
18219
18236
  {
18220
18237
  path: 'views',
18221
18238
  component: DocumentViewPaneComponent,
18222
- policy: OpenPolicy.Tab | OpenPolicy.Expandable
18239
+ policy: OpenPolicy.Tab
18223
18240
  },
18224
18241
  {
18225
18242
  path: 'comments',
18226
18243
  icon: 'format_quote',
18227
18244
  component: CommentsPaneComponent,
18228
- policy: OpenPolicy.Scope | OpenPolicy.Pinnable | OpenPolicy.Tab,
18245
+ policy: OpenPolicy.Scope | OpenPolicy.Tab,
18229
18246
  children: [{
18230
18247
  path: ':commentId/versions',
18231
18248
  icon: 'history',
@@ -18253,7 +18270,7 @@ const PANES_CONFIG = [{
18253
18270
  }, {
18254
18271
  path: 'd/:id',
18255
18272
  component: DocumentInfoPaneComponent,
18256
- policy: OpenPolicy.Tab | OpenPolicy.Expandable,
18273
+ policy: OpenPolicy.Tab,
18257
18274
  resolve: {
18258
18275
  item: DocumentResolver
18259
18276
  },
@@ -18283,7 +18300,7 @@ const PANES_CONFIG = [{
18283
18300
  path: ':cube/v/:view',
18284
18301
  icon: 'bar_chart',
18285
18302
  component: CubeViewPaneComponent,
18286
- policy: OpenPolicy.Clear | OpenPolicy.Expandable
18303
+ policy: OpenPolicy.Clear
18287
18304
  }, {
18288
18305
  path: ':cube/explore',
18289
18306
  icon: 'summarize',
@@ -18292,7 +18309,7 @@ const PANES_CONFIG = [{
18292
18309
  children: [{
18293
18310
  path: 'i/:template/:key',
18294
18311
  component: ExploreItemPaneComponent,
18295
- policy: OpenPolicy.Pinnable | OpenPolicy.Tab,
18312
+ policy: OpenPolicy.Tab,
18296
18313
  resolve: { item: ItemResolver }
18297
18314
  }]
18298
18315
  },
@@ -18300,7 +18317,7 @@ const PANES_CONFIG = [{
18300
18317
  path: ':cube/i/:xAxis/:serie',
18301
18318
  icon: 'bar_chart',
18302
18319
  component: CubeMatrixPaneComponent,
18303
- policy: OpenPolicy.Pinnable | OpenPolicy.Tab | OpenPolicy.Expandable
18320
+ policy: OpenPolicy.Tab
18304
18321
  }]
18305
18322
  }, {
18306
18323
  path: 'reports',
@@ -18352,7 +18369,7 @@ const PANES_CONFIG = [{
18352
18369
  path: 'chatroom/:id',
18353
18370
  icon: 'person',
18354
18371
  component: ConversationPaneComponent,
18355
- policy: OpenPolicy.Tab | OpenPolicy.Expandable,
18372
+ policy: OpenPolicy.Tab
18356
18373
  }
18357
18374
  ];
18358
18375