@bizdoc/core 1.14.0-next.8 → 1.14.0-next.9

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.
@@ -1,15 +1,13 @@
1
- import { Component, HostListener, Injector, Input, Optional } from "@angular/core";
1
+ import { Component, HostListener, Injector, Input } from "@angular/core";
2
2
  import { takeUntil } from "rxjs";
3
3
  import { Subject } from "rxjs";
4
4
  import { debounceTime } from "rxjs/operators";
5
5
  import { DocumentViewRef } from "./document-view-ref";
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../core/slots/pane-ref";
8
- import * as i2 from "@angular/common/http";
9
- import * as i3 from "../core/component-factory-resolver";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../core/component-factory-resolver";
10
9
  export class ViewItemComponent {
11
- constructor(_pane, _http, _vc, _injector, _cf) {
12
- this._pane = _pane;
10
+ constructor(_http, _vc, _injector, _cf) {
13
11
  this._http = _http;
14
12
  this._vc = _vc;
15
13
  this._injector = _injector;
@@ -48,7 +46,7 @@ export class ViewItemComponent {
48
46
  this._destroy.complete();
49
47
  }
50
48
  }
51
- ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.PaneRef, optional: true }, { token: i2.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i3.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
49
+ ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
52
50
  ViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true });
53
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, decorators: [{
54
52
  type: Component,
@@ -57,9 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
57
55
  template: '',
58
56
  //host: { class: 'bz-view' }
59
57
  }]
