@bizdoc/core 1.14.4 → 1.14.8
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/bizdoc-schema.json +7 -2
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +2 -2
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +2 -2
- package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -11
- package/esm2020/lib/app.component.mjs +4 -3
- package/esm2020/lib/browse/browse.pane.component.mjs +3 -4
- package/esm2020/lib/compose/compose.pane.component.mjs +4 -3
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +2 -2
- package/esm2020/lib/core/configuration.mjs +5 -5
- package/esm2020/lib/core/guide/guide.component.mjs +27 -15
- package/esm2020/lib/core/guide/help-tip.component.mjs +58 -0
- package/esm2020/lib/core/router.mjs +3 -1
- package/esm2020/lib/core/slots/pane-ref.mjs +35 -29
- package/esm2020/lib/core/slots/router.directive.mjs +3 -5
- package/esm2020/lib/core/slots/router.service.mjs +1 -4
- package/esm2020/lib/core/slots/slots.component.mjs +129 -93
- package/esm2020/lib/cube/cube-view.component.mjs +2 -2
- package/esm2020/lib/cube/matrix/matrix.base.mjs +1 -1
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
- package/esm2020/lib/cube/view.pane.component.mjs +5 -5
- package/esm2020/lib/dashboard/dashboard.component.mjs +25 -17
- package/esm2020/lib/dashboard/widget-item.component.mjs +2 -1
- package/esm2020/lib/reports/report-viewer.component.mjs +1 -1
- package/esm2020/lib/reports/report.pane.component.mjs +2 -2
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +2 -2
- package/esm2020/lib/shared.module.mjs +4 -3
- package/esm2020/lib/views/view-item.component.mjs +3 -2
- package/esm2020/lib/views/views.component.mjs +11 -3
- package/esm2020/lib/views/views.pane.component.mjs +14 -10
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +347 -241
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +348 -240
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/profiler/profiler.component.d.ts +0 -1
- package/lib/core/configuration.d.ts +4 -4
- package/lib/core/guide/guide.component.d.ts +2 -2
- package/lib/core/guide/help-tip.component.d.ts +16 -0
- package/lib/core/router.d.ts +2 -0
- package/lib/core/slots/pane-ref.d.ts +47 -45
- package/lib/core/slots/router.service.d.ts +2 -3
- package/lib/core/slots/slots.component.d.ts +21 -14
- package/lib/cube/matrix/matrix.base.d.ts +2 -2
- package/lib/cube/matrix/matrix.pane.component.d.ts +14 -1
- package/lib/dashboard/dashboard.component.d.ts +6 -2
- package/lib/dashboard/widget-item.component.d.ts +2 -0
- package/lib/shared.module.d.ts +183 -182
- package/lib/views/view-item.component.d.ts +2 -0
- package/lib/views/views.component.d.ts +4 -0
- package/lib/views/views.pane.component.d.ts +3 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -79,7 +79,7 @@ import { MatChipsModule, MatChipList, MatChipInput } from '@angular/material/chi
|
|
79
79
|
import * as i22 from '@angular/cdk/drag-drop';
|
80
80
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
81
81
|
import { LayoutModule } from '@angular/cdk/layout';
|
82
|
-
import * as i6$
|
82
|
+
import * as i6$2 from '@angular/material/expansion';
|
83
83
|
import { MatExpansionModule, MatExpansionPanel } from '@angular/material/expansion';
|
84
84
|
import * as i5$2 from '@angular/material/table';
|
85
85
|
import { MatTableModule, MatTableDataSource } from '@angular/material/table';
|
@@ -95,7 +95,7 @@ import * as i9$4 from '@angular/material/sidenav';
|
|
95
95
|
import { MatSidenavModule, MatSidenav } from '@angular/material/sidenav';
|
96
96
|
import * as i19 from '@angular/material/card';
|
97
97
|
import { MatCardModule } from '@angular/material/card';
|
98
|
-
import * as
|
98
|
+
import * as i7$4 from '@angular/material/grid-list';
|
99
99
|
import { MatGridListModule } from '@angular/material/grid-list';
|
100
100
|
import { MatStepperIntl, MatStepperModule } from '@angular/material/stepper';
|
101
101
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
@@ -123,7 +123,7 @@ import * as i16 from '@syncfusion/ej2-angular-charts';
|
|
123
123
|
import { AccumulationChart, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, RangeNavigator, AreaSeries, LineSeries, DateTime, RangeTooltip, Sparkline, SparklineTooltip, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, Chart as Chart$1, Category, Tooltip as Tooltip$1, Legend, Selection as Selection$1, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, AccumulationChartComponent, ChartComponent } from '@syncfusion/ej2-angular-charts';
|
124
124
|
import { Workbook } from '@syncfusion/ej2-excel-export';
|
125
125
|
import { Chart } from '@syncfusion/ej2-charts';
|
126
|
-
import * as i6$
|
126
|
+
import * as i6$3 from '@syncfusion/ej2-angular-grids';
|
127
127
|
import { Grid, Selection, Aggregate, Freeze, ExcelExport, Resize, GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, GridComponent } from '@syncfusion/ej2-angular-grids';
|
128
128
|
import { PivotView } from '@syncfusion/ej2-pivotview';
|
129
129
|
import { Tooltip } from '@syncfusion/ej2-popups';
|
@@ -139,7 +139,7 @@ import * as i10$1 from '@syncfusion/ej2-angular-kanban';
|
|
139
139
|
import { KanbanComponent, KanbanModule } from '@syncfusion/ej2-angular-kanban';
|
140
140
|
import { CircularGaugeModule, AnnotationsService, GaugeTooltipService, LegendService as LegendService$1, CircularGauge, Annotations, GaugeTooltip, CircularGaugeComponent, Legend as Legend$1 } from '@syncfusion/ej2-angular-circulargauge';
|
141
141
|
import { PivotViewModule, ExcelExportService as ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, PivotView as PivotView$1, GroupingBar, ExcelExport as ExcelExport$1, PivotChart, PivotViewComponent } from '@syncfusion/ej2-angular-pivotview';
|
142
|
-
import * as i7$
|
142
|
+
import * as i7$5 from '@syncfusion/ej2-angular-gantt';
|
143
143
|
import { GanttModule, ExcelExportService as ExcelExportService$3, DayMarkersService, SelectionService as SelectionService$3, Gantt } from '@syncfusion/ej2-angular-gantt';
|
144
144
|
import relativeTime from 'dayjs/plugin/relativeTime';
|
145
145
|
import duration from 'dayjs/plugin/duration';
|
@@ -838,10 +838,10 @@ var OpenPolicy;
|
|
838
838
|
OpenPolicy[OpenPolicy["Defer"] = 4] = "Defer";
|
839
839
|
OpenPolicy[OpenPolicy["Pinnable"] = 8] = "Pinnable";
|
840
840
|
OpenPolicy[OpenPolicy["Stretch"] = 16] = "Stretch";
|
841
|
-
OpenPolicy[OpenPolicy["
|
842
|
-
OpenPolicy[OpenPolicy["
|
843
|
-
OpenPolicy[OpenPolicy["
|
844
|
-
OpenPolicy[OpenPolicy["
|
841
|
+
OpenPolicy[OpenPolicy["Expandable"] = 32] = "Expandable";
|
842
|
+
OpenPolicy[OpenPolicy["Toggle"] = 64] = "Toggle";
|
843
|
+
OpenPolicy[OpenPolicy["Tab"] = 128] = "Tab";
|
844
|
+
OpenPolicy[OpenPolicy["Dialog"] = 384] = "Dialog";
|
845
845
|
OpenPolicy[OpenPolicy["Dismissable"] = 512] = "Dismissable";
|
846
846
|
})(OpenPolicy || (OpenPolicy = {}));
|
847
847
|
const DEFAULT_POLICY = OpenPolicy.Pane;
|
@@ -6209,7 +6209,8 @@ class NavigationPaneBase extends NavigationBase {
|
|
6209
6209
|
}
|
6210
6210
|
class NavigationStart extends NavigationPaneBase {
|
6211
6211
|
}
|
6212
|
-
|
6212
|
+
/** pane fucus change */
|
6213
|
+
class NavigationFocus extends NavigationPaneBase {
|
6213
6214
|
}
|
6214
6215
|
class NavigationEnd extends NavigationPaneBase {
|
6215
6216
|
}
|
@@ -6219,10 +6220,16 @@ class NavigationMode extends NavigationPaneBase {
|
|
6219
6220
|
this.mode = mode;
|
6220
6221
|
}
|
6221
6222
|
}
|
6222
|
-
class
|
6223
|
-
constructor(
|
6223
|
+
class NavigationExpand extends NavigationPaneBase {
|
6224
|
+
constructor(expended, pane) {
|
6224
6225
|
super(pane);
|
6225
|
-
this.
|
6226
|
+
this.expended = expended;
|
6227
|
+
}
|
6228
|
+
}
|
6229
|
+
class NavigationResize extends NavigationPaneBase {
|
6230
|
+
constructor(dimentions, pane) {
|
6231
|
+
super(pane);
|
6232
|
+
this.dimentions = dimentions;
|
6226
6233
|
}
|
6227
6234
|
}
|
6228
6235
|
class NavigationClose extends NavigationPaneBase {
|
@@ -6239,8 +6246,9 @@ class QueryParamNavigation extends NavigationPaneBase {
|
|
6239
6246
|
this.queryParams = queryParams;
|
6240
6247
|
}
|
6241
6248
|
}
|
6249
|
+
/** */
|
6242
6250
|
class PaneRef {
|
6243
|
-
constructor(component,
|
6251
|
+
constructor(component, injector, _options) {
|
6244
6252
|
this.component = component;
|
6245
6253
|
this._options = _options;
|
6246
6254
|
this._comm$ = new Subject();
|
@@ -6248,53 +6256,52 @@ class PaneRef {
|
|
6248
6256
|
this._data$ = new BehaviorSubject({});
|
6249
6257
|
this._params$ = new BehaviorSubject({});
|
6250
6258
|
this._queryParams$ = new BehaviorSubject({});
|
6251
|
-
this._resize$ = new BehaviorSubject({});
|
6252
6259
|
this._events$ = new Subject();
|
6253
|
-
|
6254
|
-
|
6255
|
-
this._path = path || '';
|
6260
|
+
const { stretchable, mode, data, params, queryParams, path, queryString, title, group, icon, help, guide, animation, expanded, expandable } = _options;
|
6261
|
+
this._path = path;
|
6256
6262
|
this._mode = mode;
|
6257
|
-
this.
|
6258
|
-
this.
|
6263
|
+
this._stretchable = stretchable;
|
6264
|
+
this._expanded = expanded;
|
6265
|
+
this._queryString = queryString;
|
6266
|
+
this._expandable = expandable !== false;
|
6267
|
+
this._injector = Injector.create([
|
6268
|
+
{ provide: PaneRef, useValue: this }
|
6269
|
+
], injector);
|
6259
6270
|
this.title = title;
|
6260
6271
|
this.group = group;
|
6261
6272
|
this.guide = guide;
|
6262
6273
|
this.help = help;
|
6263
6274
|
this.icon = icon;
|
6264
6275
|
this.animation = animation;
|
6265
|
-
this.
|
6266
|
-
if (expandable === false)
|
6267
|
-
this.expandable = false;
|
6268
|
-
this._data$.next(data);
|
6276
|
+
data && this._data$.next(data);
|
6269
6277
|
params && this._params$.next(params);
|
6270
6278
|
queryParams && this._queryParams$.next(queryParams);
|
6271
6279
|
}
|
6280
|
+
get expandable() { return this._expandable; }
|
6272
6281
|
get injector() { return this._injector; }
|
6273
|
-
get
|
6274
|
-
get fullPath() { return this._path + (this._queryString ? (QUERY_CHAR + this._queryString) : ''); }
|
6282
|
+
get expanded() { return this._expanded; }
|
6283
|
+
get fullPath() { return (this._path || '') + (this._queryString ? (QUERY_CHAR + this._queryString) : ''); }
|
6275
6284
|
get instance() { return this._instance; }
|
6276
6285
|
get data() { return this._data$.value; }
|
6277
6286
|
get dataChange() { return this._data$.asObservable(); }
|
6278
6287
|
get params() { return this._params$.value; }
|
6279
|
-
get resize() { return this._resize$.asObservable(); }
|
6280
6288
|
get paramsChange() { return this._params$.asObservable(); }
|
6281
6289
|
get queryString() { return this._queryString; }
|
6282
6290
|
get queryParams() { return this._queryParams$.value; }
|
6283
6291
|
get queryParamsChange() { return this._queryParams$.asObservable(); }
|
6284
6292
|
get events() { return this._events$.asObservable(); }
|
6293
|
+
get resized() { return this.events.pipe(filter$1(e => e instanceof NavigationResize)); }
|
6285
6294
|
get closing() { return this.events.pipe(filter$1(e => e instanceof NavigationClose)); }
|
6286
|
-
get
|
6287
|
-
;
|
6288
|
-
get fullscreenChange() { return this.events.pipe(filter$1(e => e instanceof NavigationFullscreen)); }
|
6295
|
+
get expandeding() { return this.events.pipe(filter$1(e => e instanceof NavigationExpand)); }
|
6289
6296
|
get path() { return this._path; }
|
6290
6297
|
;
|
6291
6298
|
get mode() { return this._mode; }
|
6292
6299
|
;
|
6293
6300
|
get parent() { return this._options.parent; }
|
6294
6301
|
;
|
6295
|
-
get
|
6302
|
+
get stretchable() { return this._stretchable; }
|
6296
6303
|
;
|
6297
|
-
set
|
6304
|
+
set stretchable(val) { this._stretchable = val; }
|
6298
6305
|
get dialog() { return this._options.dialog; }
|
6299
6306
|
;
|
6300
6307
|
get dismissable() { return this._options.dismissable; }
|
@@ -6305,8 +6312,8 @@ class PaneRef {
|
|
6305
6312
|
return this.parent === pane; //||
|
6306
6313
|
// (this.path && pane.path && this.path.startsWith(pane.path));
|
6307
6314
|
}
|
6308
|
-
|
6309
|
-
this._comm$.next('
|
6315
|
+
recycle() {
|
6316
|
+
this._comm$.next('recycle');
|
6310
6317
|
}
|
6311
6318
|
focus() {
|
6312
6319
|
this._comm$.next('focus');
|
@@ -6321,9 +6328,8 @@ class PaneRef {
|
|
6321
6328
|
this._comm$.complete();
|
6322
6329
|
this._data$.complete();
|
6323
6330
|
this._params$.complete();
|
6324
|
-
this._resize$.complete();
|
6325
|
-
this._events$.complete();
|
6326
6331
|
this._queryParams$.complete();
|
6332
|
+
this._events$.complete();
|
6327
6333
|
}
|
6328
6334
|
}
|
6329
6335
|
|
@@ -7043,9 +7049,6 @@ class PanesRouter {
|
|
7043
7049
|
this._comm$ = new Subject();
|
7044
7050
|
this._navigate$ = new Subject();
|
7045
7051
|
}
|
7046
|
-
get active() {
|
7047
|
-
return this._active;
|
7048
|
-
}
|
7049
7052
|
navigate(commands, options) {
|
7050
7053
|
return new Promise((resolve, reject) => {
|
7051
7054
|
this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe((e) => resolve(e.pane), reject);
|
@@ -7066,6 +7069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
7066
7069
|
|
7067
7070
|
class RouterImpl {
|
7068
7071
|
}
|
7072
|
+
/** desktop */
|
7069
7073
|
class PaneRouter extends RouterImpl {
|
7070
7074
|
constructor(_router) {
|
7071
7075
|
super();
|
@@ -7080,6 +7084,7 @@ PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
7080
7084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaneRouter, decorators: [{
|
7081
7085
|
type: Injectable
|
7082
7086
|
}], ctorParameters: function () { return [{ type: PanesRouter }]; } });
|
7087
|
+
/** mobile */
|
7083
7088
|
class NgRouter extends RouterImpl {
|
7084
7089
|
constructor(_router) {
|
7085
7090
|
super();
|
@@ -8440,21 +8445,30 @@ class GuideComponent {
|
|
8440
8445
|
this._overlay = _overlay;
|
8441
8446
|
this._ngRouter = _ngRouter;
|
8442
8447
|
this._overlayRef = _overlayRef;
|
8443
|
-
this.index =
|
8448
|
+
this.index = -1;
|
8444
8449
|
this.count = this._data.steps.length;
|
8445
8450
|
this.working = true;
|
8446
8451
|
}
|
8447
8452
|
ngOnInit() {
|
8448
|
-
this.
|
8453
|
+
if (this._data.name) {
|
8454
|
+
const lastindex = localStorage.getItem(this._data.name + '_guide_step');
|
8455
|
+
if (lastindex) {
|
8456
|
+
this.index = Number.parseInt(lastindex);
|
8457
|
+
}
|
8458
|
+
}
|
8459
|
+
this._moveBy(1);
|
8449
8460
|
}
|
8450
8461
|
/**
|
8451
8462
|
*
|
8452
|
-
* @param
|
8463
|
+
* @param steps
|
8453
8464
|
*/
|
8454
|
-
|
8455
|
-
const index = this.index +
|
8456
|
-
if (index < 0 || index
|
8465
|
+
_moveBy(steps) {
|
8466
|
+
const index = this.index + steps;
|
8467
|
+
if (index < 0 || index > this.count - 1) {
|
8468
|
+
localStorage.removeItem(this._data.name + '_guide_step');
|
8457
8469
|
return;
|
8470
|
+
}
|
8471
|
+
this._data.name && localStorage.setItem(this._data.name + '_guide_step', this.index.toString());
|
8458
8472
|
this.working = true;
|
8459
8473
|
const step = this._data.steps[index];
|
8460
8474
|
const { selector, position, navigate, simulate } = step, promisses = [];
|
@@ -8465,8 +8479,11 @@ class GuideComponent {
|
|
8465
8479
|
let positionStrategy;
|
8466
8480
|
if (selector) {
|
8467
8481
|
const element = document.querySelector(selector);
|
8468
|
-
if (!element)
|
8469
|
-
|
8482
|
+
if (!element) {
|
8483
|
+
console.warn(`Guide ${this._data.name} selector '${selector}' not found. skipping.`);
|
8484
|
+
this._moveBy(steps);
|
8485
|
+
return;
|
8486
|
+
}
|
8470
8487
|
let positions;
|
8471
8488
|
switch (position) {
|
8472
8489
|
case 'Above':
|
@@ -8520,10 +8537,10 @@ class GuideComponent {
|
|
8520
8537
|
if (!this.working)
|
8521
8538
|
switch (evt.keyCode) {
|
8522
8539
|
case LEFT_ARROW:
|
8523
|
-
this.
|
8540
|
+
this._moveBy(this._session.direction === 'ltr' ? -1 : 1);
|
8524
8541
|
break;
|
8525
8542
|
case RIGHT_ARROW:
|
8526
|
-
this.
|
8543
|
+
this._moveBy(this._session.direction === 'ltr' ? 1 : -1);
|
8527
8544
|
break;
|
8528
8545
|
case ESCAPE:
|
8529
8546
|
this.close();
|
@@ -8532,17 +8549,17 @@ class GuideComponent {
|
|
8532
8549
|
}
|
8533
8550
|
}
|
8534
8551
|
next() {
|
8535
|
-
this.
|
8552
|
+
this._moveBy(1);
|
8536
8553
|
}
|
8537
8554
|
prev() {
|
8538
|
-
this.
|
8555
|
+
this._moveBy(-1);
|
8539
8556
|
}
|
8540
8557
|
close() {
|
8541
8558
|
this._overlayRef.detach();
|
8542
8559
|
}
|
8543
8560
|
}
|
8544
8561
|
GuideComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: SessionService }, { token: i1$4.Overlay }, { token: i1$6.Router }, { token: i1$4.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
|
8545
|
-
GuideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index
|
8562
|
+
GuideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index >= count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n", components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "sanitizeHtml": SanitizeHtmlPipe, "translate": TranslatePipe }, animations: [trigger('body', [
|
8546
8563
|
state('here', style({ width: '*', height: '*' })),
|
8547
8564
|
transition('*<=>*', animate('250ms', style({})))
|
8548
8565
|
])] });
|
@@ -8551,7 +8568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
8551
8568
|
args: [{ animations: [trigger('body', [
|
8552
8569
|
state('here', style({ width: '*', height: '*' })),
|
8553
8570
|
transition('*<=>*', animate('250ms', style({})))
|
8554
|
-
])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index
|
8571
|
+
])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index >= count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n" }]
|
8555
8572
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
8556
8573
|
type: Inject,
|
8557
8574
|
args: [TOUR_TOKEN]
|
@@ -9271,7 +9288,8 @@ class ComposePaneComponent {
|
|
9271
9288
|
else
|
9272
9289
|
container.classList.remove('drag');
|
9273
9290
|
});
|
9274
|
-
this.
|
9291
|
+
this.expendable = !this._pane.expanded;
|
9292
|
+
this._pane.expandeding.subscribe(e => this.expendable = !e);
|
9275
9293
|
}
|
9276
9294
|
close() {
|
9277
9295
|
this._pane.close();
|
@@ -9290,7 +9308,7 @@ class ComposePaneComponent {
|
|
9290
9308
|
this.form.save().subscribe();
|
9291
9309
|
}
|
9292
9310
|
saved() {
|
9293
|
-
this._pane.
|
9311
|
+
this._pane.recycle();
|
9294
9312
|
}
|
9295
9313
|
navComments() {
|
9296
9314
|
this._navigate('comments').then(paneRef => {
|
@@ -9434,8 +9452,7 @@ class BrowsePaneComponent {
|
|
9434
9452
|
this._pane.title = this._translate.get('Tags');
|
9435
9453
|
this.filters = p;
|
9436
9454
|
});
|
9437
|
-
|
9438
|
-
events.pipe(filter(e => (e instanceof ParamNavigation || e instanceof NavigationStart || e instanceof NavigationSelected)
|
9455
|
+
this._router.events.pipe(takeUntil(this._destroy), filter(e => (e instanceof ParamNavigation || e instanceof NavigationStart || e instanceof NavigationFocus)
|
9439
9456
|
&& e.pane.component === ComposePaneComponent)).
|
9440
9457
|
subscribe((e) => this.items.select(e.pane.data.item.id));
|
9441
9458
|
this.contains.valueChanges.pipe(takeUntil(this._destroy), debounceTime(200)).subscribe(v => this.filters = { ...this.filters, contains: v });
|
@@ -11161,7 +11178,7 @@ class CubeViewComponent {
|
|
11161
11178
|
this._viewDestroy = new Subject();
|
11162
11179
|
}
|
11163
11180
|
ngOnInit() {
|
11164
|
-
this._resizing.pipe(debounceTime(
|
11181
|
+
this._resizing.pipe(debounceTime(150)).subscribe(() => {
|
11165
11182
|
const { width, height } = this._dim();
|
11166
11183
|
switch (this.view.type) {
|
11167
11184
|
case 'Pivot':
|
@@ -11432,10 +11449,10 @@ class CubeViewPaneComponent extends ViewBase {
|
|
11432
11449
|
if (this.view.type === 'Spreadsheet' ||
|
11433
11450
|
this.view.type === 'Grid' ||
|
11434
11451
|
(this.view.type === 'Pivot' && !this.view.chartType))
|
11435
|
-
this._pane.
|
11452
|
+
this._pane.stretchable = true;
|
11436
11453
|
});
|
11437
11454
|
this._pane.queryParamsChange.subscribe(p => this.originalAxes = p);
|
11438
|
-
this._pane.
|
11455
|
+
this._pane.resized.subscribe(() => this.viewPane.resize());
|
11439
11456
|
}
|
11440
11457
|
/**
|
11441
11458
|
*
|
@@ -11465,12 +11482,12 @@ class CubeViewPaneComponent extends ViewBase {
|
|
11465
11482
|
}
|
11466
11483
|
}
|
11467
11484
|
CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: Popup }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component });
|
11468
|
-
CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n
|
11485
|
+
CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i9$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
|
11469
11486
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
|
11470
11487
|
type: Component,
|
11471
11488
|
args: [{ host: {
|
11472
11489
|
class: 'pane'
|
11473
|
-
}, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n
|
11490
|
+
}, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
|
11474
11491
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: PaneRef }, { type: Popup }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }]; }, propDecorators: { viewPane: [{
|
11475
11492
|
type: ViewChild,
|
11476
11493
|
args: [CubeViewComponent, { static: true }]
|
@@ -13118,7 +13135,7 @@ class ReportPaneComponent {
|
|
13118
13135
|
this._cd.detectChanges();
|
13119
13136
|
});
|
13120
13137
|
this._pane.queryParamsChange.subscribe(() => this.viewer.execute());
|
13121
|
-
this._pane.
|
13138
|
+
this._pane.resized.subscribe(() => this.viewer.resize());
|
13122
13139
|
}
|
13123
13140
|
filter(evt) {
|
13124
13141
|
this._popup.open(ReportArgumentsComponent, evt.currentTarget).opened.
|
@@ -13556,7 +13573,7 @@ class WorkflowComponent {
|
|
13556
13573
|
this.diagram.fitToPage();
|
13557
13574
|
this.dirty = false;
|
13558
13575
|
});
|
13559
|
-
this._pane.
|
13576
|
+
this._pane.resized.pipe(takeUntil(this._destroy)).subscribe(() => this.diagram.refresh());
|
13560
13577
|
}
|
13561
13578
|
_palettes() {
|
13562
13579
|
this._session.profile.nodes.forEach(n => {
|
@@ -15035,7 +15052,7 @@ class TracePaneComponent {
|
|
15035
15052
|
this.model = d['item'];
|
15036
15053
|
this._pane.group = `#${this.model.number}`;
|
15037
15054
|
});
|
15038
|
-
this._pane.
|
15055
|
+
this._pane.resized.subscribe(() => {
|
15039
15056
|
this.flow.resize();
|
15040
15057
|
});
|
15041
15058
|
}
|
@@ -15426,7 +15443,7 @@ class SchedulerPaneComponent {
|
|
15426
15443
|
this.date = date ? dayjs(date.decodeId()).startOf('minute').toDate() :
|
15427
15444
|
dayjs().startOf('day').toDate();
|
15428
15445
|
});
|
15429
|
-
this._pane.
|
15446
|
+
this._pane.resized.subscribe(this._resize.bind(this));
|
15430
15447
|
}
|
15431
15448
|
_resize() {
|
15432
15449
|
this.height = (this._element.nativeElement.offsetParent.clientHeight) + 'px';
|
@@ -17147,53 +17164,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
17147
17164
|
}]
|
17148
17165
|
}], ctorParameters: function () { return [{ type: PaneRef }, { type: TranslateService }, { type: AccountService }, { type: ChatService }, { type: SessionService }]; } });
|
17149
17166
|
|
17150
|
-
const TIME = 1000;
|
17151
|
-
class WindowTitleService {
|
17152
|
-
constructor(config, users, translate, hub) {
|
17153
|
-
this.config = config;
|
17154
|
-
this._inFocus = true;
|
17155
|
-
this._isActive = false;
|
17156
|
-
this._mode = false;
|
17157
|
-
this._appTitle = this.config.appTitle || 'BizDoc';
|
17158
|
-
document.addEventListener('blur', () => this._inFocus = false);
|
17159
|
-
document.addEventListener('focus', () => {
|
17160
|
-
this._isActive &&
|
17161
|
-
this._clear();
|
17162
|
-
this._inFocus = true;
|
17163
|
-
});
|
17164
|
-
hub.new$.subscribe(i => users.get(i.model.senderId).subscribe(u => !this._inFocus && this._show(translate.get('NewFrom', i.model.number, u.name))));
|
17165
|
-
hub.notify$.subscribe(n => !this._inFocus && this._show(n.model.title));
|
17166
|
-
this._title = document.title;
|
17167
|
-
}
|
17168
|
-
set(value) {
|
17169
|
-
document.title = this._title = value ? `${this._appTitle} - ${value}` : this._appTitle;
|
17170
|
-
}
|
17171
|
-
_show(message) {
|
17172
|
-
this._message = message;
|
17173
|
-
this._isActive = true;
|
17174
|
-
this._task && clearInterval(this._task);
|
17175
|
-
this._task = setInterval(() => {
|
17176
|
-
this._mode = !this._mode;
|
17177
|
-
document.title = this._mode ? this._title : this._message;
|
17178
|
-
}, TIME);
|
17179
|
-
}
|
17180
|
-
_clear() {
|
17181
|
-
clearInterval(this._task);
|
17182
|
-
this._task = null;
|
17183
|
-
document.title = this._title;
|
17184
|
-
this._isActive = false;
|
17185
|
-
}
|
17186
|
-
}
|
17187
|
-
WindowTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, deps: [{ token: BIZDOC_CONFIG }, { token: AccountService }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Injectable });
|
17188
|
-
WindowTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, providedIn: 'root' });
|
17189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, decorators: [{
|
17190
|
-
type: Injectable,
|
17191
|
-
args: [{ providedIn: 'root' }]
|
17192
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
17193
|
-
type: Inject,
|
17194
|
-
args: [BIZDOC_CONFIG]
|
17195
|
-
}] }, { type: AccountService }, { type: TranslateService }, { type: HubService }]; } });
|
17196
|
-
|
17197
17167
|
class WidgetRef {
|
17198
17168
|
constructor(_widget, dim) {
|
17199
17169
|
this._widget = _widget;
|
@@ -17225,6 +17195,7 @@ class WidgetItemComponent {
|
|
17225
17195
|
ngOnInit() {
|
17226
17196
|
this._resizing.pipe(debounceTime(150)).subscribe(() => this._widgetRef._resize.next(this._dim()));
|
17227
17197
|
}
|
17198
|
+
get widgetRef() { return this._widgetRef; }
|
17228
17199
|
ngAfterViewInit() {
|
17229
17200
|
// dom height
|
17230
17201
|
setTimeout(() => {
|
@@ -17288,14 +17259,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
17288
17259
|
args: ['window:resize']
|
17289
17260
|
}] } });
|
17290
17261
|
|
17262
|
+
const TIME = 1000;
|
17263
|
+
class WindowTitleService {
|
17264
|
+
constructor(config, users, translate, hub) {
|
17265
|
+
this.config = config;
|
17266
|
+
this._inFocus = true;
|
17267
|
+
this._isActive = false;
|
17268
|
+
this._mode = false;
|
17269
|
+
this._appTitle = this.config.appTitle || 'BizDoc';
|
17270
|
+
document.addEventListener('blur', () => this._inFocus = false);
|
17271
|
+
document.addEventListener('focus', () => {
|
17272
|
+
this._isActive &&
|
17273
|
+
this._clear();
|
17274
|
+
this._inFocus = true;
|
17275
|
+
});
|
17276
|
+
hub.new$.subscribe(i => users.get(i.model.senderId).subscribe(u => !this._inFocus && this._show(translate.get('NewFrom', i.model.number, u.name))));
|
17277
|
+
hub.notify$.subscribe(n => !this._inFocus && this._show(n.model.title));
|
17278
|
+
this._title = document.title;
|
17279
|
+
}
|
17280
|
+
set(value) {
|
17281
|
+
document.title = this._title = value ? `${this._appTitle} - ${value}` : this._appTitle;
|
17282
|
+
}
|
17283
|
+
_show(message) {
|
17284
|
+
this._message = message;
|
17285
|
+
this._isActive = true;
|
17286
|
+
this._task && clearInterval(this._task);
|
17287
|
+
this._task = setInterval(() => {
|
17288
|
+
this._mode = !this._mode;
|
17289
|
+
document.title = this._mode ? this._title : this._message;
|
17290
|
+
}, TIME);
|
17291
|
+
}
|
17292
|
+
_clear() {
|
17293
|
+
clearInterval(this._task);
|
17294
|
+
this._task = null;
|
17295
|
+
document.title = this._title;
|
17296
|
+
this._isActive = false;
|
17297
|
+
}
|
17298
|
+
}
|
17299
|
+
WindowTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, deps: [{ token: BIZDOC_CONFIG }, { token: AccountService }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Injectable });
|
17300
|
+
WindowTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, providedIn: 'root' });
|
17301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: WindowTitleService, decorators: [{
|
17302
|
+
type: Injectable,
|
17303
|
+
args: [{ providedIn: 'root' }]
|
17304
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
17305
|
+
type: Inject,
|
17306
|
+
args: [BIZDOC_CONFIG]
|
17307
|
+
}] }, { type: AccountService }, { type: TranslateService }, { type: HubService }]; } });
|
17308
|
+
|
17291
17309
|
/** dashboard component*/
|
17292
17310
|
class DashboardComponent {
|
17293
|
-
constructor(_guide, observableMedia, session, title, translate) {
|
17311
|
+
constructor(_guide, observableMedia, session, pane, title, translate) {
|
17294
17312
|
this._guide = _guide;
|
17295
17313
|
this._destroy = new Subject();
|
17296
17314
|
this.cols = 3;
|
17297
17315
|
title.set(translate.get('Dashboard'));
|
17298
17316
|
this.widgets = session.profile.widgets;
|
17317
|
+
pane?.resized.subscribe(() => this.components?.forEach(c => c.resize.bind(this)));
|
17299
17318
|
observableMedia.asObservable().pipe(takeUntil(this._destroy)).subscribe(m => {
|
17300
17319
|
const { mqAlias } = m[0];
|
17301
17320
|
this.cols = (mqAlias === 'xs' || mqAlias === 'sm') ? 1 : mqAlias === 'md' ? 2 : 3;
|
@@ -17309,12 +17328,17 @@ class DashboardComponent {
|
|
17309
17328
|
this._destroy.complete();
|
17310
17329
|
}
|
17311
17330
|
}
|
17312
|
-
DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DashboardComponent, deps: [{ token: GuideService }, { token: i2$4.MediaObserver }, { token: SessionService }, { token: WindowTitleService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
17313
|
-
DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DashboardComponent, selector: "bizdoc-dashboard", ngImport: i0, template: "<mat-grid-list [cols]=\"cols\" @deshboard>\r\n <mat-grid-tile *ngFor=\"let w of widgets\" [colspan]=\"w.cols && w.cols <= cols ? w.cols : 1\" [rowspan]=\"w.rows || 1\">\r\n <mat-card @card>\r\n <mat-card-header>\r\n <mat-card-title [attr.data-guide]=\"'widget-'+w.name\">\r\n <span>{{w.title}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"widget.refresh()\" [bizdocTooltip]=\"'Refresh'|translate\" [attr.aria-label]=\"'Refresh'|translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button (click)=\"widget.filter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter'|translate\" *ngIf=\"w.arguments.length||w.argumentsTemplate\"><mat-icon>filter_list</mat-icon></button>\r\n <button mat-icon-button (click)=\"guide(w.guide)\" [bizdocTooltip]=\"'Help' | translate\" [attr.aria-label]=\"'Help'|translate\" *ngIf=\"w.guide\"><mat-icon>help_outline</mat-icon></button>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <bizdoc-widget [model]=\"w\" #widget></bizdoc-widget>\r\n </mat-card-content>\r\n </mat-card>\r\n </mat-grid-tile>\r\n</mat-grid-list>\r\n", styles: [":host{width:100%;height:100%;overflow-y:auto}@media only screen and (min-width: 600px){:host{min-width:600px}}.mat-card{width:calc(100% - 50px);height:calc(100% - 50px);overflow:hidden}.mat-card ::ng-deep .mat-card-header-text{width:100%}.mat-card .mat-card-title{display:flex;flex-direction:row}.mat-card .mat-card-content{height:inherit}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}\n"], components: [{ type:
|
17331
|
+
DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DashboardComponent, deps: [{ token: GuideService }, { token: i2$4.MediaObserver }, { token: SessionService }, { token: PaneRef, optional: true }, { token: WindowTitleService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
17332
|
+
DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DashboardComponent, selector: "bizdoc-dashboard", viewQueries: [{ propertyName: "components", predicate: WidgetItemComponent, descendants: true }], ngImport: i0, template: "<mat-grid-list [cols]=\"cols\" @deshboard>\r\n <mat-grid-tile *ngFor=\"let w of widgets\" [colspan]=\"w.cols && w.cols <= cols ? w.cols : 1\" [rowspan]=\"w.rows || 1\">\r\n <mat-card @card>\r\n <mat-card-header>\r\n <mat-card-title [attr.data-guide]=\"'widget-'+w.name\">\r\n <span>{{w.title}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"widget.refresh()\" [bizdocTooltip]=\"'Refresh'|translate\" [attr.aria-label]=\"'Refresh'|translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button (click)=\"widget.filter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter'|translate\" *ngIf=\"w.arguments.length||w.argumentsTemplate\"><mat-icon>filter_list</mat-icon></button>\r\n <button mat-icon-button (click)=\"guide(w.guide)\" [bizdocTooltip]=\"'Help' | translate\" [attr.aria-label]=\"'Help'|translate\" *ngIf=\"w.guide\"><mat-icon>help_outline</mat-icon></button>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <bizdoc-widget [model]=\"w\" #widget></bizdoc-widget>\r\n </mat-card-content>\r\n </mat-card>\r\n </mat-grid-tile>\r\n</mat-grid-list>\r\n", styles: [":host{width:100%;height:100%;overflow-y:auto}@media only screen and (min-width: 600px){:host{min-width:600px}}.mat-card{width:calc(100% - 50px);height:calc(100% - 50px);overflow:hidden}.mat-card ::ng-deep .mat-card-header-text{width:100%}.mat-card .mat-card-title{display:flex;flex-direction:row}.mat-card .mat-card-content{height:inherit}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}\n"], components: [{ type: i7$4.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i7$4.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i19.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i19.MatCardHeader, selector: "mat-card-header" }, { 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: WidgetItemComponent, selector: "bizdoc-widget", inputs: ["model"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i19.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }], pipes: { "translate": TranslatePipe }, animations: [deshboardAnimation, cardsAnimation] });
|
17314
17333
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DashboardComponent, decorators: [{
|
17315
17334
|
type: Component,
|
17316
17335
|
args: [{ selector: 'bizdoc-dashboard', animations: [deshboardAnimation, cardsAnimation], template: "<mat-grid-list [cols]=\"cols\" @deshboard>\r\n <mat-grid-tile *ngFor=\"let w of widgets\" [colspan]=\"w.cols && w.cols <= cols ? w.cols : 1\" [rowspan]=\"w.rows || 1\">\r\n <mat-card @card>\r\n <mat-card-header>\r\n <mat-card-title [attr.data-guide]=\"'widget-'+w.name\">\r\n <span>{{w.title}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"widget.refresh()\" [bizdocTooltip]=\"'Refresh'|translate\" [attr.aria-label]=\"'Refresh'|translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button (click)=\"widget.filter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter'|translate\" *ngIf=\"w.arguments.length||w.argumentsTemplate\"><mat-icon>filter_list</mat-icon></button>\r\n <button mat-icon-button (click)=\"guide(w.guide)\" [bizdocTooltip]=\"'Help' | translate\" [attr.aria-label]=\"'Help'|translate\" *ngIf=\"w.guide\"><mat-icon>help_outline</mat-icon></button>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <bizdoc-widget [model]=\"w\" #widget></bizdoc-widget>\r\n </mat-card-content>\r\n </mat-card>\r\n </mat-grid-tile>\r\n</mat-grid-list>\r\n", styles: [":host{width:100%;height:100%;overflow-y:auto}@media only screen and (min-width: 600px){:host{min-width:600px}}.mat-card{width:calc(100% - 50px);height:calc(100% - 50px);overflow:hidden}.mat-card ::ng-deep .mat-card-header-text{width:100%}.mat-card .mat-card-title{display:flex;flex-direction:row}.mat-card .mat-card-content{height:inherit}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}\n"] }]
|
17317
|
-
}], ctorParameters: function () { return [{ type: GuideService }, { type: i2$4.MediaObserver }, { type: SessionService }, { type:
|
17336
|
+
}], ctorParameters: function () { return [{ type: GuideService }, { type: i2$4.MediaObserver }, { type: SessionService }, { type: PaneRef, decorators: [{
|
17337
|
+
type: Optional
|
17338
|
+
}] }, { type: WindowTitleService }, { type: TranslateService }]; }, propDecorators: { components: [{
|
17339
|
+
type: ViewChildren,
|
17340
|
+
args: [WidgetItemComponent]
|
17341
|
+
}] } });
|
17318
17342
|
|
17319
17343
|
/** dashboard component*/
|
17320
17344
|
class DashboardPaneComponent {
|
@@ -17371,6 +17395,7 @@ class ViewItemComponent {
|
|
17371
17395
|
this._destroy = new Subject();
|
17372
17396
|
}
|
17373
17397
|
get hidden() { return this._viewRef && this._viewRef.hidden; }
|
17398
|
+
get viewRef() { return this._viewRef; }
|
17374
17399
|
ngAfterViewInit() {
|
17375
17400
|
// dom
|
17376
17401
|
const factory = this._cf.resolve(this.view.template);
|
@@ -17382,7 +17407,7 @@ class ViewItemComponent {
|
|
17382
17407
|
}
|
17383
17408
|
catch (e) {
|
17384
17409
|
}
|
17385
|
-
this._resizing.pipe(debounceTime(
|
17410
|
+
this._resizing.pipe(debounceTime(150), takeUntil$1(this._destroy)).subscribe(() => this._viewRef._resize.next(this._dim()));
|
17386
17411
|
}
|
17387
17412
|
_dim() {
|
17388
17413
|
let el = this._vc.element.nativeElement.parentElement, dim = el.getBoundingClientRect();
|
@@ -17429,31 +17454,36 @@ class DocumentViewsComponent {
|
|
17429
17454
|
this._cd.detectChanges();
|
17430
17455
|
this.views = this._session.profile.views.filter(v => !v.forms || v.forms.indexOf(this.model.formId) > -1);
|
17431
17456
|
}
|
17457
|
+
resize() {
|
17458
|
+
this.components.forEach(c => c.resize());
|
17459
|
+
}
|
17432
17460
|
}
|
17433
17461
|
DocumentViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
17434
|
-
DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
17462
|
+
DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, viewQueries: [{ propertyName: "components", predicate: ViewItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
17435
17463
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DocumentViewsComponent, decorators: [{
|
17436
17464
|
type: Component,
|
17437
17465
|
args: [{ selector: 'bizdoc-document-views', template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"] }]
|
17438
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SessionService }]; }, propDecorators: {
|
17466
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SessionService }]; }, propDecorators: { components: [{
|
17467
|
+
type: ViewChildren,
|
17468
|
+
args: [ViewItemComponent]
|
17469
|
+
}], model: [{
|
17439
17470
|
type: Input
|
17440
17471
|
}] } });
|
17441
17472
|
|
17442
17473
|
class DocumentViewPaneComponent {
|
17443
|
-
constructor(session, translate,
|
17444
|
-
|
17445
|
-
|
17446
|
-
_pane.dataChange.subscribe(d => {
|
17474
|
+
constructor(session, translate, pane) {
|
17475
|
+
pane.title = translate.get('View');
|
17476
|
+
pane.dataChange.subscribe(d => {
|
17447
17477
|
this.model = d['item'];
|
17448
17478
|
const form = session.profile.forms.find(f => f.name === this.model.formId);
|
17449
|
-
|
17450
|
-
|
17451
|
-
_pane.icon = form.icon;
|
17479
|
+
pane.group = `#${this.model.number}`;
|
17480
|
+
pane.icon = form.icon;
|
17452
17481
|
});
|
17482
|
+
pane.resized.subscribe(() => this.views.resize());
|
17453
17483
|
}
|
17454
17484
|
}
|
17455
17485
|
DocumentViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DocumentViewPaneComponent, deps: [{ token: SessionService }, { token: TranslateService }, { token: PaneRef }], target: i0.ɵɵFactoryTarget.Component });
|
17456
|
-
DocumentViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DocumentViewPaneComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, styles: [":host{min-width:450px;flex-grow:1}\n"], components: [{ type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] });
|
17486
|
+
DocumentViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: DocumentViewPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "views", first: true, predicate: DocumentViewsComponent, descendants: true }], ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, styles: [":host{min-width:450px;flex-grow:1}\n"], components: [{ type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] });
|
17457
17487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DocumentViewPaneComponent, decorators: [{
|
17458
17488
|
type: Component,
|
17459
17489
|
args: [{
|
@@ -17462,7 +17492,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
17462
17492
|
min-width: 450px;
|
17463
17493
|
flex-grow: 1;}`]
|
17464
17494
|
}]
|
17465
|
-
}], ctorParameters: function () { return [{ type: SessionService }, { type: TranslateService }, { type: PaneRef }]; }
|
17495
|
+
}], ctorParameters: function () { return [{ type: SessionService }, { type: TranslateService }, { type: PaneRef }]; }, propDecorators: { views: [{
|
17496
|
+
type: ViewChild,
|
17497
|
+
args: [DocumentViewsComponent]
|
17498
|
+
}] } });
|
17466
17499
|
|
17467
17500
|
class DocumentInfoComponent {
|
17468
17501
|
constructor(_session, _cf, _injector) {
|
@@ -17867,7 +17900,7 @@ class OptionsComponent {
|
|
17867
17900
|
}
|
17868
17901
|
}
|
17869
17902
|
OptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: OptionsComponent, deps: [{ token: OPTION_PANEL }, { token: i1$4.OverlayRef }, { token: i1$2.FormBuilder }, { token: AccountService }, { token: PromptService }, { token: SessionService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
17870
|
-
OptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: OptionsComponent, selector: "bizdoc-options", viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "outOfOffice", first: true, predicate: ["outOfOffice"], descendants: true, read: MatExpansionPanel, static: true }, { propertyName: "notifications", first: true, predicate: ["notifications"], descendants: true, read: MatExpansionPanel, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field fxFlex>\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-list #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\"> - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-chip-list #chips [selectable]=\"false\" multiple>\r\n <mat-chip *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-chip-list>\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"], components: [{ type: i6$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { 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: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i3$2.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }], directives: [{ type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i6$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i6$3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i23.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i1$1.MatSuffix, selector: "[matSuffix]" }, { type: i3$2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i3$2.MatChipRemove, selector: "[matChipRemove]" }, { type: i3$2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": TranslatePipe, "async": i10.AsyncPipe, "userName": UserNamePipe } });
|
17903
|
+
OptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: OptionsComponent, selector: "bizdoc-options", viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "outOfOffice", first: true, predicate: ["outOfOffice"], descendants: true, read: MatExpansionPanel, static: true }, { propertyName: "notifications", first: true, predicate: ["notifications"], descendants: true, read: MatExpansionPanel, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field fxFlex>\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-list #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\"> - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-chip-list #chips [selectable]=\"false\" multiple>\r\n <mat-chip *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-chip-list>\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"], components: [{ type: i6$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { 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: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i3$2.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }], directives: [{ type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6$2.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i6$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i6$2.MatExpansionPanelDescription, selector: "mat-panel-description" }, { type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i23.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i1$1.MatSuffix, selector: "[matSuffix]" }, { type: i3$2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i3$2.MatChipRemove, selector: "[matChipRemove]" }, { type: i3$2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": TranslatePipe, "async": i10.AsyncPipe, "userName": UserNamePipe } });
|
17871
17904
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: OptionsComponent, decorators: [{
|
17872
17905
|
type: Component,
|
17873
17906
|
args: [{ selector: 'bizdoc-options', template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" fxLayout=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field fxFlex>\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-list #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\"> - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-chip-list #chips [selectable]=\"false\" multiple>\r\n <mat-chip *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-chip-list>\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"] }]
|
@@ -18271,10 +18304,8 @@ class SlotRouterDirective {
|
|
18271
18304
|
}
|
18272
18305
|
ngOnInit() {
|
18273
18306
|
const path = this._link.join('/');
|
18274
|
-
this._router.events.pipe(takeUntil(this._destroy)).subscribe(e => (e instanceof NavigationStart || e instanceof ParamNavigation || e instanceof
|
18307
|
+
this._router.events.pipe(takeUntil(this._destroy)).subscribe(e => (e instanceof NavigationStart || e instanceof ParamNavigation || e instanceof NavigationFocus) && e.pane.path && e.pane.mode === 'pane'
|
18275
18308
|
&& this._toggle(e.pane.fullPath.startsWith(path)));
|
18276
|
-
this._router.active && this._router.active.path && this._router.active.fullPath.startsWith(path) &&
|
18277
|
-
this._toggle(true);
|
18278
18309
|
}
|
18279
18310
|
_toggle(val) {
|
18280
18311
|
if (val)
|
@@ -18603,6 +18634,7 @@ class SlotsComponent {
|
|
18603
18634
|
this.accent = this._session.getAccent();
|
18604
18635
|
this._pending = [];
|
18605
18636
|
this._rtl = this._session.inverse;
|
18637
|
+
this._resizing = new Subject();
|
18606
18638
|
this._destroy = new Subject();
|
18607
18639
|
_session.themeChange.pipe(takeUntil(this._destroy)).
|
18608
18640
|
subscribe(() => this.accent = _session.getAccent());
|
@@ -18715,7 +18747,7 @@ class SlotsComponent {
|
|
18715
18747
|
this.group = tab.group;
|
18716
18748
|
this.selectedTabIndex = i;
|
18717
18749
|
this._cd.detectChanges();
|
18718
|
-
this.
|
18750
|
+
this._syncBrowserHistory();
|
18719
18751
|
return;
|
18720
18752
|
}
|
18721
18753
|
}
|
@@ -18723,7 +18755,7 @@ class SlotsComponent {
|
|
18723
18755
|
await this._navParams(path, tab, params, queryParams, state);
|
18724
18756
|
this.group = tab.group;
|
18725
18757
|
this.selectedTabIndex = i;
|
18726
|
-
this.
|
18758
|
+
this._syncBrowserHistory();
|
18727
18759
|
return;
|
18728
18760
|
}
|
18729
18761
|
i++;
|
@@ -18745,13 +18777,13 @@ class SlotsComponent {
|
|
18745
18777
|
else {
|
18746
18778
|
this._navQueryParams(pane, queryParams, state);
|
18747
18779
|
this.scrollTo(i);
|
18748
|
-
this.
|
18780
|
+
this._syncBrowserHistory();
|
18749
18781
|
return;
|
18750
18782
|
}
|
18751
18783
|
}
|
18752
18784
|
else if (pane.route === route) {
|
18753
18785
|
await this._navParams(path, pane, params, queryParams, state);
|
18754
|
-
this.
|
18786
|
+
this._syncBrowserHistory();
|
18755
18787
|
return;
|
18756
18788
|
}
|
18757
18789
|
i++;
|
@@ -18775,8 +18807,8 @@ class SlotsComponent {
|
|
18775
18807
|
queryParams,
|
18776
18808
|
policy
|
18777
18809
|
});
|
18778
|
-
else
|
18779
|
-
|
18810
|
+
else
|
18811
|
+
this._insertPane(component || route.component, {
|
18780
18812
|
queryString,
|
18781
18813
|
path,
|
18782
18814
|
route,
|
@@ -18789,16 +18821,14 @@ class SlotsComponent {
|
|
18789
18821
|
queryParams,
|
18790
18822
|
policy
|
18791
18823
|
});
|
18792
|
-
pane._events$.next(new NavigationFullscreen(pane._fullscreen = this.panes.length === 1, pane));
|
18793
|
-
}
|
18794
18824
|
route &&
|
18795
|
-
this.
|
18825
|
+
this._syncBrowserHistory();
|
18796
18826
|
}
|
18797
18827
|
else {
|
18798
18828
|
const pane = (policy & OpenPolicy.Tab) == OpenPolicy.Tab ?
|
18799
18829
|
this.tabs[this.selectedTabIndex] : this.panes[this.selectedIndex];
|
18800
18830
|
this._navQueryParams(pane, queryParams, state);
|
18801
|
-
this.
|
18831
|
+
this._syncBrowserHistory();
|
18802
18832
|
if ((policy & OpenPolicy.Tab) != OpenPolicy.Tab)
|
18803
18833
|
this.select(this.selectedIndex);
|
18804
18834
|
}
|
@@ -18817,8 +18847,8 @@ class SlotsComponent {
|
|
18817
18847
|
queryParams,
|
18818
18848
|
policy
|
18819
18849
|
});
|
18820
|
-
else
|
18821
|
-
|
18850
|
+
else
|
18851
|
+
this._insertPane(component, {
|
18822
18852
|
data: state,
|
18823
18853
|
icon, title, help,
|
18824
18854
|
parent,
|
@@ -18828,25 +18858,29 @@ class SlotsComponent {
|
|
18828
18858
|
params,
|
18829
18859
|
policy, queryParams
|
18830
18860
|
});
|
18831
|
-
pane._events$.next(new NavigationFullscreen(pane._fullscreen = this.panes.length === 1, pane));
|
18832
|
-
}
|
18833
18861
|
}
|
18834
18862
|
});
|
18835
18863
|
window.removeAllListeners('popstate');
|
18836
18864
|
window.addEventListener('popstate', e => {
|
18837
|
-
if (this.
|
18838
|
-
this.
|
18865
|
+
if (this._navigationInProcess) {
|
18866
|
+
this._navigationInProcess = false;
|
18839
18867
|
return;
|
18840
18868
|
}
|
18841
|
-
|
18842
|
-
|
18843
|
-
|
18869
|
+
if (e.state && e.state.bizdoc) {
|
18870
|
+
const evt = new BackNavigation();
|
18871
|
+
if (evt._preventDefault)
|
18872
|
+
return;
|
18873
|
+
this._router._events$.next(evt);
|
18874
|
+
const state = e.state;
|
18875
|
+
this._deserialize(location.pathname.substring(1), state);
|
18844
18876
|
this.swap = state.swap;
|
18845
18877
|
this.swapTab = state.swapTab;
|
18846
18878
|
this.prevGroup = state.prevGroup;
|
18847
18879
|
this.group = state.group;
|
18848
18880
|
this.selectedTabIndex = state.selectedTabIndex;
|
18849
18881
|
}
|
18882
|
+
else
|
18883
|
+
this._deserialize(location.pathname.substring(1));
|
18850
18884
|
});
|
18851
18885
|
if (location.pathname.length > 1)
|
18852
18886
|
this._deserialize(location.pathname.substring(1), history.state && history.state.bizdoc ? history.state : undefined);
|
@@ -18854,6 +18888,7 @@ class SlotsComponent {
|
|
18854
18888
|
this._router._navigate$.next({
|
18855
18889
|
commands: DEFAULT_ROUTE,
|
18856
18890
|
});
|
18891
|
+
this._resizing.pipe(debounceTime$1(150)).subscribe(this._resize.bind(this));
|
18857
18892
|
}
|
18858
18893
|
async _deserialize(url, state) {
|
18859
18894
|
const sections = decodeURIComponent(url).split(PANE_CHAR), panes = deserialize(sections[0]), tabs = sections.length > 1 ? deserialize(sections[1]) : [];
|
@@ -18909,8 +18944,10 @@ class SlotsComponent {
|
|
18909
18944
|
const n = this.panes.length;
|
18910
18945
|
for (let i = 0; i < n; i++) {
|
18911
18946
|
let pane = this.panes[i];
|
18912
|
-
pane.
|
18913
|
-
|
18947
|
+
if (pane.expanded !== (n === 1)) {
|
18948
|
+
const evt = new NavigationExpand(pane._expanded = n === 1, pane);
|
18949
|
+
pane._events$.next(evt);
|
18950
|
+
}
|
18914
18951
|
}
|
18915
18952
|
}
|
18916
18953
|
/**
|
@@ -19014,7 +19051,9 @@ class SlotsComponent {
|
|
19014
19051
|
pane._queryString = this._queryString(queryParams);
|
19015
19052
|
state && pane._data$.next(state);
|
19016
19053
|
pane._queryParams$.next(queryParams);
|
19017
|
-
|
19054
|
+
const evt = new QueryParamNavigation(queryParams, pane);
|
19055
|
+
pane._events$.next(evt);
|
19056
|
+
this._router._events$.next(evt);
|
19018
19057
|
}
|
19019
19058
|
/**
|
19020
19059
|
*
|
@@ -19041,7 +19080,9 @@ class SlotsComponent {
|
|
19041
19080
|
pane._queryString = '';
|
19042
19081
|
pane._queryParams$.next({});
|
19043
19082
|
}
|
19044
|
-
|
19083
|
+
const evt = new ParamNavigation(params, pane);
|
19084
|
+
pane._events$.next(evt);
|
19085
|
+
this._router._events$.next(evt);
|
19045
19086
|
this.panes.concat(this.tabs).forEach(child => {
|
19046
19087
|
if (child.route && child.route.parent === pane.route) {
|
19047
19088
|
child._data$.next(Object.assign(child.data, state));
|
@@ -19058,24 +19099,20 @@ class SlotsComponent {
|
|
19058
19099
|
this._cd.detectChanges();
|
19059
19100
|
}
|
19060
19101
|
/** */
|
19061
|
-
|
19102
|
+
_syncBrowserHistory() {
|
19062
19103
|
let path = this.panes.filter(p => p.route).map(s => s.fullPath).join(PATH_CHAR);
|
19063
19104
|
if (this.tabs.length) {
|
19064
19105
|
const tabs = this.tabs.filter(p => p.route);
|
19065
19106
|
if (tabs.length)
|
19066
19107
|
path += PANE_CHAR + tabs.map(s => s.fullPath).join(PATH_CHAR);
|
19067
19108
|
}
|
19068
|
-
const state = this.
|
19069
|
-
this.
|
19109
|
+
const state = this._constructHistoryState();
|
19110
|
+
this._navigationInProcess = true;
|
19070
19111
|
history.pushState(state, '', '/' + path);
|
19071
|
-
setTimeout(() => this.
|
19112
|
+
setTimeout(() => this._navigationInProcess = false, 200);
|
19072
19113
|
}
|
19073
|
-
|
19074
|
-
|
19075
|
-
* @param mode
|
19076
|
-
*/
|
19077
|
-
_history() {
|
19078
|
-
const state = {
|
19114
|
+
_constructHistoryState() {
|
19115
|
+
return {
|
19079
19116
|
bizdoc: true,
|
19080
19117
|
step: history.state && history.state.bizdoc ? history.state.step + 1 : 1,
|
19081
19118
|
selectedTabIndex: this.selectedTabIndex,
|
@@ -19086,13 +19123,12 @@ class SlotsComponent {
|
|
19086
19123
|
swapTab: this.swapTab,
|
19087
19124
|
prevGroup: this.prevGroup
|
19088
19125
|
};
|
19089
|
-
return state;
|
19090
19126
|
}
|
19091
19127
|
drop(evt) {
|
19092
19128
|
const pane = this.panes[evt.previousIndex];
|
19093
19129
|
this.panes.splice(evt.previousIndex, 1);
|
19094
19130
|
this.panes.splice(evt.currentIndex, 0, pane);
|
19095
|
-
this.
|
19131
|
+
this._syncBrowserHistory();
|
19096
19132
|
}
|
19097
19133
|
togglePinned(pane) {
|
19098
19134
|
pane.pinned = !pane.pinned;
|
@@ -19221,13 +19257,14 @@ class SlotsComponent {
|
|
19221
19257
|
}
|
19222
19258
|
insert(position, component, options) {
|
19223
19259
|
const pane = this._insertPane(component, options || {}, position);
|
19224
|
-
pane._events$.next(new NavigationFullscreen(pane._fullscreen = this.panes.length === 1, pane));
|
19225
19260
|
return pane;
|
19226
19261
|
}
|
19227
19262
|
_insertPane(component, options, position) {
|
19228
|
-
const
|
19229
|
-
const pane = this._constract(component,
|
19230
|
-
|
19263
|
+
const stretchable = (options.policy & OpenPolicy.Stretch) == OpenPolicy.Stretch;
|
19264
|
+
const pane = this._constract(component, {
|
19265
|
+
mode: 'pane',
|
19266
|
+
expanded: !this.panes.length,
|
19267
|
+
stretchable,
|
19231
19268
|
...options
|
19232
19269
|
});
|
19233
19270
|
if (position === undefined)
|
@@ -19235,15 +19272,15 @@ class SlotsComponent {
|
|
19235
19272
|
this.panes.push(pane);
|
19236
19273
|
this.titleAnimation++;
|
19237
19274
|
this._cd.detectChanges();
|
19238
|
-
|
19275
|
+
const evt = new NavigationStart(pane);
|
19276
|
+
this._router._events$.next(evt);
|
19239
19277
|
if (options.focus !== false) {
|
19240
19278
|
this.selectedIndex = position;
|
19241
|
-
this._router._active = pane;
|
19242
19279
|
this._title.set(pane.title);
|
19243
19280
|
if (this.panes.length > 1)
|
19244
19281
|
this.scrollTo(position);
|
19245
19282
|
}
|
19246
|
-
this.
|
19283
|
+
this.enableNavigationArrows();
|
19247
19284
|
return pane;
|
19248
19285
|
}
|
19249
19286
|
/**
|
@@ -19251,12 +19288,9 @@ class SlotsComponent {
|
|
19251
19288
|
* @param component
|
19252
19289
|
* @param options
|
19253
19290
|
*/
|
19254
|
-
_constract(component,
|
19255
|
-
const pane = new PaneRef(component,
|
19256
|
-
pane.
|
19257
|
-
{ provide: PaneRef, useValue: pane }
|
19258
|
-
], this._injector);
|
19259
|
-
pane._comm$.subscribe(e => this._action(e, pane));
|
19291
|
+
_constract(component, options) {
|
19292
|
+
const pane = new PaneRef(component, this._injector, options);
|
19293
|
+
pane._comm$.subscribe(e => this._paneCommand(e, pane));
|
19260
19294
|
return pane;
|
19261
19295
|
}
|
19262
19296
|
/**
|
@@ -19266,15 +19300,17 @@ class SlotsComponent {
|
|
19266
19300
|
*/
|
19267
19301
|
_insertTab(component, options) {
|
19268
19302
|
const { policy } = options, dialog = (policy & OpenPolicy.Dialog) == OpenPolicy.Dialog, expandable = (policy & OpenPolicy.Expandable) == OpenPolicy.Expandable, dismissable = (policy & OpenPolicy.Dismissable) == OpenPolicy.Dismissable;
|
19269
|
-
const tab = this._constract(component,
|
19303
|
+
const tab = this._constract(component, {
|
19304
|
+
mode: 'tab',
|
19305
|
+
expanded: false,
|
19270
19306
|
...options,
|
19271
19307
|
dialog,
|
19272
19308
|
dismissable,
|
19273
19309
|
expandable
|
19274
19310
|
});
|
19275
19311
|
this.tabs.push(tab);
|
19276
|
-
this._router._events$.next(new NavigationStart(tab));
|
19277
19312
|
this._cd.detectChanges();
|
19313
|
+
this._router._events$.next(new NavigationStart(tab));
|
19278
19314
|
if (tab.group && this.group !== tab.group && options.swap !== false) {
|
19279
19315
|
let i = 0, swap = false;
|
19280
19316
|
do {
|
@@ -19304,24 +19340,27 @@ class SlotsComponent {
|
|
19304
19340
|
this._guide.start(name);
|
19305
19341
|
}
|
19306
19342
|
back() {
|
19307
|
-
this.
|
19343
|
+
this._navBack(this.swap);
|
19308
19344
|
this.swap = null;
|
19309
19345
|
}
|
19310
|
-
|
19311
|
-
|
19346
|
+
/**
|
19347
|
+
*
|
19348
|
+
* @param steps
|
19349
|
+
*/
|
19350
|
+
async _navBack(steps) {
|
19312
19351
|
history.go(steps - history.state.step);
|
19313
19352
|
}
|
19314
19353
|
tabBack() {
|
19315
|
-
this.
|
19354
|
+
this._navBack(this.swapTab);
|
19316
19355
|
this.swapTab = null;
|
19317
19356
|
}
|
19318
19357
|
/**
|
19319
19358
|
*
|
19320
|
-
* @param
|
19359
|
+
* @param command
|
19321
19360
|
* @param pane
|
19322
19361
|
*/
|
19323
|
-
async
|
19324
|
-
switch (
|
19362
|
+
async _paneCommand(command, pane) {
|
19363
|
+
switch (command) {
|
19325
19364
|
case 'focus':
|
19326
19365
|
{
|
19327
19366
|
if (pane.mode === 'tab') {
|
@@ -19340,9 +19379,12 @@ class SlotsComponent {
|
|
19340
19379
|
}
|
19341
19380
|
else {
|
19342
19381
|
const index = this.panes.indexOf(pane);
|
19343
|
-
this.collapse();
|
19344
19382
|
await this.removeAt(index);
|
19345
|
-
|
19383
|
+
this._clearPending();
|
19384
|
+
await this._clearTabs();
|
19385
|
+
if (this.panes.length)
|
19386
|
+
this._syncBrowserHistory();
|
19387
|
+
else
|
19346
19388
|
this._router.navigate(DEFAULT_ROUTE);
|
19347
19389
|
}
|
19348
19390
|
break;
|
@@ -19352,8 +19394,8 @@ class SlotsComponent {
|
|
19352
19394
|
else
|
19353
19395
|
this.expandPane();
|
19354
19396
|
break;
|
19355
|
-
case '
|
19356
|
-
const state = this.
|
19397
|
+
case 'recycle': {
|
19398
|
+
const state = this._constructHistoryState();
|
19357
19399
|
history.replaceState(state, '');
|
19358
19400
|
break;
|
19359
19401
|
}
|
@@ -19366,36 +19408,51 @@ class SlotsComponent {
|
|
19366
19408
|
async collapse() {
|
19367
19409
|
if (!this.tabs.length)
|
19368
19410
|
return;
|
19411
|
+
const evt = new CollapseNavigation();
|
19412
|
+
this._router._events$.next(evt);
|
19413
|
+
if (evt._preventDefault)
|
19414
|
+
return;
|
19369
19415
|
this._clearPending();
|
19370
19416
|
await this._clearTabs();
|
19371
|
-
this.
|
19372
|
-
this._router._events$.next(new CollapseNavigation());
|
19417
|
+
this._syncBrowserHistory();
|
19373
19418
|
}
|
19374
19419
|
onResize() {
|
19375
|
-
|
19420
|
+
this._resizing.next();
|
19421
|
+
}
|
19422
|
+
/** */
|
19423
|
+
_resize() {
|
19424
|
+
if (this.panes.length > 1 && !this.panes[this.panes.length - 1].stretchable) {
|
19376
19425
|
const el = this._panesContainerRef.element.nativeElement, child = el.lastElementChild;
|
19377
19426
|
child.style.minWidth =
|
19378
19427
|
(el.parentElement.parentElement.clientWidth - el.parentElement.offsetLeft - child.offsetLeft - 2) + 'px';
|
19379
19428
|
}
|
19380
|
-
|
19381
|
-
_resize() {
|
19382
|
-
//this.tabs.concat(this.panes).forEach(t => t._resize$.next({
|
19383
|
-
//} as any));
|
19384
|
-
window.dispatchEvent(new Event('resize'));
|
19429
|
+
this.tabs.concat(this.panes).forEach(p => p._events$.next(new NavigationResize({}, p)));
|
19385
19430
|
}
|
19386
19431
|
closeTab(position) {
|
19387
19432
|
const tab = this.tabs[position];
|
19388
|
-
|
19389
|
-
tab._events$.next(evt);
|
19390
|
-
if (evt._preventDefault)
|
19433
|
+
if (!this._closing(tab))
|
19391
19434
|
return;
|
19392
19435
|
this.tabs.splice(position, 1);
|
19393
19436
|
this._destroyPane(tab);
|
19394
19437
|
this.selectedTabIndex = this.tabs.length ? position > 0 ? position - 1 : 0 : -1;
|
19395
|
-
this.
|
19438
|
+
this._syncBrowserHistory();
|
19439
|
+
}
|
19440
|
+
/**
|
19441
|
+
*
|
19442
|
+
* @param pane
|
19443
|
+
*/
|
19444
|
+
_closing(pane) {
|
19445
|
+
let evt = new NavigationClose(pane);
|
19446
|
+
pane._events$.next(evt);
|
19447
|
+
return !evt._preventDefault;
|
19396
19448
|
}
|
19397
19449
|
expandPane() {
|
19398
19450
|
const pane = this.panes[this.selectedIndex];
|
19451
|
+
const evt = new NavigationExpand(pane._expanded = true, pane);
|
19452
|
+
pane._events$.next(evt);
|
19453
|
+
this._router._events$.next(evt);
|
19454
|
+
if (evt._preventDefault)
|
19455
|
+
return;
|
19399
19456
|
this.swap = this._getHistoryStep();
|
19400
19457
|
let i = 0;
|
19401
19458
|
do {
|
@@ -19407,23 +19464,26 @@ class SlotsComponent {
|
|
19407
19464
|
i++;
|
19408
19465
|
} while (i < this.panes.length);
|
19409
19466
|
this.selectedIndex = 0;
|
19410
|
-
this.
|
19411
|
-
pane._events$.next(new NavigationFullscreen(pane._fullscreen = true, pane));
|
19467
|
+
this._syncBrowserHistory();
|
19412
19468
|
}
|
19413
19469
|
_getHistoryStep() {
|
19414
19470
|
return history.state && history.state.bizdoc ? history.state.step : 0;
|
19415
19471
|
}
|
19416
19472
|
expandTab() {
|
19473
|
+
const tab = this.tabs[this.selectedTabIndex];
|
19474
|
+
const evt = new NavigationExpand(tab._expanded = true, tab);
|
19475
|
+
tab._events$.next(evt);
|
19476
|
+
this._router._events$.next(evt);
|
19477
|
+
if (evt._preventDefault)
|
19478
|
+
return;
|
19417
19479
|
this.swap = this._getHistoryStep();
|
19418
19480
|
this.swapTab = null;
|
19419
19481
|
this.panes.forEach(p => this._destroyPane(p));
|
19420
|
-
const tab = this.tabs[this.selectedTabIndex];
|
19421
19482
|
this.tabs.splice(this.selectedTabIndex, 1);
|
19422
19483
|
this.panes.splice(0, this.panes.length, tab);
|
19423
|
-
tab.
|
19424
|
-
tab._events$.next(new NavigationFullscreen(tab._fullscreen = true, tab));
|
19484
|
+
tab._mode = 'pane';
|
19425
19485
|
this.selectedTabIndex = this.tabs.length ? 0 : -1;
|
19426
|
-
this.
|
19486
|
+
this._syncBrowserHistory();
|
19427
19487
|
}
|
19428
19488
|
select(position) {
|
19429
19489
|
if (this.selectedIndex === position)
|
@@ -19436,17 +19496,20 @@ class SlotsComponent {
|
|
19436
19496
|
}
|
19437
19497
|
this.selectedIndex = position;
|
19438
19498
|
const pane = this.panes[position];
|
19439
|
-
|
19440
|
-
|
19499
|
+
const evt = new NavigationFocus(pane);
|
19500
|
+
pane._events$.next(evt);
|
19501
|
+
this._router._events$.next(evt);
|
19441
19502
|
this._title.set(pane.title);
|
19442
19503
|
}
|
19443
19504
|
async removeAt(position) {
|
19444
19505
|
const pane = this.panes[position];
|
19506
|
+
if (!this._closing(pane))
|
19507
|
+
return;
|
19445
19508
|
await this._dismiss(pane);
|
19446
19509
|
this._discardPane(pane);
|
19447
19510
|
if (position >= this.selectedIndex)
|
19448
19511
|
this.select(-1);
|
19449
|
-
this.
|
19512
|
+
this._syncBrowserHistory();
|
19450
19513
|
}
|
19451
19514
|
/**
|
19452
19515
|
*
|
@@ -19489,6 +19552,8 @@ class SlotsComponent {
|
|
19489
19552
|
this.swap = null;
|
19490
19553
|
}
|
19491
19554
|
async _clearTabs() {
|
19555
|
+
if (!this.tabs.length)
|
19556
|
+
return;
|
19492
19557
|
await this._dismissAll(this.tabs);
|
19493
19558
|
this.tabs.forEach(t => this._destroyPane(t));
|
19494
19559
|
this.tabs.splice(0, this.tabs.length);
|
@@ -19530,10 +19595,10 @@ class SlotsComponent {
|
|
19530
19595
|
return this._panesContainerRef.element.nativeElement.querySelectorAll('.pane-content');
|
19531
19596
|
}
|
19532
19597
|
done() {
|
19533
|
-
this.
|
19598
|
+
this.enableNavigationArrows();
|
19534
19599
|
this._resize();
|
19535
19600
|
}
|
19536
|
-
|
19601
|
+
enableNavigationArrows(_) {
|
19537
19602
|
const container = this._panesContainerRef.element.nativeElement, scrollLeft = Math.round(container.scrollLeft);
|
19538
19603
|
this.next = this._rtl ? container.clientWidth - scrollLeft < container.scrollWidth :
|
19539
19604
|
scrollLeft + container.clientWidth < container.scrollWidth;
|
@@ -19563,7 +19628,7 @@ class SlotsComponent {
|
|
19563
19628
|
const delta = (e.clientX - event.clientX) * d;
|
19564
19629
|
el.style.width = el.style.minWidth
|
19565
19630
|
= Math.max(width + delta, 350) + 'px';
|
19566
|
-
pane
|
19631
|
+
pane._events$.next(new NavigationResize({}, pane));
|
19567
19632
|
}
|
19568
19633
|
}
|
19569
19634
|
onTabResize(event) {
|
@@ -19578,8 +19643,7 @@ class SlotsComponent {
|
|
19578
19643
|
event.srcElement.classList.remove('resizing');
|
19579
19644
|
document.onmousemove = document.onmouseup = null;
|
19580
19645
|
this.dragging = false;
|
19581
|
-
me.
|
19582
|
-
//this._cd.detectChanges();
|
19646
|
+
me.enableNavigationArrows();
|
19583
19647
|
this._resize();
|
19584
19648
|
};
|
19585
19649
|
function onMouseMove(e) {
|
@@ -19591,7 +19655,9 @@ class SlotsComponent {
|
|
19591
19655
|
}
|
19592
19656
|
_destroyPane(pane) {
|
19593
19657
|
pane._destroy();
|
19594
|
-
|
19658
|
+
const evt = new NavigationEnd(pane);
|
19659
|
+
pane._events$.next(evt);
|
19660
|
+
this._router._events$.next(evt);
|
19595
19661
|
}
|
19596
19662
|
ngOnDestroy() {
|
19597
19663
|
this._destroy.next();
|
@@ -19599,7 +19665,7 @@ class SlotsComponent {
|
|
19599
19665
|
}
|
19600
19666
|
}
|
19601
19667
|
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 });
|
19602
|
-
SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, 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)=\"
|
19668
|
+
SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, 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)=\"enableNavigationArrows($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)=\"closeTab(selectedTabIndex)\"></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 <!--*ngIf=\"selectedTabIndex <=< -1 && tabs[selectedTabIndex].expandable\"-->\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 t of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{t.icon}}</mat-icon> \r\n {{t.title}}\r\n <mat-icon *ngIf=\"t.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,
|
19603
19669
|
panesTitleAnimation,
|
19604
19670
|
paneAnimation,
|
19605
19671
|
paramAnimation,
|
@@ -19616,7 +19682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
19616
19682
|
queryAnimation,
|
19617
19683
|
tabsAnimation,
|
19618
19684
|
tabAnimation
|
19619
|
-
], 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)=\"
|
19685
|
+
], 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)=\"enableNavigationArrows($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)=\"closeTab(selectedTabIndex)\"></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 <!--*ngIf=\"selectedTabIndex <=< -1 && tabs[selectedTabIndex].expandable\"-->\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 t of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{t.icon}}</mat-icon> \r\n {{t.title}}\r\n <mat-icon *ngIf=\"t.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"] }]
|
19620
19686
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
19621
19687
|
type: Inject,
|
19622
19688
|
args: [PANES_DATA]
|
@@ -20038,7 +20104,7 @@ class HomeMobileComponent extends HomeBase {
|
|
20038
20104
|
}
|
20039
20105
|
}
|
20040
20106
|
HomeMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i0.Injector }, { token: i1$6.Router }, { token: i2$5.MatBottomSheet }, { token: i7$2.Directionality }, { token: SessionService }, { token: Popup }, { token: HubService }, { token: TranslateService }, { token: i8$2.MatSnackBar }, { token: ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
20041
|
-
HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i2$3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i6$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i12$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { type: NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { type: i9$4.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i1$6.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i6$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$6.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": TranslatePipe }, animations: [fabAnimation] });
|
20107
|
+
HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i2$3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i6$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i12$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { type: NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { type: i9$4.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i1$6.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i6$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$6.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": TranslatePipe }, animations: [fabAnimation] });
|
20042
20108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeMobileComponent, decorators: [{
|
20043
20109
|
type: Component,
|
20044
20110
|
args: [{ selector: 'bizdoc-mobile-home', animations: [fabAnimation], template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"] }]
|
@@ -20058,11 +20124,12 @@ const EXCEL_ICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
20058
20124
|
class BrokenPage {
|
20059
20125
|
}
|
20060
20126
|
BrokenPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: BrokenPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
20061
|
-
BrokenPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: BrokenPage, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
20127
|
+
BrokenPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: BrokenPage, selector: "ng-component", host: { classAttribute: "mat-app-background" }, ngImport: i0, template: '', isInline: true });
|
20062
20128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: BrokenPage, decorators: [{
|
20063
20129
|
type: Component,
|
20064
20130
|
args: [{
|
20065
|
-
template: ''
|
20131
|
+
template: '',
|
20132
|
+
host: { class: 'mat-app-background' }
|
20066
20133
|
}]
|
20067
20134
|
}] });
|
20068
20135
|
class BizDocApp {
|
@@ -23124,7 +23191,7 @@ class CubeDocumentsGridComponent {
|
|
23124
23191
|
}
|
23125
23192
|
}
|
23126
23193
|
CubeDocumentsGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CubeDocumentsGridComponent, deps: [{ token: ReportRef }, { token: DocumentInfo }, { token: SessionService }, { token: AccountService }, { token: CubeService }], target: i0.ɵɵFactoryTarget.Component });
|
23127
|
-
CubeDocumentsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\" [pageSettings]=\"pageSettings\"\r\n [allowPaging]=false\r\n [allowExcelExport]=\"true\"\r\n [height]=\"height\"\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=\"groupSettings\">\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", components: [{ type: i6$
|
23194
|
+
CubeDocumentsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\" [pageSettings]=\"pageSettings\"\r\n [allowPaging]=false\r\n [allowExcelExport]=\"true\"\r\n [height]=\"height\"\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=\"groupSettings\">\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", components: [{ type: i6$3.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "currencyCode", "currentAction", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualization", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }], directives: [{ type: i7$5.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { type: i16.ColumnsDirective, selector: "ejs-chart>e-columns" }, { type: i6$3.ColumnsDirective, selector: "ejs-grid>e-columns" }, { type: i6$3.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { type: i9$5.ColumnsDirective, selector: "e-sheet>e-columns" }, { type: i10$1.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { type: i7$5.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "valueAccessor", "visible", "width"] }, { type: i16.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { type: i6$3.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { type: i6$3.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { type: i9$5.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { type: i10$1.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }], pipes: { "translate": TranslatePipe, "state": StatePipe, "amDateFormat": DateFormatPipe, "form": FormPipe } });
|
23128
23195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CubeDocumentsGridComponent, decorators: [{
|
23129
23196
|
type: Component,
|
23130
23197
|
args: [{ template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\" [pageSettings]=\"pageSettings\"\r\n [allowPaging]=false\r\n [allowExcelExport]=\"true\"\r\n [height]=\"height\"\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=\"groupSettings\">\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n" }]
|
@@ -27322,6 +27389,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
27322
27389
|
args: ['nameInput', { static: true, read: ElementRef }]
|
27323
27390
|
}] } });
|
27324
27391
|
|
27392
|
+
/** */
|
27393
|
+
class HelpTipComponent {
|
27394
|
+
constructor(_guide) {
|
27395
|
+
this._guide = _guide;
|
27396
|
+
}
|
27397
|
+
ngOnInit() {
|
27398
|
+
this.showTip = localStorage.getItem(this.name + '-tip') !== '1';
|
27399
|
+
const guide = this._guide.guides.find(g => g.name === this.name);
|
27400
|
+
this._message = guide.title;
|
27401
|
+
}
|
27402
|
+
open(evt) {
|
27403
|
+
this._guide.start(this.name);
|
27404
|
+
}
|
27405
|
+
dismiss() {
|
27406
|
+
localStorage.setItem(this.name + 'tip', '1');
|
27407
|
+
this.showTip = false;
|
27408
|
+
}
|
27409
|
+
}
|
27410
|
+
HelpTipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HelpTipComponent, deps: [{ token: GuideService }], target: i0.ɵɵFactoryTarget.Component });
|
27411
|
+
HelpTipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HelpTipComponent, selector: "bizdoc-help-tip", inputs: { name: "name" }, ngImport: i0, template: `
|
27412
|
+
<p fxLayout="row" class="form-help-tip" *ngIf="showTip">
|
27413
|
+
<mat-icon>help_outline</mat-icon> <span (click)="open($event)" [innerHTML]="'HelpTip'|translate: _message" class="mat-body-1"></span>
|
27414
|
+
<button mat-icon-button (click)="dismiss()" [bizdocTooltip]="'Dismiss'|translate"><mat-icon inline>close</mat-icon></button>
|
27415
|
+
</p>
|
27416
|
+
`, isInline: true, styles: [".form-help-tip{align-items:center;border:1px rgb(0 0 0 / 38%) solid;margin:10px;border-radius:3px;padding:0 8px}\n"], components: [{ type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe } });
|
27417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HelpTipComponent, decorators: [{
|
27418
|
+
type: Component,
|
27419
|
+
args: [{
|
27420
|
+
template: `
|
27421
|
+
<p fxLayout="row" class="form-help-tip" *ngIf="showTip">
|
27422
|
+
<mat-icon>help_outline</mat-icon> <span (click)="open($event)" [innerHTML]="'HelpTip'|translate: _message" class="mat-body-1"></span>
|
27423
|
+
<button mat-icon-button (click)="dismiss()" [bizdocTooltip]="'Dismiss'|translate"><mat-icon inline>close</mat-icon></button>
|
27424
|
+
</p>
|
27425
|
+
`,
|
27426
|
+
styles: [`
|
27427
|
+
.form-help-tip {
|
27428
|
+
align-items: center;
|
27429
|
+
border: 1px rgb(0 0 0 / 38%) solid;
|
27430
|
+
margin: 10px;
|
27431
|
+
border-radius: 3px 3px;
|
27432
|
+
padding: 0 8px;
|
27433
|
+
}
|
27434
|
+
`],
|
27435
|
+
selector: 'bizdoc-help-tip'
|
27436
|
+
}]
|
27437
|
+
}], ctorParameters: function () { return [{ type: GuideService }]; }, propDecorators: { name: [{
|
27438
|
+
type: Input
|
27439
|
+
}] } });
|
27440
|
+
|
27325
27441
|
/** configuration componenets */
|
27326
27442
|
const CORE_COMPONENTS = [CubeCompareWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
|
27327
27443
|
SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
|
@@ -27358,7 +27474,7 @@ class SharedModule {
|
|
27358
27474
|
}
|
27359
27475
|
}
|
27360
27476
|
SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
27361
|
-
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SharedModule, declarations: [CubeCompareWidget, CubeUsageComponent, CubeDocumentsComponent, FileInput, DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
27477
|
+
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SharedModule, declarations: [HelpTipComponent, CubeCompareWidget, CubeUsageComponent, CubeDocumentsComponent, FileInput, DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
27362
27478
|
CheckboxComponent, CubeParallelComponent, CubeSumComponent, CubeParallelViewComponent, CubeChartViewComponent, CubeExploreViewComponent, CubeDocumentSumComponent, ExploreItemImplComponent, DocumentInfoComponent, DocumentViewsComponent, ViewItemComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, ActionPicker, HtmlSimplePipe, QuickCommentComponent,
|
27363
27479
|
DurationFormatPipe, CombinationPicker, CombinationPickerBody, CombinationPool, TimelineViewComponent,
|
27364
27480
|
MatIconAnimate, DateRangePipe, AgoPipe, ColorPicker, StateDirective, BrokenPage,
|
@@ -27500,7 +27616,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27500
27616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SharedModule, decorators: [{
|
27501
27617
|
type: NgModule,
|
27502
27618
|
args: [{
|
27503
|
-
declarations: [CubeCompareWidget, CubeUsageComponent, CubeDocumentsComponent, FileInput, DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
27619
|
+
declarations: [HelpTipComponent, CubeCompareWidget, CubeUsageComponent, CubeDocumentsComponent, FileInput, DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe,
|
27504
27620
|
CheckboxComponent, CubeParallelComponent, CubeSumComponent, CubeParallelViewComponent, CubeChartViewComponent, CubeExploreViewComponent, CubeDocumentSumComponent, ExploreItemImplComponent, DocumentInfoComponent, DocumentViewsComponent, ViewItemComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, ActionPicker, HtmlSimplePipe, QuickCommentComponent,
|
27505
27621
|
DurationFormatPipe, CombinationPicker, CombinationPickerBody, CombinationPool, TimelineViewComponent,
|
27506
27622
|
MatIconAnimate, DateRangePipe, AgoPipe, ColorPicker, StateDirective, BrokenPage,
|
@@ -28795,7 +28911,7 @@ let DocumentTraceComponent = class DocumentTraceComponent {
|
|
28795
28911
|
const { documentId } = p;
|
28796
28912
|
documentId && this._open(documentId.decodeId());
|
28797
28913
|
});
|
28798
|
-
this._pane.
|
28914
|
+
this._pane.resized.pipe(takeUntil(this._destroy)).subscribe(() => this.diagram?.refresh());
|
28799
28915
|
}
|
28800
28916
|
openFilter(evt) {
|
28801
28917
|
this._popup.open(this.filterArgs, evt.target).opened.subscribe(() => this.searchInput.focus());
|
@@ -29967,7 +30083,7 @@ let ProfilerComponent = class ProfilerComponent {
|
|
29967
30083
|
const { userId } = p;
|
29968
30084
|
userId && this._open(userId);
|
29969
30085
|
});
|
29970
|
-
this._pane.
|
30086
|
+
this._pane.resized.pipe(takeUntil(this._destroy)).subscribe(() => this.chart?.chartResize());
|
29971
30087
|
this.users$ = this.search.valueChanges.pipe(takeUntil(this._destroy), debounceTime(250), filter(v => !isObject(v)), switchMap(v => this._accounts.findAll(v)));
|
29972
30088
|
}
|
29973
30089
|
guide(evt) {
|
@@ -30050,11 +30166,6 @@ let ProfilerComponent = class ProfilerComponent {
|
|
30050
30166
|
const action = this._session.profile.actions.find(a => a.name === name);
|
30051
30167
|
return action ? action.past || action.title : name;
|
30052
30168
|
}
|
30053
|
-
resize() {
|
30054
|
-
// const { width, height } = getComputedStyle(this.chartElement.nativeElement.parentElement);
|
30055
|
-
// this.chart.width = width;
|
30056
|
-
// this.chart.height = height;
|
30057
|
-
}
|
30058
30169
|
pointClick(evt) {
|
30059
30170
|
const { id } = evt.series.dataSource[evt.pointIndex];
|
30060
30171
|
this._documentInfo.open(id);
|
@@ -30113,7 +30224,7 @@ let ProfilerComponent = class ProfilerComponent {
|
|
30113
30224
|
}
|
30114
30225
|
};
|
30115
30226
|
ProfilerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ProfilerComponent, deps: [{ token: PromptService }, { token: UtilityRef }, { token: SessionService }, { token: i3$1.MatDialog }, { token: DocumentInfo }, { token: i2$4.MediaObserver }, { token: ChatInfo }, { token: GuideService }, { token: PanesRouter }, { token: i0.ChangeDetectorRef }, { token: PaneRef }, { token: TranslateService }, { token: AccountService }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
30116
|
-
ProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ProfilerComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)", "window:resize": "resize()" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["activity"], descendants: true }, { propertyName: "chartElement", first: true, predicate: ["activity"], descendants: true, read: ElementRef }, { propertyName: "assignTpl", first: true, predicate: ["assignTpl"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n</mat-toolbar>\r\n<div *ngIf=\"data\" fxLayout=\"row wrap\">\r\n <!-- info -->\r\n <mat-card fxFlex>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <span>{{data.info.name}}</span>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <br />\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <mat-card fxFlex data-help=\"activity\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Activity' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\r\n <e-series-collection>\r\n </e-series-collection>\r\n </ejs-chart>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- pending -->\r\n <mat-card fxFlex data-help=\"pending\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Pending' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.pending.length; else none\">\r\n <thead>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-header-cell\"></td>\r\n <td class=\"mat-header-cell\"></td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let r of data.pending\" class=\"mat-row\">\r\n <td class=\"mat-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\r\n <td class=\"mat-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- positions -->\r\n <mat-card fxFlex data-help=\"positions\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Positions' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.positions.length; else none\">\r\n <tr *ngFor=\"let p of data.positions\" class=\"mat-row\">\r\n <td class=\"mat-cell\">{{p.value }}</td>\r\n <td class=\"mat-cell\">{{p.role | role}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</div>\r\n<!-- assign dialog -->\r\n<ng-template #assignTpl>\r\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n <mat-dialog-content>\r\n <form autocomplete=\"off\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\r\n <mat-option *ngFor=\"let u of assignable$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #none>\r\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\r\n</ng-template>\r\n", styles: [":host{min-width:560px;display:block}.mat-card{margin:5px}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table{width:100%}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i19.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i19.MatCardHeader, selector: "mat-card-header" }, { type: i16.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }], directives: [{ type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i23.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i19.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i19.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i19.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i16.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "async": i10.AsyncPipe, "translate": TranslatePipe, "amDuration": DurationPipe, "amDifference": DifferencePipe, "role": RolePipe } });
|
30227
|
+
ProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ProfilerComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["activity"], descendants: true }, { propertyName: "chartElement", first: true, predicate: ["activity"], descendants: true, read: ElementRef }, { propertyName: "assignTpl", first: true, predicate: ["assignTpl"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n</mat-toolbar>\r\n<div *ngIf=\"data\" fxLayout=\"row wrap\">\r\n <!-- info -->\r\n <mat-card fxFlex>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <span>{{data.info.name}}</span>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <br />\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <mat-card fxFlex data-help=\"activity\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Activity' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\r\n <e-series-collection>\r\n </e-series-collection>\r\n </ejs-chart>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- pending -->\r\n <mat-card fxFlex data-help=\"pending\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Pending' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.pending.length; else none\">\r\n <thead>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-header-cell\"></td>\r\n <td class=\"mat-header-cell\"></td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let r of data.pending\" class=\"mat-row\">\r\n <td class=\"mat-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\r\n <td class=\"mat-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- positions -->\r\n <mat-card fxFlex data-help=\"positions\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Positions' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.positions.length; else none\">\r\n <tr *ngFor=\"let p of data.positions\" class=\"mat-row\">\r\n <td class=\"mat-cell\">{{p.value }}</td>\r\n <td class=\"mat-cell\">{{p.role | role}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</div>\r\n<!-- assign dialog -->\r\n<ng-template #assignTpl>\r\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n <mat-dialog-content>\r\n <form autocomplete=\"off\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\r\n <mat-option *ngFor=\"let u of assignable$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #none>\r\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\r\n</ng-template>\r\n", styles: [":host{min-width:560px;display:block}.mat-card{margin:5px}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table{width:100%}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i19.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i19.MatCardHeader, selector: "mat-card-header" }, { type: i16.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }], directives: [{ type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i23.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i23.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i19.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i19.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i19.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i16.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "async": i10.AsyncPipe, "translate": TranslatePipe, "amDuration": DurationPipe, "amDifference": DifferencePipe, "role": RolePipe } });
|
30117
30228
|
ProfilerComponent = __decorate([
|
30118
30229
|
BizDoc({ selector: 'bizdoc-user-profiler' })
|
30119
30230
|
/** component*/
|
@@ -30135,9 +30246,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
30135
30246
|
}], guide: [{
|
30136
30247
|
type: HostListener,
|
30137
30248
|
args: ['window:keydown.f1', ['$event']]
|
30138
|
-
}], resize: [{
|
30139
|
-
type: HostListener,
|
30140
|
-
args: ['window:resize']
|
30141
30249
|
}] } });
|
30142
30250
|
|
30143
30251
|
const SYSTEM_COMPONENTS = [RoleNodeComponent, ManageCubeIndexUtility, PermissionsUtility, PositionsComponent, ProfilerComponent,
|
@@ -30406,5 +30514,5 @@ function withRoute(routes) {
|
|
30406
30514
|
* Generated bundle index. Do not edit.
|
30407
30515
|
*/
|
30408
30516
|
|
30409
|
-
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AvatarComponent, BIZDOC_CONFIG, BizDoc, BizDocApp, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeCompareWidget, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateFormatPipe, DateRangePipe, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, FadeSlideInOut, FieldType, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, INBOX, IdentityName, ItemResolveService, JoinPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationEnd,
|
30517
|
+
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeCompareWidget, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateFormatPipe, DateRangePipe, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, FadeSlideInOut, FieldType, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, INBOX, IdentityName, ItemResolveService, JoinPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SessionService, ShakeAnimation, SharedModule, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TimeAgoPipe, TimePicker, TimespanInput, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, registerComponents };
|
30410
30518
|
//# sourceMappingURL=bizdoc-core.mjs.map
|