@provoly/dashboard 0.18.10 → 0.19.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/README.md +1 -1
- package/assets/svgs/code-box.svg +1 -0
- package/dataset/components/dataset-card/dataset-card.component.d.ts +3 -3
- package/dataset/style/_o-pry-dataset.scss +1 -1
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +2 -2
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +2 -1
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +41 -0
- package/esm2022/filters/autocomplete/autocomplete.module.mjs +24 -0
- package/esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs +5 -0
- package/esm2022/filters/autocomplete/public-api.mjs +4 -0
- package/esm2022/filters/autocomplete/style/css.component.mjs +11 -0
- package/esm2022/lib/core/components/about/about.component.mjs +3 -3
- package/esm2022/lib/core/components/select/select.component.mjs +4 -8
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +4 -1
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +4 -5
- 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 +1 -1
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +2 -2
- package/esm2022/lib/core/store/search/search.service.mjs +8 -2
- package/esm2022/lib/dashboard/dashboard.module.mjs +8 -3
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +44 -0
- package/esm2022/lib/dashboard/filter/public-api.mjs +3 -1
- package/esm2022/lib/dashboard/filter/style/css.component.mjs +11 -0
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -2
- package/esm2022/lib/dashboard/store/wms.service.mjs +1 -1
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -1
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +41 -41
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +10 -1
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +10 -1
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +95 -115
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +35 -2
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +15 -13
- package/fesm2022/provoly-dashboard-dataset.mjs +4 -3
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +75 -0
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-toolbox.mjs +2 -0
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +58 -40
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +138 -125
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +72 -21
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/autocomplete/autocomplete.component.d.ts +16 -0
- package/filters/autocomplete/autocomplete.module.d.ts +14 -0
- package/filters/autocomplete/index.d.ts +5 -0
- package/filters/autocomplete/public-api.d.ts +3 -0
- package/filters/autocomplete/style/_m-autocomplete.scss +7 -0
- package/filters/autocomplete/style/css.component.d.ts +5 -0
- package/lib/core/components/select/select.component.d.ts +0 -1
- package/lib/core/components/snackbar/snackbar.service.d.ts +1 -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/widget-aggregated-chart-manifest.interface.d.ts +1 -1
- package/lib/core/model/widget-map-manifest.interface.d.ts +1 -1
- package/lib/core/store/search/search.service.d.ts +6 -0
- package/lib/dashboard/dashboard.module.d.ts +17 -15
- package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +17 -0
- package/lib/dashboard/filter/public-api.d.ts +2 -0
- package/lib/dashboard/filter/style/_o-pry-filter-group.scss +41 -0
- package/lib/dashboard/filter/style/css.component.d.ts +5 -0
- package/lib/dashboard/store/wms.service.d.ts +1 -1
- package/package.json +20 -14
- package/styles/layout/_o-workspace.scss +0 -29
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +13 -6
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +9 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +9 -0
- package/widgets/widget-map/component/widget-map.component.d.ts +5 -7
- package/widgets/widget-map/utils/widget-map.utils.d.ts +7 -1
- package/widgets/widget-map/utils/xml-utils.class.d.ts +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import { BaseFilterComponent, SearchService } from '@provoly/dashboard';
|
|
4
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class AutocompleteComponent extends BaseFilterComponent implements OnInit, OnDestroy {
|
|
7
|
+
private searchService;
|
|
8
|
+
search$: BehaviorSubject<string>;
|
|
9
|
+
autocomplete$?: Observable<string[]>;
|
|
10
|
+
constructor(store: Store, searchService: SearchService);
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
setFilter(value: string): void;
|
|
13
|
+
updateSearch($event?: Event): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "pry-autocomplete", never, {}, {}, never, never, false, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import { BaseFilterComponent, BaseFilterModule } from '@provoly/dashboard';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./autocomplete.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 "@provoly/dashboard";
|
|
9
|
+
export declare class PryAutocompleteModule extends BaseFilterModule {
|
|
10
|
+
getComponent(): Type<BaseFilterComponent>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PryAutocompleteModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PryAutocompleteModule, [typeof i1.AutocompleteComponent, typeof i2.PryAutocompleteCssComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i4.FormsModule, typeof i5.PrySelectModule], [typeof i1.AutocompleteComponent]>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<PryAutocompleteModule>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PryAutocompleteCssComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PryAutocompleteCssComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PryAutocompleteCssComponent, "pry-autocomplete-css", never, {}, {}, never, never, false, never>;
|
|
5
|
+
}
|
|
@@ -37,7 +37,6 @@ export declare class PrySelectComponent implements ControlValueAccessor {
|
|
|
37
37
|
registerOnTouched(fn: any): void;
|
|
38
38
|
setDisabledState(isDisabled: boolean): void;
|
|
39
39
|
writeValue(obj: any): void;
|
|
40
|
-
customSearchFn(term: string, item: any): boolean;
|
|
41
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrySelectComponent, never>;
|
|
42
41
|
static ɵcmp: i0.ɵɵComponentDeclaration<PrySelectComponent, "pry-select", never, { "labelTranslate": { "alias": "labelTranslate"; "required": false; }; "baseTranslate": { "alias": "baseTranslate"; "required": false; }; "translationFn": { "alias": "translationFn"; "required": false; }; "translationFnArgs": { "alias": "translationFnArgs"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "multipleClearRight": { "alias": "multipleClearRight"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isForm": { "alias": "isForm"; "required": false; }; "required": { "alias": "required"; "required": false; }; "name": { "alias": "name"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "items": { "alias": "items"; "required": false; }; "itemsAsOption": { "alias": "itemsAsOption"; "required": false; }; "bindData": { "alias": "bindData"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindIcon": { "alias": "bindIcon"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; "templateLabel": { "alias": "templateLabel"; "required": false; }; "templateOption": { "alias": "templateOption"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, {}, never, never, false, never>;
|
|
43
42
|
}
|
|
@@ -16,6 +16,7 @@ export declare class PrySnackbarService {
|
|
|
16
16
|
private messageEvents$;
|
|
17
17
|
constructor(overlay: Overlay, translate: PryI18nService);
|
|
18
18
|
setRootViewContainerRef(viewContainerRef: ViewContainerRef): void;
|
|
19
|
+
dispatchOpenEvent(message: PrySnackMessage): void;
|
|
19
20
|
open(message: PrySnackMessage): Observable<void> | null;
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrySnackbarService, never>;
|
|
21
22
|
static ɵprov: i0.ɵɵInjectableDeclaration<PrySnackbarService>;
|
|
@@ -15,7 +15,6 @@ export interface MapWidgetOptions {
|
|
|
15
15
|
singleLayer?: boolean;
|
|
16
16
|
ignoreAutoLayer?: string[];
|
|
17
17
|
automaticLayers?: boolean;
|
|
18
|
-
ignoreGetCapabilitiesExtent?: boolean;
|
|
19
18
|
}
|
|
20
19
|
export type MapWidgetLayerOptions = MapWidgetHeatMapLayerOptions | MapWidgetMarkerLayerOptions | MapWidgetBubbleLayerOptions | MapWidgetRelationLayerOptions | MapWMSLayerLayerOptions | MapFeatureLayerOptions | MapVectorTileLayerOptions | MapRasterTileLayerOptions | MapGeoServerLayerOptions | MapAutoLayerOptions | MapWMTSLayerLayerOptions | MapWidgetGeometryLayerOptions;
|
|
21
20
|
export interface BaseWidgetMapLayerOptions {
|
|
@@ -27,6 +26,7 @@ export interface BaseWidgetMapLayerOptions {
|
|
|
27
26
|
opacity?: number;
|
|
28
27
|
order?: number;
|
|
29
28
|
background?: boolean;
|
|
29
|
+
fit?: boolean;
|
|
30
30
|
}
|
|
31
31
|
export interface MapWidgetHeatMapLayerOptions extends BaseWidgetMapLayerOptions {
|
|
32
32
|
type: 'heatmap';
|
|
@@ -45,6 +45,12 @@ export declare class SearchService {
|
|
|
45
45
|
* @param rs
|
|
46
46
|
*/
|
|
47
47
|
applyTransformations(id: string, rs: ResultSet): ResultSet;
|
|
48
|
+
autocomplete(attributes: {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
label: string;
|
|
52
|
+
datasource: string;
|
|
53
|
+
}[] | undefined, search: string): Observable<string[]>;
|
|
48
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
|
|
49
55
|
static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
|
|
50
56
|
}
|
|
@@ -21,20 +21,22 @@ import * as i14 from "./tooltip/components/default/default.tooltip.component";
|
|
|
21
21
|
import * as i15 from "./tooltip/base-tooltip.component";
|
|
22
22
|
import * as i16 from "./filter/base-filter.component";
|
|
23
23
|
import * as i17 from "./filter/components/filter-instanciator/filter-instanciator.component";
|
|
24
|
-
import * as i18 from "./components/
|
|
25
|
-
import * as i19 from "
|
|
26
|
-
import * as i20 from "
|
|
27
|
-
import * as i21 from "
|
|
28
|
-
import * as i22 from "
|
|
29
|
-
import * as i23 from "
|
|
30
|
-
import * as i24 from "../core/
|
|
31
|
-
import * as i25 from "@
|
|
32
|
-
import * as i26 from "../core/
|
|
33
|
-
import * as i27 from "
|
|
34
|
-
import * as i28 from "
|
|
35
|
-
import * as i29 from "
|
|
36
|
-
import * as i30 from "
|
|
37
|
-
import * as i31 from "
|
|
24
|
+
import * as i18 from "./filter/components/filter-group/filter-group.component";
|
|
25
|
+
import * as i19 from "./components/widgets/datasource-selector/datasource-selector.component";
|
|
26
|
+
import * as i20 from "./filter/style/css.component";
|
|
27
|
+
import * as i21 from "@angular/common";
|
|
28
|
+
import * as i22 from "@angular/forms";
|
|
29
|
+
import * as i23 from "../core/components/select/select.module";
|
|
30
|
+
import * as i24 from "../core/components/icon/icon.module";
|
|
31
|
+
import * as i25 from "@angular/cdk/overlay";
|
|
32
|
+
import * as i26 from "../core/core.module";
|
|
33
|
+
import * as i27 from "@provoly/dashboard/components/checkbox";
|
|
34
|
+
import * as i28 from "../core/components/toggle/toggle.module";
|
|
35
|
+
import * as i29 from "../core/components/overlay/overlay.module";
|
|
36
|
+
import * as i30 from "@ngrx/store";
|
|
37
|
+
import * as i31 from "@ngrx/effects";
|
|
38
|
+
import * as i32 from "../core/components/date-picker/date-picker.module";
|
|
39
|
+
import * as i33 from "../core/i18n/i18n.module";
|
|
38
40
|
export declare class PryDashboardModule {
|
|
39
41
|
static forRoot(widgetReference: {
|
|
40
42
|
[key: string]: WidgetDefinition;
|
|
@@ -55,6 +57,6 @@ export declare class PryDashboardModule {
|
|
|
55
57
|
image?: string;
|
|
56
58
|
}[]): ModuleWithProviders<PryDashboardModule>;
|
|
57
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<PryDashboardModule, never>;
|
|
58
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PryDashboardModule, [typeof i1.DashboardComponent, typeof i2.WidgetInstanciatorComponent, typeof i3.WidgetPlaceholderComponent, typeof i4.SettingsComponent, typeof i5.ManifestsComponent, typeof i6.MetadataComponent, typeof i7.ContextMenuComponent, typeof i8.DataWidgetComponent, typeof i9.BaseWidgetComponent, typeof i10.PryWidgetHeaderComponent, typeof i11.PryObjectEditionComponent, typeof i12.VizualizeRawComponent, typeof i13.ResultSetSizePipe, typeof i14.DefaultTooltipComponent, typeof i15.BaseTooltipComponent, typeof i16.BaseFilterComponent, typeof i17.FilterInstanciatorComponent, typeof i18.DatasourceSelectorComponent], [typeof
|
|
60
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PryDashboardModule, [typeof i1.DashboardComponent, typeof i2.WidgetInstanciatorComponent, typeof i3.WidgetPlaceholderComponent, typeof i4.SettingsComponent, typeof i5.ManifestsComponent, typeof i6.MetadataComponent, typeof i7.ContextMenuComponent, typeof i8.DataWidgetComponent, typeof i9.BaseWidgetComponent, typeof i10.PryWidgetHeaderComponent, typeof i11.PryObjectEditionComponent, typeof i12.VizualizeRawComponent, typeof i13.ResultSetSizePipe, typeof i14.DefaultTooltipComponent, typeof i15.BaseTooltipComponent, typeof i16.BaseFilterComponent, typeof i17.FilterInstanciatorComponent, typeof i18.FilterGroupComponent, typeof i19.DatasourceSelectorComponent, typeof i20.PryFilterGroupCssComponent], [typeof i21.CommonModule, typeof i22.FormsModule, typeof i23.PrySelectModule, typeof i24.PryIconModule, typeof i25.OverlayModule, typeof i26.PryCoreModule, typeof i27.PryCheckboxModule, typeof i28.PryToggleModule, typeof i29.PryOverlayModule, typeof i30.StoreFeatureModule, typeof i31.EffectsFeatureModule, typeof i32.PryDatePickerModule, typeof i33.PryI18nModule], [typeof i1.DashboardComponent, typeof i2.WidgetInstanciatorComponent, typeof i3.WidgetPlaceholderComponent, typeof i4.SettingsComponent, typeof i5.ManifestsComponent, typeof i6.MetadataComponent, typeof i7.ContextMenuComponent, typeof i8.DataWidgetComponent, typeof i9.BaseWidgetComponent, typeof i10.PryWidgetHeaderComponent, typeof i11.PryObjectEditionComponent, typeof i12.VizualizeRawComponent, typeof i13.ResultSetSizePipe, typeof i14.DefaultTooltipComponent, typeof i15.BaseTooltipComponent, typeof i16.BaseFilterComponent, typeof i17.FilterInstanciatorComponent, typeof i18.FilterGroupComponent, typeof i19.DatasourceSelectorComponent]>;
|
|
59
61
|
static ɵinj: i0.ɵɵInjectorDeclaration<PryDashboardModule>;
|
|
60
62
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BehaviorSubject, Observable } from "rxjs";
|
|
2
|
+
import { Store } from "@ngrx/store";
|
|
3
|
+
import { GlobalManifest } from "../../../../core/model/manifest.interface";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FilterGroupComponent {
|
|
6
|
+
private store;
|
|
7
|
+
private document;
|
|
8
|
+
globalManifest$: Observable<GlobalManifest>;
|
|
9
|
+
apply$: BehaviorSubject<void>;
|
|
10
|
+
isSelectOpen: boolean;
|
|
11
|
+
constructor(store: Store, document: Document);
|
|
12
|
+
filter(): void;
|
|
13
|
+
clearFilters(): void;
|
|
14
|
+
openSelect(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterGroupComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterGroupComponent, "pry-filter-group", never, {}, {}, never, never, false, never>;
|
|
17
|
+
}
|
|
@@ -3,3 +3,5 @@ export * from './base-filter.module';
|
|
|
3
3
|
export * from './filter-factory.service';
|
|
4
4
|
export * from './filter-loader.function';
|
|
5
5
|
export * from './components/filter-instanciator/filter-instanciator.component';
|
|
6
|
+
export * from './components/filter-group/filter-group.component';
|
|
7
|
+
export * from './style/css.component';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@use '../../../../styles/abstracts' as *;
|
|
2
|
+
|
|
3
|
+
.o-container {
|
|
4
|
+
height: 100%;
|
|
5
|
+
|
|
6
|
+
&__filters {
|
|
7
|
+
display: flex;
|
|
8
|
+
padding: toRem(8) toRem(10);
|
|
9
|
+
max-height: 60px; // needed for ng-select
|
|
10
|
+
gap: toRem(10);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&__filter-container {
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: flex-start;
|
|
16
|
+
margin-bottom: toRem(-5);
|
|
17
|
+
max-height: 60px; // needed for ng-select
|
|
18
|
+
padding: toRem(4) 0;
|
|
19
|
+
overflow-x: auto;
|
|
20
|
+
overflow-y: hidden;
|
|
21
|
+
|
|
22
|
+
&:has(ng-dropdown-panel.ng-dropdown-panel) {
|
|
23
|
+
padding-bottom: 350px; // max ng-select dropdown length
|
|
24
|
+
background-clip: content-box, padding-box;
|
|
25
|
+
overflow-x: hidden;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&--ng-select-open {
|
|
29
|
+
padding-bottom: 350px; // max ng-select dropdown length
|
|
30
|
+
background-clip: content-box, padding-box;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__filter-actions {
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
gap: toRem(10);
|
|
38
|
+
padding: 0 toRem(10);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PryFilterGroupCssComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PryFilterGroupCssComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PryFilterGroupCssComponent, "pry-filter-group-css", never, {}, {}, never, never, false, never>;
|
|
5
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provoly/dashboard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/cdk": "14.x || 15.x || 16.x",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@angular/core": "15.x || 16.x",
|
|
9
9
|
"@angular/platform-browser": "15.x || 16.x",
|
|
10
10
|
"@angular/router": "15.x || 16.x",
|
|
11
|
-
"@ng-select/ng-select": "
|
|
11
|
+
"@ng-select/ng-select": "11.2.0",
|
|
12
12
|
"@ngrx/effects": "16.x",
|
|
13
13
|
"@ngrx/entity": "16.x",
|
|
14
14
|
"@ngrx/store": "16.x",
|
|
@@ -115,18 +115,18 @@
|
|
|
115
115
|
"esm": "./esm2022/presentation/provoly-dashboard-presentation.mjs",
|
|
116
116
|
"default": "./fesm2022/provoly-dashboard-presentation.mjs"
|
|
117
117
|
},
|
|
118
|
-
"./restitution": {
|
|
119
|
-
"types": "./restitution/index.d.ts",
|
|
120
|
-
"esm2022": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
|
|
121
|
-
"esm": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
|
|
122
|
-
"default": "./fesm2022/provoly-dashboard-restitution.mjs"
|
|
123
|
-
},
|
|
124
118
|
"./search": {
|
|
125
119
|
"types": "./search/index.d.ts",
|
|
126
120
|
"esm2022": "./esm2022/search/provoly-dashboard-search.mjs",
|
|
127
121
|
"esm": "./esm2022/search/provoly-dashboard-search.mjs",
|
|
128
122
|
"default": "./fesm2022/provoly-dashboard-search.mjs"
|
|
129
123
|
},
|
|
124
|
+
"./restitution": {
|
|
125
|
+
"types": "./restitution/index.d.ts",
|
|
126
|
+
"esm2022": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
|
|
127
|
+
"esm": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
|
|
128
|
+
"default": "./fesm2022/provoly-dashboard-restitution.mjs"
|
|
129
|
+
},
|
|
130
130
|
"./supervision": {
|
|
131
131
|
"types": "./supervision/index.d.ts",
|
|
132
132
|
"esm2022": "./esm2022/supervision/provoly-dashboard-supervision.mjs",
|
|
@@ -139,6 +139,12 @@
|
|
|
139
139
|
"esm": "./esm2022/toolbox/provoly-dashboard-toolbox.mjs",
|
|
140
140
|
"default": "./fesm2022/provoly-dashboard-toolbox.mjs"
|
|
141
141
|
},
|
|
142
|
+
"./filters/autocomplete": {
|
|
143
|
+
"types": "./filters/autocomplete/index.d.ts",
|
|
144
|
+
"esm2022": "./esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs",
|
|
145
|
+
"esm": "./esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs",
|
|
146
|
+
"default": "./fesm2022/provoly-dashboard-filters-autocomplete.mjs"
|
|
147
|
+
},
|
|
142
148
|
"./filters/date": {
|
|
143
149
|
"types": "./filters/date/index.d.ts",
|
|
144
150
|
"esm2022": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
|
|
@@ -205,18 +211,18 @@
|
|
|
205
211
|
"esm": "./esm2022/components/scheme-picker/provoly-dashboard-components-scheme-picker.mjs",
|
|
206
212
|
"default": "./fesm2022/provoly-dashboard-components-scheme-picker.mjs"
|
|
207
213
|
},
|
|
208
|
-
"./components/stepper": {
|
|
209
|
-
"types": "./components/stepper/index.d.ts",
|
|
210
|
-
"esm2022": "./esm2022/components/stepper/provoly-dashboard-components-stepper.mjs",
|
|
211
|
-
"esm": "./esm2022/components/stepper/provoly-dashboard-components-stepper.mjs",
|
|
212
|
-
"default": "./fesm2022/provoly-dashboard-components-stepper.mjs"
|
|
213
|
-
},
|
|
214
214
|
"./components/sinceDate": {
|
|
215
215
|
"types": "./components/sinceDate/index.d.ts",
|
|
216
216
|
"esm2022": "./esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs",
|
|
217
217
|
"esm": "./esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs",
|
|
218
218
|
"default": "./fesm2022/provoly-dashboard-components-sinceDate.mjs"
|
|
219
219
|
},
|
|
220
|
+
"./components/stepper": {
|
|
221
|
+
"types": "./components/stepper/index.d.ts",
|
|
222
|
+
"esm2022": "./esm2022/components/stepper/provoly-dashboard-components-stepper.mjs",
|
|
223
|
+
"esm": "./esm2022/components/stepper/provoly-dashboard-components-stepper.mjs",
|
|
224
|
+
"default": "./fesm2022/provoly-dashboard-components-stepper.mjs"
|
|
225
|
+
},
|
|
220
226
|
"./pipeline-components/filter": {
|
|
221
227
|
"types": "./pipeline-components/filter/index.d.ts",
|
|
222
228
|
"esm2022": "./esm2022/pipeline-components/filter/provoly-dashboard-pipeline-components-filter.mjs",
|
|
@@ -17,36 +17,7 @@
|
|
|
17
17
|
.o-container {
|
|
18
18
|
height: 100%;
|
|
19
19
|
padding: toRem(20);
|
|
20
|
-
|
|
21
|
-
&__filters {
|
|
22
|
-
display: flex;
|
|
23
|
-
padding: toRem(8) toRem(10);
|
|
24
|
-
max-height: 50px; // needed for ng-select
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
&__filter-container {
|
|
28
|
-
display: flex;
|
|
29
|
-
justify-content: flex-start;
|
|
30
|
-
overflow-x: auto;
|
|
31
|
-
overflow-y: hidden;
|
|
32
|
-
margin-bottom: toRem(-5);
|
|
33
|
-
max-height: 50px; // needed for ng-select
|
|
34
|
-
padding: toRem(4) 0;
|
|
35
|
-
|
|
36
|
-
&:has(ng-dropdown-panel.ng-dropdown-panel) {
|
|
37
|
-
padding-bottom: 350px; // max ng-select dropdown length
|
|
38
|
-
background-clip: content-box, padding-box;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
&__filter-actions {
|
|
43
|
-
display: flex;
|
|
44
|
-
align-items: center;
|
|
45
|
-
gap: toRem(10);
|
|
46
|
-
padding: 0 toRem(10);
|
|
47
|
-
}
|
|
48
20
|
}
|
|
49
|
-
|
|
50
21
|
&__toolbox {
|
|
51
22
|
grid-area: tools;
|
|
52
23
|
display: flex;
|
|
@@ -61,9 +61,11 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
|
|
|
61
61
|
noData$: Observable<boolean>;
|
|
62
62
|
sortActive?: string | undefined;
|
|
63
63
|
sortDirection?: string | undefined;
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
sortValues$: Observable<{
|
|
65
|
+
value: 'key' | 'value';
|
|
66
|
+
attrId?: string;
|
|
66
67
|
label?: string;
|
|
68
|
+
isDisplayed: boolean;
|
|
67
69
|
}[]>;
|
|
68
70
|
sortDirections: {
|
|
69
71
|
value: string;
|
|
@@ -78,9 +80,9 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
|
|
|
78
80
|
static minTick(type: FieldType): {
|
|
79
81
|
tickMinStep: number;
|
|
80
82
|
} | {};
|
|
81
|
-
getSort(abscissa: string, sort?: Sort
|
|
83
|
+
getSort(abscissa: string, sort?: Sort): {
|
|
82
84
|
sort: {
|
|
83
|
-
field:
|
|
85
|
+
field: "key" | "value";
|
|
84
86
|
order: string;
|
|
85
87
|
};
|
|
86
88
|
} | {
|
|
@@ -118,11 +120,16 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
|
|
|
118
120
|
};
|
|
119
121
|
toggleStacked($event: any): void;
|
|
120
122
|
toggleSort($event: any): void;
|
|
121
|
-
|
|
122
|
-
changeSortDirection($event:
|
|
123
|
+
changeSortValue($event: 'key' | 'value'): void;
|
|
124
|
+
changeSortDirection($event: 'asc' | 'desc'): void;
|
|
123
125
|
toImage(): Promise<string>;
|
|
124
126
|
changeCircleColorScheme($event: any): void;
|
|
125
127
|
changeBaseColor($event: any): void;
|
|
128
|
+
getTimeUnit(options: ChartAggregatedWidgetOptions, abscissaType: VegaType): {
|
|
129
|
+
timeUnit: string;
|
|
130
|
+
} | {
|
|
131
|
+
timeUnit?: undefined;
|
|
132
|
+
};
|
|
126
133
|
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetAggregatedChartComponent, never>;
|
|
127
134
|
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetAggregatedChartComponent, "pry-widget-aggregated-chart", never, {}, {}, never, never, false, never>;
|
|
128
135
|
}
|
|
@@ -98,6 +98,8 @@ export declare const enTranslations: {
|
|
|
98
98
|
color: string;
|
|
99
99
|
sort: {
|
|
100
100
|
title: string;
|
|
101
|
+
attribute: string;
|
|
102
|
+
direction: string;
|
|
101
103
|
asc: {
|
|
102
104
|
quantitative: string;
|
|
103
105
|
nominal: string;
|
|
@@ -110,6 +112,13 @@ export declare const enTranslations: {
|
|
|
110
112
|
ordinal: string;
|
|
111
113
|
temporal: string;
|
|
112
114
|
};
|
|
115
|
+
by: {
|
|
116
|
+
operation: {
|
|
117
|
+
none: string;
|
|
118
|
+
count: string;
|
|
119
|
+
cardinality: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
113
122
|
};
|
|
114
123
|
};
|
|
115
124
|
};
|
|
@@ -97,6 +97,8 @@ export declare const frTranslations: {
|
|
|
97
97
|
color: string;
|
|
98
98
|
sort: {
|
|
99
99
|
title: string;
|
|
100
|
+
attribute: string;
|
|
101
|
+
direction: string;
|
|
100
102
|
asc: {
|
|
101
103
|
quantitative: string;
|
|
102
104
|
ordinal: string;
|
|
@@ -109,6 +111,13 @@ export declare const frTranslations: {
|
|
|
109
111
|
nominal: string;
|
|
110
112
|
temporal: string;
|
|
111
113
|
};
|
|
114
|
+
by: {
|
|
115
|
+
operation: {
|
|
116
|
+
none: string;
|
|
117
|
+
count: string;
|
|
118
|
+
cardinality: string;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
112
121
|
};
|
|
113
122
|
};
|
|
114
123
|
};
|
|
@@ -16,6 +16,7 @@ import { InteractionManager } from '../interaction/interaction-manager.class';
|
|
|
16
16
|
import { WidgetMapLayerService } from './widget-map-layer.service';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export declare const TOOLTIP_PADDING = 15;
|
|
19
|
+
export declare const NON_MANDATORY_FIT_LAYER_TYPES: string[];
|
|
19
20
|
export declare class WidgetMapComponent extends DataWidgetComponent implements AfterViewInit, OnDestroy {
|
|
20
21
|
translateService: PryI18nService;
|
|
21
22
|
private tooltipFactoryService;
|
|
@@ -74,8 +75,6 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
74
75
|
} | undefined;
|
|
75
76
|
center?: number[] | undefined;
|
|
76
77
|
}>;
|
|
77
|
-
fitOption$: Observable<boolean>;
|
|
78
|
-
ignoreGetCapabilitiesExtent$: Observable<boolean>;
|
|
79
78
|
mapStyleUrl$: Observable<string | null>;
|
|
80
79
|
interactionManager: InteractionManager;
|
|
81
80
|
mapStyleLayer$: Observable<VectorTileLayer[]>;
|
|
@@ -87,12 +86,13 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
87
86
|
[p: string]: GetCapabilitiesResponse | null;
|
|
88
87
|
} | undefined>;
|
|
89
88
|
autoDatasetLayers$: Observable<MapAutoLayerOptions[]>;
|
|
90
|
-
|
|
89
|
+
fitExtents$: Observable<{
|
|
91
90
|
datasource: string;
|
|
92
91
|
extent: Coordinate[];
|
|
93
92
|
}[]>;
|
|
94
93
|
datasourceFilters$: Observable<any>;
|
|
95
94
|
usedClasses$: Observable<any>;
|
|
95
|
+
NON_MANDATORY_FIT_LAYER_TYPES: string[];
|
|
96
96
|
constructor(store: Store<any>, translateService: PryI18nService, tooltipFactoryService: TooltipFactoryService, symbolService: SymbolService, injector: Injector, widgetMapLayerService: WidgetMapLayerService, pryAggregationService: PryAggregationService, el: ElementRef, geoAuthService: PryGeoAuthService);
|
|
97
97
|
initInteractionManager(): InteractionManager;
|
|
98
98
|
ngAfterViewInit(): void;
|
|
@@ -105,9 +105,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
105
105
|
setDefaultLayerTitle(layer: MapWidgetLayerOptions, capabilities: {
|
|
106
106
|
[p: string]: GetCapabilitiesResponse | null;
|
|
107
107
|
} | undefined): void;
|
|
108
|
-
fitMapForObjects(
|
|
109
|
-
[p: string]: GetCapabilitiesResponse | null;
|
|
110
|
-
}, selectedIds?: string[], extents?: {
|
|
108
|
+
fitMapForObjects(selectedIds?: string[], extents?: {
|
|
111
109
|
datasource: string;
|
|
112
110
|
extent: Coordinate[];
|
|
113
111
|
}[], filters?: {
|
|
@@ -118,7 +116,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
|
|
|
118
116
|
private getLocationAttribute;
|
|
119
117
|
changeStyle($event: any): void;
|
|
120
118
|
changeStyleURL($event: Event): void;
|
|
121
|
-
changeFit($event: boolean): void;
|
|
119
|
+
changeFit($event: boolean, layer: MapWidgetLayerOptions): void;
|
|
122
120
|
changeAttributions($event: boolean): void;
|
|
123
121
|
addLayer(): void;
|
|
124
122
|
changeLayerType($event: any, i: number): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Attribute, AttributeSimpleValue, Class, Field, Item, MapWidgetLayerOptions, Relation, ResultSet } from '@provoly/dashboard';
|
|
1
|
+
import { AggregationResult, Attribute, AttributeSimpleValue, Class, Field, GetCapabilitiesResponse, Item, MapGeoServerLayerOptions, MapWidgetLayerOptions, Relation, ResultSet } from '@provoly/dashboard';
|
|
2
2
|
import { Feature, Map } from 'ol';
|
|
3
3
|
import { Circle, LineString, Point } from 'ol/geom';
|
|
4
4
|
import { Style } from 'ol/style';
|
|
@@ -16,6 +16,12 @@ export declare class WidgetMapUtils {
|
|
|
16
16
|
static assignLayersOrder(_layers: MapWidgetLayerOptions[]): MapWidgetLayerOptions[];
|
|
17
17
|
static readGeometry<T extends 'point' | 'line' | 'multi-line' | 'polygon' | 'multi-polygon'>(projection: ProjectionLike, item: Item, type: T, attribute: Attribute | undefined): Geometry | null | undefined;
|
|
18
18
|
static extractGeometries(value: AttributeSimpleValue, points: any[], type: 'point' | 'line' | 'polygon'): void;
|
|
19
|
+
static projectExtentAggregationResponse(field: Field, extentResponse: AggregationResult, layer: MapGeoServerLayerOptions, wmsCapabilities: {
|
|
20
|
+
[p: string]: GetCapabilitiesResponse | null;
|
|
21
|
+
} | undefined, map: Map): {
|
|
22
|
+
datasource: string;
|
|
23
|
+
extent: import("ol/coordinate").Coordinate[];
|
|
24
|
+
};
|
|
19
25
|
static DEFAULT_HEATMAP_RADIUS: number;
|
|
20
26
|
static DEFAULT_RADIUS_INTENSITY_FACTOR: number;
|
|
21
27
|
static DEFAULT_ZOOM_MIN: number;
|
|
@@ -3,6 +3,6 @@ export declare class XMLUtils {
|
|
|
3
3
|
static find(childs: NodeListOf<ChildNode>, name: string): ChildNode | null;
|
|
4
4
|
static findAll(childs: NodeListOf<ChildNode>, name: string): ChildNode[];
|
|
5
5
|
static findWith(childs: NodeListOf<ChildNode>, attribute: string, value: string): ChildNode | null;
|
|
6
|
-
static getMatchingLayer(paramLayer: string, doc
|
|
6
|
+
static getMatchingLayer(paramLayer: string, doc?: Document): ChildNode | null;
|
|
7
7
|
static getLayerExtent(paramLayer: string, map: Map, doc?: Document): import("ol/coordinate").Coordinate[] | null;
|
|
8
8
|
}
|