@bizdoc/core 2.3.36 → 2.3.39
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/esm2022/lib/admin/diff/configuration-diff.component.mjs +5 -4
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2022/lib/admin/utility.pane.component.mjs +10 -12
- package/esm2022/lib/modules/chart.module.mjs +3 -3
- package/esm2022/lib/reports/cube/role-performance.component.mjs +98 -72
- package/esm2022/lib/reports/cube/role-performance1.component.mjs +178 -0
- package/esm2022/lib/reports/report-viewer.component.mjs +10 -7
- package/esm2022/lib/reports/report.pane.component.mjs +2 -2
- package/esm2022/lib/shared.module.mjs +5 -4
- package/fesm2022/bizdoc-core.mjs +288 -96
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/utility.pane.component.d.ts +2 -2
- package/lib/reports/cube/role-performance.component.d.ts +22 -21
- package/lib/reports/cube/role-performance1.component.d.ts +49 -0
- package/lib/reports/report-viewer.component.d.ts +1 -1
- package/lib/reports/report.pane.component.d.ts +1 -1
- package/lib/shared.module.d.ts +195 -194
- package/package.json +1 -1
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -141,7 +141,7 @@ import * as i3$4 from '@syncfusion/ej2-angular-inputs';
|
|
141
141
|
import { SignatureModule } from '@syncfusion/ej2-angular-inputs';
|
142
142
|
import { LinearGaugeModule, AnnotationsService, GaugeTooltipService } from '@syncfusion/ej2-angular-lineargauge';
|
143
143
|
import * as i11$2 from '@syncfusion/ej2-angular-charts';
|
144
|
-
import { 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, AreaSeries, LineSeries, DateTime, RangeTooltip, RangeNavigator, SparklineTooltip, Sparkline, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, AccumulationChart as AccumulationChart$1, Category, Tooltip as Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation, Chart as Chart$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
|
144
|
+
import { 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, AreaSeries, LineSeries, DateTime, RangeTooltip, RangeNavigator, SparklineTooltip, Sparkline, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, AccumulationChart as AccumulationChart$1, StripLine, BoxAndWhiskerSeries, Category, Tooltip as Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation, Chart as Chart$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
|
145
145
|
import * as i8$3 from '@syncfusion/ej2-angular-grids';
|
146
146
|
import { GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, ExcelExport, Sort, Group, Page, Freeze, Selection as Selection$1, Aggregate, Grid as Grid$1, GridComponent } from '@syncfusion/ej2-angular-grids';
|
147
147
|
import { Annotations, GaugeTooltip, Legend as Legend$1, CircularGauge, CircularGaugeModule, AnnotationsService as AnnotationsService$1, GaugeTooltipService as GaugeTooltipService$1, LegendService as LegendService$1 } from '@syncfusion/ej2-angular-circulargauge';
|
@@ -13730,15 +13730,18 @@ class ReportViewerComponent {
|
|
13730
13730
|
/** */
|
13731
13731
|
execute() {
|
13732
13732
|
this.progress = 0;
|
13733
|
-
return
|
13734
|
-
|
13733
|
+
return new Promise((resolve, reject) => this._http.post(`/api/report/${encodeURIComponent(this.report.name)}`, this.args).
|
13734
|
+
subscribe({
|
13735
13735
|
next: r => {
|
13736
13736
|
this._instance.onBind(r, this.args);
|
13737
13737
|
this._data = r;
|
13738
|
-
|
13739
|
-
}, error: () =>
|
13738
|
+
resolve();
|
13739
|
+
}, error: () => {
|
13740
|
+
this._sb.error();
|
13741
|
+
reject();
|
13742
|
+
},
|
13740
13743
|
complete: () => this.progress = -1
|
13741
|
-
}))
|
13744
|
+
}));
|
13742
13745
|
}
|
13743
13746
|
explore(item) {
|
13744
13747
|
const args = {};
|
@@ -13942,7 +13945,7 @@ class ReportPaneComponent {
|
|
13942
13945
|
}, () => this._sb.error());
|
13943
13946
|
}
|
13944
13947
|
/**
|
13945
|
-
* Alt-
|
13948
|
+
* Alt-q
|
13946
13949
|
* @param event
|
13947
13950
|
*/
|
13948
13951
|
handleKeydown(event) {
|
@@ -14759,13 +14762,14 @@ class UtilityRef {
|
|
14759
14762
|
/** utility-wrapper component*/
|
14760
14763
|
class UtilityPaneComponent {
|
14761
14764
|
/** ctor */
|
14762
|
-
constructor(_session, _pane, _http, _sb, _messaging, _cf, _injector) {
|
14765
|
+
constructor(_session, _pane, _http, _sb, _messaging, _cf, _vc, _injector) {
|
14763
14766
|
this._session = _session;
|
14764
14767
|
this._pane = _pane;
|
14765
14768
|
this._http = _http;
|
14766
14769
|
this._sb = _sb;
|
14767
14770
|
this._messaging = _messaging;
|
14768
14771
|
this._cf = _cf;
|
14772
|
+
this._vc = _vc;
|
14769
14773
|
this._injector = _injector;
|
14770
14774
|
}
|
14771
14775
|
ngOnInit() {
|
@@ -14774,28 +14778,25 @@ class UtilityPaneComponent {
|
|
14774
14778
|
this._utility = this._session.profile.utilities.find(u => u.name === id);
|
14775
14779
|
this._pane.title = this._utility.title;
|
14776
14780
|
const comp = this._cf.component(this._utility.template);
|
14777
|
-
this.
|
14781
|
+
this._vc.clear();
|
14778
14782
|
const uRef = new UtilityRef(this._utility, this._messaging, this._sb, this._http);
|
14779
14783
|
const injector = Injector.create({
|
14780
14784
|
providers: [{
|
14781
14785
|
provide: UtilityRef, useValue: uRef
|
14782
14786
|
}], parent: this._injector
|
14783
14787
|
});
|
14784
|
-
this.
|
14788
|
+
this._vc.createComponent(comp, { injector });
|
14785
14789
|
});
|
14786
14790
|
}
|
14787
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: UtilityPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: i1.HttpClient }, { token: PromptService }, { token: HubService }, { token: BizDocComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
14788
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: UtilityPaneComponent, selector: "ng-component",
|
14791
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: UtilityPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: i1.HttpClient }, { token: PromptService }, { token: HubService }, { token: BizDocComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
14792
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: UtilityPaneComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
14789
14793
|
}
|
14790
14794
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: UtilityPaneComponent, decorators: [{
|
14791
14795
|
type: Component,
|
14792
14796
|
args: [{
|
14793
|
-
template: '
|
14797
|
+
template: ''
|
14794
14798
|
}]
|
14795
|
-
}], ctorParameters: () => [{ type: SessionService }, { type: PaneRef }, { type: i1.HttpClient }, { type: PromptService }, { type: HubService }, { type: BizDocComponentFactoryResolver }, { type: i0.
|
14796
|
-
type: ViewChild,
|
14797
|
-
args: ['container', { static: true, read: ViewContainerRef }]
|
14798
|
-
}] } });
|
14799
|
+
}], ctorParameters: () => [{ type: SessionService }, { type: PaneRef }, { type: i1.HttpClient }, { type: PromptService }, { type: HubService }, { type: BizDocComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.Injector }] });
|
14799
14800
|
|
14800
14801
|
const START_NODE = 'start';
|
14801
14802
|
const You = 'you';
|
@@ -22017,7 +22018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
22017
22018
|
RangeNavigator.Inject(AreaSeries, LineSeries, DateTime, RangeTooltip);
|
22018
22019
|
Sparkline.Inject(SparklineTooltip);
|
22019
22020
|
AccumulationChart$1.Inject(PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection);
|
22020
|
-
Chart$1.Inject(Category, DateTime, Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, AreaSeries, BubbleSeries, ColumnSeries, LineSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation);
|
22021
|
+
Chart$1.Inject(StripLine /*, Trendlines*/, BoxAndWhiskerSeries, Category, DateTime, Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, AreaSeries, BubbleSeries, ColumnSeries, LineSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation);
|
22021
22022
|
|
22022
22023
|
class SyncfusionDiagramModule {
|
22023
22024
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SyncfusionDiagramModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -29494,71 +29495,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
29494
29495
|
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: FormRef }] });
|
29495
29496
|
|
29496
29497
|
let RolesPerformanceComponent = class RolesPerformanceComponent {
|
29497
|
-
constructor(_elementRef, _router, _accounts, _session, _translate
|
29498
|
+
constructor(_elementRef, _router, _accounts, _session, _translate) {
|
29498
29499
|
this._elementRef = _elementRef;
|
29499
29500
|
this._router = _router;
|
29500
29501
|
this._accounts = _accounts;
|
29501
29502
|
this._session = _session;
|
29502
29503
|
this._translate = _translate;
|
29503
|
-
this._reportRef = _reportRef;
|
29504
|
-
this.maxStd = 0;
|
29505
|
-
this.maxDuration = 0;
|
29506
|
-
this.actions = {};
|
29507
29504
|
this.legendSettings = {
|
29508
29505
|
position: 'Left',
|
29506
|
+
isInversed: this._session.inverse,
|
29507
|
+
//toggleVisibility: false,
|
29508
|
+
enablePages: true,
|
29509
29509
|
enableHighlight: true,
|
29510
29510
|
};
|
29511
29511
|
this.tooltip = {
|
29512
29512
|
enable: true,
|
29513
|
+
textStyle: {
|
29514
|
+
fontFamily: FONT_FAMILY
|
29515
|
+
}
|
29516
|
+
};
|
29517
|
+
this.titleStyle = {
|
29518
|
+
fontFamily: FONT_FAMILY
|
29513
29519
|
};
|
29514
|
-
this.primaryXAxis = { valueType: '
|
29520
|
+
this.primaryXAxis = { valueType: 'Double' };
|
29515
29521
|
this.primaryYAxis = {};
|
29516
|
-
|
29517
|
-
this.
|
29518
|
-
_session.profile.cubes.find(c => c.name === name) :
|
29519
|
-
_session.profile.cubes[0];
|
29522
|
+
this.actions = {};
|
29523
|
+
this._destroy = new Subject();
|
29520
29524
|
_session.profile.actions.forEach(a => this.actions[a.name] = a);
|
29525
|
+
_session.themeChange.pipe(takeUntil$1(this._destroy), startWith$1(_session.theme)).subscribe(t => {
|
29526
|
+
this.theme = t.dark ? 'Material3Dark' : 'Material3';
|
29527
|
+
this.chart && this._draw();
|
29528
|
+
});
|
29521
29529
|
}
|
29522
|
-
|
29523
|
-
|
29530
|
+
onBind(data) {
|
29531
|
+
this.chart?.destroy();
|
29524
29532
|
if (!data.length)
|
29525
29533
|
return;
|
29526
|
-
let accumStd = 0, countStd = 0, accumDuration = 0;
|
29534
|
+
let accumStd = 0, countStd = 0, accumDuration = 0, maxStd = 0, maxDuration = 0, standards = [], map = {};
|
29527
29535
|
data.forEach(e => {
|
29528
|
-
|
29529
|
-
|
29530
|
-
|
29531
|
-
|
29532
|
-
|
29533
|
-
|
29534
|
-
|
29535
|
-
|
29536
|
-
|
29537
|
-
|
29536
|
+
let accumStd1 = 0, countStd1 = 0, accumDuration1 = 0;
|
29537
|
+
e.items.forEach(e => {
|
29538
|
+
if (e.standardTime) {
|
29539
|
+
if (e.standardTime > maxStd)
|
29540
|
+
maxStd = e.standardTime;
|
29541
|
+
countStd++;
|
29542
|
+
countStd1++;
|
29543
|
+
accumStd += e.standardTime;
|
29544
|
+
accumStd1 += e.standardTime;
|
29545
|
+
standards.push(e);
|
29546
|
+
}
|
29547
|
+
if (e.duration > maxDuration)
|
29548
|
+
maxDuration = e.duration;
|
29549
|
+
accumDuration += e.duration;
|
29550
|
+
accumDuration1 += e.duration;
|
29551
|
+
});
|
29552
|
+
map[e.userId] = {
|
29553
|
+
items: e.items,
|
29554
|
+
stdAvg: countStd1 ? accumStd1 / countStd1 : 0,
|
29555
|
+
durationAvg: accumDuration1 / data.length,
|
29556
|
+
};
|
29538
29557
|
});
|
29539
|
-
|
29540
|
-
|
29541
|
-
this._accounts.getAll(
|
29558
|
+
this.stdAvg = countStd ? accumStd / countStd : 0,
|
29559
|
+
this.durationAvg = accumDuration / data.length;
|
29560
|
+
this._accounts.getAll(data.map(e => e.userId)).
|
29542
29561
|
subscribe(users => {
|
29543
|
-
|
29562
|
+
this.series = [{
|
29544
29563
|
name: this._translate.get('Standard'),
|
29545
|
-
xName: '
|
29564
|
+
xName: 'date',
|
29546
29565
|
yName: 'standardTime',
|
29547
29566
|
type: 'Polar',
|
29548
29567
|
drawType: 'Line',
|
29549
|
-
//opacity: .5,
|
29550
29568
|
marker: {
|
29551
29569
|
visible: true,
|
29552
29570
|
shape: 'Triangle',
|
29553
29571
|
width: 5,
|
29554
29572
|
height: 5
|
29555
29573
|
},
|
29556
|
-
dataSource:
|
29574
|
+
dataSource: standards.
|
29557
29575
|
sort((e1, e2) => e1.standardTime < e2.standardTime ? -1 : 1),
|
29558
29576
|
},
|
29559
29577
|
...users.map(u => ({
|
29560
|
-
dataSource:
|
29561
|
-
sort((e1, e2) => e1.duration < e2.duration ? -1 : 1),
|
29578
|
+
dataSource: map[u.id].items,
|
29562
29579
|
name: u.name,
|
29563
29580
|
type: 'Polar',
|
29564
29581
|
drawType: 'Line',
|
@@ -29567,45 +29584,52 @@ let RolesPerformanceComponent = class RolesPerformanceComponent {
|
|
29567
29584
|
width: 5, height: 5,
|
29568
29585
|
shape: 'Pentagon',
|
29569
29586
|
},
|
29570
|
-
xName: '
|
29587
|
+
xName: 'date',
|
29571
29588
|
yName: 'duration',
|
29572
29589
|
}))];
|
29573
|
-
|
29574
|
-
title: this._translate.get('AverageValue', dayjs.duration(durationAvg, 'seconds').format('DD:HH:ss')),
|
29575
|
-
titleStyle: { fontFamily: FONT_FAMILY },
|
29576
|
-
subTitle: stdAvg ?
|
29577
|
-
this._translate.get('StandardValue', dayjs.duration(stdAvg, 'seconds').format('DD:HH:ss')) : null,
|
29578
|
-
subTitleStyle: { fontFamily: FONT_FAMILY },
|
29579
|
-
// primaryXAxis: { valueType: 'Double' },
|
29580
|
-
primaryYAxis: {
|
29581
|
-
//minimum: 0, maximum: Math.max(durationAvg, stdAvg)
|
29582
|
-
//interval: 60 * 5,
|
29583
|
-
},
|
29584
|
-
series,
|
29585
|
-
// pointRender: this.pointRender.bind(this),
|
29586
|
-
tooltip: this.tooltip,
|
29587
|
-
tooltipRender: this.tooltipRender.bind(this),
|
29588
|
-
legendSettings: this.legendSettings,
|
29589
|
-
axisLabelRender: this.labelRender.bind(this),
|
29590
|
-
palettes: [this._session.getPrimery(), ...this._session.accentPalette],
|
29591
|
-
enableRtl: this._session.inverse,
|
29592
|
-
height: '100%',
|
29593
|
-
highlightMode: 'Cluster',
|
29594
|
-
pointClick: this.explore.bind(this)
|
29595
|
-
}, this._elementRef.nativeElement);
|
29590
|
+
this._draw();
|
29596
29591
|
});
|
29597
29592
|
}
|
29598
|
-
|
29599
|
-
|
29593
|
+
_draw() {
|
29594
|
+
this.chart?.destroy();
|
29595
|
+
const colors = this._session.accentPalette;
|
29596
|
+
let palettes = [this._session.getPrimery(),
|
29597
|
+
...colors
|
29598
|
+
];
|
29599
|
+
while (this.series.length < palettes.length) {
|
29600
|
+
palettes.push(...colors);
|
29601
|
+
}
|
29602
|
+
this.chart = new Chart({
|
29603
|
+
theme: this.theme,
|
29604
|
+
selectionMode: 'Series',
|
29605
|
+
title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
|
29606
|
+
titleStyle: this.titleStyle,
|
29607
|
+
subTitle: this.stdAvg ?
|
29608
|
+
this._translate.get('StandardValue', dayjs.duration(this.stdAvg, 'seconds').format('DD:HH:mm')) : null,
|
29609
|
+
subTitleStyle: this.titleStyle,
|
29610
|
+
series: this.series,
|
29611
|
+
tooltip: this.tooltip,
|
29612
|
+
tooltipRender: this.tooltipRender.bind(this),
|
29613
|
+
legendSettings: this.legendSettings,
|
29614
|
+
legendRender: this.legendRender.bind(this),
|
29615
|
+
axisLabelRender: this.labelRender.bind(this),
|
29616
|
+
palettes,
|
29617
|
+
enableRtl: this._session.inverse,
|
29618
|
+
height: '100%',
|
29619
|
+
highlightMode: 'Series',
|
29620
|
+
pointClick: this.explore.bind(this)
|
29621
|
+
}, this._elementRef.nativeElement);
|
29600
29622
|
}
|
29601
|
-
|
29602
|
-
//
|
29603
|
-
|
29623
|
+
legendRender(evt) {
|
29624
|
+
//evt.text
|
29625
|
+
}
|
29626
|
+
tooltipRender(evt) {
|
29627
|
+
evt.text = dayjs.duration(evt.data.pointY, 's').humanize(); // 'DD:HH:ss'
|
29604
29628
|
}
|
29605
29629
|
labelRender(evt) {
|
29606
29630
|
switch (evt.axis.name) {
|
29607
29631
|
case 'primaryYAxis':
|
29608
|
-
evt.text = dayjs.duration(evt.value, 's').format('DD:HH:
|
29632
|
+
evt.text = dayjs.duration(evt.value, 's').format('DD:HH:mm');
|
29609
29633
|
break;
|
29610
29634
|
case 'primaryXAxis':
|
29611
29635
|
evt.text = dayjs(evt.value).format('MMM YYYY');
|
@@ -29613,14 +29637,17 @@ let RolesPerformanceComponent = class RolesPerformanceComponent {
|
|
29613
29637
|
}
|
29614
29638
|
}
|
29615
29639
|
explore(evt) {
|
29616
|
-
const {
|
29617
|
-
|
29618
|
-
|
29619
|
-
|
29620
|
-
|
29621
|
-
|
29640
|
+
const { pointIndex, seriesIndex } = evt;
|
29641
|
+
if (seriesIndex === 0)
|
29642
|
+
return;
|
29643
|
+
const { documentId } = this.chart.series[seriesIndex].dataSource[pointIndex];
|
29644
|
+
this._router.navigate(['mailbox', 'd', documentId.encodeId()]);
|
29645
|
+
}
|
29646
|
+
ngOnDestroy() {
|
29647
|
+
this.chart?.destroy();
|
29648
|
+
this._destroy.next();
|
29622
29649
|
}
|
29623
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, deps: [{ token: i0.ElementRef }, { token: RouterImpl }, { token: AccountService }, { token: SessionService }, { token: TranslateService }
|
29650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, deps: [{ token: i0.ElementRef }, { token: RouterImpl }, { token: AccountService }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
29624
29651
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: RolesPerformanceComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
|
29625
29652
|
};
|
29626
29653
|
RolesPerformanceComponent = __decorate([
|
@@ -29631,7 +29658,7 @@ RolesPerformanceComponent = __decorate([
|
|
29631
29658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, decorators: [{
|
29632
29659
|
type: Component,
|
29633
29660
|
args: [{ template: '', styles: [":host{flex:1}\n"] }]
|
29634
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: RouterImpl }, { type: AccountService }, { type: SessionService }, { type: TranslateService }
|
29661
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: RouterImpl }, { type: AccountService }, { type: SessionService }, { type: TranslateService }] });
|
29635
29662
|
|
29636
29663
|
var DocumentStateWidgetComponent_1;
|
29637
29664
|
let DocumentStateWidgetComponent = class DocumentStateWidgetComponent {
|
@@ -29927,8 +29954,172 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
29927
29954
|
}]
|
29928
29955
|
}] });
|
29929
29956
|
|
29957
|
+
let RolesPerformanceComponent1 = class RolesPerformanceComponent1 {
|
29958
|
+
constructor(_elementRef, _accounts, _session, _translate) {
|
29959
|
+
this._elementRef = _elementRef;
|
29960
|
+
this._accounts = _accounts;
|
29961
|
+
this._session = _session;
|
29962
|
+
this._translate = _translate;
|
29963
|
+
this.titleStyle = {
|
29964
|
+
fontFamily: FONT_FAMILY
|
29965
|
+
};
|
29966
|
+
this._destroy = new Subject();
|
29967
|
+
_session.themeChange.pipe(takeUntil$1(this._destroy), startWith$1(_session.theme)).subscribe(t => {
|
29968
|
+
//this.theme = t.dark ? 'Material3Dark' : 'Material3';
|
29969
|
+
//this.gauge && this._draw();
|
29970
|
+
this.chart && this._draw();
|
29971
|
+
});
|
29972
|
+
}
|
29973
|
+
onBind(data) {
|
29974
|
+
//this.gauge?.destroy();
|
29975
|
+
this.chart?.destroy();
|
29976
|
+
if (!data.length)
|
29977
|
+
return;
|
29978
|
+
let accumStd = 0, countStd = 0, accumDuration = 0;
|
29979
|
+
this.maxStd = 0, this.minStd = 0, this.maxDuration = 0, this.minDuration = data[0].durationLow;
|
29980
|
+
data.forEach(e => {
|
29981
|
+
if (e.standardAvg) {
|
29982
|
+
if (e.standardHigh > this.maxStd)
|
29983
|
+
this.maxStd = e.standardHigh;
|
29984
|
+
if (e.standardLow < this.minStd || this.minStd === 0)
|
29985
|
+
this.minStd = e.standardLow;
|
29986
|
+
countStd++;
|
29987
|
+
accumStd += e.standardAvg;
|
29988
|
+
}
|
29989
|
+
accumDuration += e.durationAvg;
|
29990
|
+
if (e.durationHigh > this.maxDuration)
|
29991
|
+
this.maxDuration = e.durationHigh;
|
29992
|
+
if (e.durationLow < this.minDuration)
|
29993
|
+
this.minDuration = e.durationLow;
|
29994
|
+
});
|
29995
|
+
this.stdAvg = countStd ? accumStd / countStd : 0,
|
29996
|
+
this.durationAvg = accumDuration / data.length;
|
29997
|
+
this._accounts.getAll(data.map(e => e.userId)).
|
29998
|
+
subscribe(users => {
|
29999
|
+
this.data = data.map((d, i) => {
|
30000
|
+
const durationDev = d.durationAvg / this.durationAvg, standardDev = this.stdAvg ? d.durationAvg / this.stdAvg : 0;
|
30001
|
+
return ({
|
30002
|
+
durationDev,
|
30003
|
+
standardDev,
|
30004
|
+
...d,
|
30005
|
+
name: users[i].name,
|
30006
|
+
values: [d.standardHigh, d.durationHigh, d.durationAvg, d.durationLow, d.standardLow]
|
30007
|
+
});
|
30008
|
+
});
|
30009
|
+
this._draw();
|
30010
|
+
});
|
30011
|
+
}
|
30012
|
+
_draw() {
|
30013
|
+
this.chart?.destroy();
|
30014
|
+
//const colors = this._session.accentPalette;
|
30015
|
+
//this.gauge?.destroy();
|
30016
|
+
//this.gauge = new CircularGauge({
|
30017
|
+
// theme: this.theme,
|
30018
|
+
// title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
|
30019
|
+
// titleStyle: this.titleStyle,
|
30020
|
+
// tooltip: this.tooltip,
|
30021
|
+
// axes: [{
|
30022
|
+
// startAngle: 270,
|
30023
|
+
// endAngle: 90,
|
30024
|
+
// pointers: [{
|
30025
|
+
// text: this._translate.get('Standard'),
|
30026
|
+
// color: this._session.getPrimery(),
|
30027
|
+
// value: this.stdAvg
|
30028
|
+
// }],
|
30029
|
+
// ranges: this.data.map((e, i) => ({
|
30030
|
+
// legendText: e.name,
|
30031
|
+
// radius: `${100 - i * 5}%`,
|
30032
|
+
// startWidth: 3,
|
30033
|
+
// endWidth: 3,
|
30034
|
+
// start: this.minDuration,
|
30035
|
+
// end: this.stdAvg ? Math.floor(e.durationAvg / this.stdAvg) : Math.floor(e.durationAvg / this.durationAvg),
|
30036
|
+
// color: colors[Math.floor((i + 9) / i)]
|
30037
|
+
// } as RangeModel))
|
30038
|
+
// }],
|
30039
|
+
// tooltipRender: this.tooltipRender.bind(this),
|
30040
|
+
// legendSettings: this.legendSettings,
|
30041
|
+
// enableRtl: this._session.inverse,
|
30042
|
+
// height: '100%',
|
30043
|
+
//},
|
30044
|
+
// this._elementRef.nativeElement);
|
30045
|
+
this.chart = new Chart$1({
|
30046
|
+
primaryYAxis: {
|
30047
|
+
stripLines: [{
|
30048
|
+
text: this._translate.get('Standard'),
|
30049
|
+
textStyle: {
|
30050
|
+
fontFamily: FONT_FAMILY,
|
30051
|
+
},
|
30052
|
+
opacity: .8,
|
30053
|
+
start: this.minStd,
|
30054
|
+
end: this.maxStd,
|
30055
|
+
}]
|
30056
|
+
},
|
30057
|
+
primaryXAxis: {
|
30058
|
+
valueType: 'Category'
|
30059
|
+
},
|
30060
|
+
tooltip: { enable: true },
|
30061
|
+
tooltipRender: this.tooltipRender.bind(this),
|
30062
|
+
series: [{
|
30063
|
+
type: 'BoxAndWhisker',
|
30064
|
+
dataSource: this.data,
|
30065
|
+
boxPlotMode: 'Normal',
|
30066
|
+
enableTooltip: true,
|
30067
|
+
xName: 'name',
|
30068
|
+
yName: 'values'
|
30069
|
+
}, {
|
30070
|
+
type: 'Spline',
|
30071
|
+
dataSource: this.data,
|
30072
|
+
xName: 'name',
|
30073
|
+
width: 3,
|
30074
|
+
dashArray: '3 2',
|
30075
|
+
yName: 'durationAvg',
|
30076
|
+
}],
|
30077
|
+
height: '100%',
|
30078
|
+
axisLabelRender: this.axisLabelRender.bind(this),
|
30079
|
+
palettes: [
|
30080
|
+
this._session.getAccent(), this._session.getPrimery()
|
30081
|
+
]
|
30082
|
+
}, this._elementRef.nativeElement);
|
30083
|
+
}
|
30084
|
+
axisLabelRender(evt) {
|
30085
|
+
if (evt.axis.name === 'primaryYAxis')
|
30086
|
+
evt.text = dayjs.duration(evt.value, 's').humanize(); // 'DD:HH:mm'
|
30087
|
+
}
|
30088
|
+
tooltipRender(evt) {
|
30089
|
+
//evt.content = dayjs.duration(evt.range.end, 's').humanize();// 'DD:HH:mm'
|
30090
|
+
if (evt.data.seriesIndex === 0) {
|
30091
|
+
const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y;
|
30092
|
+
evt.text = dayjs.duration(durationHigh, 's').format('DD:HH:mm');
|
30093
|
+
if (standardHigh) {
|
30094
|
+
const deviation = Math.round(this.data[evt.data.pointIndex].standardDev);
|
30095
|
+
evt.text += ` ${deviation}%`;
|
30096
|
+
}
|
30097
|
+
}
|
30098
|
+
else {
|
30099
|
+
evt.headerText = this._translate.get('Average');
|
30100
|
+
evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
|
30101
|
+
}
|
30102
|
+
}
|
30103
|
+
ngOnDestroy() {
|
30104
|
+
//this.gauge?.destroy();
|
30105
|
+
this.chart?.destroy();
|
30106
|
+
this._destroy.next();
|
30107
|
+
}
|
30108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent1, deps: [{ token: i0.ElementRef }, { token: AccountService }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
30109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: RolesPerformanceComponent1, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
|
30110
|
+
};
|
30111
|
+
RolesPerformanceComponent1 = __decorate([
|
30112
|
+
BizDoc({
|
30113
|
+
selector: 'bizdoc-role-performance1'
|
30114
|
+
})
|
30115
|
+
], RolesPerformanceComponent1);
|
30116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent1, decorators: [{
|
30117
|
+
type: Component,
|
30118
|
+
args: [{ template: '', styles: [":host{flex:1}\n"] }]
|
30119
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: AccountService }, { type: SessionService }, { type: TranslateService }] });
|
30120
|
+
|
29930
30121
|
/** configuration componenets */
|
29931
|
-
const CORE_COMPONENTS = [RolesPerformanceComponent, CubePerformanceWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
|
30122
|
+
const CORE_COMPONENTS = [RolesPerformanceComponent, RolesPerformanceComponent1, CubePerformanceWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
|
29932
30123
|
SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
|
29933
30124
|
ActionsWidget, CubeAnalysisWidget, CubeDocumentsWidget, RecentsWidget, PersonalActivityWidget,
|
29934
30125
|
CompareGroupsWidget, PeersPerformanceWidget, PendingResultsWidget, PersonalScoreWidget, CubeWidgetFilterComponent,
|
@@ -29968,7 +30159,7 @@ class SharedModule {
|
|
29968
30159
|
}
|
29969
30160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
29970
30161
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: SharedModule, declarations: [LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
29971
|
-
RolesPerformanceComponent,
|
30162
|
+
RolesPerformanceComponent, RolesPerformanceComponent1,
|
29972
30163
|
CubeUsageComponent,
|
29973
30164
|
CubeDocumentsComponent,
|
29974
30165
|
DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe, ToNowPipe,
|
@@ -30148,7 +30339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
30148
30339
|
type: NgModule,
|
30149
30340
|
args: [{
|
30150
30341
|
declarations: [LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
30151
|
-
RolesPerformanceComponent,
|
30342
|
+
RolesPerformanceComponent, RolesPerformanceComponent1,
|
30152
30343
|
CubeUsageComponent,
|
30153
30344
|
CubeDocumentsComponent,
|
30154
30345
|
DateFormatPipe, CalendarPipe, DifferencePipe, DurationPipe, TimeAgoPipe, ToNowPipe,
|
@@ -30872,7 +31063,8 @@ let SystemDiffComponent = class SystemDiffComponent {
|
|
30872
31063
|
* @param index
|
30873
31064
|
*/
|
30874
31065
|
compare(index) {
|
30875
|
-
const { time: date1, file } = this.versions[index], version = this.versions.slice(index + 1).
|
31066
|
+
const { time: date1, file } = this.versions[index], version = this.versions.slice(index + 1).
|
31067
|
+
find(v => v.file === file);
|
30876
31068
|
if (!version)
|
30877
31069
|
return;
|
30878
31070
|
const { time: date2 } = version;
|
@@ -31344,7 +31536,7 @@ let SystemDiffComponent = class SystemDiffComponent {
|
|
31344
31536
|
this._destroy.complete();
|
31345
31537
|
}
|
31346
31538
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SystemDiffComponent, deps: [{ token: PromptService }, { token: UtilityRef }, { token: TranslateService }, { token: DatasourceService }, { token: AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
|
31347
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SystemDiffComponent, selector: "ng-component", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{flex:
|
31539
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SystemDiffComponent, selector: "ng-component", viewQueries: [{ propertyName: "contents", first: true, predicate: ["contents"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}.timeline{border:none;width:150px}.timeline .time{font-size:12px!important}:host ::ng-deep .mat-drawer-inner-container{overflow:auto}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
31348
31540
|
};
|
31349
31541
|
SystemDiffComponent = __decorate([
|
31350
31542
|
BizDoc({ selector: 'bizdoc-configuration-diff' })
|
@@ -31352,7 +31544,7 @@ SystemDiffComponent = __decorate([
|
|
31352
31544
|
], SystemDiffComponent);
|
31353
31545
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SystemDiffComponent, decorators: [{
|
31354
31546
|
type: Component,
|
31355
|
-
args: [{ template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{flex:
|
31547
|
+
args: [{ template: "<mat-toolbar>\n <button mat-icon-button (click)=\"properties.toggle()\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<mat-sidenav-container autosize class=\"flex\">\n <mat-sidenav-content>\n <mat-progress-bar mode=\"buffer\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > 0 && progress < 100 ? 'visible':'hidden'\"></mat-progress-bar>\n <div [innerHTML]=\"html | sanitizeHtml\" (mouseleave)=\"focusOut()\" (mousemove)=\"focusIn($event)\" class=\"configuration-diff\" (click)=\"collapse($event)\" #contents></div>\n </mat-sidenav-content>\n <mat-sidenav mode=\"side\" opened #properties class=\"timeline\">\n @if (versions) {\n <mat-nav-list class=\"nav-list\">\n @for (v of versions; track v; let index = $index; let last = $last) {\n @if (!last) {\n <mat-list-item (click)=\"compare(index)\" [class.active]=\"v.time === activeDate\">\n <h3 matListItemTitle>\n {{(v.author || 'System') | userName | async }}\n </h3>\n <p class=\"time\" matListItemLine>\n {{v.time | amCalendar: null: CALENDAR_SPEC }}\n </p>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n }\n </mat-sidenav>\n</mat-sidenav-container>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}.timeline{border:none;width:150px}.timeline .time{font-size:12px!important}:host ::ng-deep .mat-drawer-inner-container{overflow:auto}\n"] }]
|
31356
31548
|
}], ctorParameters: () => [{ type: PromptService }, { type: UtilityRef, decorators: [{
|
31357
31549
|
type: Inject,
|
31358
31550
|
args: [UtilityRef]
|
@@ -31829,7 +32021,7 @@ let DocumentTraceComponent = class DocumentTraceComponent {
|
|
31829
32021
|
this._destroy.complete();
|
31830
32022
|
}
|
31831
32023
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DocumentTraceComponent, deps: [{ token: UtilityRef }, { token: SystemService }, { token: SessionService }, { token: PaneRef }, { token: PanesRouter }, { token: PromptService }, { token: TranslateService }, { token: Popup }, { token: GuideService }, { token: i0.ChangeDetectorRef }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
31832
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator$1, descendants: true }], ngImport: i0, template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n <mat-form-field>\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field>\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i11$2.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPlacement", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i11$2.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i11$2.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] }); }
|
32024
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" } }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator$1, descendants: true }], ngImport: i0, template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column gap\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i11$2.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPlacement", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i11$2.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i11$2.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3$3.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"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: UserNamePipe, name: "userName" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] }); }
|
31833
32025
|
};
|
31834
32026
|
DocumentTraceComponent = __decorate([
|
31835
32027
|
BizDoc({ selector: 'bizdoc-trace-utility' })
|
@@ -31837,7 +32029,7 @@ DocumentTraceComponent = __decorate([
|
|
31837
32029
|
], DocumentTraceComponent);
|
31838
32030
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DocumentTraceComponent, decorators: [{
|
31839
32031
|
type: Component,
|
31840
|
-
args: [{ animations: [trigger('element', EnterExitRight)], template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n <mat-form-field>\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field>\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"] }]
|
32032
|
+
args: [{ animations: [trigger('element', EnterExitRight)], template: "@switch (mode) {\n<!-- diagram -->\n @case ('diagram') {\n<div class=\"column flex\">\n <mat-toolbar>\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n |\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\n </mat-toolbar>\n <div class=\"row flex\">\n <!-- timeline -->\n @if (timeline?.items.length > 1) {\n <div class=\"timeline\" data-help=\"timeline\">\n @for (date of timeline.items; track date; let last = $last) {\n <div class=\"item\"\n [class.active]=\"date.time === timeline.date\"\n (click)=\"highlightTime(date.time)\" matRipple>\n <div class=\"title\">\n @if (!last || !timeline.estimate) {\n @if (date.userId) {\n <span class=\"who\">\n {{date.userId | userName | async }}\n </span>\n }\n <br />\n <span class=\"time\">\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\n </span>\n } @else {\n {{'Estimate' | translate}}\n }\n </div>\n <div class=\"indicator-container\">\n <div class=\"indicator\"></div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"flex\" #diagram dir=\"ltr\">\n </div>\n </div>\n</div>\n }\n<!-- browse -->\n @default {\n<div class=\"flex column fill\">\n <mat-toolbar class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\n </mat-toolbar>\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n <!-- table -->\n <mat-table class=\"flex\" [dataSource]=\"dataSource\" matSort>\n <!-- Number column -->\n <ng-container matColumnDef=\"number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\n </ng-container>\n <!-- Subject column -->\n <ng-container matColumnDef=\"subject\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\n </ng-container>\n <!-- StateId column -->\n <ng-container matColumnDef=\"stateId\">\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\n </mat-cell>\n </ng-container>\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\n (click)=\"open(item)\">\n </mat-row>\n </mat-table>\n <!-- range -->\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM' background=\"transparent\"\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\n groupBy=\"Years\" intervalType='Months'\n (changed)='rangeChanged($event)'>\n <e-rangenavigator-series-collection>\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\n </e-rangenavigator-series>\n </e-rangenavigator-series-collection>\n </ejs-rangenavigator>\n</div>\n }\n}\n<!-- args -->\n<ng-template #args>\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column gap\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\n </mat-form-field>\n </form>\n</ng-template>\n<ng-template #estimate>\n {{'Estimate' | translate}}\n</ng-template>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-mdc-row{cursor:pointer}form{margin:8px}\n"] }]
|
31841
32033
|
}], ctorParameters: () => [{ type: UtilityRef, decorators: [{
|
31842
32034
|
type: Inject,
|
31843
32035
|
args: [UtilityRef]
|