60
- }], ctorParameters: function () { return [{ type: i1.PaneRef, decorators: [{
61
- type: Optional
62
- }] }, { type: i2.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i3.BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
58
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2.BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
63
59
  type: Input
64
60
  }], view: [{
65
61
  type: Input
@@ -67,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
67
63
  type: HostListener,
68
64
  args: ['window:resize']
69
65
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUV2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFPdEQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNzQixLQUFtQixFQUMvQixLQUFpQixFQUNqQixHQUFxQixFQUNyQixTQUFtQixFQUNuQixHQUFtQztRQUp2QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQVA1QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU9oRCxDQUFDO0lBWEQsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQWE3RCxlQUFlO1FBQ2IsTUFBTTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQXNDLENBQUM7UUFDdkcsSUFBSTtZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUVuQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBRVg7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBQ08sSUFBSTtRQUNWLElBQUksRUFBRSxHQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQTZCLENBQUMsYUFBYSxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ3RCLEdBQUcsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUNsQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7OEdBakRVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGlLQUhsQixFQUFFOzJGQUdELGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsRUFBRTtvQkFDWiw0QkFBNEI7aUJBQzdCOzswQkFhSSxRQUFRO3dLQVZYLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBdUNOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSBcIi4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHsgRGltZW50aW9ucywgRG9jdW1lbnRNb2RlbCwgVmlldyB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSBcIi4uL2NvcmUvc2xvdHMvcGFuZS1yZWZcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3UmVmIH0gZnJvbSBcIi4vZG9jdW1lbnQtdmlldy1yZWZcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWRvY3VtZW50LXZpZXctaXRlbScsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIC8vaG9zdDogeyBjbGFzczogJ2J6LXZpZXcnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgdmlldzogVmlldztcclxuICBhcmdzOiBhbnk7XHJcbiAgZ2V0IGhpZGRlbigpIHsgcmV0dXJuIHRoaXMuX3ZpZXdSZWYgJiYgdGhpcy5fdmlld1JlZi5oaWRkZW4gfVxyXG4gIHByaXZhdGUgX3ZpZXdSZWY6IERvY3VtZW50Vmlld1JlZjx1bmtub3duPjtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogRG9jdW1lbnRWaWV3Q29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6aW5nID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NmOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGRvbVxyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NmLnJlc29sdmUodGhpcy52aWV3LnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX3ZpZXdSZWYgPSBuZXcgRG9jdW1lbnRWaWV3UmVmKHRoaXMuX2h0dHAsIHRoaXMubW9kZWwsIHRoaXMudmlldywgdGhpcy5fZGltKCkpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoW3sgcHJvdmlkZTogRG9jdW1lbnRWaWV3UmVmLCB1c2VWYWx1ZTogdGhpcy5fdmlld1JlZiB9XSwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgdGhpcy5faW5zdGFuY2UgPSB0aGlzLl92Yy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgMCwgaW5qZWN0b3IpLmluc3RhbmNlIGFzIERvY3VtZW50Vmlld0NvbXBvbmVudDxhbnk+O1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHRoaXMubW9kZWwpO1xyXG5cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuXHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgyMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl92aWV3UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaW0oKTogRGltZW50aW9ucyB7XHJcbiAgICBsZXQgZWwgPSAodGhpcy5fdmMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50LCBkaW0gPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHdoaWxlIChkaW0ud2lkdGggPT09IDApIHtcclxuICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICBkaW0gPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBkaW07XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLm5leHQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl92aWV3UmVmLl9kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBaUQsTUFBTSxlQUFlLENBQUM7QUFFdkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNVLEtBQWlCLEVBQ2pCLEdBQXFCLEVBQ3JCLFNBQW1CLEVBQ25CLEdBQW1DO1FBSG5DLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQU41QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1oRCxDQUFDO0lBVkQsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQVk3RCxlQUFlO1FBQ2IsTUFBTTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQXNDLENBQUM7UUFDdkcsSUFBSTtZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUVuQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBRVg7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNPLElBQUk7UUFDVixJQUFJLEVBQUUsR0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUE2QixDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDekcsT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QixFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN0QixHQUFHLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDbEM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQWpEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpS0FIbEIsRUFBRTsyRkFHRCxpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osNEJBQTRCO2lCQUM3QjtvTUFHQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQXVDTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gXCIuLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMsIERvY3VtZW50TW9kZWwsIFZpZXcgfSBmcm9tIFwiLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gXCIuL2RvY3VtZW50LXZpZXctcmVmXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICAvL2hvc3Q6IHsgY2xhc3M6ICdiei12aWV3JyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc6IFZpZXc7XHJcbiAgYXJnczogYW55O1xyXG4gIGdldCBoaWRkZW4oKSB7IHJldHVybiB0aGlzLl92aWV3UmVmICYmIHRoaXMuX3ZpZXdSZWYuaGlkZGVuIH1cclxuICBwcml2YXRlIF92aWV3UmVmOiBEb2N1bWVudFZpZXdSZWY8dW5rbm93bj47XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IERvY3VtZW50Vmlld0NvbXBvbmVudDxhbnksIGFueSwgYW55PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemluZyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9jZjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBkb21cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9jZi5yZXNvbHZlKHRoaXMudmlldy50ZW1wbGF0ZSk7XHJcbiAgICB0aGlzLl92aWV3UmVmID0gbmV3IERvY3VtZW50Vmlld1JlZih0aGlzLl9odHRwLCB0aGlzLm1vZGVsLCB0aGlzLnZpZXcsIHRoaXMuX2RpbSgpKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKFt7IHByb3ZpZGU6IERvY3VtZW50Vmlld1JlZiwgdXNlVmFsdWU6IHRoaXMuX3ZpZXdSZWYgfV0sIHRoaXMuX2luamVjdG9yKTtcclxuICAgIHRoaXMuX2luc3RhbmNlID0gdGhpcy5fdmMuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDAsIGluamVjdG9yKS5pbnN0YW5jZSBhcyBEb2N1bWVudFZpZXdDb21wb25lbnQ8YW55PjtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuX2luc3RhbmNlLm9uQmluZCh0aGlzLm1vZGVsKTtcclxuXHJcbiAgICB9IGNhdGNoIChlKSB7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzaXppbmcucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fdmlld1JlZi5fcmVzaXplLm5leHQodGhpcy5fZGltKCkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGltKCk6IERpbWVudGlvbnMge1xyXG4gICAgbGV0IGVsID0gKHRoaXMuX3ZjLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCwgZGltID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB3aGlsZSAoZGltLndpZHRoID09PSAwKSB7XHJcbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcclxuICAgICAgZGltID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGltO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5uZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmlld1JlZi5fZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -842,6 +842,7 @@ var OpenPolicy;
842
842
  OpenPolicy[OpenPolicy["Dialog"] = 112] = "Dialog";
843
843
  OpenPolicy[OpenPolicy["Dismissable"] = 128] = "Dismissable";
844
844
  OpenPolicy[OpenPolicy["Toggle"] = 256] = "Toggle";
845
+ OpenPolicy[OpenPolicy["Stretch"] = 256] = "Stretch";
845
846
  })(OpenPolicy || (OpenPolicy = {}));
846
847
  const DEFAULT_POLICY = OpenPolicy.Pane;
847
848
 
@@ -1013,6 +1014,9 @@ const THEMES = [
1013
1014
  { name: 'brown', primary: 'brown', color: '#795548', accent: 'grey' }
1014
1015
  ];
1015
1016
  const SUPPORTED_LANGUAGES = ['en', 'he', 'de', 'ar', 'ru'], RTL_LANGUALGES = ['he', 'ar'];
1017
+ function SessionProviderFactory(provider) {
1018
+ return () => provider.prepare();
1019
+ }
1016
1020
  class SessionService {
1017
1021
  constructor(_config, _http, _cookies, _hub) {
1018
1022
  this._config = _config;
@@ -1026,7 +1030,12 @@ class SessionService {
1026
1030
  this.themeChange = this._themeChange.asObservable();
1027
1031
  this._firebase = new FirebaseService(this._config ? this._config.firebase : null, this);
1028
1032
  ('serviceWorker' in navigator) && this._loadSw();
1029
- _config && _config.maps && this._loadMaps();
1033
+ }
1034
+ prepare() {
1035
+ const promisses = [];
1036
+ if (this._config.maps)
1037
+ promisses.push(this._googleMaps());
1038
+ return Promise.all(promisses);
1030
1039
  }
1031
1040
  get profile() { return this._profile; }
1032
1041
  get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
@@ -1221,11 +1230,14 @@ class SessionService {
1221
1230
  }, null);
1222
1231
  });
