@provoly/dashboard 0.14.11 → 0.14.13
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/admin/admin.module.d.ts +2 -1
- package/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.d.ts +1 -0
- package/admin/components/admin-classes/store/admin-class.actions.d.ts +11 -0
- package/admin/components/admin-classes/store/admin-class.effects.d.ts +5 -0
- package/admin/components/admin-classes/store/admin-class.reducer.d.ts +1 -0
- package/admin/components/admin-classes/store/admin-class.selectors.d.ts +1 -0
- package/admin/i18n/en.translations.d.ts +11 -0
- package/admin/i18n/fr.translations.d.ts +11 -0
- package/admin/store/admin.service.d.ts +1 -0
- package/esm2022/admin/admin.module.mjs +8 -4
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +8 -4
- package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +5 -2
- package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +4 -1
- package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +6 -2
- package/esm2022/admin/components/admin-classes/store/admin-class.selectors.mjs +4 -2
- package/esm2022/admin/i18n/en.translations.mjs +12 -1
- package/esm2022/admin/i18n/fr.translations.mjs +12 -1
- package/esm2022/admin/store/admin.service.mjs +6 -1
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +2 -1
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -2
- package/esm2022/lib/core/components/about/about.component.mjs +14 -9
- package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
- package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +2 -1
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +2 -1
- package/esm2022/lib/core/public-api.mjs +4 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +101 -0
- package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +16 -0
- package/esm2022/lib/core/store/aggregation/frontend-aggregation.service.mjs +210 -0
- package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
- package/esm2022/lib/core/store/config/config.service.mjs +13 -13
- package/esm2022/lib/core/store/config/versions.interface.mjs +1 -1
- package/esm2022/lib/core/store/context-menu/context-menu.actions.mjs +1 -1
- package/esm2022/lib/core/store/context-menu/context-menu.reducer.mjs +5 -3
- package/esm2022/lib/core/store/context-menu/context-menu.selectors.mjs +4 -2
- package/esm2022/lib/core/store/field/field.interface.mjs +1 -1
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +23 -17
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +1 -1
- package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +4 -3
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +5 -3
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +5 -4
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +8 -9
- package/esm2022/widgets/widget-aggregated-chart/public-api.mjs +1 -4
- package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +2 -3
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +2 -2
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -2
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +2 -1
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +94 -34
- package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +3 -2
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +3 -2
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +47 -52
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -2
- package/esm2022/widgets/widget-vega/i18n/en.translations.mjs +4 -2
- package/esm2022/widgets/widget-vega/i18n/fr.translations.mjs +4 -2
- package/fesm2022/provoly-dashboard-admin.mjs +55 -9
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +2 -1
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +4 -3
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +10 -313
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +2 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +98 -36
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +47 -52
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +2 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +6 -2
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +420 -99
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/about/about.component.d.ts +3 -1
- package/lib/core/i18n/en.translations.d.ts +1 -0
- package/lib/core/i18n/fr.translations.d.ts +1 -0
- package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +2 -1
- package/lib/core/model/widget-map-manifest.interface.d.ts +1 -0
- package/lib/core/public-api.d.ts +3 -0
- package/{widgets/widget-aggregated-chart/service → lib/core/store/aggregation}/backend-aggregation.service.d.ts +4 -1
- package/{widgets/widget-aggregated-chart/service → lib/core/store/aggregation}/base-aggregation.service.d.ts +14 -1
- package/{widgets/widget-aggregated-chart/service → lib/core/store/aggregation}/frontend-aggregation.service.d.ts +3 -2
- package/lib/core/store/class/class.interface.d.ts +1 -0
- package/lib/core/store/config/config.service.d.ts +2 -1
- package/lib/core/store/config/versions.interface.d.ts +3 -3
- package/lib/core/store/context-menu/context-menu.actions.d.ts +2 -0
- package/lib/core/store/context-menu/context-menu.reducer.d.ts +1 -0
- package/lib/core/store/context-menu/context-menu.selectors.d.ts +1 -0
- package/lib/core/store/field/field.interface.d.ts +1 -0
- package/lib/dashboard/components/context-menu/context-menu.component.d.ts +1 -0
- package/lib/dashboard/store/dashboard.selectors.d.ts +6 -1
- package/package.json +1 -1
- package/styles/base/_utils.scss +4 -0
- package/styles/components/_o-pry-admin-classes-customize.scss +6 -4
- package/toolbox/components/save-view/save-view.component.d.ts +2 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -7
- package/widgets/widget-aggregated-chart/public-api.d.ts +0 -3
- package/widgets/widget-map/component/widget-map.component.d.ts +14 -3
- package/widgets/widget-table/component/widget-table.component.d.ts +6 -1
- package/widgets/widget-vega/i18n/en.translations.d.ts +2 -0
- package/widgets/widget-vega/i18n/fr.translations.d.ts +2 -0
- package/esm2022/widgets/widget-aggregated-chart/service/backend-aggregation.service.mjs +0 -96
- package/esm2022/widgets/widget-aggregated-chart/service/base-aggregation.service.mjs +0 -16
- package/esm2022/widgets/widget-aggregated-chart/service/frontend-aggregation.service.mjs +0 -206
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Store } from '@ngrx/store';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { PryI18nService } from '../../i18n/i18n.service';
|
|
3
4
|
import { BackendVersion, FrontendVersion, Versions } from '../../store/config/versions.interface';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class PryAboutComponent {
|
|
6
7
|
private store;
|
|
8
|
+
private i18nService;
|
|
7
9
|
version$: Observable<Versions | null>;
|
|
8
|
-
constructor(store: Store);
|
|
10
|
+
constructor(store: Store, i18nService: PryI18nService);
|
|
9
11
|
displayVersion(value: BackendVersion | FrontendVersion): string;
|
|
10
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<PryAboutComponent, never>;
|
|
11
13
|
static ɵcmp: i0.ɵɵComponentDeclaration<PryAboutComponent, "pry-about", never, {}, {}, never, never, false, never>;
|
package/lib/core/public-api.d.ts
CHANGED
|
@@ -43,6 +43,9 @@ export * from './store/context-menu/context-menu.actions';
|
|
|
43
43
|
export * from './store/context-menu/context-menu.selectors';
|
|
44
44
|
export * from './store/context-menu/context-menu.reducer';
|
|
45
45
|
export * from './store/raw/raw.service';
|
|
46
|
+
export * from './store/aggregation/base-aggregation.service';
|
|
47
|
+
export * from './store/aggregation/backend-aggregation.service';
|
|
48
|
+
export * from './store/aggregation/frontend-aggregation.service';
|
|
46
49
|
export * from './components/nq-color-selector/nq-color-selector.component';
|
|
47
50
|
export * from './components/translate-id/translate-id.pipe';
|
|
48
51
|
export * from './components/translate-item-to-symbol/translate-item-to-symbol.pipe';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import { ChartAggregatedWidgetOptions, PryI18nService, PrySnackbarService, SearchService } from '@provoly/dashboard';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import { PrySnackbarService } from '../../components/snackbar/snackbar.service';
|
|
5
|
+
import { PryI18nService } from '../../i18n/i18n.service';
|
|
6
|
+
import { ChartAggregatedWidgetOptions } from '../../model/widget-aggregated-chart-manifest.interface';
|
|
7
|
+
import { SearchService } from '../search/search.service';
|
|
5
8
|
import { AggregationResult, PryAggregationService } from './base-aggregation.service';
|
|
6
9
|
import * as i0 from "@angular/core";
|
|
7
10
|
export declare class PryBackendAggregationService extends PryAggregationService {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ChartAggregatedWidgetOptions, Operation, ValueType } from '@provoly/dashboard';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { ValueType } from '../../model/item.interface';
|
|
3
|
+
import { ChartAggregatedWidgetOptions, Operation } from '../../model/widget-aggregated-chart-manifest.interface';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export interface AggregationResult {
|
|
5
6
|
operation: Operation;
|
|
@@ -12,6 +13,18 @@ export interface AggregationResult {
|
|
|
12
13
|
key: ValueType;
|
|
13
14
|
value: ValueType;
|
|
14
15
|
}[];
|
|
16
|
+
} | {
|
|
17
|
+
key: ValueType;
|
|
18
|
+
value: {
|
|
19
|
+
bottom_right: {
|
|
20
|
+
lon: string;
|
|
21
|
+
lat: string;
|
|
22
|
+
};
|
|
23
|
+
top_left: {
|
|
24
|
+
lon: string;
|
|
25
|
+
lat: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
15
28
|
})[];
|
|
16
29
|
}
|
|
17
30
|
export declare class PryAggregationService {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Store } from '@ngrx/store';
|
|
2
|
-
import { AtLimit, ChartAggregatedWidgetOptions, Item, Operation, TimeLimit, ValueType } from '@provoly/dashboard';
|
|
3
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';
|
|
4
5
|
import { AggregationResult, PryAggregationService } from './base-aggregation.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class PryFrontendAggregationService extends PryAggregationService {
|
|
@@ -12,7 +13,7 @@ export declare class PryFrontendAggregationService extends PryAggregationService
|
|
|
12
13
|
value: ValueType;
|
|
13
14
|
}[];
|
|
14
15
|
groupBy(items: Item[], attribute: string): any;
|
|
15
|
-
getValueFromAttribute(item: Item, attribute: string): import("
|
|
16
|
+
getValueFromAttribute(item: Item, attribute: string): import("../../model/item.interface").AttributeSimpleValue;
|
|
16
17
|
getSum(items: Item[], attribute: string): number;
|
|
17
18
|
getMin(items: Item[], attribute: string): ValueType;
|
|
18
19
|
getMax(items: Item[], attribute: string): ValueType;
|
|
@@ -4,7 +4,7 @@ import { Observable } from 'rxjs';
|
|
|
4
4
|
import { PrySnackbarService } from '../../components/snackbar/snackbar.service';
|
|
5
5
|
import { PryI18nService } from '../../i18n/i18n.service';
|
|
6
6
|
import { Widget } from '../../model/widget.interface';
|
|
7
|
-
import { Versions } from './versions.interface';
|
|
7
|
+
import { BackendVersion, Versions } from './versions.interface';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export interface ParamContent {
|
|
10
10
|
domain: string;
|
|
@@ -47,6 +47,7 @@ export declare class ConfigService {
|
|
|
47
47
|
* Get a list of all widgets from catalog
|
|
48
48
|
*/
|
|
49
49
|
getAllWidgets(): Observable<Widget[]>;
|
|
50
|
+
handleBackendVersionError(obs: Observable<BackendVersion>): Observable<BackendVersion>;
|
|
50
51
|
getAllVersions(): Observable<Versions>;
|
|
51
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
|
|
52
53
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
|
|
@@ -2,9 +2,9 @@ export interface Versions {
|
|
|
2
2
|
[key: string]: BackendVersion | FrontendVersion;
|
|
3
3
|
}
|
|
4
4
|
export interface BackendVersion {
|
|
5
|
-
chartVersion
|
|
6
|
-
applicationVersion
|
|
5
|
+
chartVersion?: string;
|
|
6
|
+
applicationVersion?: string;
|
|
7
7
|
}
|
|
8
8
|
export interface FrontendVersion {
|
|
9
|
-
libVersion
|
|
9
|
+
libVersion?: string;
|
|
10
10
|
}
|
|
@@ -6,6 +6,7 @@ export declare const ContextMenuActions: {
|
|
|
6
6
|
resultSet?: string | undefined;
|
|
7
7
|
from: string;
|
|
8
8
|
coordinates?: number[] | undefined;
|
|
9
|
+
allowObjectCreation: boolean;
|
|
9
10
|
}) => {
|
|
10
11
|
itemId: string;
|
|
11
12
|
clientX: number;
|
|
@@ -13,6 +14,7 @@ export declare const ContextMenuActions: {
|
|
|
13
14
|
resultSet?: string | undefined;
|
|
14
15
|
from: string;
|
|
15
16
|
coordinates?: number[] | undefined;
|
|
17
|
+
allowObjectCreation: boolean;
|
|
16
18
|
} & import("@ngrx/store/src/models").TypedAction<"[ContextMenu] open">>;
|
|
17
19
|
hide: import("@ngrx/store").ActionCreator<"[ContextMenu] hide", () => import("@ngrx/store/src/models").TypedAction<"[ContextMenu] hide">>;
|
|
18
20
|
};
|
|
@@ -7,6 +7,7 @@ export interface ContextMenuState {
|
|
|
7
7
|
from: string;
|
|
8
8
|
resultSet: string | undefined;
|
|
9
9
|
coordinates: number[] | undefined;
|
|
10
|
+
allowObjectCreation: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare const initialContextMenuState: ContextMenuState;
|
|
12
13
|
export declare const contextMenuReducer: import("@ngrx/store").ActionReducer<ContextMenuState, import("@ngrx/store").Action>;
|
|
@@ -13,4 +13,5 @@ export declare const ContextMenuSelectors: {
|
|
|
13
13
|
resultSet: import("@ngrx/store").MemoizedSelector<object, string | undefined, (s1: fromContextMenu.ContextMenuState) => string | undefined>;
|
|
14
14
|
from: import("@ngrx/store").MemoizedSelector<object, string, (s1: fromContextMenu.ContextMenuState) => string>;
|
|
15
15
|
coordinates: import("@ngrx/store").MemoizedSelector<object, number[] | undefined, (s1: fromContextMenu.ContextMenuState) => number[] | undefined>;
|
|
16
|
+
allowObjectCreation: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: fromContextMenu.ContextMenuState) => boolean>;
|
|
16
17
|
};
|
|
@@ -10,6 +10,7 @@ export declare class ContextMenuComponent extends SubscriptionnerDirective {
|
|
|
10
10
|
private overlay;
|
|
11
11
|
private viewContainerRef;
|
|
12
12
|
widgetFactoryService: WidgetFactoryService;
|
|
13
|
+
allowObjectCreation$: Observable<boolean | undefined>;
|
|
13
14
|
opened$: Observable<boolean>;
|
|
14
15
|
position$: Observable<{
|
|
15
16
|
clientX: number;
|
|
@@ -320,7 +320,7 @@ export declare const DashboardSelectors: {
|
|
|
320
320
|
initial: GlobalManifest | undefined;
|
|
321
321
|
}>;
|
|
322
322
|
filters: MemoizedSelector<object, {}, (s1: DashboardState) => {}>;
|
|
323
|
-
|
|
323
|
+
isCurrentPresentationModified: MemoizedSelector<object, boolean, (s1: {
|
|
324
324
|
current: import("../../core/model/manifest.interface").ManifestDescription | undefined;
|
|
325
325
|
viewMode?: ViewMode | undefined;
|
|
326
326
|
initial: GlobalManifest | undefined;
|
|
@@ -332,6 +332,11 @@ export declare const DashboardSelectors: {
|
|
|
332
332
|
locked?: boolean | undefined;
|
|
333
333
|
filters?: Filter[] | undefined;
|
|
334
334
|
}) => boolean>;
|
|
335
|
+
isCurrentPresentationOwner: MemoizedSelector<object, boolean, (s1: {
|
|
336
|
+
current: import("../../core/model/manifest.interface").ManifestDescription | undefined;
|
|
337
|
+
viewMode?: ViewMode | undefined;
|
|
338
|
+
initial: GlobalManifest | undefined;
|
|
339
|
+
}) => boolean>;
|
|
335
340
|
datasourceFilters: MemoizedSelector<object, {
|
|
336
341
|
[datasourceId: string]: FilterContext[];
|
|
337
342
|
}, (s1: DashboardState) => {
|
package/package.json
CHANGED
package/styles/base/_utils.scss
CHANGED
|
@@ -105,12 +105,13 @@
|
|
|
105
105
|
cursor: move;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
.description:hover:after{
|
|
108
|
+
.description:hover:after {
|
|
109
109
|
cursor: pointer;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.description-tooltip {
|
|
113
113
|
position: absolute;
|
|
114
|
+
transform: translateY(5rem);
|
|
114
115
|
max-width: 50vw;
|
|
115
116
|
visibility: hidden;
|
|
116
117
|
background-color: #fff;
|
|
@@ -119,6 +120,7 @@
|
|
|
119
120
|
opacity: 0;
|
|
120
121
|
transition: opacity 0.5s ease;
|
|
121
122
|
z-index: 2;
|
|
123
|
+
pointer-events: none;
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
.description:hover + .description-tooltip {
|
|
@@ -146,11 +148,11 @@
|
|
|
146
148
|
justify-content: center;
|
|
147
149
|
align-items: center;
|
|
148
150
|
align-self: center;
|
|
149
|
-
margin
|
|
150
|
-
margin-left: 1rem;
|
|
151
|
+
margin: 0 1rem;
|
|
151
152
|
}
|
|
153
|
+
|
|
152
154
|
pry-select {
|
|
153
|
-
|
|
155
|
+
flex: 1;
|
|
154
156
|
}
|
|
155
157
|
|
|
156
158
|
.cdk-drag-preview {
|
|
@@ -25,7 +25,8 @@ export declare class SaveViewComponent extends ToolboxActionComponent {
|
|
|
25
25
|
type: LibraryTypes;
|
|
26
26
|
saveTypeOpened: boolean;
|
|
27
27
|
currentManifest?: ManifestDescription;
|
|
28
|
-
|
|
28
|
+
isCurrentPresentationModified$: Observable<boolean>;
|
|
29
|
+
isCurrentPresentationOwner$: Observable<boolean>;
|
|
29
30
|
nbPages: number;
|
|
30
31
|
initialNbPages: number;
|
|
31
32
|
hasInitial: boolean;
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { AfterViewInit, ElementRef } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import { Attribute, ChartAggregatedWidgetOptions, Class, DataWidgetComponent, Field, FieldType, GraphType, Operation, PryI18nService, VegaType } from '@provoly/dashboard';
|
|
3
|
+
import { Attribute, ChartAggregatedWidgetOptions, Class, DataWidgetComponent, Field, FieldType, GraphType, Operation, PryAggregationService, PryI18nService, VegaType } from '@provoly/dashboard';
|
|
4
4
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
5
5
|
import { View } from 'vega';
|
|
6
6
|
import { TopLevelSpec } from 'vega-lite';
|
|
7
|
-
import { PryAggregationService } from '../service/base-aggregation.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
|
-
export type RadarValue = {
|
|
10
|
-
category: number;
|
|
11
|
-
key: string;
|
|
12
|
-
value: number;
|
|
13
|
-
};
|
|
14
8
|
export declare class WidgetAggregatedChartComponent extends DataWidgetComponent implements AfterViewInit {
|
|
15
9
|
private translateService;
|
|
16
10
|
private aggregationService;
|
|
@@ -1,5 +1,2 @@
|
|
|
1
1
|
export * from './widget-aggregated-chart.module';
|
|
2
2
|
export * from './component/widget-aggregated-chart.component';
|
|
3
|
-
export * from './service/base-aggregation.service';
|
|
4
|
-
export * from './service/frontend-aggregation.service';
|
|
5
|
-
export * from './service/backend-aggregation.service';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Overlay as cdkOverlay } from '@angular/cdk/overlay';
|
|
2
2
|
import { AfterViewInit, ComponentRef, ElementRef, Injector, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { Store } from '@ngrx/store';
|
|
4
|
-
import { BaseTooltipComponent, BaseWidgetMapLayerOptions, Class, DataWidgetComponent, Field, GetCapabilitiesResponse, MapAutoLayerOptions, MapFeatureLayerOptions, MapGeoServerLayerOptions, MapRasterTileLayerOptions, MapVectorTileLayerOptions, MapWidgetBubbleLayerOptions, MapWidgetHeatMapLayerOptions, MapWidgetLayerOptions, MapWidgetMarkerLayerOptions, MapWidgetOptions, MapWMSLayerLayerOptions, MapWMTSLayerLayerOptions, PryI18nService, PrySnackbarService, SymbolService, TooltipFactoryService } from '@provoly/dashboard';
|
|
4
|
+
import { BaseTooltipComponent, BaseWidgetMapLayerOptions, Class, DataWidgetComponent, Field, GetCapabilitiesResponse, MapAutoLayerOptions, MapFeatureLayerOptions, MapGeoServerLayerOptions, MapRasterTileLayerOptions, MapVectorTileLayerOptions, MapWidgetBubbleLayerOptions, MapWidgetHeatMapLayerOptions, MapWidgetLayerOptions, MapWidgetMarkerLayerOptions, MapWidgetOptions, MapWMSLayerLayerOptions, MapWMTSLayerLayerOptions, PryAggregationService, PryI18nService, PrySnackbarService, SymbolService, TooltipFactoryService } from '@provoly/dashboard';
|
|
5
5
|
import { Map } from 'ol';
|
|
6
|
+
import { Coordinate } from 'ol/coordinate';
|
|
6
7
|
import { Geometry } from 'ol/geom';
|
|
7
8
|
import { Layer } from 'ol/layer';
|
|
8
9
|
import BaseLayer from 'ol/layer/Base';
|
|
@@ -25,6 +26,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
25
26
|
private symbolService;
|
|
26
27
|
private injector;
|
|
27
28
|
private widgetMapLayerService;
|
|
29
|
+
private pryAggregationService;
|
|
28
30
|
mapUrl$: Observable<string>;
|
|
29
31
|
mapRef: ElementRef;
|
|
30
32
|
popup: ElementRef;
|
|
@@ -88,7 +90,13 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
88
90
|
[p: string]: GetCapabilitiesResponse | null;
|
|
89
91
|
} | undefined>;
|
|
90
92
|
autoDatasetLayers$: Observable<MapAutoLayerOptions[]>;
|
|
91
|
-
|
|
93
|
+
aggregatedExtents$: Observable<{
|
|
94
|
+
datasource: string;
|
|
95
|
+
extent: Coordinate[];
|
|
96
|
+
}[]>;
|
|
97
|
+
datasourceFilters$: Observable<any>;
|
|
98
|
+
usedClasses$: Observable<any>;
|
|
99
|
+
constructor(store: Store<any>, snackBar: PrySnackbarService, translateService: PryI18nService, tooltipFactoryService: TooltipFactoryService, overlay: cdkOverlay, viewContainerRef: ViewContainerRef, symbolService: SymbolService, injector: Injector, widgetMapLayerService: WidgetMapLayerService, pryAggregationService: PryAggregationService, el: ElementRef);
|
|
92
100
|
initInteractionManager(): InteractionManager;
|
|
93
101
|
ngAfterViewInit(): void;
|
|
94
102
|
initResultSet$(): Observable<import("@provoly/dashboard").ResultSet>;
|
|
@@ -102,7 +110,10 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
102
110
|
} | undefined): void;
|
|
103
111
|
fitMapForObjects(fit: boolean, wmsCapabilities?: {
|
|
104
112
|
[p: string]: GetCapabilitiesResponse | null;
|
|
105
|
-
}, selectedIds?: string[]
|
|
113
|
+
}, selectedIds?: string[], extents?: {
|
|
114
|
+
datasource: string;
|
|
115
|
+
extent: Coordinate[];
|
|
116
|
+
}[]): void;
|
|
106
117
|
private getAttributesForDrawing;
|
|
107
118
|
private getIntensityAttribute;
|
|
108
119
|
private getLocationAttribute;
|
|
@@ -15,7 +15,10 @@ export declare class WidgetTableComponent extends DataWidgetComponent {
|
|
|
15
15
|
selectedIds: string[];
|
|
16
16
|
WIDGET_HEADER_HEIGHT: number;
|
|
17
17
|
private classes$;
|
|
18
|
-
properties$: Observable<
|
|
18
|
+
properties$: Observable<{
|
|
19
|
+
label: string;
|
|
20
|
+
property: string;
|
|
21
|
+
}[]>;
|
|
19
22
|
isLoading$: Observable<boolean>;
|
|
20
23
|
allSelected$: Observable<boolean>;
|
|
21
24
|
areAllSelected: boolean;
|
|
@@ -23,7 +26,9 @@ export declare class WidgetTableComponent extends DataWidgetComponent {
|
|
|
23
26
|
contextMenuClickedId: string;
|
|
24
27
|
isContextMenuOpened$: Observable<boolean>;
|
|
25
28
|
quickOrder$: Observable<ResultOrder | undefined>;
|
|
29
|
+
private _refresh$;
|
|
26
30
|
constructor(store: Store<any>, el: ElementRef, cdr: ChangeDetectorRef);
|
|
31
|
+
refresh(): void;
|
|
27
32
|
emitManifest(): void;
|
|
28
33
|
addColumn(): void;
|
|
29
34
|
changePropertyName($event: any, columnDef: ColumnDefinition): void;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ClassSelectors, ConfigSelectors, DashboardSelectors, DEFAULT_NAMED_QUERY_ID, EXPLORE_NAMED_QUERY_ID, FieldSelectors, Operation } from '@provoly/dashboard';
|
|
4
|
-
import { map, of, switchMap } from 'rxjs';
|
|
5
|
-
import { PryAggregationService } from './base-aggregation.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngrx/store";
|
|
8
|
-
import * as i2 from "@provoly/dashboard";
|
|
9
|
-
import * as i3 from "@angular/common/http";
|
|
10
|
-
export class PryBackendAggregationService extends PryAggregationService {
|
|
11
|
-
constructor(store, snackBar, translateService, httpClient, searchService) {
|
|
12
|
-
super();
|
|
13
|
-
this.store = store;
|
|
14
|
-
this.snackBar = snackBar;
|
|
15
|
-
this.translateService = translateService;
|
|
16
|
-
this.httpClient = httpClient;
|
|
17
|
-
this.searchService = searchService;
|
|
18
|
-
this.rs = {};
|
|
19
|
-
this.classes = [];
|
|
20
|
-
this.fields = [];
|
|
21
|
-
this.filters = {};
|
|
22
|
-
this.store.select(DashboardSelectors.resultSets).subscribe((rs) => (this.rs = rs));
|
|
23
|
-
this.store.select(ClassSelectors.classes).subscribe((classes) => (this.classes = classes));
|
|
24
|
-
this.store.select(FieldSelectors.fields).subscribe((fields) => (this.fields = fields));
|
|
25
|
-
this.store.select(DashboardSelectors.datasourceFilters).subscribe((filters) => (this.filters = filters));
|
|
26
|
-
}
|
|
27
|
-
aggregate(datasources, options) {
|
|
28
|
-
const targetDatasource = datasources.find((ds) => ![DEFAULT_NAMED_QUERY_ID, EXPLORE_NAMED_QUERY_ID].includes(ds));
|
|
29
|
-
if (datasources.length > 1) {
|
|
30
|
-
this.snackBar.open({
|
|
31
|
-
type: 'warning',
|
|
32
|
-
message: this.translateService.instant('@pry.message.backend-only-1-datasource'),
|
|
33
|
-
timeout: 4000
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (datasources.includes(DEFAULT_NAMED_QUERY_ID) || datasources.includes(EXPLORE_NAMED_QUERY_ID)) {
|
|
37
|
-
this.snackBar.open({
|
|
38
|
-
type: 'warning',
|
|
39
|
-
message: this.translateService.instant('@pry.message.cannot-aggregate-virtual-ds'),
|
|
40
|
-
timeout: 4000
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
if (!options.abscissa || !options.ordinate) {
|
|
44
|
-
console.warn('Abscissa and ordinate must both be defined');
|
|
45
|
-
return of({ operation: 'none', values: [] });
|
|
46
|
-
}
|
|
47
|
-
if (!targetDatasource) {
|
|
48
|
-
console.warn('Aggregation needs a target datasource.');
|
|
49
|
-
return of({ operation: options.ordinate.operation, values: [] });
|
|
50
|
-
}
|
|
51
|
-
let params = new HttpParams();
|
|
52
|
-
if (options.abscissa.attribute) {
|
|
53
|
-
params = params.set('aggregatedBy', options.abscissa.attribute);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
console.warn('Aggregation needs an aggregatedBy member.');
|
|
57
|
-
return of({ operation: options.ordinate.operation, values: [] });
|
|
58
|
-
}
|
|
59
|
-
if (options.abscissa.limit) {
|
|
60
|
-
if (options.abscissa.limit.isTimeLimit) {
|
|
61
|
-
params = params.set('dateInterval', options.abscissa.limit.interval);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
params = params.set('interval', options.abscissa.limit.at);
|
|
65
|
-
params = params.set('limitOrder', options.abscissa.limit.order);
|
|
66
|
-
params = params.set('limitOthers', options.abscissa.limit.others);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const operation = options.ordinate.operation?.replace(/^none$/, Operation.SUM);
|
|
70
|
-
params = params.set('operation', operation);
|
|
71
|
-
if (!!options.ordinate.attribute) {
|
|
72
|
-
params = params.set('valueField', options.ordinate.attribute);
|
|
73
|
-
}
|
|
74
|
-
if (options.groupBy) {
|
|
75
|
-
params = params.set('groupBy', options.groupBy.attribute);
|
|
76
|
-
}
|
|
77
|
-
params = this.searchService.getItemsFilter(targetDatasource, params);
|
|
78
|
-
return this.store.select(ConfigSelectors.dataUrl).pipe(switchMap((url) => this.httpClient
|
|
79
|
-
.get(`${url}/data-sources/id/${targetDatasource}/items/aggregate`, {
|
|
80
|
-
params
|
|
81
|
-
})
|
|
82
|
-
.pipe(map((result) => ({
|
|
83
|
-
...result,
|
|
84
|
-
operation: options.ordinate.operation === Operation.NONE ? Operation.NONE : result.operation
|
|
85
|
-
})))));
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryBackendAggregationService, deps: [{ token: i1.Store }, { token: i2.PrySnackbarService }, { token: i2.PryI18nService }, { token: i3.HttpClient }, { token: i2.SearchService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
88
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryBackendAggregationService, providedIn: 'root' }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryBackendAggregationService, decorators: [{
|
|
91
|
-
type: Injectable,
|
|
92
|
-
args: [{
|
|
93
|
-
providedIn: 'root'
|
|
94
|
-
}]
|
|
95
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.PrySnackbarService }, { type: i2.PryI18nService }, { type: i3.HttpClient }, { type: i2.SearchService }]; } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9zZXJ2aWNlL2JhY2tlbmQtYWdncmVnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBR0wsY0FBYyxFQUNkLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUV0QixjQUFjLEVBRWQsU0FBUyxFQUtWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFLdEYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQU1yRSxZQUNVLEtBQVksRUFDWixRQUE0QixFQUM1QixnQkFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsYUFBNEI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFOQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBVjlCLE9BQUUsR0FBZSxFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFZLEVBQUUsQ0FBQztRQUN0QixXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBOEMsRUFBRSxDQUFDO1FBVzlELElB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LENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsVUFBVTthQUNaLEdBQUcsQ0FBb0IsR0FBRyxHQUFHLG9CQUFvQixnQkFBZ0Isa0JBQWtCLEVBQUU7WUFDcEYsTUFBTTtTQUNQLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsR0FBRyxNQUFNO1lBQ1QsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1NBQzdGLENBQUMsQ0FBQyxDQUNKLENBQ0osQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0ExRlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs7MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIENsYXNzLFxuICBDbGFzc1NlbGVjdG9ycyxcbiAgQ29uZmlnU2VsZWN0b3JzLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERFRkFVTFRfTkFNRURfUVVFUllfSUQsXG4gIEVYUExPUkVfTkFNRURfUVVFUllfSUQsXG4gIEZpZWxkLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmlsdGVyQ29udGV4dCxcbiAgT3BlcmF0aW9uLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICBSZXN1bHRTZXRzLFxuICBTZWFyY2hTZXJ2aWNlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uUmVzdWx0LCBQcnlBZ2dyZWdhdGlvblNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeUJhY2tlbmRBZ2dyZWdhdGlvblNlcnZpY2UgZXh0ZW5kcyBQcnlBZ2dyZWdhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHJzOiBSZXN1bHRTZXRzID0ge307XG4gIHByaXZhdGUgY2xhc3NlczogQ2xhc3NbXSA9IFtdO1xuICBwcml2YXRlIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLnN1YnNjcmliZSgocnMpID0+ICh0aGlzLnJzID0gcnMgYXMgUmVzdWx0U2V0cykpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpLnN1YnNjcmliZSgoZmllbGRzKSA9PiAodGhpcy5maWVsZHMgPSBmaWVsZHMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGF0YXNvdXJjZUZpbHRlcnMpLnN1YnNjcmliZSgoZmlsdGVycykgPT4gKHRoaXMuZmlsdGVycyA9IGZpbHRlcnMpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFnZ3JlZ2F0ZShkYXRhc291cmNlczogc3RyaW5nW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMpOiBPYnNlcnZhYmxlPEFnZ3JlZ2F0aW9uUmVzdWx0PiB7XG4gICAgY29uc3QgdGFyZ2V0RGF0YXNvdXJjZSA9IGRhdGFzb3VyY2VzLmZpbmQoKGRzKSA9PiAhW0RFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSURdLmluY2x1ZGVzKGRzKSk7XG5cbiAgICBpZiAoZGF0YXNvdXJjZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHtcbiAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5tZXNzYWdlLmJhY2tlbmQtb25seS0xLWRhdGFzb3VyY2UnKSxcbiAgICAgICAgdGltZW91dDogNDAwMFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGFzb3VyY2VzLmluY2x1ZGVzKERFRkFVTFRfTkFNRURfUVVFUllfSUQpIHx8IGRhdGFzb3VyY2VzLmluY2x1ZGVzKEVYUExPUkVfTkFNRURfUVVFUllfSUQpKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oe1xuICAgICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5Lm1lc3NhZ2UuY2Fubm90LWFnZ3JlZ2F0ZS12aXJ0dWFsLWRzJyksXG4gICAgICAgIHRpbWVvdXQ6IDQwMDBcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5hYnNjaXNzYSB8fCAhb3B0aW9ucy5vcmRpbmF0ZSkge1xuICAgICAgY29uc29sZS53YXJuKCdBYnNjaXNzYSBhbmQgb3JkaW5hdGUgbXVzdCBib3RoIGJlIGRlZmluZWQnKTtcbiAgICAgIHJldHVybiBvZih7IG9wZXJhdGlvbjogJ25vbmUnLCB2YWx1ZXM6IFtdIH0gYXMgQWdncmVnYXRpb25SZXN1bHQpO1xuICAgIH1cblxuICAgIGlmICghdGFyZ2V0RGF0YXNvdXJjZSkge1xuICAgICAgY29uc29sZS53YXJuKCdBZ2dyZWdhdGlvbiBuZWVkcyBhIHRhcmdldCBkYXRhc291cmNlLicpO1xuICAgICAgcmV0dXJuIG9mKHsgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbiwgdmFsdWVzOiBbXSB9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAob3B0aW9ucy5hYnNjaXNzYS5hdHRyaWJ1dGUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FnZ3JlZ2F0ZWRCeScsIG9wdGlvbnMuYWJzY2lzc2EuYXR0cmlidXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdBZ2dyZWdhdGlvbiBuZWVkcyBhbiBhZ2dyZWdhdGVkQnkgbWVtYmVyLicpO1xuICAgICAgcmV0dXJuIG9mKHsgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbiwgdmFsdWVzOiBbXSB9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuYWJzY2lzc2EubGltaXQpIHtcbiAgICAgIGlmIChvcHRpb25zLmFic2Npc3NhLmxpbWl0LmlzVGltZUxpbWl0KSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RhdGVJbnRlcnZhbCcsIG9wdGlvbnMuYWJzY2lzc2EubGltaXQuaW50ZXJ2YWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaW50ZXJ2YWwnLCBvcHRpb25zLmFic2Npc3NhLmxpbWl0LmF0KTtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGltaXRPcmRlcicsIG9wdGlvbnMuYWJzY2lzc2EubGltaXQub3JkZXIpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaW1pdE90aGVycycsIG9wdGlvbnMuYWJzY2lzc2EubGltaXQub3RoZXJzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24/LnJlcGxhY2UoL15ub25lJC8sIE9wZXJhdGlvbi5TVU0pO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ29wZXJhdGlvbicsIG9wZXJhdGlvbik7XG4gICAgaWYgKCEhb3B0aW9ucy5vcmRpbmF0ZS5hdHRyaWJ1dGUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3ZhbHVlRmllbGQnLCBvcHRpb25zLm9yZGluYXRlLmF0dHJpYnV0ZSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmdyb3VwQnkpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2dyb3VwQnknLCBvcHRpb25zLmdyb3VwQnkuYXR0cmlidXRlKTtcbiAgICB9XG4gICAgcGFyYW1zID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmdldEl0ZW1zRmlsdGVyKHRhcmdldERhdGFzb3VyY2UsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldDxBZ2dyZWdhdGlvblJlc3VsdD4oYCR7dXJsfS9kYXRhLXNvdXJjZXMvaWQvJHt0YXJnZXREYXRhc291cmNlfS9pdGVtcy9hZ2dyZWdhdGVgLCB7XG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXN1bHQpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbiA9PT0gT3BlcmF0aW9uLk5PTkUgPyBPcGVyYXRpb24uTk9ORSA6IHJlc3VsdC5vcGVyYXRpb25cbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class PryAggregationService {
|
|
4
|
-
aggregate(datasource, options) {
|
|
5
|
-
throw new Error('You must declare the use of an aggregation service. Add PryBackendAggregationService, PryFrontendAggregationService or a custom service');
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAggregationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAggregationService, providedIn: 'root' }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAggregationService, decorators: [{
|
|
11
|
-
type: Injectable,
|
|
12
|
-
args: [{
|
|
13
|
-
providedIn: 'root'
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hZ2dyZWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9zZXJ2aWNlL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXdCM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxTQUFTLENBQUMsVUFBb0IsRUFBRSxPQUFxQztRQUNuRSxNQUFNLElBQUksS0FBSyxDQUNiLHlJQUF5SSxDQUMxSSxDQUFDO0lBQ0osQ0FBQzs4R0FMVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgT3BlcmF0aW9uLCBWYWx1ZVR5cGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFnZ3JlZ2F0aW9uUmVzdWx0IHtcbiAgb3BlcmF0aW9uOiBPcGVyYXRpb247XG4gIHZhbHVlczogKFxuICAgIHwge1xuICAgICAgICBrZXk6IFZhbHVlVHlwZTtcbiAgICAgICAgdmFsdWU6IFZhbHVlVHlwZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAga2V5OiBWYWx1ZVR5cGU7XG4gICAgICAgIGdyb3VwQnk6IHtcbiAgICAgICAgICBrZXk6IFZhbHVlVHlwZTtcbiAgICAgICAgICB2YWx1ZTogVmFsdWVUeXBlO1xuICAgICAgICB9W107XG4gICAgICB9XG4gIClbXTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIHtcbiAgYWdncmVnYXRlKGRhdGFzb3VyY2U6IHN0cmluZ1tdLCBvcHRpb25zOiBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxBZ2dyZWdhdGlvblJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdZb3UgbXVzdCBkZWNsYXJlIHRoZSB1c2Ugb2YgYW4gYWdncmVnYXRpb24gc2VydmljZS4gQWRkIFByeUJhY2tlbmRBZ2dyZWdhdGlvblNlcnZpY2UsIFByeUZyb250ZW5kQWdncmVnYXRpb25TZXJ2aWNlIG9yIGEgY3VzdG9tIHNlcnZpY2UnXG4gICAgKTtcbiAgfVxufVxuIl19
|