@provoly/dashboard 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/svgs/analytic.svg +1 -0
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -4
- package/esm2022/import/components/import.component.mjs +22 -10
- package/esm2022/import/i18n/en.translations.mjs +3 -1
- package/esm2022/import/i18n/fr.translations.mjs +3 -1
- package/esm2022/lib/core/access/access.service.mjs +4 -1
- package/esm2022/lib/core/i18n/en.translations.mjs +2 -1
- package/esm2022/lib/core/i18n/fr.translations.mjs +2 -1
- package/esm2022/lib/core/model/public-api.mjs +2 -1
- package/esm2022/lib/core/model/widget-analytic-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -2
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +12 -1
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +4 -3
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +6 -4
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +17 -9
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +8 -2
- package/esm2022/presentation/components/presentation.component.mjs +18 -9
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +108 -0
- package/esm2022/widgets/widget-analytic/i18n/en.translations.mjs +13 -0
- package/esm2022/widgets/widget-analytic/i18n/fr.translations.mjs +13 -0
- package/esm2022/widgets/widget-analytic/provoly-dashboard-widgets-widget-analytic.mjs +5 -0
- package/esm2022/widgets/widget-analytic/public-api.mjs +3 -0
- package/esm2022/widgets/widget-analytic/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-analytic/widget-analytic.module.mjs +70 -0
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +14 -137
- package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +2 -34
- package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +191 -0
- package/esm2022/widgets/widget-map/public-api.mjs +2 -1
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +24 -5
- package/fesm2022/provoly-dashboard-admin.mjs +3 -2
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +25 -9
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +17 -8
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +211 -0
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +201 -169
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +23 -4
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +52 -16
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/import.component.d.ts +4 -2
- package/import/i18n/en.translations.d.ts +2 -0
- package/import/i18n/fr.translations.d.ts +2 -0
- package/lib/core/access/access.service.d.ts +3 -0
- package/lib/core/i18n/en.translations.d.ts +1 -0
- package/lib/core/i18n/fr.translations.d.ts +1 -0
- package/lib/core/model/public-api.d.ts +1 -0
- package/lib/core/model/widget-analytic-manifest.interface.d.ts +6 -0
- package/lib/core/store/data-source/data-source.effects.d.ts +4 -2
- package/lib/dashboard/store/dashboard.actions.d.ts +11 -1
- package/lib/dashboard/store/dashboard.effects.d.ts +2 -0
- package/lib/dashboard/store/dashboard.reducers.d.ts +3 -1
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
- package/package.json +7 -1
- package/presentation/components/presentation.component.d.ts +5 -3
- package/styles/components/_o-pry-admin-classes-customize.scss +1 -0
- package/widgets/widget-analytic/component/widget-analytic.component.d.ts +47 -0
- package/widgets/widget-analytic/i18n/en.translations.d.ts +12 -0
- package/widgets/widget-analytic/i18n/fr.translations.d.ts +12 -0
- package/widgets/widget-analytic/index.d.ts +5 -0
- package/widgets/widget-analytic/public-api.d.ts +2 -0
- package/widgets/widget-analytic/style/_o-widget-analytic.scss +43 -0
- package/widgets/widget-analytic/style/css.component.d.ts +5 -0
- package/widgets/widget-analytic/widget-analytic.module.d.ts +19 -0
- package/widgets/widget-map/component/widget-map.component.d.ts +9 -22
- package/widgets/widget-map/interaction/interaction-manager.class.d.ts +0 -5
- package/widgets/widget-map/interaction/tooltip-manager.class.d.ts +43 -0
- package/widgets/widget-map/public-api.d.ts +1 -0
- package/widgets/widget-tile/component/widget-tile.component.d.ts +4 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import { Dataset, DataSourceService, SubscriptionnerDirective } from '@provoly/dashboard';
|
|
3
|
+
import { Dataset, DataSourceService, PryI18nService, PrySnackbarService, SubscriptionnerDirective } from '@provoly/dashboard';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
type FileExtension = 'csv' | 'zip';
|
|
7
7
|
export declare class PryImportComponent extends SubscriptionnerDirective implements OnDestroy {
|
|
8
8
|
private store;
|
|
9
9
|
private dsService;
|
|
10
|
+
private snackbar;
|
|
11
|
+
private i18nService;
|
|
10
12
|
datasets$: Observable<Dataset[]>;
|
|
11
13
|
file?: File;
|
|
12
14
|
selectedDataset?: Dataset;
|
|
@@ -23,7 +25,7 @@ export declare class PryImportComponent extends SubscriptionnerDirective impleme
|
|
|
23
25
|
productionDate: string;
|
|
24
26
|
producer: string;
|
|
25
27
|
additionalInformation: string;
|
|
26
|
-
constructor(store: Store, dsService: DataSourceService);
|
|
28
|
+
constructor(store: Store, dsService: DataSourceService, snackbar: PrySnackbarService, i18nService: PryI18nService);
|
|
27
29
|
ngOnDestroy(): void;
|
|
28
30
|
uploadedChange($event: File): void;
|
|
29
31
|
submit(): void;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { ManifestDescription } from '../model/manifest.interface';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare abstract class PryBaseAccess {
|
|
5
6
|
abstract hasRole(...args: any[]): Observable<boolean>;
|
|
7
|
+
abstract canModifyPresentation(presentation: ManifestDescription): Observable<boolean>;
|
|
6
8
|
}
|
|
7
9
|
export declare const PRY_ACCESS_TOKEN: InjectionToken<PryBaseAccess>;
|
|
8
10
|
export declare class PryDefaultAccessService extends PryBaseAccess {
|
|
9
11
|
constructor();
|
|
10
12
|
hasRole(...args: any[]): Observable<boolean>;
|
|
13
|
+
canModifyPresentation(presentation: ManifestDescription): Observable<boolean>;
|
|
11
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<PryDefaultAccessService, never>;
|
|
12
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<PryDefaultAccessService>;
|
|
13
16
|
}
|
|
@@ -5,6 +5,7 @@ export * from './search-mono-class.model';
|
|
|
5
5
|
export * from './search-multi-class.model';
|
|
6
6
|
export * from './widget-map-manifest.interface';
|
|
7
7
|
export * from './widget-aggregated-chart-manifest.interface';
|
|
8
|
+
export * from './widget-analytic-manifest.interface';
|
|
8
9
|
export * from './widget-chart-manifest.interface';
|
|
9
10
|
export * from './widget-graph-manifest.interface';
|
|
10
11
|
export * from './widget-table-manifest.interface';
|
|
@@ -59,9 +59,11 @@ export declare class DataSourceEffects {
|
|
|
59
59
|
[p: string]: string;
|
|
60
60
|
} | undefined;
|
|
61
61
|
} & import("@ngrx/store/src/models").TypedAction<"[Dataset] Datadef is created call to admin">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
62
|
-
unsetMissingGroupsOnDatasetSelection$: import("rxjs").Observable<{
|
|
62
|
+
unsetMissingGroupsOnDatasetSelection$: import("rxjs").Observable<({
|
|
63
63
|
missingGroups?: import("@provoly/dashboard").MissingGroupsByEntity | undefined;
|
|
64
|
-
} & import("@ngrx/store/src/models").TypedAction<"[Dataset] set missing groups"
|
|
64
|
+
} & import("@ngrx/store/src/models").TypedAction<"[Dataset] set missing groups">) | ({
|
|
65
|
+
id: string;
|
|
66
|
+
} & import("@ngrx/store/src/models").TypedAction<"[Dataset] Get Dataset Versions by Dataset Id">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
65
67
|
deleteDataset$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Dataset] load datasets"> | import("@ngrx/store/src/models").TypedAction<"[Dataset] unselect Dataset"> | ({
|
|
66
68
|
error: any;
|
|
67
69
|
} & import("@ngrx/store/src/models").TypedAction<"[Dataset] failure effect Dataset">) | ({
|
|
@@ -425,20 +425,28 @@ export declare const DashboardActions: {
|
|
|
425
425
|
} & import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) update filter value">>;
|
|
426
426
|
clearAllFilterValues: import("@ngrx/store").ActionCreator<"[Dashboard] (bus) clear all filter values", () => import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) clear all filter values">>;
|
|
427
427
|
dispatchFilters: import("@ngrx/store").ActionCreator<"[Dashboard] (bus) apply filters to presentation datasources", () => import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) apply filters to presentation datasources">>;
|
|
428
|
-
resetWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Reset Wms layer features", (
|
|
428
|
+
resetWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Reset Wms layer features", (props: {
|
|
429
|
+
componentId: string;
|
|
430
|
+
}) => {
|
|
431
|
+
componentId: string;
|
|
432
|
+
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Reset Wms layer features">>;
|
|
429
433
|
getWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Get Wms layer features", (props: {
|
|
430
434
|
url: string;
|
|
431
435
|
oClass: string;
|
|
432
436
|
coordinates: number[];
|
|
437
|
+
componentId: string;
|
|
433
438
|
}) => {
|
|
434
439
|
url: string;
|
|
435
440
|
oClass: string;
|
|
436
441
|
coordinates: number[];
|
|
442
|
+
componentId: string;
|
|
437
443
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Get Wms layer features">>;
|
|
438
444
|
addWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Set Wms layer features", (props: {
|
|
439
445
|
features: any;
|
|
446
|
+
componentId: string;
|
|
440
447
|
}) => {
|
|
441
448
|
features: any;
|
|
449
|
+
componentId: string;
|
|
442
450
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Set Wms layer features">>;
|
|
443
451
|
getWfsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Get wfs Features for point", (props: {
|
|
444
452
|
url: string;
|
|
@@ -455,10 +463,12 @@ export declare const DashboardActions: {
|
|
|
455
463
|
url: string;
|
|
456
464
|
oClass: string;
|
|
457
465
|
coordinates: number[];
|
|
466
|
+
componentId: string;
|
|
458
467
|
}) => {
|
|
459
468
|
url: string;
|
|
460
469
|
oClass: string;
|
|
461
470
|
coordinates: number[];
|
|
471
|
+
componentId: string;
|
|
462
472
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Get wfs Features for showing stack tooltips">>;
|
|
463
473
|
updateDisplayOptions: import("@ngrx/store").ActionCreator<"[Dashboard/Display] (bus) Update displayed dashboard management features", (props: {
|
|
464
474
|
mode: ViewMode;
|
|
@@ -220,9 +220,11 @@ export declare class DashboardEffects {
|
|
|
220
220
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Store Wms capability">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
221
221
|
getWmsFeatures: import("rxjs").Observable<{
|
|
222
222
|
features: any;
|
|
223
|
+
componentId: string;
|
|
223
224
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Set Wms layer features">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
224
225
|
getWfsFeaturesForPointStack: import("rxjs").Observable<{
|
|
225
226
|
features: any;
|
|
227
|
+
componentId: string;
|
|
226
228
|
} & import("@ngrx/store/src/models").TypedAction<"[Widget map] Set Wms layer features">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
227
229
|
addManifestMetadata: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) fetching available manifests">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
228
230
|
deleteManifestMetadata$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) fetching available manifests">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
@@ -41,7 +41,9 @@ export interface DashboardState {
|
|
|
41
41
|
params: DashboardCellParams;
|
|
42
42
|
editionMode: boolean;
|
|
43
43
|
};
|
|
44
|
-
wmsFeatures:
|
|
44
|
+
wmsFeatures: {
|
|
45
|
+
[componentId: string]: any[];
|
|
46
|
+
};
|
|
45
47
|
display?: DisplayOptions;
|
|
46
48
|
capabilities: {
|
|
47
49
|
[url: string]: GetCapabilitiesResponse | null;
|
|
@@ -334,7 +334,7 @@ export declare const DashboardSelectors: {
|
|
|
334
334
|
}, (s1: DashboardState) => {
|
|
335
335
|
[datasourceId: string]: FilterContext[];
|
|
336
336
|
}>;
|
|
337
|
-
wmsFeatures: MemoizedSelector<object, any[], (s1: DashboardState) => any[]>;
|
|
337
|
+
wmsFeatures: (componentId: string) => MemoizedSelector<object, any[], (s1: DashboardState) => any[]>;
|
|
338
338
|
displayOptions: MemoizedSelector<object, import("../../core/model/display-options.interface").DisplayOptions, (s1: DashboardState) => import("../../core/model/display-options.interface").DisplayOptions>;
|
|
339
339
|
capabilities: MemoizedSelector<object, {
|
|
340
340
|
[url: string]: import("@provoly/dashboard").GetCapabilitiesResponse | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provoly/dashboard",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/cdk": "16.x || 17.x",
|
|
@@ -276,6 +276,12 @@
|
|
|
276
276
|
"esm": "./esm2022/widgets/widget-aggregated-chart/provoly-dashboard-widgets-widget-aggregated-chart.mjs",
|
|
277
277
|
"default": "./fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs"
|
|
278
278
|
},
|
|
279
|
+
"./widgets/widget-analytic": {
|
|
280
|
+
"types": "./widgets/widget-analytic/index.d.ts",
|
|
281
|
+
"esm2022": "./esm2022/widgets/widget-analytic/provoly-dashboard-widgets-widget-analytic.mjs",
|
|
282
|
+
"esm": "./esm2022/widgets/widget-analytic/provoly-dashboard-widgets-widget-analytic.mjs",
|
|
283
|
+
"default": "./fesm2022/provoly-dashboard-widgets-widget-analytic.mjs"
|
|
284
|
+
},
|
|
279
285
|
"./widgets/widget-chart": {
|
|
280
286
|
"types": "./widgets/widget-chart/index.d.ts",
|
|
281
287
|
"esm2022": "./esm2022/widgets/widget-chart/provoly-dashboard-widgets-widget-chart.mjs",
|
|
@@ -2,7 +2,7 @@ import { Overlay, OverlayRef } from '@angular/cdk/overlay';
|
|
|
2
2
|
import { ElementRef, NgZone, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
4
|
import { Store } from '@ngrx/store';
|
|
5
|
-
import { DashboardManifest, ManifestDescription, PryTitleService, PryVisibilityType, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
|
|
5
|
+
import { DashboardManifest, ManifestDescription, PryBaseAccess, PryTitleService, PryVisibilityType, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
|
|
6
6
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class PryPresentationComponent extends SubscriptionnerDirective {
|
|
@@ -13,6 +13,7 @@ export declare class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
13
13
|
protected titleService: PryTitleService;
|
|
14
14
|
protected activatedRoute: ActivatedRoute;
|
|
15
15
|
protected ngZone: NgZone;
|
|
16
|
+
private access;
|
|
16
17
|
manifests$: Observable<ManifestDescription[]>;
|
|
17
18
|
selectedPresentation$: BehaviorSubject<ManifestDescription | null>;
|
|
18
19
|
presentation?: ManifestDescription;
|
|
@@ -47,7 +48,7 @@ export declare class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
47
48
|
hideToolbox: boolean;
|
|
48
49
|
inputSearch$: BehaviorSubject<string>;
|
|
49
50
|
set search(query: string);
|
|
50
|
-
constructor(store: Store<any>, overlay: Overlay, viewContainerRef: ViewContainerRef, router: Router, titleService: PryTitleService, activatedRoute: ActivatedRoute, ngZone: NgZone);
|
|
51
|
+
constructor(store: Store<any>, overlay: Overlay, viewContainerRef: ViewContainerRef, router: Router, titleService: PryTitleService, activatedRoute: ActivatedRoute, ngZone: NgZone, access: PryBaseAccess);
|
|
51
52
|
closeRestitution(): void;
|
|
52
53
|
fetch(presentation: ManifestDescription): void;
|
|
53
54
|
creation(): void;
|
|
@@ -62,6 +63,7 @@ export declare class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
62
63
|
updateAccessGroups($event: string[]): void;
|
|
63
64
|
updateVisibility($event: PryVisibilityType): void;
|
|
64
65
|
updateDisableButtonValue(): void;
|
|
65
|
-
|
|
66
|
+
canModify$(presentation: ManifestDescription): Observable<boolean>;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PryPresentationComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
|
|
66
68
|
static ɵcmp: i0.ɵɵComponentDeclaration<PryPresentationComponent, "pry-presentation", never, { "editionStartUrl": { "alias": "editionStartUrl"; "required": false; }; "consultStartUrl": { "alias": "consultStartUrl"; "required": false; }; "meAsOwner": { "alias": "meAsOwner"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "listOfManifests": { "alias": "listOfManifests"; "required": false; }; "hideToolbox": { "alias": "hideToolbox"; "required": false; }; "search": { "alias": "search"; "required": false; }; }, {}, never, never, false, never>;
|
|
67
69
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { AnalyticWidgetOptions, Attribute, Class, DataWidgetComponent, ResultSet } from '@provoly/dashboard';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { Store } from '@ngrx/store';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class WidgetAnalyticComponent extends DataWidgetComponent {
|
|
7
|
+
optionsCopy: AnalyticWidgetOptions;
|
|
8
|
+
options$: Observable<AnalyticWidgetOptions>;
|
|
9
|
+
primaryProperty$: Observable<string[]>;
|
|
10
|
+
secondaryProperty$: Observable<string[]>;
|
|
11
|
+
verticalProperty$: Observable<string[]>;
|
|
12
|
+
totalProperty$: Observable<string[]>;
|
|
13
|
+
grandTotalProperty$: Observable<string[]>;
|
|
14
|
+
lines$: Observable<{
|
|
15
|
+
name: string;
|
|
16
|
+
value: {
|
|
17
|
+
[key: string]: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}[]>;
|
|
22
|
+
totals$: Observable<{
|
|
23
|
+
name: string;
|
|
24
|
+
value: {
|
|
25
|
+
[key: string]: {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}[]>;
|
|
30
|
+
grandTotals$: Observable<{
|
|
31
|
+
name: any;
|
|
32
|
+
value: {
|
|
33
|
+
[p: string]: any;
|
|
34
|
+
};
|
|
35
|
+
}[]>;
|
|
36
|
+
height$: Observable<number>;
|
|
37
|
+
classes$: Observable<Class[]>;
|
|
38
|
+
availableProperties$: Observable<Attribute[]>;
|
|
39
|
+
change($event: string, prop: 'primaryProp' | 'secondaryProp' | 'valueProp' | 'verticalProp'): void;
|
|
40
|
+
constructor(store: Store<any>, el: ElementRef);
|
|
41
|
+
private matchAttributeValue;
|
|
42
|
+
private createValueMap;
|
|
43
|
+
getPropertyLabelsForLevel(rs: ResultSet, property: string, level?: number): string[];
|
|
44
|
+
emitManifest(): void;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetAnalyticComponent, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetAnalyticComponent, "pry-widget-analytic", never, {}, {}, never, never, false, never>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@use '../../../styles/abstracts' as *;
|
|
2
|
+
|
|
3
|
+
.o-widget__analytic {
|
|
4
|
+
&__table {
|
|
5
|
+
width: 100%;
|
|
6
|
+
|
|
7
|
+
table {
|
|
8
|
+
width: 100%;
|
|
9
|
+
|
|
10
|
+
th, td {
|
|
11
|
+
text-align: center;
|
|
12
|
+
|
|
13
|
+
&:first-child {
|
|
14
|
+
text-align: left;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.primary-header {
|
|
19
|
+
th:not(:first-child) {
|
|
20
|
+
background-color: #d7e7f7;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.secondary-header {
|
|
25
|
+
th:not(:first-child) {
|
|
26
|
+
background-color: #f3f8fc;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.partial-total {
|
|
31
|
+
th, td {
|
|
32
|
+
background-color: #F0F0F0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.grand-total {
|
|
37
|
+
th, td {
|
|
38
|
+
background-color: #BDB9DA;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PryWidgetAnalyticCssComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PryWidgetAnalyticCssComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PryWidgetAnalyticCssComponent, "pry-widget-analytic-css", never, {}, {}, never, never, false, never>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import { BaseWidgetComponent, BaseWidgetModule, PryI18nService } from '@provoly/dashboard';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./component/widget-analytic.component";
|
|
5
|
+
import * as i2 from "./style/css.component";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "@angular/cdk/overlay";
|
|
9
|
+
import * as i6 from "@provoly/dashboard";
|
|
10
|
+
import * as i7 from "@provoly/dashboard/components/checkbox";
|
|
11
|
+
import * as i8 from "@provoly/dashboard/widgets/widget-map";
|
|
12
|
+
export declare class WidgetAnalyticModule extends BaseWidgetModule {
|
|
13
|
+
private pryTranslateService;
|
|
14
|
+
constructor(pryTranslateService: PryI18nService);
|
|
15
|
+
getComponent(): Type<BaseWidgetComponent>;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetAnalyticModule, never>;
|
|
17
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WidgetAnalyticModule, [typeof i1.WidgetAnalyticComponent, typeof i2.PryWidgetAnalyticCssComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.OverlayModule, typeof i6.PryCoreModule, typeof i6.PryDashboardModule, typeof i6.PrySelectModule, typeof i6.PryIconModule, typeof i7.PryCheckboxModule, typeof i6.PryToggleModule, typeof i8.WidgetMapModule, typeof i6.PryI18nModule, typeof i3.AsyncPipe], [typeof i1.WidgetAnalyticComponent]>;
|
|
18
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WidgetAnalyticModule>;
|
|
19
|
+
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, ElementRef, Injector, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import {
|
|
4
|
-
import { Map
|
|
3
|
+
import { BaseWidgetMapLayerOptions, Class, DataWidgetComponent, Field, GetCapabilitiesResponse, LayerGroup, MapAutoLayerOptions, MapFeatureLayerOptions, MapGeoServerLayerOptions, MapRasterTileLayerOptions, MapVectorTileLayerOptions, MapWidgetBubbleLayerOptions, MapWidgetHeatMapLayerOptions, MapWidgetLayerOptions, MapWidgetMarkerLayerOptions, MapWidgetOptions, MapWMSLayerLayerOptions, MapWMTSLayerLayerOptions, PryAggregationService, PryGeoAuthService, PryI18nService, SymbolService, TooltipFactoryService } from '@provoly/dashboard';
|
|
4
|
+
import { Map } from 'ol';
|
|
5
5
|
import { Coordinate } from 'ol/coordinate';
|
|
6
6
|
import { Geometry } from 'ol/geom';
|
|
7
7
|
import { Layer } from 'ol/layer';
|
|
8
8
|
import BaseLayer from 'ol/layer/Base';
|
|
9
9
|
import VectorLayer from 'ol/layer/Vector';
|
|
10
|
-
import { Pixel } from 'ol/pixel';
|
|
11
10
|
import VectorSource from 'ol/source/Vector';
|
|
12
11
|
import { Style } from 'ol/style';
|
|
13
|
-
import { BehaviorSubject, Observable
|
|
12
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
14
13
|
import { InteractionManager } from '../interaction/interaction-manager.class';
|
|
15
14
|
import { WidgetMapLayerService } from './widget-map-layer.service';
|
|
16
15
|
import { LayerSlider } from '../interaction/layer-slider.class';
|
|
@@ -18,6 +17,7 @@ import TileLayer from 'ol/layer/Tile';
|
|
|
18
17
|
import { Attribution } from 'ol/control';
|
|
19
18
|
import VectorTileLayer from 'ol/layer/VectorTile';
|
|
20
19
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
20
|
+
import { TooltipManager } from '../interaction/tooltip-manager.class';
|
|
21
21
|
import * as i0 from "@angular/core";
|
|
22
22
|
export declare const TOOLTIP_PADDING = 15;
|
|
23
23
|
export declare const NON_MANDATORY_FIT_LAYER_TYPES: string[];
|
|
@@ -30,6 +30,8 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
30
30
|
private widgetMapLayerService;
|
|
31
31
|
private pryAggregationService;
|
|
32
32
|
private geoAuthService;
|
|
33
|
+
static idCounter: number;
|
|
34
|
+
id: string;
|
|
33
35
|
mapUrl$: Observable<string>;
|
|
34
36
|
mapRef: ElementRef;
|
|
35
37
|
popup: ElementRef;
|
|
@@ -60,8 +62,6 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
60
62
|
}>;
|
|
61
63
|
height$: Observable<number>;
|
|
62
64
|
actions$: BehaviorSubject<("click" | "lasso" | "rectangle" | "zoom" | "move" | "export" | "upload")[]>;
|
|
63
|
-
private wmsFeatures$;
|
|
64
|
-
classicFeatures$: BehaviorSubject<any>;
|
|
65
65
|
geoServerLayerDescriptions$: Observable<MapGeoServerLayerOptions[]>;
|
|
66
66
|
legendTabOpen: boolean;
|
|
67
67
|
layersTabOpen: boolean;
|
|
@@ -82,9 +82,8 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
82
82
|
}>;
|
|
83
83
|
mapStyleUrl$: Observable<string | null>;
|
|
84
84
|
interactionManager: InteractionManager;
|
|
85
|
+
tooltipManager: TooltipManager;
|
|
85
86
|
mapStyleLayer$: Observable<(VectorTileLayer | TileLayer<any>)[]>;
|
|
86
|
-
tooltipIndex: number;
|
|
87
|
-
tooltipNumber: number;
|
|
88
87
|
STYLE_FROM_URL: string;
|
|
89
88
|
NO_STYLE: string;
|
|
90
89
|
wmsCapabilities$: Observable<{
|
|
@@ -123,9 +122,6 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
123
122
|
attributions$: Observable<boolean>;
|
|
124
123
|
olZoomElement$: BehaviorSubject<HTMLDivElement | null>;
|
|
125
124
|
previousLayers: BaseLayer[];
|
|
126
|
-
previousTooltip?: ComponentRef<BaseTooltipComponent>;
|
|
127
|
-
previousTooltipSub?: Subscription;
|
|
128
|
-
popupOverlay?: Overlay;
|
|
129
125
|
layerGroups$: Observable<LayerGroup[]>;
|
|
130
126
|
layerGroups: LayerGroup[];
|
|
131
127
|
layerSettingsExpandedState: {
|
|
@@ -133,15 +129,10 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
133
129
|
};
|
|
134
130
|
constructor(store: Store<any>, translateService: PryI18nService, tooltipFactoryService: TooltipFactoryService, symbolService: SymbolService, injector: Injector, widgetMapLayerService: WidgetMapLayerService, pryAggregationService: PryAggregationService, el: ElementRef, geoAuthService: PryGeoAuthService);
|
|
135
131
|
initInteractionManager(): InteractionManager;
|
|
132
|
+
initTooltipManager(): TooltipManager;
|
|
136
133
|
ngAfterViewInit(): void;
|
|
137
|
-
clearTooltip(): void;
|
|
138
134
|
private addEmptyWebGlLayerBelowSlideHeatmaps;
|
|
139
135
|
initResultSet$(): Observable<import("@provoly/dashboard").ResultSet>;
|
|
140
|
-
generateTooltip(value: {
|
|
141
|
-
oClass: string;
|
|
142
|
-
coordinates: Pixel;
|
|
143
|
-
values: any;
|
|
144
|
-
}): Promise<ComponentRef<BaseTooltipComponent> | null>;
|
|
145
136
|
setDefaultLayerTitle(layer: MapWidgetLayerOptions, index: number, capabilities: {
|
|
146
137
|
[p: string]: GetCapabilitiesResponse | null;
|
|
147
138
|
} | undefined): void;
|
|
@@ -179,14 +170,10 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
179
170
|
changeOpacity(layer: MapWidgetLayerOptions, $event: string): void;
|
|
180
171
|
getWMSLayers(): Layer<any>[];
|
|
181
172
|
isLayerRendered(layer: any): boolean;
|
|
182
|
-
getFeatureFromServer(wmsLayers: Layer<any>[], pixel: Pixel): void;
|
|
183
173
|
changeWmsClass($event: any, layer: MapWMSLayerLayerOptions): void;
|
|
184
174
|
toggleLegend(index: number): void;
|
|
185
175
|
toggleLegendWindow(): void;
|
|
186
176
|
toggleLayersWindow(): void;
|
|
187
|
-
tooltipMove(number: number): void;
|
|
188
|
-
tooltipCanMove(number: number): boolean;
|
|
189
|
-
private setStyleAsync;
|
|
190
177
|
get mapLayers(): BaseLayer[];
|
|
191
178
|
get rightSlideLayers(): BaseLayer[];
|
|
192
179
|
get leftSlideLayers(): BaseLayer[];
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
import { MapBrowserEvent, Overlay } from 'ol';
|
|
2
1
|
import { ScaleLine } from 'ol/control';
|
|
3
2
|
import type { WidgetMapComponent } from '../component/widget-map.component';
|
|
4
3
|
import { SelectionInteraction } from './selection-interaction.class';
|
|
5
4
|
export declare class InteractionManager {
|
|
6
|
-
interactionPopupOverlay?: Overlay;
|
|
7
5
|
scaleControl?: ScaleLine;
|
|
8
6
|
selectionInteraction: SelectionInteraction;
|
|
9
|
-
tooltipEvent?: MapBrowserEvent<MouseEvent>;
|
|
10
7
|
private component;
|
|
11
8
|
init(component: WidgetMapComponent): this;
|
|
12
9
|
listeners: {
|
|
13
10
|
contextMenu: (e: MouseEvent) => void;
|
|
14
|
-
popup: (event: MapBrowserEvent<MouseEvent>) => void;
|
|
15
11
|
};
|
|
16
12
|
private addContextMenuInteraction;
|
|
17
|
-
private addOverlayOnInteraction;
|
|
18
13
|
private addScaleControl;
|
|
19
14
|
private addUpdateZoomAndCenter;
|
|
20
15
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Pixel } from 'ol/pixel';
|
|
2
|
+
import { ComponentRef, ElementRef, Injector, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { BaseTooltipComponent, Size, TooltipFactoryService } from '@provoly/dashboard';
|
|
4
|
+
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
|
|
5
|
+
import { Map, MapBrowserEvent, Overlay } from 'ol';
|
|
6
|
+
import { Store } from '@ngrx/store';
|
|
7
|
+
import { WidgetMapComponent } from '../component/widget-map.component';
|
|
8
|
+
import { InteractionManager } from './interaction-manager.class';
|
|
9
|
+
import { Layer } from 'ol/layer';
|
|
10
|
+
export declare class TooltipManager {
|
|
11
|
+
private tooltipFactoryService;
|
|
12
|
+
private injector;
|
|
13
|
+
private store;
|
|
14
|
+
wmsFeatures$: Observable<any[]>;
|
|
15
|
+
classicFeatures$: BehaviorSubject<any>;
|
|
16
|
+
tooltipIndex: number;
|
|
17
|
+
popupOverlay?: Overlay;
|
|
18
|
+
map: Map;
|
|
19
|
+
popup: ElementRef;
|
|
20
|
+
popupContent: ViewContainerRef;
|
|
21
|
+
tooltipNumber: number;
|
|
22
|
+
interactionManager: InteractionManager;
|
|
23
|
+
previousTooltip?: ComponentRef<BaseTooltipComponent>;
|
|
24
|
+
previousTooltipSub?: Subscription;
|
|
25
|
+
tooltipEvent?: MapBrowserEvent<MouseEvent>;
|
|
26
|
+
parent: WidgetMapComponent;
|
|
27
|
+
interactionPopupOverlay: Overlay;
|
|
28
|
+
init(tooltipFactoryService: TooltipFactoryService, injector: Injector, store: Store, subscriptions: Subscription, widgetSize$: Observable<Size>, displayHeader$: Observable<boolean | {
|
|
29
|
+
[p: string]: boolean;
|
|
30
|
+
}>, map: Map, popup: ElementRef, popupContent: ViewContainerRef, interactionManager: InteractionManager, parent: WidgetMapComponent): this;
|
|
31
|
+
private addOverlayOnInteraction;
|
|
32
|
+
generateTooltip(value: {
|
|
33
|
+
oClass: string;
|
|
34
|
+
coordinates: Pixel;
|
|
35
|
+
values: any;
|
|
36
|
+
}): Promise<ComponentRef<BaseTooltipComponent> | null>;
|
|
37
|
+
clearTooltip(empty?: boolean): void;
|
|
38
|
+
tooltipMove(number: number): void;
|
|
39
|
+
private setStyleAsync;
|
|
40
|
+
tooltipCanMove(number: number): boolean;
|
|
41
|
+
getFeatureFromServer(wmsLayers: Layer<any>[], pixel: Pixel): void;
|
|
42
|
+
destroy(): void;
|
|
43
|
+
}
|
|
@@ -6,6 +6,7 @@ export * from './pipe/widget-map-legend-url.pipe';
|
|
|
6
6
|
export * from './interaction/interaction-manager.class';
|
|
7
7
|
export * from './interaction/selection-interaction.class';
|
|
8
8
|
export * from './interaction/layer-slider.class';
|
|
9
|
+
export * from './interaction/tooltip-manager.class';
|
|
9
10
|
export * from './utils/widget-map.utils';
|
|
10
11
|
export * from './utils/xml-utils.class';
|
|
11
12
|
export * from './utils/cql-utils.class';
|
|
@@ -28,7 +28,10 @@ export declare class WidgetTileComponent extends DataWidgetComponent {
|
|
|
28
28
|
optionsCopy: TileWidgetOptions;
|
|
29
29
|
WIDGET_HEADER_HEIGHT: number;
|
|
30
30
|
propertiesToDisplay$: Observable<{
|
|
31
|
-
[p: string]:
|
|
31
|
+
[p: string]: {
|
|
32
|
+
label: string;
|
|
33
|
+
prop: string;
|
|
34
|
+
}[];
|
|
32
35
|
} | undefined>;
|
|
33
36
|
fields: Field[];
|
|
34
37
|
classes: Class[];
|