@provoly/dashboard 0.15.9 → 0.15.11

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.
Files changed (27) hide show
  1. package/esm2022/filters/date/date-filter.component.mjs +3 -3
  2. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +2 -2
  3. package/esm2022/lib/core/model/dataset.interface.mjs +1 -1
  4. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  5. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  6. package/esm2022/lib/core/public-api.mjs +2 -2
  7. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +184 -0
  8. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +93 -0
  9. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +2 -2
  10. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +8 -6
  11. package/fesm2022/provoly-dashboard-filters-date.mjs +2 -2
  12. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  13. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +7 -5
  14. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  15. package/fesm2022/provoly-dashboard.mjs +230 -164
  16. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  17. package/lib/core/model/dataset.interface.d.ts +1 -1
  18. package/lib/core/model/filter.interface.d.ts +1 -1
  19. package/lib/core/model/widget-map-manifest.interface.d.ts +1 -0
  20. package/lib/core/public-api.d.ts +1 -1
  21. package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +33 -0
  22. package/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.d.ts +22 -0
  23. package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
  24. package/package.json +31 -31
  25. package/widgets/widget-map/component/widget-map.component.d.ts +2 -1
  26. package/esm2022/lib/core/store/aggregation/frontend-aggregation.service.mjs +0 -210
  27. package/lib/core/store/aggregation/frontend-aggregation.service.d.ts +0 -33