1223
1232
  }
1224
- _loadMaps() {
1233
+ _googleMaps() {
1225
1234
  const apiKey = this._config.maps.apiKey;
1226
- const script = document.createElement('script');
1227
- script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&language=${this.language}`;
1228
- document.head.append(script);
1235
+ return new Promise((resolve, reject) => {
1236
+ const script = document.createElement('script');
1237
+ script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&language=${this.language}`;
1238
+ script.addEventListener('load', resolve, {});
1239
+ document.head.append(script);
1240
+ });
1229
1241
  }
1230
1242
  }
1231
1243
  SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -6281,6 +6293,9 @@ class PaneRef {
6281
6293
  ;
6282
6294
  get parent() { return this._options.parent; }
6283
6295
  ;
6296
+ get stretch() { return this._options.stretch; }
6297
+ ;
6298
+ set stretch(val) { this._options.stretch = val; }
6284
6299
  get dialog() { return this._options.dialog; }
6285
6300
  ;
6286
6301
  get dismissable() { return this._options.dismissable; }
@@ -11441,6 +11456,10 @@ class CubeViewPaneComponent extends ViewBase {
11441
11456
  this._pane.group = this.cube.title;
11442
11457
  this._pane.title = this.view.title;
11443
11458
  this._pane.icon = this.view.icon || this.cube.icon;
11459
+ if (this.view.type === 'Spreadsheet' ||
11460
+ this.view.type === 'Grid' ||
11461
+ (this.view.type === 'Pivot' && !this.view.chartType))
11462
+ this._pane.stretch = true;
11444
11463
  });
11445
11464
  this._pane.queryParamsChange.subscribe(p => this.originalAxes = p);
11446
11465
  this._pane.resize.subscribe(() => this.viewPane.resize());
@@ -17406,8 +17425,7 @@ class DocumentViewRef {
17406
17425
  }
17407
17426
 
