@bizdoc/core 2.3.40 → 2.3.41
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/core/fields/timespan.field.mjs +6 -3
- package/esm2022/lib/cube/accum/accum.component.mjs +4 -3
- package/esm2022/lib/cube/chart/chart.component.mjs +2 -2
- package/esm2022/lib/cube/cube-view.component.mjs +3 -2
- package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -7
- package/esm2022/lib/cube/spreadsheet/{spreadsheet.container.mjs → spreadsheet.container.exp.mjs} +1 -1
- package/esm2022/lib/modules/chart.module.mjs +3 -3
- package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -2
- package/esm2022/lib/reports/cube/performance-wind.component.mjs +273 -0
- package/esm2022/lib/shared.module.mjs +3 -3
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/bizdoc-core.mjs +193 -107
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/core/fields/timespan.field.d.ts +1 -1
- package/lib/notifications/notifications.pane.component.d.ts +1 -1
- package/lib/reports/cube/performance-wind.component.d.ts +86 -0
- package/lib/shared.module.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2022/lib/reports/cube/role-performance.component.mjs +0 -187
- package/lib/reports/cube/role-performance.component.d.ts +0 -58
- /package/lib/cube/spreadsheet/{spreadsheet.container.d.ts → spreadsheet.container.exp.d.ts} +0 -0
@@ -24,5 +24,5 @@ export declare class TimespanControlDesigner implements ControlDesigner, OnInit
|
|
24
24
|
mode: ViewMode;
|
25
25
|
readonly form: FormGroup<{}>;
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<TimespanControlDesigner, never>;
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TimespanControlDesigner, "
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimespanControlDesigner, "bizdoc-timespan-control-designer", never, {}, {}, never, never, false, never>;
|
28
28
|
}
|
@@ -4,5 +4,5 @@ import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NotificationsPaneComponent {
|
5
5
|
constructor(pane: PaneRef, translate: TranslateService);
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationsPaneComponent, never>;
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationsPaneComponent, "
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationsPaneComponent, "bizdoc-notification-pane", never, {}, {}, never, never, false, never>;
|
8
8
|
}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
2
|
+
import { IPointEventArgs, ITooltipRenderEventArgs, Chart, IAxisLabelRenderEventArgs, LegendSettingsModel, TooltipSettingsModel, titleSettingsModel, MarginModel } from '@syncfusion/ej2-charts';
|
3
|
+
import { TooltipSettingsModel as TModel, ITooltipRenderEventArgs as ITRenderEventArgs, AxisModel, TickModel, LabelModel, LineModel, FontModel } from '@syncfusion/ej2-angular-lineargauge';
|
4
|
+
import { MarkerSettingsModel } from '@syncfusion/ej2-angular-charts';
|
5
|
+
import { ReportRef } from '../report-ref';
|
6
|
+
import { ReportComponent } from '../../core/base';
|
7
|
+
import { AccountService } from '../../core/account.service';
|
8
|
+
import { SessionService } from '../../core/session.service';
|
9
|
+
import { RouterImpl } from '../../core/router';
|
10
|
+
import { AxesMap } from '../../core/models';
|
11
|
+
import { TranslateService } from '../../core/translate.service';
|
12
|
+
import * as i0 from "@angular/core";
|
13
|
+
export declare class PerformanceWindComponent implements ReportComponent<DataModel>, OnDestroy {
|
14
|
+
private _router;
|
15
|
+
private _accounts;
|
16
|
+
private _session;
|
17
|
+
private _translate;
|
18
|
+
private _reportRef;
|
19
|
+
chart: Chart;
|
20
|
+
durationAvg: number;
|
21
|
+
durationMin: number;
|
22
|
+
durationMax: number;
|
23
|
+
deviationMax: number;
|
24
|
+
deviationMin: number;
|
25
|
+
standardAvg: number;
|
26
|
+
records: RecordModel[];
|
27
|
+
standards: ItemModel[];
|
28
|
+
subTitle: string;
|
29
|
+
title: string;
|
30
|
+
accentColor: string;
|
31
|
+
primeryColor: string;
|
32
|
+
readonly margin: MarginModel;
|
33
|
+
readonly legendSettings: LegendSettingsModel;
|
34
|
+
readonly tooltip: TooltipSettingsModel;
|
35
|
+
theme: 'Material3' | 'Material3Dark';
|
36
|
+
readonly titleStyle: titleSettingsModel;
|
37
|
+
readonly primaryXAxis: AxisModel;
|
38
|
+
readonly primaryYAxis: AxisModel;
|
39
|
+
readonly linearTooltip: TModel;
|
40
|
+
readonly linearTitleStyle: FontModel;
|
41
|
+
readonly line: LineModel;
|
42
|
+
readonly majorTicks: TickModel;
|
43
|
+
readonly minorTicks: TickModel;
|
44
|
+
readonly labelStyle: LabelModel;
|
45
|
+
readonly standardMarker: MarkerSettingsModel;
|
46
|
+
readonly marker: MarkerSettingsModel;
|
47
|
+
readonly inverse: boolean;
|
48
|
+
private actions;
|
49
|
+
private readonly _destroy;
|
50
|
+
palettes: string[];
|
51
|
+
constructor(_router: RouterImpl, _accounts: AccountService, _session: SessionService, _translate: TranslateService, _reportRef: ReportRef<PerformanceSettingsModel>);
|
52
|
+
onBind(data: DataModel[]): void;
|
53
|
+
linearTooltipRender(evt: ITRenderEventArgs): void;
|
54
|
+
highlight(index: number): void;
|
55
|
+
onExport(): void;
|
56
|
+
tooltipRender(evt: ITooltipRenderEventArgs): void;
|
57
|
+
labelRender(evt: IAxisLabelRenderEventArgs): void;
|
58
|
+
explore(evt: IPointEventArgs): void;
|
59
|
+
ngOnDestroy(): void;
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceWindComponent, never>;
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceWindComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
62
|
+
}
|
63
|
+
interface DataModel {
|
64
|
+
userId: string;
|
65
|
+
items: ItemModel[];
|
66
|
+
}
|
67
|
+
interface ItemModel {
|
68
|
+
documentId: number;
|
69
|
+
date: number;
|
70
|
+
standardTime?: number;
|
71
|
+
duration: number;
|
72
|
+
isFYI: boolean;
|
73
|
+
actionId: string;
|
74
|
+
}
|
75
|
+
interface RecordModel {
|
76
|
+
name?: string;
|
77
|
+
durationAvg: number;
|
78
|
+
standardAvg?: number;
|
79
|
+
deviation?: number;
|
80
|
+
items: ItemModel[];
|
81
|
+
}
|
82
|
+
interface PerformanceSettingsModel {
|
83
|
+
cube?: string;
|
84
|
+
filters?: AxesMap;
|
85
|
+
}
|
86
|
+
export {};
|
package/lib/shared.module.d.ts
CHANGED
@@ -6,7 +6,7 @@ import * as i2 from "./core/guide/help-tip.component";
|
|
6
6
|
import * as i3 from "./compose/box/box.component";
|
7
7
|
import * as i4 from "./compose/box/row.component";
|
8
8
|
import * as i5 from "./compose/box/control.component";
|
9
|
-
import * as i6 from "./reports/cube/
|
9
|
+
import * as i6 from "./reports/cube/performance-wind.component";
|
10
10
|
import * as i7 from "./reports/cube/performance-hilo.component";
|
11
11
|
import * as i8 from "./reports/cube/usage.component";
|
12
12
|
import * as i9 from "./reports/cube/documents.component";
|
@@ -181,7 +181,7 @@ import * as i177 from "./reports/cube/usage-args.component";
|
|
181
181
|
import * as i178 from "./core/tagging/emoji.component";
|
182
182
|
import * as i179 from "./core/popup/tooltip.directive";
|
183
183
|
import * as i180 from "./app.component";
|
184
|
-
import * as i181 from "./cube/spreadsheet/spreadsheet.container";
|
184
|
+
import * as i181 from "./cube/spreadsheet/spreadsheet.container.exp";
|
185
185
|
import * as i182 from "./modules/dayjs.module";
|
186
186
|
import * as i183 from "@angular/common";
|
187
187
|
import * as i184 from "@angular/common/http";
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -161,7 +161,7 @@ export { AuthenticationImpl } from './lib/core/authentication';
|
|
161
161
|
export { CubeAccumulationChartComponent } from './lib/cube/accum/accum.component';
|
162
162
|
export { CubeChartComponent } from './lib/cube/chart/chart.component';
|
163
163
|
export { CubeGridComponent } from './lib/cube/grid/grid.component';
|
164
|
-
export { SpContainer } from './lib/cube/spreadsheet/spreadsheet.container';
|
164
|
+
export { SpContainer } from './lib/cube/spreadsheet/spreadsheet.container.exp';
|
165
165
|
export { CubeSpreadsheetComponent } from './lib/cube/spreadsheet/spreadsheet.component';
|
166
166
|
export { CubePivotComponent } from './lib/cube/pivot/pivot.component';
|
167
167
|
export { StateDirective } from './lib/compose/state.component';
|
@@ -1,187 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component } from '@angular/core';
|
3
|
-
import { Chart } from '@syncfusion/ej2-charts';
|
4
|
-
import { Subject, startWith, takeUntil } from 'rxjs';
|
5
|
-
/// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
|
6
|
-
import dayjs from 'dayjs';
|
7
|
-
import { BizDoc } from '../../core/decorators';
|
8
|
-
import { FONT_FAMILY } from '../../core/colors';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "../../core/router";
|
11
|
-
import * as i2 from "../../core/account.service";
|
12
|
-
import * as i3 from "../../core/session.service";
|
13
|
-
import * as i4 from "../../core/translate.service";
|
14
|
-
import * as i5 from "../report-ref";
|
15
|
-
let PerformanceWindComponent = class PerformanceWindComponent {
|
16
|
-
constructor(_elementRef, _router, _accounts, _session, _translate, _reportRef) {
|
17
|
-
this._elementRef = _elementRef;
|
18
|
-
this._router = _router;
|
19
|
-
this._accounts = _accounts;
|
20
|
-
this._session = _session;
|
21
|
-
this._translate = _translate;
|
22
|
-
this._reportRef = _reportRef;
|
23
|
-
this.legendSettings = {
|
24
|
-
position: 'Left',
|
25
|
-
isInversed: this._session.inverse,
|
26
|
-
//toggleVisibility: false,
|
27
|
-
enablePages: true,
|
28
|
-
enableHighlight: true,
|
29
|
-
};
|
30
|
-
this.tooltip = {
|
31
|
-
enable: true,
|
32
|
-
textStyle: {
|
33
|
-
fontFamily: FONT_FAMILY
|
34
|
-
}
|
35
|
-
};
|
36
|
-
this.titleStyle = {
|
37
|
-
fontFamily: FONT_FAMILY
|
38
|
-
};
|
39
|
-
this.primaryXAxis = { valueType: 'Double' };
|
40
|
-
this.primaryYAxis = {};
|
41
|
-
this.actions = {};
|
42
|
-
this._destroy = new Subject();
|
43
|
-
_session.profile.actions.forEach(a => this.actions[a.name] = a);
|
44
|
-
_session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
|
45
|
-
this.theme = t.dark ? 'Material3Dark' : 'Material3';
|
46
|
-
this.chart && this._draw();
|
47
|
-
});
|
48
|
-
}
|
49
|
-
onBind(data) {
|
50
|
-
this.chart?.destroy();
|
51
|
-
if (!data.length)
|
52
|
-
return;
|
53
|
-
let accumStd = 0, countStd = 0, accumDuration = 0, maxStd = 0, maxDuration = 0, standards = [], map = {};
|
54
|
-
data.forEach(e => {
|
55
|
-
let accumStd1 = 0, countStd1 = 0, accumDuration1 = 0;
|
56
|
-
e.items.forEach(e => {
|
57
|
-
if (e.standardTime) {
|
58
|
-
if (e.standardTime > maxStd)
|
59
|
-
maxStd = e.standardTime;
|
60
|
-
countStd++;
|
61
|
-
countStd1++;
|
62
|
-
accumStd += e.standardTime;
|
63
|
-
accumStd1 += e.standardTime;
|
64
|
-
standards.push(e);
|
65
|
-
}
|
66
|
-
if (e.duration > maxDuration)
|
67
|
-
maxDuration = e.duration;
|
68
|
-
accumDuration += e.duration;
|
69
|
-
accumDuration1 += e.duration;
|
70
|
-
});
|
71
|
-
map[e.userId] = {
|
72
|
-
items: e.items,
|
73
|
-
stdAvg: countStd1 ? accumStd1 / countStd1 : 0,
|
74
|
-
durationAvg: accumDuration1 / data.length,
|
75
|
-
};
|
76
|
-
});
|
77
|
-
this.stdAvg = countStd ? accumStd / countStd : 0,
|
78
|
-
this.durationAvg = accumDuration / data.length;
|
79
|
-
this._accounts.getAll(data.map(e => e.userId)).
|
80
|
-
subscribe(users => {
|
81
|
-
this.series = [{
|
82
|
-
name: this._translate.get('Standard'),
|
83
|
-
xName: 'date',
|
84
|
-
yName: 'standardTime',
|
85
|
-
type: 'Polar',
|
86
|
-
drawType: 'Line',
|
87
|
-
marker: {
|
88
|
-
visible: true,
|
89
|
-
shape: 'Triangle',
|
90
|
-
width: 5,
|
91
|
-
height: 5
|
92
|
-
},
|
93
|
-
//animation: { enable: true },
|
94
|
-
dataSource: standards.
|
95
|
-
sort((e1, e2) => e1.standardTime < e2.standardTime ? -1 : 1),
|
96
|
-
},
|
97
|
-
...users.map(u => ({
|
98
|
-
dataSource: map[u.id].items,
|
99
|
-
name: u.name,
|
100
|
-
type: 'Polar',
|
101
|
-
drawType: 'Line',
|
102
|
-
marker: {
|
103
|
-
visible: true,
|
104
|
-
width: 5, height: 5,
|
105
|
-
shape: 'Pentagon',
|
106
|
-
},
|
107
|
-
xName: 'date',
|
108
|
-
yName: 'duration',
|
109
|
-
}))];
|
110
|
-
this._draw();
|
111
|
-
});
|
112
|
-
}
|
113
|
-
onExport() {
|
114
|
-
this.chart?.export('XLSX', this._reportRef.name);
|
115
|
-
}
|
116
|
-
_draw() {
|
117
|
-
this.chart?.destroy();
|
118
|
-
const colors = this._session.accentPalette;
|
119
|
-
let palettes = [this._session.getPrimery(),
|
120
|
-
...colors
|
121
|
-
];
|
122
|
-
while (this.series.length > palettes.length)
|
123
|
-
palettes.push(...colors);
|
124
|
-
this.chart = new Chart({
|
125
|
-
theme: this.theme,
|
126
|
-
selectionMode: 'Series',
|
127
|
-
title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
|
128
|
-
titleStyle: this.titleStyle,
|
129
|
-
subTitle: this.stdAvg ?
|
130
|
-
this._translate.get('StandardValue', dayjs.duration(this.stdAvg, 'seconds').format('DD:HH:mm')) : null,
|
131
|
-
subTitleStyle: this.titleStyle,
|
132
|
-
series: this.series,
|
133
|
-
tooltip: this.tooltip,
|
134
|
-
enableAnimation: true,
|
135
|
-
enableExport: true,
|
136
|
-
tooltipRender: this.tooltipRender.bind(this),
|
137
|
-
legendSettings: this.legendSettings,
|
138
|
-
legendRender: this.legendRender.bind(this),
|
139
|
-
axisLabelRender: this.labelRender.bind(this),
|
140
|
-
palettes,
|
141
|
-
enableRtl: this._session.inverse,
|
142
|
-
height: '100%',
|
143
|
-
highlightMode: 'Series',
|
144
|
-
pointClick: this.explore.bind(this)
|
145
|
-
}, this._elementRef.nativeElement);
|
146
|
-
}
|
147
|
-
legendRender(evt) {
|
148
|
-
//evt.text
|
149
|
-
}
|
150
|
-
tooltipRender(evt) {
|
151
|
-
evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
|
152
|
-
}
|
153
|
-
labelRender(evt) {
|
154
|
-
switch (evt.axis.name) {
|
155
|
-
case 'primaryYAxis':
|
156
|
-
evt.text = dayjs.duration(evt.value, 's').humanize();
|
157
|
-
break;
|
158
|
-
case 'primaryXAxis':
|
159
|
-
evt.text = dayjs(evt.value * 1000).format('MMM YYYY');
|
160
|
-
break;
|
161
|
-
}
|
162
|
-
}
|
163
|
-
explore(evt) {
|
164
|
-
const { pointIndex, seriesIndex } = evt;
|
165
|
-
if (seriesIndex === 0)
|
166
|
-
return;
|
167
|
-
const { documentId } = this.chart.series[seriesIndex].dataSource[pointIndex];
|
168
|
-
this._router.navigate(['mailbox', 'd', documentId.encodeId()]);
|
169
|
-
}
|
170
|
-
ngOnDestroy() {
|
171
|
-
this.chart?.destroy();
|
172
|
-
this._destroy.next();
|
173
|
-
}
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PerformanceWindComponent, deps: [{ token: i0.ElementRef }, { token: i1.RouterImpl }, { token: i2.AccountService }, { token: i3.SessionService }, { token: i4.TranslateService }, { token: i5.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: PerformanceWindComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
|
176
|
-
};
|
177
|
-
PerformanceWindComponent = __decorate([
|
178
|
-
BizDoc({
|
179
|
-
selector: 'bizdoc-performance-wind'
|
180
|
-
})
|
181
|
-
], PerformanceWindComponent);
|
182
|
-
export { PerformanceWindComponent };
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PerformanceWindComponent, decorators: [{
|
184
|
-
type: Component,
|
185
|
-
args: [{ template: '', styles: [":host{flex:1}\n"] }]
|
186
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.RouterImpl }, { type: i2.AccountService }, { type: i3.SessionService }, { type: i4.TranslateService }, { type: i5.ReportRef }] });
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1wZXJmb3JtYW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9yb2xlLXBlcmZvcm1hbmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFrSCxLQUFLLEVBQXlHLE1BQU0sd0JBQXdCLENBQUM7QUFDdFEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVN6QyxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF3QjtJQTBCbkMsWUFDVSxXQUF1QyxFQUN2QyxPQUFtQixFQUNuQixTQUF5QixFQUN6QixRQUF3QixFQUN4QixVQUE0QixFQUM1QixVQUErQztRQUwvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQTNCaEQsbUJBQWMsR0FBRztZQUN4QixRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2pDLDBCQUEwQjtZQUMxQixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtTQUNDLENBQUM7UUFDaEIs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RSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUxlZ2VuZFJlbmRlckV2ZW50QXJncywgSVBvaW50RXZlbnRBcmdzLCBBeGlzTW9kZWwsIENoYXJ0VGhlbWUsIElQb2ludFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBTZXJpZXNNb2RlbCwgVG9vbHRpcFNldHRpbmdzTW9kZWwsIHRpdGxlU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY3Rpb24sIEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBgOmhvc3Qge2ZsZXg6IDF9YFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wZXJmb3JtYW5jZS13aW5kJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VXaW5kQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PE1vZGVsPiwgT25EZXN0cm95IHtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIHN0ZEF2ZzogbnVtYmVyO1xyXG4gIHNlcmllczogU2VyaWVzTW9kZWxbXTtcclxuICBjaGFydDogQ2hhcnQ7XHJcbiAgcmVhZG9ubHkgbGVnZW5kU2V0dGluZ3MgPSB7XHJcbiAgICBwb3NpdGlvbjogJ0xlZnQnLFxyXG4gICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgLy90b2dnbGVWaXNpYmlsaXR5OiBmYWxzZSxcclxuICAgIGVuYWJsZVBhZ2VzOiB0cnVlLFxyXG4gICAgZW5hYmxlSGlnaGxpZ2h0OiB0cnVlLFxyXG4gIH0gYXMgTGVnZW5kU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSB0b29sdGlwID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfSBhcyBUb29sdGlwU2V0dGluZ3NNb2RlbDtcclxuICB0aGVtZTogQ2hhcnRUaGVtZTtcclxuICByZWFkb25seSB0aXRsZVN0eWxlID0ge1xyXG4gICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICB9IGFzIHRpdGxlU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSBwcmltYXJ5WEF4aXMgPSB7IHZhbHVlVHlwZTogJ0RvdWJsZScgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVlBeGlzID0ge30gYXMgQXhpc01vZGVsO1xyXG4gIHByaXZhdGUgYWN0aW9uczogeyBbbmFtZTogc3RyaW5nXTogQWN0aW9uIH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZXBvcnRSZWY6IFJlcG9ydFJlZjxQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWw+XHJcbiAgKSB7XHJcbiAgICBfc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZm9yRWFjaChhID0+XHJcbiAgICAgIHRoaXMuYWN0aW9uc1thLm5hbWVdID0gYVxyXG4gICAgKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBzdGFydFdpdGgoX3Nlc3Npb24udGhlbWUpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWwzRGFyaycgOiAnTWF0ZXJpYWwzJztcclxuICAgICAgdGhpcy5jaGFydCAmJiB0aGlzLl9kcmF3KCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogTW9kZWxbXSkge1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgaWYgKCFkYXRhLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgbGV0IGFjY3VtU3RkID0gMCwgY291bnRTdGQgPSAwLCBhY2N1bUR1cmF0aW9uID0gMCwgbWF4U3RkID0gMCwgbWF4RHVyYXRpb24gPSAwLFxyXG4gICAgICBzdGFuZGFyZHMgPSBbXSBhcyBJdGVtTW9kZWxbXSwgbWFwOiB7XHJcbiAgICAgICAgW3VzZXJJZDogc3RyaW5nXToge1xyXG4gICAgICAgICAgaXRlbXM6IEl0ZW1Nb2RlbFtdO1xyXG4gICAgICAgICAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICAgICAgICAgIHN0ZEF2ZzogbnVtYmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfSA9IHt9O1xyXG4gICAgZGF0YS5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICBsZXQgYWNjdW1TdGQxID0gMCwgY291bnRTdGQxID0gMCwgYWNjdW1EdXJhdGlvbjEgPSAwO1xyXG4gICAgICBlLml0ZW1zLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgaWYgKGUuc3RhbmRhcmRUaW1lKSB7XHJcbiAgICAgICAgICBpZiAoZS5zdGFuZGFyZFRpbWUgPiBtYXhTdGQpXHJcbiAgICAgICAgICAgIG1heFN0ZCA9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgY291bnRTdGQrKztcclxuICAgICAgICAgIGNvdW50U3RkMSsrO1xyXG4gICAgICAgICAgYWNjdW1TdGQgKz0gZS5zdGFuZGFyZFRpbWU7XHJcbiAgICAgICAgICBhY2N1bVN0ZDEgKz0gZS5zdGFuZGFyZFRpbWU7XHJcbiAgICAgICAgICBzdGFuZGFyZHMucHVzaChlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGUuZHVyYXRpb24gPiBtYXhEdXJhdGlvbilcclxuICAgICAgICAgIG1heER1cmF0aW9uID0gZS5kdXJhdGlvbjtcclxuICAgICAgICBhY2N1bUR1cmF0aW9uICs9IGUuZHVyYXRpb247XHJcbiAgICAgICAgYWNjdW1EdXJhdGlvbjEgKz0gZS5kdXJhdGlvbjtcclxuICAgICAgfSk7XHJcbiAgICAgIG1hcFtlLnVzZXJJZF0gPSB7XHJcbiAgICAgICAgaXRlbXM6IGUuaXRlbXMsXHJcbiAgICAgICAgc3RkQXZnOiBjb3VudFN0ZDEgPyBhY2N1bVN0ZDEgLyBjb3VudFN0ZDEgOiAwLFxyXG4gICAgICAgIGR1cmF0aW9uQXZnOiBhY2N1bUR1cmF0aW9uMSAvIGRhdGEubGVuZ3RoLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN0ZEF2ZyA9IGNvdW50U3RkID8gYWNjdW1TdGQgLyBjb3VudFN0ZCA6IDAsXHJcbiAgICAgIHRoaXMuZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uIC8gZGF0YS5sZW5ndGg7XHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwoZGF0YS5tYXAoZSA9PiBlLnVzZXJJZCkpLlxyXG4gICAgICBzdWJzY3JpYmUodXNlcnMgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VyaWVzID0gW3tcclxuICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAgICAgICB4TmFtZTogJ2RhdGUnLFxyXG4gICAgICAgICAgeU5hbWU6ICdzdGFuZGFyZFRpbWUnLFxyXG4gICAgICAgICAgdHlwZTogJ1BvbGFyJyxcclxuICAgICAgICAgIGRyYXdUeXBlOiAnTGluZScsXHJcbiAgICAgICAgICBtYXJrZXI6IHtcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgc2hhcGU6ICdUcmlhbmdsZScsXHJcbiAgICAgICAgICAgIHdpZHRoOiA1LFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAvL2FuaW1hdGlvbjogeyBlbmFibGU6IHRydWUgfSxcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IHN0YW5kYXJkcy5cclxuICAgICAgICAgICAgc29ydCgoZTEsIGUyKSA9PiBlMS5zdGFuZGFyZFRpbWUgPCBlMi5zdGFuZGFyZFRpbWUgPyAtMSA6IDEpLFxyXG4gICAgICAgIH0gYXMgU2VyaWVzTW9kZWwsXHJcbiAgICAgICAgLi4udXNlcnMubWFwKHUgPT5cclxuICAgICAgICAoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbWFwW3UuaWRdLml0ZW1zLFxyXG4gICAgICAgICAgbmFtZTogdS5uYW1lLFxyXG4gICAgICAgICAgdHlwZTogJ1BvbGFyJyxcclxuICAgICAgICAgIGRyYXdUeXBlOiAnTGluZScsXHJcbiAgICAgICAgICBtYXJrZXI6IHtcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IDUsIGhlaWdodDogNSxcclxuICAgICAgICAgICAgc2hhcGU6ICdQZW50YWdvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgeE5hbWU6ICdkYXRlJyxcclxuICAgICAgICAgIHlOYW1lOiAnZHVyYXRpb24nLFxyXG4gICAgICAgIH0gYXMgU2VyaWVzTW9kZWwpKV07XHJcbiAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb25FeHBvcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Py5leHBvcnQoJ1hMU1gnLCB0aGlzLl9yZXBvcnRSZWYubmFtZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XHJcbiAgICBjb25zdCBjb2xvcnMgPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICBsZXQgcGFsZXR0ZXMgPSBbdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCksXHJcbiAgICAuLi5jb2xvcnNcclxuICAgIF07XHJcbiAgICB3aGlsZSAodGhpcy5zZXJpZXMubGVuZ3RoID4gcGFsZXR0ZXMubGVuZ3RoKVxyXG4gICAgICBwYWxldHRlcy5wdXNoKC4uLmNvbG9ycyk7XHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHtcclxuICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAgIHNlbGVjdGlvbk1vZGU6ICdTZXJpZXMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZVZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5kdXJhdGlvbkF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpLFxyXG4gICAgICB0aXRsZVN0eWxlOiB0aGlzLnRpdGxlU3R5bGUsXHJcbiAgICAgIHN1YlRpdGxlOiB0aGlzLnN0ZEF2ZyA/XHJcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnU3RhbmRhcmRWYWx1ZScsIGRheWpzLmR1cmF0aW9uKHRoaXMuc3RkQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSkgOiBudWxsLFxyXG4gICAgICBzdWJUaXRsZVN0eWxlOiB0aGlzLnRpdGxlU3R5bGUsXHJcbiAgICAgIHNlcmllczogdGhpcy5zZXJpZXMsXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgZW5hYmxlQW5pbWF0aW9uOiB0cnVlLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBsZWdlbmRTZXR0aW5nczogdGhpcy5sZWdlbmRTZXR0aW5ncyxcclxuICAgICAgbGVnZW5kUmVuZGVyOiB0aGlzLmxlZ2VuZFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBheGlzTGFiZWxSZW5kZXI6IHRoaXMubGFiZWxSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgcGFsZXR0ZXMsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgaGlnaGxpZ2h0TW9kZTogJ1NlcmllcycsXHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMuZXhwbG9yZS5iaW5kKHRoaXMpXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBsZWdlbmRSZW5kZXIoZXZ0OiBJTGVnZW5kUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICAvL2V2dC50ZXh0XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZXZ0OiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQuZGF0YS5wb2ludFkgYXMgYW55LCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICB9XHJcbiAgbGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBzd2l0Y2ggKGV2dC5heGlzLm5hbWUpIHtcclxuICAgICAgY2FzZSAncHJpbWFyeVlBeGlzJzpcclxuICAgICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC52YWx1ZSwgJ3MnKS5odW1hbml6ZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwcmltYXJ5WEF4aXMnOlxyXG4gICAgICAgIGV2dC50ZXh0ID0gZGF5anMoZXZ0LnZhbHVlICogMTAwMCkuZm9ybWF0KCdNTU0gWVlZWScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBsb3JlKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IHBvaW50SW5kZXgsIHNlcmllc0luZGV4IH0gPSBldnQ7XHJcbiAgICBpZiAoc2VyaWVzSW5kZXggPT09IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGRvY3VtZW50SWQgfSA9IHRoaXMuY2hhcnQuc2VyaWVzW3Nlcmllc0luZGV4XS5kYXRhU291cmNlW3BvaW50SW5kZXhdIGFzIEl0ZW1Nb2RlbDtcclxuXHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94JywgJ2QnLCBkb2N1bWVudElkLmVuY29kZUlkKCldKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgaXRlbXM6IEl0ZW1Nb2RlbFtdO1xyXG59XHJcbmludGVyZmFjZSBJdGVtTW9kZWwge1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBkYXRlOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRUaW1lPzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uOiBudW1iZXI7XHJcbiAgaXNGWUk6IGJvb2xlYW47XHJcbiAgYWN0aW9uSWQ6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==
|
@@ -1,58 +0,0 @@
|
|
1
|
-
import { ElementRef, OnDestroy } from '@angular/core';
|
2
|
-
import { ILegendRenderEventArgs, IPointEventArgs, AxisModel, ChartTheme, ITooltipRenderEventArgs, Chart, IAxisLabelRenderEventArgs, LegendSettingsModel, SeriesModel, TooltipSettingsModel, titleSettingsModel } from '@syncfusion/ej2-charts';
|
3
|
-
import { ReportRef } from '../report-ref';
|
4
|
-
import { ReportComponent } from '../../core/base';
|
5
|
-
import { AccountService } from '../../core/account.service';
|
6
|
-
import { SessionService } from '../../core/session.service';
|
7
|
-
import { RouterImpl } from '../../core/router';
|
8
|
-
import { AxesMap } from '../../core/models';
|
9
|
-
import { TranslateService } from '../../core/translate.service';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
export declare class PerformanceWindComponent implements ReportComponent<Model>, OnDestroy {
|
12
|
-
private _elementRef;
|
13
|
-
private _router;
|
14
|
-
private _accounts;
|
15
|
-
private _session;
|
16
|
-
private _translate;
|
17
|
-
private _reportRef;
|
18
|
-
durationAvg: number;
|
19
|
-
stdAvg: number;
|
20
|
-
series: SeriesModel[];
|
21
|
-
chart: Chart;
|
22
|
-
readonly legendSettings: LegendSettingsModel;
|
23
|
-
readonly tooltip: TooltipSettingsModel;
|
24
|
-
theme: ChartTheme;
|
25
|
-
readonly titleStyle: titleSettingsModel;
|
26
|
-
readonly primaryXAxis: AxisModel;
|
27
|
-
readonly primaryYAxis: AxisModel;
|
28
|
-
private actions;
|
29
|
-
private readonly _destroy;
|
30
|
-
constructor(_elementRef: ElementRef<HTMLDivElement>, _router: RouterImpl, _accounts: AccountService, _session: SessionService, _translate: TranslateService, _reportRef: ReportRef<PerformanceSettingsModel>);
|
31
|
-
onBind(data: Model[]): void;
|
32
|
-
onExport(): void;
|
33
|
-
private _draw;
|
34
|
-
legendRender(evt: ILegendRenderEventArgs): void;
|
35
|
-
tooltipRender(evt: ITooltipRenderEventArgs): void;
|
36
|
-
labelRender(evt: IAxisLabelRenderEventArgs): void;
|
37
|
-
explore(evt: IPointEventArgs): void;
|
38
|
-
ngOnDestroy(): void;
|
39
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceWindComponent, never>;
|
40
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceWindComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
41
|
-
}
|
42
|
-
interface Model {
|
43
|
-
userId: string;
|
44
|
-
items: ItemModel[];
|
45
|
-
}
|
46
|
-
interface ItemModel {
|
47
|
-
documentId: number;
|
48
|
-
date: number;
|
49
|
-
standardTime?: number;
|
50
|
-
duration: number;
|
51
|
-
isFYI: boolean;
|
52
|
-
actionId: string;
|
53
|
-
}
|
54
|
-
interface PerformanceSettingsModel {
|
55
|
-
cube?: string;
|
56
|
-
filters?: AxesMap;
|
57
|
-
}
|
58
|
-
export {};
|
File without changes
|