@@ -15,7 +15,7 @@ export declare enum GeoMetadata {
15
15
  export interface DatasetMessage {
16
16
  extractMessageCode: string;
17
17
  type: string;
18
- name: string;
18
+ name?: string;
19
19
  recordId: string;
20
20
  datasetVersionId: string;
21
21
  level: 'ERROR' | 'WARNING';
@@ -9,7 +9,7 @@ export interface Filter {
9
9
  datasource: string;
10
10
  }[];
11
11
  operator?: string;
12
- value?: string;
12
+ value?: string | number;
13
13
  possibleValues?: string;
14
14
  hasDateRange?: boolean;
15
15
  }
@@ -15,6 +15,7 @@ export interface MapWidgetOptions {
15
15
  singleLayer?: boolean;
16
16
  ignoreAutoLayer?: string[];
17
17
  automaticLayers?: boolean;
18
+ ignoreGetCapabilitiesExtent?: boolean;
18
19
  }
19
20
  export type MapWidgetLayerOptions = MapWidgetHeatMapLayerOptions | MapWidgetMarkerLayerOptions | MapWidgetBubbleLayerOptions | MapWidgetRelationLayerOptions | MapWMSLayerLayerOptions | MapFeatureLayerOptions | MapVectorTileLayerOptions | MapRasterTileLayerOptions | MapGeoServerLayerOptions | MapAutoLayerOptions | MapWMTSLayerLayerOptions | MapWidgetGeometryLayerOptions;
20
21
  export interface BaseWidgetMapLayerOptions {
@@ -45,7 +45,7 @@ export * from './store/context-menu/context-menu.reducer';
45
45
  export * from './store/raw/raw.service';
46
46
  export * from './store/aggregation/base-aggregation.service';
47
47
  export * from './store/aggregation/backend-aggregation.service';
48
- export * from './store/aggregation/frontend-aggregation.service';
48
+ export * from './store/aggregation/frontend-aggregation/frontend-aggregation.service';
49
49
  export * from './components/nq-color-selector/nq-color-selector.component';
50
50
  export * from './components/translate-id/translate-id.pipe';
51
51
  export * from './components/translate-item-to-symbol/translate-item-to-symbol.pipe';
@@ -0,0 +1,33 @@
1
+ import { AtLimit, ChartAggregatedWidgetOptions, Operation, TimeLimit } from '../../../model/widget-aggregated-chart-manifest.interface';
2
+ import { Class } from '../../class/class.interface';
3
+ import { Item, ValueType } from '../../../model/item.interface';
4
+ import { ResultSets } from '../../../model/result-set.interface';
5
+ import { Filter } from '../../../model/filter.interface';
6
+ export declare class AggregationUtils {
7
+ static getAxisAttribute(classes: Class[], options: ChartAggregatedWidgetOptions, axis: 'ordinate' | 'abscissa'): string | undefined;
8
+ static getChartDatasourceResultSet(datasources: string[], resultSets: ResultSets): import("../../../model/result-set.interface").ResultSet;
9
+ static getAggregatedValue(operation: Operation, groupedItems: {
10
+ [key: string | number]: Item[];
11
+ }, abscissaAttribute: keyof typeof groupedItems, ordinateAttribute: string): number | ValueType;
12
+ static getValueFromAttribute(item: Item, attribute: string): import("../../../model/item.interface").AttributeSimpleValue;
13
+ static getAggregatedValueForOperation(operation: Operation, values: number[]): number | ValueType;
14
+ static getQuartile(values: number[], q: number): number;
15
+ static formatByLimit(data: {
16
+ key: ValueType;
17
+ value: ValueType;
18
+ }[], limit: AtLimit | TimeLimit, operation: Operation): {
19
+ key: ValueType;
20
+ value: ValueType;
21
+ }[];
22
+ static formatDataByTimeLimit(data: {
23
+ key: ValueType;
24
+ value: ValueType;
25
+ }[], limit: TimeLimit, operation: Operation): {
26
+ value: ValueType;
27
+ key: ValueType;
28
+ values: ValueType[];
29
+ }[];
30
+ static getKeyValueForTimeInterval(key: ValueType, interval: 'second' | 'minute' | 'hour' | 'day' | 'week' | 'quarter' | 'year'): string;
31
+ static filterItems(items: Item[], filters: Filter[]): Item[];
32
+ static doesItemValuePassFilter(item: Item, attribute: string, operator: string | undefined, filterValue: string | number | undefined): boolean;
33
+ }
@@ -0,0 +1,22 @@
1
+ import { Store } from '@ngrx/store';
2
+ import { Observable } from 'rxjs';
3
+ import { Item, ValueType } from '../../../model/item.interface';
4
+ import { AtLimit, ChartAggregatedWidgetOptions, Operation, TimeLimit } from '../../../model/widget-aggregated-chart-manifest.interface';
5
+ import { AggregationResult, PryAggregationService } from '../base-aggregation.service';
6
+ import { Class } from '../../class/class.interface';
7
+ import * as i0 from "@angular/core";
8
+ export declare class PryFrontendAggregationService extends PryAggregationService {
9
+ private store;
10
+ constructor(store: Store);
11
+ aggregate(datasources: string[], options: ChartAggregatedWidgetOptions): Observable<AggregationResult>;
12
+ getAggregationResult(options: ChartAggregatedWidgetOptions, classes: Class[], items: Item[]): AggregationResult;
13
+ getItemsGroupedByAttributeValue(items: Item[], attribute: string): {
14
+ [key: string | number]: Item[];
15
+ };
16
+ getChartDataBasedOnOperation(items: Item[], operation: Operation, abscissa: string, ordinate: string, limit?: AtLimit | TimeLimit): {
17
+ key: ValueType;
18
+ value: ValueType;
19
+ }[];
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<PryFrontendAggregationService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<PryFrontendAggregationService>;
22
+ }
@@ -319,7 +319,7 @@ export declare const DashboardSelectors: {
319
319
  viewMode?: ViewMode | undefined;
320
320
  initial: GlobalManifest | undefined;
321
321
  }>;
322
- filters: MemoizedSelector<object, {}, (s1: DashboardState) => {}>;
322
+ filters: MemoizedSelector<object, Filter[], (s1: DashboardState) => Filter[]>;
323
323
  isCurrentPresentationModified: MemoizedSelector<object, boolean, (s1: {
324
324
  current: import("../../core/model/manifest.interface").ManifestDescription | undefined;
325
325
  viewMode?: ViewMode | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provoly/dashboard",
3
- "version": "0.15.9",
3
+ "version": "0.15.11",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "14.x || 15.x || 16.x",
@@ -85,18 +85,18 @@
85
85
  "esm": "./esm2022/admin/provoly-dashboard-admin.mjs",
86
86
  "default": "./fesm2022/provoly-dashboard-admin.mjs"
87
87
  },
88
- "./dataset": {
89
- "types": "./dataset/index.d.ts",
90
- "esm2022": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
91
- "esm": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
92
- "default": "./fesm2022/provoly-dashboard-dataset.mjs"
93
- },
94
88
  "./import": {
95
89
  "types": "./import/index.d.ts",
96
90
  "esm2022": "./esm2022/import/provoly-dashboard-import.mjs",
97
91
  "esm": "./esm2022/import/provoly-dashboard-import.mjs",
98
92
  "default": "./fesm2022/provoly-dashboard-import.mjs"
99
93
  },
94
+ "./dataset": {
95
+ "types": "./dataset/index.d.ts",
96
+ "esm2022": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
97
+ "esm": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
98
+ "default": "./fesm2022/provoly-dashboard-dataset.mjs"
99
+ },
100
100
  "./notification": {
101
101
  "types": "./notification/index.d.ts",
102
102
  "esm2022": "./esm2022/notification/provoly-dashboard-notification.mjs",
@@ -139,30 +139,6 @@
139
139
  "esm": "./esm2022/toolbox/provoly-dashboard-toolbox.mjs",
140
140
  "default": "./fesm2022/provoly-dashboard-toolbox.mjs"
141
141
  },
142
- "./filters/date": {
143
- "types": "./filters/date/index.d.ts",
144
- "esm2022": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
145
- "esm": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
146
- "default": "./fesm2022/provoly-dashboard-filters-date.mjs"
147
- },
148
- "./filters/list": {
149
- "types": "./filters/list/index.d.ts",
150
- "esm2022": "./esm2022/filters/list/provoly-dashboard-filters-list.mjs",
151
- "esm": "./esm2022/filters/list/provoly-dashboard-filters-list.mjs",
152
- "default": "./fesm2022/provoly-dashboard-filters-list.mjs"
153
- },
154
- "./filters/number": {
155
- "types": "./filters/number/index.d.ts",
156
- "esm2022": "./esm2022/filters/number/provoly-dashboard-filters-number.mjs",
157
- "esm": "./esm2022/filters/number/provoly-dashboard-filters-number.mjs",
158
- "default": "./fesm2022/provoly-dashboard-filters-number.mjs"
159
- },
160
- "./filters/text": {
161
- "types": "./filters/text/index.d.ts",
162
- "esm2022": "./esm2022/filters/text/provoly-dashboard-filters-text.mjs",
163
- "esm": "./esm2022/filters/text/provoly-dashboard-filters-text.mjs",
164
- "default": "./fesm2022/provoly-dashboard-filters-text.mjs"
165
- },
166
142
  "./components/card": {
167
143
  "types": "./components/card/index.d.ts",
168
144
  "esm2022": "./esm2022/components/card/provoly-dashboard-components-card.mjs",
@@ -205,6 +181,30 @@
205
181
  "esm": "./esm2022/components/stepper/provoly-dashboard-components-stepper.mjs",
206
182
  "default": "./fesm2022/provoly-dashboard-components-stepper.mjs"
207
183
  },
184
+ "./filters/date": {
185
+ "types": "./filters/date/index.d.ts",
186
+ "esm2022": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
187
+ "esm": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
188
+ "default": "./fesm2022/provoly-dashboard-filters-date.mjs"
189
+ },
190
+ "./filters/list": {
191
+ "types": "./filters/list/index.d.ts",
192
+ "esm2022": "./esm2022/filters/list/provoly-dashboard-filters-list.mjs",
193
+ "esm": "./esm2022/filters/list/provoly-dashboard-filters-list.mjs",
194
+ "default": "./fesm2022/provoly-dashboard-filters-list.mjs"
195
+ },
196
+ "./filters/number": {
197
+ "types": "./filters/number/index.d.ts",
198
+ "esm2022": "./esm2022/filters/number/provoly-dashboard-filters-number.mjs",
199
+ "esm": "./esm2022/filters/number/provoly-dashboard-filters-number.mjs",
200
+ "default": "./fesm2022/provoly-dashboard-filters-number.mjs"
201
+ },
202
+ "./filters/text": {
203
+ "types": "./filters/text/index.d.ts",
204
+ "esm2022": "./esm2022/filters/text/provoly-dashboard-filters-text.mjs",
205
+ "esm": "./esm2022/filters/text/provoly-dashboard-filters-text.mjs",
206
+ "default": "./fesm2022/provoly-dashboard-filters-text.mjs"
207
+ },
208
208
  "./pipeline-components/filter": {
209
209
  "types": "./pipeline-components/filter/index.d.ts",
210
210
  "esm2022": "./esm2022/pipeline-components/filter/provoly-dashboard-pipeline-components-filter.mjs",
@@ -75,6 +75,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
75
75
  center?: number[] | undefined;
76
76
  }>;
77
77
  fitOption$: Observable<boolean>;
78
+ ignoreGetCapabilitiesExtent$: Observable<boolean>;
78
79
  mapStyleUrl$: Observable<string | null>;
79
80
  interactionManager: InteractionManager;
80
81
  mapStyleLayer$: Observable<VectorTileLayer[]>;
@@ -104,7 +105,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
104
105
  setDefaultLayerTitle(layer: MapWidgetLayerOptions, capabilities: {
105
106
  [p: string]: GetCapabilitiesResponse | null;
106
107
  } | undefined): void;
107
- fitMapForObjects(fit: boolean, wmsCapabilities?: {
108
+ fitMapForObjects(fit: boolean, ignoreGetCapabilitiesExtent?: boolean, wmsCapabilities?: {
108
109
  [p: string]: GetCapabilitiesResponse | null;
109
110
  }, selectedIds?: string[], extents?: {
110
111
  datasource: string;
@@ -1,210 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { combineLatest, map } from 'rxjs';
3
- import { ItemUtils } from '../../../dashboard/item-utils';
4
- import { ResultsetUtils } from '../../../dashboard/resultset-utils';
5
- import { DashboardSelectors } from '../../../dashboard/store/dashboard.selectors';
6
- import { Operation } from '../../model/widget-aggregated-chart-manifest.interface';
7
- import { ClassSelectors } from '../class/class.selectors';
8
- import { PryAggregationService } from './base-aggregation.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@ngrx/store";
11
- export class PryFrontendAggregationService extends PryAggregationService {
12
- constructor(store) {
13
- super();
14
- this.store = store;
15
- }
16
- // @ts-ignore
17
- aggregate(datasource, options) {
18
- return combineLatest([
19
- this.store.select(DashboardSelectors.resultSets),
20
- this.store.select(ClassSelectors.classes)
21
- ]).pipe(map(([resultSets, classes]) => {
22
- const abscissa = classes
23
- .map((clazz) => clazz.attributes.find((attr) => attr.id === options.abscissa.attribute))
24
- .find((attr) => !!attr)?.name;
25
- const ordinate = classes
26
- .map((clazz) => clazz.attributes.find((attr) => attr.id === options.ordinate.attribute))
27
- .find((attr) => !!attr)?.name;
28
- if (!abscissa || !ordinate) {
29
- throw new Error('abscissaorodinateinvalid');
30
- }
31
- let data = datasource.map((rsName) => resultSets[rsName ?? '']).filter((rsName) => !!rsName);
32
- const resultSet = data.reduce((rs1, rs2) => ResultsetUtils.mergeResultSets(rs1, rs2), {
33
- items: {},
34
- relations: [],
35
- merged: data.length
36
- });
37
- let items = Object.keys(resultSet.items)
38
- .map((classId) => resultSet.items[classId])
39
- .reduce((prev, curr) => [...prev, ...curr], []);
40
- if (!!options.groupBy) {
41
- const groupBy = classes
42
- .map((clazz) => clazz.attributes.find((attr) => attr.id === options.groupBy?.attribute))
43
- .find((attr) => !!attr)?.name;
44
- if (!groupBy) {
45
- throw new Error('groupByAttributeisinvalid');
46
- }
47
- const itemsGrouped = this.groupBy(items, groupBy);
48
- const values = [];
49
- Object.keys(itemsGrouped).forEach((key) => {
50
- values.push({
51
- key,
52
- groupBy: this.getValueFromOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.limit)
53
- });
54
- });
55
- return { operation: options.ordinate.operation, values: values };
56
- }
57
- const values = this.getValueFromOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.limit);
58
- return { operation: options.ordinate.operation, values: values };
59
- }));
60
- }
61
- getValueFromOperation(items, operation, abscissa, ordinate, limit) {
62
- let result = [];
63
- const groupByAbscissa = this.groupBy(items, abscissa);
64
- groupByAbscissa.map((test) => console.log(groupByAbscissa[test]));
65
- switch (operation) {
66
- case Operation.COUNT:
67
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
68
- key: key,
69
- value: groupByAbscissa[key].length
70
- })));
71
- break;
72
- case Operation.SUM:
73
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
74
- key: key,
75
- value: this.getSum(groupByAbscissa[key], ordinate)
76
- })));
77
- break;
78
- case Operation.DISTINCT:
79
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
80
- key: key,
81
- value: this.getDistinct(groupByAbscissa[key], ordinate)
82
- })));
83
- break;
84
- case Operation.AVERAGE:
85
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
86
- key: key,
87
- value: this.getAverage(groupByAbscissa[key], ordinate)
88
- })));
89
- break;
90
- case Operation.MEDIAN:
91
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
92
- key: key,
93
- value: this.getQuartile(groupByAbscissa[key], ordinate, 0.5)
94
- })));
95
- break;
96
- case Operation.Q1:
97
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
98
- key: key,
99
- value: this.getQuartile(groupByAbscissa[key], ordinate, 0.25)
100
- })));
101
- break;
102
- case Operation.Q3:
103
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
104
- key: key,
105
- value: this.getQuartile(groupByAbscissa[key], ordinate, 0.75)
106
- })));
107
- break;
108
- case Operation.MIN:
109
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
110
- key: key,
111
- value: this.getMin(groupByAbscissa[key], ordinate)
112
- })));
113
- break;
114
- default:
115
- result.push(...Object.keys(groupByAbscissa).map((key) => ({
116
- key: key,
117
- value: this.getMax(groupByAbscissa[key], ordinate)
118
- })));
119
- break;
120
- }
121
- if (limit) {
122
- result = this.formatByLimit(result, limit);
123
- }
124
- return result;
125
- }
126
- groupBy(items, attribute) {
127
- let distincts = [];
128
- items.forEach((item) => {
129
- let value = this.getValueFromAttribute(item, attribute);
130
- if (distincts[value.value]) {
131
- distincts[value.value].push(item);
132
- }
133
- else {
134
- distincts[value.value] = [item];
135
- }
136
- });
137
- return distincts;
138
- }
139
- getValueFromAttribute(item, attribute) {
140
- let value = ItemUtils.getAttributeValue(item, attribute);
141
- return Array.isArray(value) ? value[0] : value;
142
- }
143
- getSum(items, attribute) {
144
- let sum = 0;
145
- items.forEach((item) => {
146
- sum += this.getValueFromAttribute(item, attribute).value;
147
- });
148
- return sum;
149
- }
150
- getMin(items, attribute) {
151
- const result = items.reduce((prev, curr) => {
152
- const prevValue = this.getValueFromAttribute(prev, attribute).value;
153
- const currValue = this.getValueFromAttribute(curr, attribute).value;
154
- return prevValue < currValue ? prev : curr;
155
- });
156
- return this.getValueFromAttribute(result, attribute).value;
157
- }
158
- getMax(items, attribute) {
159
- const result = items.reduce((prev, curr) => {
160
- const prevValue = this.getValueFromAttribute(prev, attribute).value;
161
- const currValue = this.getValueFromAttribute(curr, attribute).value;
162
- return prevValue > currValue ? prev : curr;
163
- });
164
- return this.getValueFromAttribute(result, attribute).value;
165
- }
166
- getAverage(items, attribute) {
167
- const allValues = items.map((item) => this.getValueFromAttribute(item, attribute).value);
168
- return allValues.reduce((acc, val) => acc + val, 0) / allValues.length;
169
- }
170
- getDistinct(items, attribute) {
171
- return [...new Set(items.map((item) => this.getValueFromAttribute(item, attribute).value))].length;
172
- }
173
- getQuartile(items, attribute, q) {
174
- const allValues = items.map((item) => this.getValueFromAttribute(item, attribute).value);
175
- const allValuesSorted = allValues.sort((a, b) => a - b);
176
- let pos = (allValuesSorted.length - 1) * q;
177
- if (pos % 1 === 0) {
178
- return allValuesSorted[pos];
179
- }
180
- pos = Math.floor(pos);
181
- if (allValuesSorted[pos + 1] !== undefined) {
182
- return (allValuesSorted[pos] + allValuesSorted[pos + 1]) / 2;
183
- }
184
- return allValuesSorted[pos];
185
- }
186
- getPercentile(items, attribute, q) {
187
- const allValues = items.map((item) => this.getValueFromAttribute(item, attribute).value);
188
- const allValuesSorted = allValues.sort((a, b) => a - b);
189
- return ((100 * allValuesSorted.reduce((acc, v) => acc + (v < q ? 1 : 0) + (v === q ? 0.5 : 0), 0)) /
190
- allValuesSorted.length);
191
- }
192
- formatByLimit(data, limit) {
193
- if (!limit.isTimeLimit) {
194
- data
195
- .sort((a, b) => (limit.order === 'asc' ? (a.value > b.value ? 1 : -1) : a.value < b.value ? 1 : -1))
196
- .splice(limit.at);
197
- return data;
198
- }
199
- return data;
200
- }
201
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
202
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, providedIn: 'root' }); }
203
- }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, decorators: [{
205
- type: Injectable,
206
- args: [{
207
- providedIn: 'root'
208
- }]
209
- }], ctorParameters: function () { return [{ type: i1.Store }]; } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFHTCxTQUFTLEVBRVYsTUFBTSx3REFBd0QsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFLdEYsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRUQsYUFBYTtJQUNKLFNBQVMsQ0FBQyxVQUFvQixFQUFFLE9BQXFDO1FBQzVFLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztZQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1NBQzFDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMs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QUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FsUFUsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJdGVtVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvaXRlbS11dGlscyc7XG5pbXBvcnQgeyBSZXN1bHRzZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSXRlbSwgVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQXRMaW1pdCxcbiAgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyxcbiAgT3BlcmF0aW9uLFxuICBUaW1lTGltaXRcbn0gZnJvbSAnLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi4vY2xhc3MvY2xhc3Muc2VsZWN0b3JzJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uUmVzdWx0LCBQcnlBZ2dyZWdhdGlvblNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeUZyb250ZW5kQWdncmVnYXRpb25TZXJ2aWNlIGV4dGVuZHMgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBvdmVycmlkZSBhZ2dyZWdhdGUoZGF0YXNvdXJjZTogc3RyaW5nW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMpOiBPYnNlcnZhYmxlPEFnZ3JlZ2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3NlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbcmVzdWx0U2V0cywgY2xhc3Nlc10pID0+IHtcbiAgICAgICAgY29uc3QgYWJzY2lzc2EgPSBjbGFzc2VzXG4gICAgICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5pZCA9PT0gb3B0aW9ucy5hYnNjaXNzYS5hdHRyaWJ1dGUpKVxuICAgICAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICAgICAgICBjb25zdCBvcmRpbmF0ZSA9IGNsYXNzZXNcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBvcHRpb25zLm9yZGluYXRlLmF0dHJpYnV0ZSkpXG4gICAgICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWU7XG4gICAgICAgIGlmICghYWJzY2lzc2EgfHwgIW9yZGluYXRlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhYnNjaXNzYW9yb2RpbmF0ZWludmFsaWQnKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGF0YSA9IGRhdGFzb3VyY2UubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lID8/ICcnXSkuZmlsdGVyKChyc05hbWUpID0+ICEhcnNOYW1lKTtcbiAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gZGF0YS5yZWR1Y2UoKHJzMSwgcnMyKSA9PiBSZXN1bHRzZXRVdGlscy5tZXJnZVJlc3VsdFNldHMocnMxLCByczIpLCB7XG4gICAgICAgICAgaXRlbXM6IHt9LFxuICAgICAgICAgIHJlbGF0aW9uczogW10sXG4gICAgICAgICAgbWVyZ2VkOiBkYXRhLmxlbmd0aFxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGl0ZW1zOiBJdGVtW10gPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgLm1hcCgoY2xhc3NJZCkgPT4gcmVzdWx0U2V0Lml0ZW1zW2NsYXNzSWRdKVxuICAgICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IFsuLi5wcmV2LCAuLi5jdXJyXSwgW10pIGFzIEl0ZW1bXTtcbiAgICAgICAgaWYgKCEhb3B0aW9ucy5ncm91cEJ5KSB7XG4gICAgICAgICAgY29uc3QgZ3JvdXBCeSA9IGNsYXNzZXNcbiAgICAgICAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IG9wdGlvbnMuZ3JvdXBCeT8uYXR0cmlidXRlKSlcbiAgICAgICAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICAgICAgICAgIGlmICghZ3JvdXBCeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdncm91cEJ5QXR0cmlidXRlaXNpbnZhbGlkJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGl0ZW1zR3JvdXBlZDogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSA9IHRoaXMuZ3JvdXBCeShpdGVtcywgZ3JvdXBCeSk7XG4gICAgICAgICAgY29uc3QgdmFsdWVzOiB7IGtleTogVmFsdWVUeXBlOyBncm91cEJ5OiB7fVtdIH1bXSA9IFtdO1xuICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW1zR3JvdXBlZCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZ3JvdXBCeTogdGhpcy5nZXRWYWx1ZUZyb21PcGVyYXRpb24oXG4gICAgICAgICAgICAgICAgaXRlbXNHcm91cGVkW2tleV0sXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgYWJzY2lzc2EsXG4gICAgICAgICAgICAgICAgb3JkaW5hdGUsXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5hYnNjaXNzYS5saW1pdFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4geyBvcGVyYXRpb246IG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uLCB2YWx1ZXM6IHZhbHVlcyB9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0VmFsdWVGcm9tT3BlcmF0aW9uKFxuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uLFxuICAgICAgICAgIGFic2Npc3NhLFxuICAgICAgICAgIG9yZGluYXRlLFxuICAgICAgICAgIG9wdGlvbnMuYWJzY2lzc2EubGltaXRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbiwgdmFsdWVzOiB2YWx1ZXMgfSBhcyBBZ2dyZWdhdGlvblJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFZhbHVlRnJvbU9wZXJhdGlvbihcbiAgICBpdGVtczogSXRlbVtdLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGFic2Npc3NhOiBzdHJpbmcsXG4gICAgb3JkaW5hdGU6IHN0cmluZyxcbiAgICBsaW1pdD86IEF0TGltaXQgfCBUaW1lTGltaXRcbiAgKSB7XG4gICAgbGV0IHJlc3VsdDogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10gPSBbXTtcbiAgICBjb25zdCBncm91cEJ5QWJzY2lzc2EgPSB0aGlzLmdyb3VwQnkoaXRlbXMsIGFic2Npc3NhKTtcbiAgICBncm91cEJ5QWJzY2lzc2EubWFwKCh0ZXN0OiBhbnkpID0+IGNvbnNvbGUubG9nKGdyb3VwQnlBYnNjaXNzYVt0ZXN0XSkpO1xuICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5DT1VOVDpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IGdyb3VwQnlBYnNjaXNzYVtrZXldLmxlbmd0aFxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlNVTTpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0U3VtKGdyb3VwQnlBYnNjaXNzYVtrZXldLCBvcmRpbmF0ZSlcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5ESVNUSU5DVDpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0RGlzdGluY3QoZ3JvdXBCeUFic2Npc3NhW2tleV0sIG9yZGluYXRlKVxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkFWRVJBR0U6XG4gICAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICAgIC4uLk9iamVjdC5rZXlzKGdyb3VwQnlBYnNjaXNzYSkubWFwKChrZXkpID0+ICh7XG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmdldEF2ZXJhZ2UoZ3JvdXBCeUFic2Npc3NhW2tleV0sIG9yZGluYXRlKVxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1FRElBTjpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0UXVhcnRpbGUoZ3JvdXBCeUFic2Npc3NhW2tleV0sIG9yZGluYXRlLCAwLjUpXG4gICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPcGVyYXRpb24uUTE6XG4gICAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICAgIC4uLk9iamVjdC5rZXlzKGdyb3VwQnlBYnNjaXNzYSkubWFwKChrZXkpID0+ICh7XG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmdldFF1YXJ0aWxlKGdyb3VwQnlBYnNjaXNzYVtrZXldLCBvcmRpbmF0ZSwgMC4yNSlcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5RMzpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0UXVhcnRpbGUoZ3JvdXBCeUFic2Npc3NhW2tleV0sIG9yZGluYXRlLCAwLjc1KVxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1JTjpcbiAgICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0TWluKGdyb3VwQnlBYnNjaXNzYVtrZXldLCBvcmRpbmF0ZSlcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXN1bHQucHVzaChcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyhncm91cEJ5QWJzY2lzc2EpLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5nZXRNYXgoZ3JvdXBCeUFic2Npc3NhW2tleV0sIG9yZGluYXRlKVxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGxpbWl0KSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmZvcm1hdEJ5TGltaXQocmVzdWx0LCBsaW1pdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBncm91cEJ5KGl0ZW1zOiBJdGVtW10sIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgbGV0IGRpc3RpbmN0czogYW55ID0gW107XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogSXRlbSkgPT4ge1xuICAgICAgbGV0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbSwgYXR0cmlidXRlKTtcbiAgICAgIGlmIChkaXN0aW5jdHNbdmFsdWUudmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyXSkge1xuICAgICAgICBkaXN0aW5jdHNbdmFsdWUudmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyXS5wdXNoKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlzdGluY3RzW3ZhbHVlLnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcl0gPSBbaXRlbV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpc3RpbmN0cztcbiAgfVxuXG4gIGdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtOiBJdGVtLCBhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IEl0ZW1VdGlscy5nZXRBdHRyaWJ1dGVWYWx1ZShpdGVtLCBhdHRyaWJ1dGUpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gIH1cblxuICBnZXRTdW0oaXRlbXM6IEl0ZW1bXSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBsZXQgc3VtOiBudW1iZXIgPSAwO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHN1bSArPSB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcjtcbiAgICB9KTtcbiAgICByZXR1cm4gc3VtO1xuICB9XG5cbiAgZ2V0TWluKGl0ZW1zOiBJdGVtW10sIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gaXRlbXMucmVkdWNlKChwcmV2OiBhbnksIGN1cnI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcHJldlZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUocHJldiwgYXR0cmlidXRlKS52YWx1ZTtcbiAgICAgIGNvbnN0IGN1cnJWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGN1cnIsIGF0dHJpYnV0ZSkudmFsdWU7XG4gICAgICByZXR1cm4gcHJldlZhbHVlIDwgY3VyclZhbHVlID8gcHJldiA6IGN1cnI7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKHJlc3VsdCwgYXR0cmlidXRlKS52YWx1ZTtcbiAgfVxuXG4gIGdldE1heChpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGl0ZW1zLnJlZHVjZSgocHJldjogYW55LCBjdXJyOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKHByZXYsIGF0dHJpYnV0ZSkudmFsdWU7XG4gICAgICBjb25zdCBjdXJyVmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShjdXJyLCBhdHRyaWJ1dGUpLnZhbHVlO1xuICAgICAgcmV0dXJuIHByZXZWYWx1ZSA+IGN1cnJWYWx1ZSA/IHByZXYgOiBjdXJyO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShyZXN1bHQsIGF0dHJpYnV0ZSkudmFsdWU7XG4gIH1cblxuICBnZXRBdmVyYWdlKGl0ZW1zOiBJdGVtW10sIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcik7XG4gICAgcmV0dXJuIGFsbFZhbHVlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApIC8gYWxsVmFsdWVzLmxlbmd0aDtcbiAgfVxuXG4gIGdldERpc3RpbmN0KGl0ZW1zOiBJdGVtW10sIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFsuLi5uZXcgU2V0KGl0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbSwgYXR0cmlidXRlKS52YWx1ZSkpXS5sZW5ndGg7XG4gIH1cblxuICBnZXRRdWFydGlsZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZywgcTogbnVtYmVyKSB7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcik7XG4gICAgY29uc3QgYWxsVmFsdWVzU29ydGVkID0gYWxsVmFsdWVzLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBhIC0gYik7XG5cbiAgICBsZXQgcG9zID0gKGFsbFZhbHVlc1NvcnRlZC5sZW5ndGggLSAxKSAqIHE7XG4gICAgaWYgKHBvcyAlIDEgPT09IDApIHtcbiAgICAgIHJldHVybiBhbGxWYWx1ZXNTb3J0ZWRbcG9zXTtcbiAgICB9XG5cbiAgICBwb3MgPSBNYXRoLmZsb29yKHBvcyk7XG4gICAgaWYgKGFsbFZhbHVlc1NvcnRlZFtwb3MgKyAxXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gKGFsbFZhbHVlc1NvcnRlZFtwb3NdICsgYWxsVmFsdWVzU29ydGVkW3BvcyArIDFdKSAvIDI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsbFZhbHVlc1NvcnRlZFtwb3NdO1xuICB9XG5cbiAgZ2V0UGVyY2VudGlsZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZywgcTogbnVtYmVyKSB7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcik7XG4gICAgY29uc3QgYWxsVmFsdWVzU29ydGVkID0gYWxsVmFsdWVzLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBhIC0gYik7XG4gICAgcmV0dXJuIChcbiAgICAgICgxMDAgKiBhbGxWYWx1ZXNTb3J0ZWQucmVkdWNlKChhY2MsIHYpID0+IGFjYyArICh2IDwgcSA/IDEgOiAwKSArICh2ID09PSBxID8gMC41IDogMCksIDApKSAvXG4gICAgICBhbGxWYWx1ZXNTb3J0ZWQubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIGZvcm1hdEJ5TGltaXQoZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sIGxpbWl0OiBBdExpbWl0IHwgVGltZUxpbWl0KSB7XG4gICAgaWYgKCFsaW1pdC5pc1RpbWVMaW1pdCkge1xuICAgICAgZGF0YVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gKGxpbWl0Lm9yZGVyID09PSAnYXNjJyA/IChhLnZhbHVlID4gYi52YWx1ZSA/IDEgOiAtMSkgOiBhLnZhbHVlIDwgYi52YWx1ZSA/IDEgOiAtMSkpXG4gICAgICAgIC5zcGxpY2UobGltaXQuYXQpO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Store } from '@ngrx/store';
2
- import { Observable } from 'rxjs';
3
- import { Item, ValueType } from '../../model/item.interface';
4
- import { AtLimit, ChartAggregatedWidgetOptions, Operation, TimeLimit } from '../../model/widget-aggregated-chart-manifest.interface';
5
- import { AggregationResult, PryAggregationService } from './base-aggregation.service';
6
- import * as i0 from "@angular/core";
7
- export declare class PryFrontendAggregationService extends PryAggregationService {
8
- private store;
9
- constructor(store: Store);
10
- aggregate(datasource: string[], options: ChartAggregatedWidgetOptions): Observable<AggregationResult>;
11
- getValueFromOperation(items: Item[], operation: Operation, abscissa: string, ordinate: string, limit?: AtLimit | TimeLimit): {
12
- key: ValueType;
13
- value: ValueType;
14
- }[];
15
- groupBy(items: Item[], attribute: string): any;
16
- getValueFromAttribute(item: Item, attribute: string): import("../../model/item.interface").AttributeSimpleValue;
17
- getSum(items: Item[], attribute: string): number;
18
- getMin(items: Item[], attribute: string): ValueType;
19
- getMax(items: Item[], attribute: string): ValueType;
20
- getAverage(items: Item[], attribute: string): number;
21
- getDistinct(items: Item[], attribute: string): number;
22
- getQuartile(items: Item[], attribute: string, q: number): number;
23
- getPercentile(items: Item[], attribute: string, q: number): number;
24
- formatByLimit(data: {
25
- key: ValueType;
26
- value: ValueType;
27
- }[], limit: AtLimit | TimeLimit): {
28
- key: ValueType;
29
- value: ValueType;
30
- }[];
31
- static ɵfac: i0.ɵɵFactoryDeclaration<PryFrontendAggregationService, never>;
32
- static ɵprov: i0.ɵɵInjectableDeclaration<PryFrontendAggregationService>;
33
- }