17408
17427
  class ViewItemComponent {
17409
- constructor(_pane, _http, _vc, _injector, _cf) {
17410
- this._pane = _pane;
17428
+ constructor(_http, _vc, _injector, _cf) {
17411
17429
  this._http = _http;
17412
17430
  this._vc = _vc;
17413
17431
  this._injector = _injector;
@@ -17446,7 +17464,7 @@ class ViewItemComponent {
17446
17464
  this._destroy.complete();
17447
17465
  }
17448
17466
  }
17449
- ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, deps: [{ token: PaneRef, optional: true }, { token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
17467
+ ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
17450
17468
  ViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true });
17451
17469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, decorators: [{
17452
17470
  type: Component,
@@ -17455,11 +17473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
17455
17473
  template: '',
17456
17474
  //host: { class: 'bz-view' }
17457
17475
  }]
17458
- }], ctorParameters: function () {
17459
- return [{ type: PaneRef, decorators: [{
17460
- type: Optional
17461
- }] }, { type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }];
17462
- }, propDecorators: { model: [{
17476
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
17463
17477
  type: Input
17464
17478
  }], view: [{
17465
17479
  type: Input
@@ -18611,6 +18625,7 @@ class SlotsComponent {
18611
18625
  this.panes = [];
18612
18626
  this.tabs = [];
18613
18627
  this._selectedTabIndex = -1;
18628
+ this.dialog = false;
18614
18629
  this.selectedIndex = -1;
18615
18630
  this.dragging = false;
18616
18631
  this.ripple = {
@@ -18640,6 +18655,7 @@ class SlotsComponent {
18640
18655
  }
18641
18656
  set selectedTabIndex(value) {
18642
18657
  this._selectedTabIndex = value;
18658
+ this.dialog = this._selectedTabIndex > -1 && this.tabs.at(this._selectedTabIndex).dialog;
18643
18659
  this._setTabAnimation();
18644
18660
  }
18645
18661
  _setTabAnimation() {
@@ -18722,7 +18738,7 @@ class SlotsComponent {
18722
18738
  this.group = tab.group;
18723
18739
  this.selectedTabIndex = i;
18724
18740
  this._cd.detectChanges();
18725
- this._replaceUrl();
18741
+ this._sync();
18726
18742
  return;
18727
18743
  }
18728
18744
  }
@@ -18730,7 +18746,7 @@ class SlotsComponent {
18730
18746
  yield this._navParams(path, tab, params, queryParams, state);
18731
18747
  this.group = tab.group;
18732
18748
  this.selectedTabIndex = i;
18733
- this._replaceUrl();
18749
+ this._sync();
18734
18750
  return;
18735
18751
  }
18736
18752
  i++;
@@ -18752,13 +18768,13 @@ class SlotsComponent {
18752
18768
  else {
18753
18769
  this._navQueryParams(pane, queryParams, state);
18754
18770
  this.scrollTo(i);
18755
- this._replaceUrl();
18771
+ this._sync();
18756
18772
  return;
18757
18773
  }
18758
18774
  }
18759
18775
  else if (pane.route === route) {
18760
18776
  yield this._navParams(path, pane, params, queryParams, state);
18761
- this._replaceUrl();
18777
+ this._sync();
18762
18778
  return;
18763
18779
  }
18764
18780
  i++;
@@ -18799,13 +18815,13 @@ class SlotsComponent {
18799
18815
  pane._fullscreen$.next(this.panes.length === 1);
18800
18816
  }
18801
18817
  route &&
18802
- this._replaceUrl();
18818
+ this._sync();
18803
18819
  }
18804
18820
  else {
18805
18821
  const pane = (policy & OpenPolicy.Tab) == OpenPolicy.Tab ?
18806
18822
  this.tabs[this.selectedTabIndex] : this.panes[this.selectedIndex];
18807
18823
  this._navQueryParams(pane, queryParams, state);
18808
- this._replaceUrl();
18824
+ this._sync();
18809
18825
  if ((policy & OpenPolicy.Tab) != OpenPolicy.Tab)
18810
18826
  this.select(this.selectedIndex);
18811
18827
  }
@@ -19073,7 +19089,7 @@ class SlotsComponent {
19073
19089
  });
19074
19090
  }
19075
19091
  /** */
19076
- _replaceUrl() {
19092
+ _sync() {
19077
19093
  this._navigating = true;
19078
19094
  this._history('push');
19079
19095
  setTimeout(() => this._navigating = false, 200);
@@ -19106,7 +19122,7 @@ class SlotsComponent {
19106
19122
  const pane = this.panes[evt.previousIndex];
19107
19123
  this.panes.splice(evt.previousIndex, 1);
19108
19124
  this.panes.splice(evt.currentIndex, 0, pane);
19109
- this._replaceUrl();
19125
+ this._sync();
19110
19126
  }
19111
19127
  togglePinned(pane) {
19112
19128
  pane.pinned = !pane.pinned;
@@ -19245,8 +19261,8 @@ class SlotsComponent {
19245
19261
  return pane;
19246
19262
  }
19247
19263
  _insertPane(component, options, position) {
19248
- //this._animationBuilder.build([]).create(element, { params: {} }).play();
19249
- const pane = this._constract(component, 'pane', options);
19264
+ const stretch = (options.policy & OpenPolicy.Stretch) == OpenPolicy.Stretch;
19265
+ const pane = this._constract(component, 'pane', Object.assign({ stretch }, options));
19250
19266
  if (position === undefined)
19251
19267
  position = this.panes.length;
19252
19268
  this.panes.push(pane);
@@ -19276,12 +19292,16 @@ class SlotsComponent {
19276
19292
  pane._comm$.subscribe(e => this._action(e, pane));
19277
19293
  return pane;
19278
19294
  }
19295
+ /**
19296
+ *
19297
+ * @param component
19298
+ * @param options
19299
+ */
19279
19300
  _insertTab(component, options) {
19280
19301
  const { policy } = options, dialog = (policy & OpenPolicy.Dialog) == OpenPolicy.Dialog, dismissable = (policy & OpenPolicy.Dismissable) == OpenPolicy.Dismissable;
19281
19302
  const tab = this._constract(component, 'tab', Object.assign(Object.assign({}, options), { dialog,
19282
19303
  dismissable }));
19283
19304
  this.tabs.push(tab);
19284
- this.dialog = dialog;
19285
19305
  this._router._events$.next(new NavigationStart(tab));
19286
19306
  this._cd.detectChanges();
19287
19307
  if (tab.group && this.group !== tab.group && options.swap !== false) {
@@ -19326,6 +19346,11 @@ class SlotsComponent {
19326
19346
  this._back(this.swapTab);
19327
19347
  this.swapTab = null;
19328
19348
  }
19349
+ /**
19350
+ *
19351
+ * @param e
19352
+ * @param pane
19353
+ */
19329
19354
  _action(e, pane) {
19330
19355
  switch (e) {
19331
19356
  case 'focus':
@@ -19373,19 +19398,30 @@ class SlotsComponent {
19373
19398
  this.tabs.splice(0, this.tabs.length);
19374
19399
  this.selectedTabIndex = -1;
19375
19400
  this.swapTab = null;
19376
- this.dialog = false;
19377
- this._replaceUrl();
19401
+ this._sync();
19378
19402
  this._router._events$.next(new CollapseNavigation());
19379
19403
  }
19404
+ onResize() {
19405
+ if (this.panes.length && !this.panes[this.panes.length - 1].stretch) {
19406
+ const el = this._panesContainerRef.element.nativeElement, child = el.lastElementChild;
19407
+ child.style.minWidth =
19408
+ (el.parentElement.parentElement.clientWidth - child.offsetLeft - 2) + 'px';
19409
+ }
19410
+ }
19380
19411
  _resize() {
19412
+ //this.tabs.concat(this.panes).forEach(t => t._resize$.next({
19413
+ //} as any));
19381
19414
  window.dispatchEvent(new Event('resize'));
19382
19415
  }
19416
+ dismiss() {
19417
+ this.closeTab(this.selectedTabIndex);
19418
+ }
19383
19419
  closeTab(position) {
19384
19420
  const tab = this.tabs[position];
19385
19421
  this.tabs.splice(position, 1);
19386
19422
  this._destroyPane(tab);
19387
19423
  this.selectedTabIndex = this.tabs.length ? position > 0 ? position - 1 : 0 : -1;
19388
- this._replaceUrl();
19424
+ this._sync();
19389
19425
  }
19390
19426
  expandPane() {
19391
19427
  const pane = this.panes[this.selectedIndex];
@@ -19400,7 +19436,7 @@ class SlotsComponent {
19400
19436
  i++;
19401
19437
  } while (i < this.panes.length);
19402
19438
  this.selectedIndex = 0;
19403
- this._replaceUrl();
19439
+ this._sync();
19404
19440
  pane._fullscreen$.next(true);
19405
19441
  }
19406
19442
  _getHistoryStep() {
@@ -19416,7 +19452,7 @@ class SlotsComponent {
19416
19452
  tab._mode$.next('pane');
19417
19453
  tab._fullscreen$.next(true);
19418
19454
  this.selectedTabIndex = this.tabs.length ? 0 : -1;
19419
- this._replaceUrl();
19455
+ this._sync();
19420
19456
  }
19421
19457
  select(position) {
19422
19458
  if (this.selectedIndex === position)
@@ -19440,7 +19476,7 @@ class SlotsComponent {
19440
19476
  this._discardPane(pane);
19441
19477
  if (position >= this.selectedIndex)
19442
19478
  this.select(-1);
19443
- this._replaceUrl();
19479
+ this._sync();
19444
19480
  });
19445
19481
  }
19446
19482
  /**
@@ -19537,7 +19573,7 @@ class SlotsComponent {
19537
19573
  const el = this._children.item(index);
19538
19574
  el.focus();
19539
19575
  }
19540
- onResize(pane, event) {
19576
+ onPaneResize(pane, event) {
19541
19577
  const el = event.srcElement.previousElementSibling;
19542
19578
  const // remember mouse down info
19543
19579
  width = el.clientWidth, d = this._rtl ? -1 : 1;
@@ -19577,9 +19613,6 @@ class SlotsComponent {
19577
19613
  const delta = Math.max((e.clientX - event.clientX) * d, -width);
19578
19614
  el.style.width = el.style.minWidth = (width + delta) + 'px';
19579
19615
  localStorage.setItem('tabs', el.style.width);
19580
- // this.tabs[this.selectedTabIndex]._resize$.next({
19581
- // height: el.clientHeight, width: width + delta
19582
- // });
19583
19616
  }
19584
19617
  }
19585
19618
  _destroyPane(pane) {
@@ -19592,7 +19625,7 @@ class SlotsComponent {
19592
19625
  }
19593
19626
  }
19594
19627
  SlotsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SlotsComponent, deps: [{ token: PANES_DATA }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PanesRouter }, { token: WindowTitleService }, { token: GuideService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
19595
- SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes", host: { listeners: { "document:keydown.escape": "collapse()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["paning"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabing"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div class=\"panes\">\r\n <div class=\"backdrop\" [style.display]=\"dialog ? '' : 'none'\"></div>\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #paning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onResize(p, $event)\">&nbsp;</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\">&nbsp;</div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let p of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"p.badge\" [matBadgeHidden]=\"!p.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{p.icon}}</mat-icon>&nbsp;\r\n {{p.title}}\r\n <mat-icon *ngIf=\"p.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\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: QuickToolsComponent, selector: "bizdoc-quicktools" }, { type: i8$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12$2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { type: NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }, { type: i8$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe }, animations: [panesAnimation,
19628
+ SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes", host: { listeners: { "document:keydown.escape": "collapse()", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panning"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabing"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div class=\"panes\">\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #panning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onPaneResize(p, $event)\">&nbsp;</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\" (click)=\"dismiss()\"></div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\">&nbsp;</div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let p of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"p.badge\" [matBadgeHidden]=\"!p.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{p.icon}}</mat-icon>&nbsp;\r\n {{p.title}}\r\n <mat-icon *ngIf=\"p.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\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: QuickToolsComponent, selector: "bizdoc-quicktools" }, { type: i8$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12$2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { type: NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }, { type: i8$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe }, animations: [panesAnimation,
19596
19629
  panesTitleAnimation,
19597
19630
  paneAnimation,
19598
19631
  paramAnimation,
@@ -19609,7 +19642,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
19609
19642
  queryAnimation,
19610
19643
  tabsAnimation,
19611
19644
  tabAnimation
19612
- ], template: "<div class=\"panes\">\r\n <div class=\"backdrop\" [style.display]=\"dialog ? '' : 'none'\"></div>\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #paning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onResize(p, $event)\">&nbsp;</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\">&nbsp;</div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let p of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"p.badge\" [matBadgeHidden]=\"!p.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{p.icon}}</mat-icon>&nbsp;\r\n {{p.title}}\r\n <mat-icon *ngIf=\"p.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\n"] }]
19645
+ ], template: "<div class=\"panes\">\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #panning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onPaneResize(p, $event)\">&nbsp;</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\" (click)=\"dismiss()\"></div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\">&nbsp;</div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let p of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"p.badge\" [matBadgeHidden]=\"!p.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{p.icon}}</mat-icon>&nbsp;\r\n {{p.title}}\r\n <mat-icon *ngIf=\"p.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\n"] }]
19613
19646
  }], ctorParameters: function () {
19614
19647
  return [{ type: undefined, decorators: [{
19615
19648
  type: Inject,
@@ -19617,7 +19650,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
19617
19650
  }] }, { type: SessionService }, { type: i0.ChangeDetectorRef }, { type: PanesRouter }, { type: WindowTitleService }, { type: GuideService }, { type: i0.Injector }];
19618
19651
  }, propDecorators: { _panesContainerRef: [{
19619
19652
  type: ViewChild,
19620
- args: ['paning', { read: ViewContainerRef, static: true }]
19653
+ args: ['panning', { read: ViewContainerRef, static: true }]
19621
19654
  }], _tabsElement: [{
19622
19655
  type: ViewChild,
19623
19656
  args: ['tabing']
@@ -19627,6 +19660,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
19627
19660
  }], collapse: [{
19628
19661
  type: HostListener,
19629
19662
  args: ['document:keydown.escape']
19663
+ }], onResize: [{
19664
+ type: HostListener,
19665
+ args: ['window:resize']
19630
19666
  }] } });
19631
19667
  const PANE_PARAMS_REGEX = /(:[\w\-]+)/g;
19632
19668
  function prepareRoutes(routes, treePath) {
@@ -20188,7 +20224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
20188
20224
  const PANES_CONFIG = [{
20189
20225
  path: 'dashboard',
20190
20226
  component: DashboardPaneComponent,
20191
- policy: OpenPolicy.Clear,
20227
+ policy: OpenPolicy.Clear | OpenPolicy.Stretch,
20192
20228
  },
20193
20229
  { component: BrokenPage, path: 'broken' },
20194
20230
  {
@@ -22915,7 +22951,10 @@ let PersonalScoreWidget = class PersonalScoreWidget {
22915
22951
  width: 0, position: 'Outside'
22916
22952
  };
22917
22953
  this.legendSettings = {
22918
- visible: true, position: 'Top', shape: 'Diamond', alignment: 'Center', padding: 0, margin: { top: 0 }, location: { y: 0 }, textStyle: {
22954
+ visible: true, position: 'Top', shape: 'Diamond', alignment: 'Center',
22955
+ padding: 0, margin: { top: 0 },
22956
+ location: { y: 0 },
22957
+ textStyle: {
22919
22958
  fontFamily: FONT_FAMILY
22920
22959
  }
22921
22960
  };
@@ -23024,6 +23063,15 @@ let PersonalScoreWidget = class PersonalScoreWidget {
23024
23063
  }
23025
23064
  _draw() {
23026
23065
  this.gauge && this.gauge.destroy();
23066
+ const axes = [{
23067
+ radius: '90%', maximum: this.max,
23068
+ startAngle: 270,
23069
+ endAngle: 90,
23070
+ majorTicks: this.majorTicks, direction: this.direction,
23071
+ labelStyle: this.labelStyle, lineStyle: this.lineStyle, minorTicks: this.minorTicks,
23072
+ ranges: this.ranges,
23073
+ pointers: this.pointers
23074
+ }];
23027
23075
  this.gauge = new CircularGauge({
23028
23076
  tooltip: this.tooltip,
23029
23077
  centerY: '50%',
@@ -23037,15 +23085,7 @@ let PersonalScoreWidget = class PersonalScoreWidget {
23037
23085
  legendSettings: this.legendSettings,
23038
23086
  tooltipRender: this.tooltipRender.bind(this),
23039
23087
  enableRtl: this._session.inverse,
23040
- axes: [{
23041
- radius: '90%', maximum: this.max,
23042
- startAngle: 270,
23043
- endAngle: 90,
23044
- majorTicks: this.majorTicks, direction: this.direction,
23045
- labelStyle: this.labelStyle, lineStyle: this.lineStyle, minorTicks: this.minorTicks,
23046
- ranges: this.ranges,
23047
- pointers: this.pointers
23048
- }]
23088
+ axes
23049
23089
  }, this._elementRef.nativeElement);
23050
23090
  }
23051
23091
  _refresh() {
@@ -27524,6 +27564,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
27524
27564
  //{ provide: LOCALE_ID, useClass: SessionService.getLocale() },
27525
27565
  { provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },
27526
27566
  { provide: APP_INITIALIZER, useFactory: TranslateProviderFactory, deps: [TranslateService], multi: true },
27567
+ { provide: APP_INITIALIZER, useFactory: SessionProviderFactory, deps: [SessionService], multi: true },
27527
27568
  ], imports: [[
27528
27569
  DayJsModule,
27529
27570
  CommonModule,
@@ -27642,6 +27683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
27642
27683
  //{ provide: LOCALE_ID, useClass: SessionService.getLocale() },
27643
27684
  { provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },
27644
27685
  { provide: APP_INITIALIZER, useFactory: TranslateProviderFactory, deps: [TranslateService], multi: true },
27686
+ { provide: APP_INITIALIZER, useFactory: SessionProviderFactory, deps: [SessionService], multi: true },
27645
27687
  ],
27646
27688
  exports: [FileInput, FilterTagsComponent,
27647
27689
  DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,