@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.
- package/assets/themes/brown.min.css +17 -17
- package/assets/themes/dark.min.css +1 -78
- package/assets/themes/deep-purple-light-blue.min.css +19 -19
- package/assets/themes/deep-purple-teal.min.css +19 -19
- package/assets/themes/default.min.css +19 -19
- package/assets/themes/green.min.css +17 -17
- package/assets/themes/indigo.min.css +17 -17
- package/esm2020/lib/core/configuration.mjs +2 -1
- package/esm2020/lib/core/session.service.mjs +17 -6
- package/esm2020/lib/core/slots/pane-ref.mjs +4 -1
- package/esm2020/lib/core/slots/slots.component.mjs +50 -25
- package/esm2020/lib/cube/view.pane.component.mjs +5 -1
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +15 -11
- package/esm2020/lib/routes.desktop.mjs +2 -2
- package/esm2020/lib/shared.module.mjs +4 -2
- package/esm2020/lib/views/view-item.component.mjs +7 -11
- package/fesm2015/bizdoc-core.mjs +90 -48
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +93 -46
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/core/configuration.d.ts +2 -1
- package/lib/core/session.service.d.ts +3 -1
- package/lib/core/slots/pane-ref.d.ts +3 -0
- package/lib/core/slots/slots.component.d.ts +15 -4
- package/lib/views/view-item.component.d.ts +2 -4
- package/package.json +1 -1
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -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
|
|
@@ -1007,6 +1008,9 @@ const THEMES = [
|
|
1007
1008
|
{ name: 'brown', primary: 'brown', color: '#795548', accent: 'grey' }
|
1008
1009
|
];
|
1009
1010
|
const SUPPORTED_LANGUAGES = ['en', 'he', 'de', 'ar', 'ru'], RTL_LANGUALGES = ['he', 'ar'];
|
1011
|
+
function SessionProviderFactory(provider) {
|
1012
|
+
return () => provider.prepare();
|
1013
|
+
}
|
1010
1014
|
class SessionService {
|
1011
1015
|
constructor(_config, _http, _cookies, _hub) {
|
1012
1016
|
this._config = _config;
|
@@ -1020,7 +1024,12 @@ class SessionService {
|
|
1020
1024
|
this.themeChange = this._themeChange.asObservable();
|
1021
1025
|
this._firebase = new FirebaseService(this._config ? this._config.firebase : null, this);
|
1022
1026
|
('serviceWorker' in navigator) && this._loadSw();
|
1023
|
-
|
1027
|
+
}
|
1028
|
+
prepare() {
|
1029
|
+
const promisses = [];
|
1030
|
+
if (this._config.maps)
|
1031
|
+
promisses.push(this._googleMaps());
|
1032
|
+
return Promise.all(promisses);
|
1024
1033
|
}
|
1025
1034
|
get profile() { return this._profile; }
|
1026
1035
|
get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
|
@@ -1215,11 +1224,14 @@ class SessionService {
|
|
1215
1224
|
}, null);
|
1216
1225
|
});
|
1217
1226
|
}
|
1218
|
-
|
1227
|
+
_googleMaps() {
|
1219
1228
|
const apiKey = this._config.maps.apiKey;
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1229
|
+
return new Promise((resolve, reject) => {
|
1230
|
+
const script = document.createElement('script');
|
1231
|
+
script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&language=${this.language}`;
|
1232
|
+
script.addEventListener('load', resolve, {});
|
1233
|
+
document.head.append(script);
|
1234
|
+
});
|
1223
1235
|
}
|
1224
1236
|
}
|
1225
1237
|
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 });
|
@@ -6257,6 +6269,9 @@ class PaneRef {
|
|
6257
6269
|
;
|
6258
6270
|
get parent() { return this._options.parent; }
|
6259
6271
|
;
|
6272
|
+
get stretch() { return this._options.stretch; }
|
6273
|
+
;
|
6274
|
+
set stretch(val) { this._options.stretch = val; }
|
6260
6275
|
get dialog() { return this._options.dialog; }
|
6261
6276
|
;
|
6262
6277
|
get dismissable() { return this._options.dismissable; }
|
@@ -11392,6 +11407,10 @@ class CubeViewPaneComponent extends ViewBase {
|
|
11392
11407
|
this._pane.group = this.cube.title;
|
11393
11408
|
this._pane.title = this.view.title;
|
11394
11409
|
this._pane.icon = this.view.icon || this.cube.icon;
|
11410
|
+
if (this.view.type === 'Spreadsheet' ||
|
11411
|
+
this.view.type === 'Grid' ||
|
11412
|
+
(this.view.type === 'Pivot' && !this.view.chartType))
|
11413
|
+
this._pane.stretch = true;
|
11395
11414
|
});
|
11396
11415
|
this._pane.queryParamsChange.subscribe(p => this.originalAxes = p);
|
11397
11416
|
this._pane.resize.subscribe(() => this.viewPane.resize());
|
@@ -17301,8 +17320,7 @@ class DocumentViewRef {
|
|
17301
17320
|
}
|
17302
17321
|
|
17303
17322
|
class ViewItemComponent {
|
17304
|
-
constructor(
|
17305
|
-
this._pane = _pane;
|
17323
|
+
constructor(_http, _vc, _injector, _cf) {
|
17306
17324
|
this._http = _http;
|
17307
17325
|
this._vc = _vc;
|
17308
17326
|
this._injector = _injector;
|
@@ -17341,7 +17359,7 @@ class ViewItemComponent {
|
|
17341
17359
|
this._destroy.complete();
|
17342
17360
|
}
|
17343
17361
|
}
|
17344
|
-
ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, deps: [{ token:
|
17362
|
+
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 });
|
17345
17363
|
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 });
|
17346
17364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ViewItemComponent, decorators: [{
|
17347
17365
|
type: Component,
|
@@ -17350,9 +17368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
17350
17368
|
template: '',
|
17351
17369
|
//host: { class: 'bz-view' }
|
17352
17370
|
}]
|
17353
|
-
}], ctorParameters: function () { return [{ type:
|
17354
|
-
type: Optional
|
17355
|
-
}] }, { type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
|
17371
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
|
17356
17372
|
type: Input
|
17357
17373
|
}], view: [{
|
17358
17374
|
type: Input
|
@@ -18498,6 +18514,7 @@ class SlotsComponent {
|
|
18498
18514
|
this.panes = [];
|
18499
18515
|
this.tabs = [];
|
18500
18516
|
this._selectedTabIndex = -1;
|
18517
|
+
this.dialog = false;
|
18501
18518
|
this.selectedIndex = -1;
|
18502
18519
|
this.dragging = false;
|
18503
18520
|
this.ripple = {
|
@@ -18527,6 +18544,7 @@ class SlotsComponent {
|
|
18527
18544
|
}
|
18528
18545
|
set selectedTabIndex(value) {
|
18529
18546
|
this._selectedTabIndex = value;
|
18547
|
+
this.dialog = this._selectedTabIndex > -1 && this.tabs.at(this._selectedTabIndex).dialog;
|
18530
18548
|
this._setTabAnimation();
|
18531
18549
|
}
|
18532
18550
|
_setTabAnimation() {
|
@@ -18609,7 +18627,7 @@ class SlotsComponent {
|
|
18609
18627
|
this.group = tab.group;
|
18610
18628
|
this.selectedTabIndex = i;
|
18611
18629
|
this._cd.detectChanges();
|
18612
|
-
this.
|
18630
|
+
this._sync();
|
18613
18631
|
return;
|
18614
18632
|
}
|
18615
18633
|
}
|
@@ -18617,7 +18635,7 @@ class SlotsComponent {
|
|
18617
18635
|
await this._navParams(path, tab, params, queryParams, state);
|
18618
18636
|
this.group = tab.group;
|
18619
18637
|
this.selectedTabIndex = i;
|
18620
|
-
this.
|
18638
|
+
this._sync();
|
18621
18639
|
return;
|
18622
18640
|
}
|
18623
18641
|
i++;
|
@@ -18639,13 +18657,13 @@ class SlotsComponent {
|
|
18639
18657
|
else {
|
18640
18658
|
this._navQueryParams(pane, queryParams, state);
|
18641
18659
|
this.scrollTo(i);
|
18642
|
-
this.
|
18660
|
+
this._sync();
|
18643
18661
|
return;
|
18644
18662
|
}
|
18645
18663
|
}
|
18646
18664
|
else if (pane.route === route) {
|
18647
18665
|
await this._navParams(path, pane, params, queryParams, state);
|
18648
|
-
this.
|
18666
|
+
this._sync();
|
18649
18667
|
return;
|
18650
18668
|
}
|
18651
18669
|
i++;
|
@@ -18686,13 +18704,13 @@ class SlotsComponent {
|
|
18686
18704
|
pane._fullscreen$.next(this.panes.length === 1);
|
18687
18705
|
}
|
18688
18706
|
route &&
|
18689
|
-
this.
|
18707
|
+
this._sync();
|
18690
18708
|
}
|
18691
18709
|
else {
|
18692
18710
|
const pane = (policy & OpenPolicy.Tab) == OpenPolicy.Tab ?
|
18693
18711
|
this.tabs[this.selectedTabIndex] : this.panes[this.selectedIndex];
|
18694
18712
|
this._navQueryParams(pane, queryParams, state);
|
18695
|
-
this.
|
18713
|
+
this._sync();
|
18696
18714
|
if ((policy & OpenPolicy.Tab) != OpenPolicy.Tab)
|
18697
18715
|
this.select(this.selectedIndex);
|
18698
18716
|
}
|
@@ -18952,7 +18970,7 @@ class SlotsComponent {
|
|
18952
18970
|
this._cd.detectChanges();
|
18953
18971
|
}
|
18954
18972
|
/** */
|
18955
|
-
|
18973
|
+
_sync() {
|
18956
18974
|
this._navigating = true;
|
18957
18975
|
this._history('push');
|
18958
18976
|
setTimeout(() => this._navigating = false, 200);
|
@@ -18985,7 +19003,7 @@ class SlotsComponent {
|
|
18985
19003
|
const pane = this.panes[evt.previousIndex];
|
18986
19004
|
this.panes.splice(evt.previousIndex, 1);
|
18987
19005
|
this.panes.splice(evt.currentIndex, 0, pane);
|
18988
|
-
this.
|
19006
|
+
this._sync();
|
18989
19007
|
}
|
18990
19008
|
togglePinned(pane) {
|
18991
19009
|
pane.pinned = !pane.pinned;
|
@@ -19118,8 +19136,11 @@ class SlotsComponent {
|
|
19118
19136
|
return pane;
|
19119
19137
|
}
|
19120
19138
|
_insertPane(component, options, position) {
|
19121
|
-
|
19122
|
-
const pane = this._constract(component, 'pane',
|
19139
|
+
const stretch = (options.policy & OpenPolicy.Stretch) == OpenPolicy.Stretch;
|
19140
|
+
const pane = this._constract(component, 'pane', {
|
19141
|
+
stretch,
|
19142
|
+
...options
|
19143
|
+
});
|
19123
19144
|
if (position === undefined)
|
19124
19145
|
position = this.panes.length;
|
19125
19146
|
this.panes.push(pane);
|
@@ -19149,6 +19170,11 @@ class SlotsComponent {
|
|
19149
19170
|
pane._comm$.subscribe(e => this._action(e, pane));
|
19150
19171
|
return pane;
|
19151
19172
|
}
|
19173
|
+
/**
|
19174
|
+
*
|
19175
|
+
* @param component
|
19176
|
+
* @param options
|
19177
|
+
*/
|
19152
19178
|
_insertTab(component, options) {
|
19153
19179
|
const { policy } = options, dialog = (policy & OpenPolicy.Dialog) == OpenPolicy.Dialog, dismissable = (policy & OpenPolicy.Dismissable) == OpenPolicy.Dismissable;
|
19154
19180
|
const tab = this._constract(component, 'tab', {
|
@@ -19157,7 +19183,6 @@ class SlotsComponent {
|
|
19157
19183
|
dismissable
|
19158
19184
|
});
|
19159
19185
|
this.tabs.push(tab);
|
19160
|
-
this.dialog = dialog;
|
19161
19186
|
this._router._events$.next(new NavigationStart(tab));
|
19162
19187
|
this._cd.detectChanges();
|
19163
19188
|
if (tab.group && this.group !== tab.group && options.swap !== false) {
|
@@ -19200,6 +19225,11 @@ class SlotsComponent {
|
|
19200
19225
|
this._back(this.swapTab);
|
19201
19226
|
this.swapTab = null;
|
19202
19227
|
}
|
19228
|
+
/**
|
19229
|
+
*
|
19230
|
+
* @param e
|
19231
|
+
* @param pane
|
19232
|
+
*/
|
19203
19233
|
_action(e, pane) {
|
19204
19234
|
switch (e) {
|
19205
19235
|
case 'focus':
|
@@ -19247,19 +19277,30 @@ class SlotsComponent {
|
|
19247
19277
|
this.tabs.splice(0, this.tabs.length);
|
19248
19278
|
this.selectedTabIndex = -1;
|
19249
19279
|
this.swapTab = null;
|
19250
|
-
this.
|
19251
|
-
this._replaceUrl();
|
19280
|
+
this._sync();
|
19252
19281
|
this._router._events$.next(new CollapseNavigation());
|
19253
19282
|
}
|
19283
|
+
onResize() {
|
19284
|
+
if (this.panes.length && !this.panes[this.panes.length - 1].stretch) {
|
19285
|
+
const el = this._panesContainerRef.element.nativeElement, child = el.lastElementChild;
|
19286
|
+
child.style.minWidth =
|
19287
|
+
(el.parentElement.parentElement.clientWidth - child.offsetLeft - 2) + 'px';
|
19288
|
+
}
|
19289
|
+
}
|
19254
19290
|
_resize() {
|
19291
|
+
//this.tabs.concat(this.panes).forEach(t => t._resize$.next({
|
19292
|
+
//} as any));
|
19255
19293
|
window.dispatchEvent(new Event('resize'));
|
19256
19294
|
}
|
19295
|
+
dismiss() {
|
19296
|
+
this.closeTab(this.selectedTabIndex);
|
19297
|
+
}
|
19257
19298
|
closeTab(position) {
|
19258
19299
|
const tab = this.tabs[position];
|
19259
19300
|
this.tabs.splice(position, 1);
|
19260
19301
|
this._destroyPane(tab);
|
19261
19302
|
this.selectedTabIndex = this.tabs.length ? position > 0 ? position - 1 : 0 : -1;
|
19262
|
-
this.
|
19303
|
+
this._sync();
|
19263
19304
|
}
|
19264
19305
|
expandPane() {
|
19265
19306
|
const pane = this.panes[this.selectedIndex];
|
@@ -19274,7 +19315,7 @@ class SlotsComponent {
|
|
19274
19315
|
i++;
|
19275
19316
|
} while (i < this.panes.length);
|
19276
19317
|
this.selectedIndex = 0;
|
19277
|
-
this.
|
19318
|
+
this._sync();
|
19278
19319
|
pane._fullscreen$.next(true);
|
19279
19320
|
}
|
19280
19321
|
_getHistoryStep() {
|
@@ -19290,7 +19331,7 @@ class SlotsComponent {
|
|
19290
19331
|
tab._mode$.next('pane');
|
19291
19332
|
tab._fullscreen$.next(true);
|
19292
19333
|
this.selectedTabIndex = this.tabs.length ? 0 : -1;
|
19293
|
-
this.
|
19334
|
+
this._sync();
|
19294
19335
|
}
|
19295
19336
|
select(position) {
|
19296
19337
|
if (this.selectedIndex === position)
|
@@ -19313,7 +19354,7 @@ class SlotsComponent {
|
|
19313
19354
|
this._discardPane(pane);
|
19314
19355
|
if (position >= this.selectedIndex)
|
19315
19356
|
this.select(-1);
|
19316
|
-
this.
|
19357
|
+
this._sync();
|
19317
19358
|
}
|
19318
19359
|
/**
|
19319
19360
|
*
|
@@ -19403,7 +19444,7 @@ class SlotsComponent {
|
|
19403
19444
|
const el = this._children.item(index);
|
19404
19445
|
el.focus();
|
19405
19446
|
}
|
19406
|
-
|
19447
|
+
onPaneResize(pane, event) {
|
19407
19448
|
const el = event.srcElement.previousElementSibling;
|
19408
19449
|
const // remember mouse down info
|
19409
19450
|
width = el.clientWidth, d = this._rtl ? -1 : 1;
|
@@ -19443,9 +19484,6 @@ class SlotsComponent {
|
|
19443
19484
|
const delta = Math.max((e.clientX - event.clientX) * d, -width);
|
19444
19485
|
el.style.width = el.style.minWidth = (width + delta) + 'px';
|
19445
19486
|
localStorage.setItem('tabs', el.style.width);
|
19446
|
-
// this.tabs[this.selectedTabIndex]._resize$.next({
|
19447
|
-
// height: el.clientHeight, width: width + delta
|
19448
|
-
// });
|
19449
19487
|
}
|
19450
19488
|
}
|
19451
19489
|
_destroyPane(pane) {
|
@@ -19458,7 +19496,7 @@ class SlotsComponent {
|
|
19458
19496
|
}
|
19459
19497
|
}
|
19460
19498
|
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 });
|
19461
|
-
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: ["
|
19499
|
+
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)\"> </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)\"> </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> \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,
|
19462
19500
|
panesTitleAnimation,
|
19463
19501
|
paneAnimation,
|
19464
19502
|
paramAnimation,
|
@@ -19475,13 +19513,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
19475
19513
|
queryAnimation,
|
19476
19514
|
tabsAnimation,
|
19477
19515
|
tabAnimation
|
19478
|
-
], template: "<div class=\"panes\">\r\n <div class=\"
|
19516
|
+
], 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)\"> </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)\"> </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> \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"] }]
|
19479
19517
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
19480
19518
|
type: Inject,
|
19481
19519
|
args: [PANES_DATA]
|
19482
19520
|
}] }, { type: SessionService }, { type: i0.ChangeDetectorRef }, { type: PanesRouter }, { type: WindowTitleService }, { type: GuideService }, { type: i0.Injector }]; }, propDecorators: { _panesContainerRef: [{
|
19483
19521
|
type: ViewChild,
|
19484
|
-
args: ['
|
19522
|
+
args: ['panning', { read: ViewContainerRef, static: true }]
|
19485
19523
|
}], _tabsElement: [{
|
19486
19524
|
type: ViewChild,
|
19487
19525
|
args: ['tabing']
|
@@ -19491,6 +19529,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
19491
19529
|
}], collapse: [{
|
19492
19530
|
type: HostListener,
|
19493
19531
|
args: ['document:keydown.escape']
|
19532
|
+
}], onResize: [{
|
19533
|
+
type: HostListener,
|
19534
|
+
args: ['window:resize']
|
19494
19535
|
}] } });
|
19495
19536
|
const PANE_PARAMS_REGEX = /(:[\w\-]+)/g;
|
19496
19537
|
function prepareRoutes(routes, treePath) {
|
@@ -20048,7 +20089,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
20048
20089
|
const PANES_CONFIG = [{
|
20049
20090
|
path: 'dashboard',
|
20050
20091
|
component: DashboardPaneComponent,
|
20051
|
-
policy: OpenPolicy.Clear,
|
20092
|
+
policy: OpenPolicy.Clear | OpenPolicy.Stretch,
|
20052
20093
|
},
|
20053
20094
|
{ component: BrokenPage, path: 'broken' },
|
20054
20095
|
{
|
@@ -22763,7 +22804,10 @@ let PersonalScoreWidget = class PersonalScoreWidget {
|
|
22763
22804
|
width: 0, position: 'Outside'
|
22764
22805
|
};
|
22765
22806
|
this.legendSettings = {
|
22766
|
-
visible: true, position: 'Top', shape: 'Diamond', alignment: 'Center',
|
22807
|
+
visible: true, position: 'Top', shape: 'Diamond', alignment: 'Center',
|
22808
|
+
padding: 0, margin: { top: 0 },
|
22809
|
+
location: { y: 0 },
|
22810
|
+
textStyle: {
|
22767
22811
|
fontFamily: FONT_FAMILY
|
22768
22812
|
}
|
22769
22813
|
};
|
@@ -22872,6 +22916,15 @@ let PersonalScoreWidget = class PersonalScoreWidget {
|
|
22872
22916
|
}
|
22873
22917
|
_draw() {
|
22874
22918
|
this.gauge && this.gauge.destroy();
|
22919
|
+
const axes = [{
|
22920
|
+
radius: '90%', maximum: this.max,
|
22921
|
+
startAngle: 270,
|
22922
|
+
endAngle: 90,
|
22923
|
+
majorTicks: this.majorTicks, direction: this.direction,
|
22924
|
+
labelStyle: this.labelStyle, lineStyle: this.lineStyle, minorTicks: this.minorTicks,
|
22925
|
+
ranges: this.ranges,
|
22926
|
+
pointers: this.pointers
|
22927
|
+
}];
|
22875
22928
|
this.gauge = new CircularGauge({
|
22876
22929
|
tooltip: this.tooltip,
|
22877
22930
|
centerY: '50%',
|
@@ -22885,15 +22938,7 @@ let PersonalScoreWidget = class PersonalScoreWidget {
|
|
22885
22938
|
legendSettings: this.legendSettings,
|
22886
22939
|
tooltipRender: this.tooltipRender.bind(this),
|
22887
22940
|
enableRtl: this._session.inverse,
|
22888
|
-
axes
|
22889
|
-
radius: '90%', maximum: this.max,
|
22890
|
-
startAngle: 270,
|
22891
|
-
endAngle: 90,
|
22892
|
-
majorTicks: this.majorTicks, direction: this.direction,
|
22893
|
-
labelStyle: this.labelStyle, lineStyle: this.lineStyle, minorTicks: this.minorTicks,
|
22894
|
-
ranges: this.ranges,
|
22895
|
-
pointers: this.pointers
|
22896
|
-
}]
|
22941
|
+
axes
|
22897
22942
|
}, this._elementRef.nativeElement);
|
22898
22943
|
}
|
22899
22944
|
_refresh() {
|
@@ -27330,6 +27375,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27330
27375
|
//{ provide: LOCALE_ID, useClass: SessionService.getLocale() },
|
27331
27376
|
{ provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },
|
27332
27377
|
{ provide: APP_INITIALIZER, useFactory: TranslateProviderFactory, deps: [TranslateService], multi: true },
|
27378
|
+
{ provide: APP_INITIALIZER, useFactory: SessionProviderFactory, deps: [SessionService], multi: true },
|
27333
27379
|
], imports: [[
|
27334
27380
|
DayJsModule,
|
27335
27381
|
CommonModule,
|
@@ -27448,6 +27494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
27448
27494
|
//{ provide: LOCALE_ID, useClass: SessionService.getLocale() },
|
27449
27495
|
{ provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },
|
27450
27496
|
{ provide: APP_INITIALIZER, useFactory: TranslateProviderFactory, deps: [TranslateService], multi: true },
|
27497
|
+
{ provide: APP_INITIALIZER, useFactory: SessionProviderFactory, deps: [SessionService], multi: true },
|
27451
27498
|
],
|
27452
27499
|
exports: [FileInput, FilterTagsComponent,
|
27453
27500
|
DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|