@provoly/dashboard 0.18.4 → 0.18.6
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/clear_filter.svg +7 -6
- package/assets/svgs/refresh_filter.svg +6 -7
- package/dataset/style/_o-pry-dataset-card.scss +0 -1
- package/dataset/style/_o-pry-dataset-detail.scss +4 -0
- package/dataset/style/_o-pry-dataset.scss +1 -1
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
- package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
- package/esm2022/dataset/components/dataset.component.mjs +3 -3
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/filters/date/date-filter.component.mjs +8 -4
- package/esm2022/filters/list/list-filter.component.mjs +4 -3
- package/esm2022/filters/number/number-filter.component.mjs +3 -3
- package/esm2022/filters/text/text-filter.component.mjs +3 -3
- package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -2
- package/esm2022/lib/core/store/data-source/datasource-utils.mjs +4 -2
- package/esm2022/lib/core/store/search/search.effects.mjs +2 -2
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -11
- package/esm2022/lib/dashboard/filter/base-filter.component.mjs +8 -2
- package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +11 -2
- package/esm2022/lib/dashboard/item-utils.mjs +1 -60
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
- package/esm2022/lib/dashboard/store/dashboard.contants.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +14 -2
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -1
- package/esm2022/presentation/components/presentation.component.mjs +3 -3
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +3 -4
- package/esm2022/presentation/i18n/en.translations.mjs +2 -2
- package/esm2022/presentation/i18n/fr.translations.mjs +2 -2
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +45 -8
- package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +39 -38
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +12 -12
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +262 -216
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
- package/esm2022/widgets/widget-table/style/css.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +6 -6
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-date.mjs +7 -3
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +3 -2
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +9 -9
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +46 -9
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +377 -331
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +4 -4
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +88 -99
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/date/date-filter.component.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/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
- package/lib/dashboard/filter/base-filter.component.d.ts +5 -1
- package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +5 -2
- package/lib/dashboard/item-utils.d.ts +0 -8
- package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
- package/lib/dashboard/store/dashboard.contants.d.ts +1 -1
- package/lib/dashboard/store/dashboard.effects.d.ts +1 -1
- package/package.json +7 -7
- package/presentation/style/_o-pry-new-presentation.scss +1 -1
- package/presentation/style/_o-pry-presentation.scss +7 -1
- package/styles/components/_a-btn.scss +14 -13
- package/styles/components/_a-color-picker.scss +1 -0
- package/styles/components/_a-table.scss +1 -1
- package/styles/components/_m-filter.scss +57 -2
- package/styles/components/_m-form-label-field.scss +6 -0
- package/styles/components/_o-about.scss +1 -1
- package/styles/components/_o-widget.scss +4 -2
- package/styles/layout/_o-workspace.scss +23 -1
- package/styles-theme/abstracts-theme/variables/_variables-typo.scss +10 -1
- package/styles-theme/components-theme/_m-filter.theme.scss +41 -2
- package/styles-theme/components-theme/_m-tooltip.theme.scss +2 -2
- package/styles-theme/components-theme/_o-pry-dataset.theme.scss +1 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -0
- package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +5 -0
- package/widgets/widget-map/utils/widget-map.utils.d.ts +23 -17
- package/widgets/widget-table/style/_o-widget-table.scss +15 -0
|
@@ -12,6 +12,7 @@ export declare class DateFilterComponent extends BaseFilterComponent implements
|
|
|
12
12
|
constructor(store: Store);
|
|
13
13
|
ngOnInit(): void;
|
|
14
14
|
setFilter(value: string): void;
|
|
15
|
+
changeValue($event: string): void;
|
|
15
16
|
clearDate(index: number): void;
|
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateFilterComponent, never>;
|
|
17
18
|
static ɵcmp: i0.ɵɵComponentDeclaration<DateFilterComponent, "pry-date-filter", never, {}, {}, never, never, false, never>;
|
|
@@ -9,7 +9,7 @@ import { LibraryTypes } from '../../../../core/store/image/image.service';
|
|
|
9
9
|
import { ToolboxMenuService } from '../../../../core/toolbox/toolbox-menu.service';
|
|
10
10
|
import { SubscriptionnerDirective } from '../../subscriptionner.directive';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
|
-
export declare const WIDGET_HEADER_HEIGHT =
|
|
12
|
+
export declare const WIDGET_HEADER_HEIGHT = 30;
|
|
13
13
|
export type HeaderAction = {
|
|
14
14
|
icon: string;
|
|
15
15
|
action: (that: PryWidgetHeaderComponent) => void;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
1
2
|
import { Store } from '@ngrx/store';
|
|
2
3
|
import { Filter } from '../../core/model/filter.interface';
|
|
3
4
|
import { SubscriptionnerDirective } from '../components/subscriptionner.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class BaseFilterComponent extends SubscriptionnerDirective {
|
|
6
|
+
export declare class BaseFilterComponent extends SubscriptionnerDirective implements OnInit {
|
|
6
7
|
protected store: Store;
|
|
7
8
|
filter?: Filter;
|
|
8
9
|
type: string;
|
|
10
|
+
protected _value: any;
|
|
9
11
|
constructor(store: Store);
|
|
12
|
+
ngOnInit(): void;
|
|
10
13
|
updateFilter(value: any): void;
|
|
14
|
+
validateFilters(): void;
|
|
11
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilterComponent, never>;
|
|
12
16
|
static ɵcmp: i0.ɵɵComponentDeclaration<BaseFilterComponent, "pry-base-filter", never, { "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
17
|
}
|
package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, Injector, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import { Filter } from '../../../../core/model/filter.interface';
|
|
5
5
|
import { SubscriptionnerDirective } from '../../../components/subscriptionner.directive';
|
|
6
6
|
import { FilterFactoryService } from '../../filter-factory.service';
|
|
@@ -11,10 +11,13 @@ export declare class FilterInstanciatorComponent extends SubscriptionnerDirectiv
|
|
|
11
11
|
private filterFactoryService;
|
|
12
12
|
private changeDetector;
|
|
13
13
|
filter$: BehaviorSubject<Filter | null>;
|
|
14
|
+
private applySub?;
|
|
15
|
+
private currentInstance?;
|
|
14
16
|
set filter(filter: Filter);
|
|
15
17
|
filterContainerRef: ViewContainerRef;
|
|
18
|
+
set applyFilter$(applyFilter$: Observable<void>);
|
|
16
19
|
constructor(store: Store, injector: Injector, filterFactoryService: FilterFactoryService, changeDetector: ChangeDetectorRef);
|
|
17
20
|
ngAfterViewInit(): void;
|
|
18
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilterInstanciatorComponent, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FilterInstanciatorComponent, "pry-filter-instanciator", never, { "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, false, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterInstanciatorComponent, "pry-filter-instanciator", never, { "filter": { "alias": "filter"; "required": false; }; "applyFilter$": { "alias": "applyFilter$"; "required": false; }; }, {}, never, never, false, never>;
|
|
20
23
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Geometry from 'ol/geom/Geometry';
|
|
2
1
|
import { AttributeSimpleValue, Item, ValueType } from '../core/model/item.interface';
|
|
3
2
|
import { ResultSet } from '../core/model/result-set.interface';
|
|
4
3
|
import { Attribute, Class } from '../core/store/class/class.interface';
|
|
@@ -7,13 +6,6 @@ export interface OlFeature {
|
|
|
7
6
|
get(key: string): any;
|
|
8
7
|
}
|
|
9
8
|
export declare class ItemUtils {
|
|
10
|
-
static readGeometry<T extends 'point' | 'line' | 'multi-line' | 'polygon' | 'multi-polygon'>(item: Item, type: T, attribute: Attribute | undefined): Geometry;
|
|
11
|
-
static projectGeometry(geometry: {
|
|
12
|
-
type: string;
|
|
13
|
-
coordinates: [number, number] | [number, number][] | [number, number][][] | [number, number][][][];
|
|
14
|
-
}): any;
|
|
15
|
-
static readLocations<T extends 'point' | 'line' | 'polygon'>(item: Item, type: T): T extends 'point' ? [number, number][] : [number, number][][];
|
|
16
|
-
private static extractGeometries;
|
|
17
9
|
static getAttributeValue(item: Item | OlFeature, attribute: Attribute | string | undefined): AttributeSimpleValue | AttributeSimpleValue[];
|
|
18
10
|
static getAttributeCalculatedValue(item: Item, attribute: Attribute | string | undefined): ValueType | ValueType[];
|
|
19
11
|
static sortAttributes(a: AttributeSimpleValue, b: AttributeSimpleValue): number;
|
|
@@ -441,6 +441,8 @@ export declare const DashboardActions: {
|
|
|
441
441
|
value: any;
|
|
442
442
|
datasourceId: string;
|
|
443
443
|
} & import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) update filter value">>;
|
|
444
|
+
clearAllFilterValues: import("@ngrx/store").ActionCreator<"[Dashboard] (bus) clear all filter values", () => import("@ngrx/store/src/models").TypedAction<"[Dashboard] (bus) clear all filter values">>;
|
|
445
|
+
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">>;
|
|
444
446
|
resetWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Reset Wms layer features", () => import("@ngrx/store/src/models").TypedAction<"[Widget map] Reset Wms layer features">>;
|
|
445
447
|
getWmsFeatures: import("@ngrx/store").ActionCreator<"[Widget map] Get Wms layer features", (props: {
|
|
446
448
|
url: string;
|
|
@@ -218,7 +218,7 @@ export declare class DashboardEffects {
|
|
|
218
218
|
toggleEditionModeIfNotManual$: import("rxjs").Observable<{
|
|
219
219
|
force?: boolean | undefined;
|
|
220
220
|
} & import("@ngrx/store/src/models").TypedAction<"[Dashboard] toggle edition mode">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
221
|
-
|
|
221
|
+
dispatchFilters$: import("rxjs").Observable<{
|
|
222
222
|
id: string;
|
|
223
223
|
} & import("@ngrx/store/src/models").TypedAction<"[Search] (bus) search named">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
224
224
|
getCapability$: import("rxjs").Observable<{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provoly/dashboard",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.6",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/cdk": "14.x || 15.x || 16.x",
|
|
@@ -193,18 +193,18 @@
|
|
|
193
193
|
"esm": "./esm2022/components/filter/provoly-dashboard-components-filter.mjs",
|
|
194
194
|
"default": "./fesm2022/provoly-dashboard-components-filter.mjs"
|
|
195
195
|
},
|
|
196
|
-
"./components/metadata-editor": {
|
|
197
|
-
"types": "./components/metadata-editor/index.d.ts",
|
|
198
|
-
"esm2022": "./esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs",
|
|
199
|
-
"esm": "./esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs",
|
|
200
|
-
"default": "./fesm2022/provoly-dashboard-components-metadata-editor.mjs"
|
|
201
|
-
},
|
|
202
196
|
"./components/scheme-picker": {
|
|
203
197
|
"types": "./components/scheme-picker/index.d.ts",
|
|
204
198
|
"esm2022": "./esm2022/components/scheme-picker/provoly-dashboard-components-scheme-picker.mjs",
|
|
205
199
|
"esm": "./esm2022/components/scheme-picker/provoly-dashboard-components-scheme-picker.mjs",
|
|
206
200
|
"default": "./fesm2022/provoly-dashboard-components-scheme-picker.mjs"
|
|
207
201
|
},
|
|
202
|
+
"./components/metadata-editor": {
|
|
203
|
+
"types": "./components/metadata-editor/index.d.ts",
|
|
204
|
+
"esm2022": "./esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs",
|
|
205
|
+
"esm": "./esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs",
|
|
206
|
+
"default": "./fesm2022/provoly-dashboard-components-metadata-editor.mjs"
|
|
207
|
+
},
|
|
208
208
|
"./components/sinceDate": {
|
|
209
209
|
"types": "./components/sinceDate/index.d.ts",
|
|
210
210
|
"esm2022": "./esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs",
|
|
@@ -172,10 +172,16 @@
|
|
|
172
172
|
h1.a-presentation-title {
|
|
173
173
|
font-size: 16px;
|
|
174
174
|
padding-right: 20px;
|
|
175
|
+
color: #3E546A;
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
.title-container {
|
|
178
179
|
display: flex;
|
|
180
|
+
|
|
181
|
+
.h-1 {
|
|
182
|
+
padding-top: 0;
|
|
183
|
+
padding-bottom: 0;
|
|
184
|
+
}
|
|
179
185
|
}
|
|
180
186
|
|
|
181
187
|
.info-icon {
|
|
@@ -183,11 +189,11 @@ h1.a-presentation-title {
|
|
|
183
189
|
width: 1.5rem;
|
|
184
190
|
height: 1.5rem;
|
|
185
191
|
border-radius: 50%;
|
|
186
|
-
background-color: #ccc;
|
|
187
192
|
cursor: pointer;
|
|
188
193
|
display: inline-flex;
|
|
189
194
|
justify-content: center;
|
|
190
195
|
align-items: center;
|
|
191
196
|
align-self: center;
|
|
192
197
|
margin-right: 1rem;
|
|
198
|
+
border: 1px solid #3E546A;
|
|
193
199
|
}
|
|
@@ -114,6 +114,7 @@
|
|
|
114
114
|
width: toRem(27);
|
|
115
115
|
height: toRem(27);
|
|
116
116
|
padding: 0;
|
|
117
|
+
margin: 2px;
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
// Toggler open/close element
|
|
@@ -164,12 +165,12 @@
|
|
|
164
165
|
}
|
|
165
166
|
|
|
166
167
|
&.-size-sm {
|
|
167
|
-
gap: toRem(
|
|
168
|
-
height: toRem(
|
|
169
|
-
padding-left: toRem(
|
|
170
|
-
padding-right: toRem(
|
|
171
|
-
font-size: toRem(
|
|
172
|
-
line-height: toRem(
|
|
168
|
+
gap: toRem(3);
|
|
169
|
+
height: toRem(30);
|
|
170
|
+
padding-left: toRem(12);
|
|
171
|
+
padding-right: toRem(12);
|
|
172
|
+
font-size: toRem(10);
|
|
173
|
+
line-height: toRem(13);
|
|
173
174
|
|
|
174
175
|
&.-circle {
|
|
175
176
|
width: toRem(34);
|
|
@@ -179,15 +180,15 @@
|
|
|
179
180
|
|
|
180
181
|
&.-size-md {
|
|
181
182
|
gap: toRem(5);
|
|
182
|
-
height: toRem(
|
|
183
|
-
padding-left: toRem(
|
|
184
|
-
padding-right: toRem(
|
|
185
|
-
font-size: toRem(
|
|
186
|
-
line-height: toRem(
|
|
183
|
+
height: toRem(34);
|
|
184
|
+
padding-left: toRem(15);
|
|
185
|
+
padding-right: toRem(15);
|
|
186
|
+
font-size: toRem(12);
|
|
187
|
+
line-height: toRem(14);
|
|
187
188
|
|
|
188
189
|
&.-circle {
|
|
189
|
-
width: toRem(
|
|
190
|
-
height: toRem(
|
|
190
|
+
width: toRem(34);
|
|
191
|
+
height: toRem(34);
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
pry-icon,
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
/* Molecule m-filter */
|
|
4
4
|
|
|
5
5
|
.m-filter {
|
|
6
|
+
min-width: toRem(150);
|
|
7
|
+
|
|
6
8
|
&__wrapper {
|
|
7
9
|
display: flex;
|
|
8
10
|
align-items: center;
|
|
@@ -13,9 +15,57 @@
|
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
|
|
18
|
+
&__label {
|
|
19
|
+
cursor: none;
|
|
20
|
+
margin: 0;
|
|
21
|
+
align-self: center;
|
|
22
|
+
white-space: nowrap;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__input {
|
|
26
|
+
outline: none;
|
|
27
|
+
min-height: toRem(20);
|
|
28
|
+
line-height: toRem(12);
|
|
29
|
+
padding: 0 toRem(2) toRem(1) toRem(1);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&__date-input-separator {
|
|
33
|
+
margin: 0 toRem(5);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__input-wrapper {
|
|
37
|
+
display: flex;
|
|
38
|
+
border-radius: toRem(5);
|
|
39
|
+
padding: toRem(4) toRem(10);
|
|
40
|
+
align-items: center;
|
|
41
|
+
|
|
42
|
+
&--dropdown {
|
|
43
|
+
padding: toRem(3) toRem(10);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ng-select-container {
|
|
47
|
+
border: none;
|
|
48
|
+
min-width: toRem(100);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.ng-select.ng-select-single .ng-select-container {
|
|
52
|
+
min-height: 22px;
|
|
53
|
+
height: 22px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.ng-dropdown-panel.ng-select-bottom {
|
|
57
|
+
margin-top: 3px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.ng-select.ng-select-focused:not(.ng-select-opened) > .ng-select-container{
|
|
61
|
+
border: none transparent;
|
|
62
|
+
box-shadow: none;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
16
66
|
&__clear-wrapper {
|
|
17
67
|
position: absolute;
|
|
18
|
-
bottom:
|
|
68
|
+
bottom: 0.4rem;
|
|
19
69
|
cursor: pointer;
|
|
20
70
|
-webkit-user-select: none;
|
|
21
71
|
user-select: none;
|
|
@@ -31,6 +81,11 @@
|
|
|
31
81
|
&--date {
|
|
32
82
|
right: toRem(35);
|
|
33
83
|
}
|
|
84
|
+
|
|
85
|
+
&--two-dates {
|
|
86
|
+
right: toRem(35);
|
|
87
|
+
bottom: toRem(0);
|
|
88
|
+
}
|
|
34
89
|
}
|
|
35
90
|
|
|
36
91
|
&__clear {
|
|
@@ -45,5 +100,5 @@
|
|
|
45
100
|
pry-filter-instanciator {
|
|
46
101
|
display: flex;
|
|
47
102
|
justify-content: space-around;
|
|
48
|
-
padding: toRem(10);
|
|
103
|
+
padding: 0 toRem(10);
|
|
49
104
|
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
overflow: auto;
|
|
24
24
|
justify-content: space-between;
|
|
25
25
|
width: 100%;
|
|
26
|
-
height: toRem(
|
|
26
|
+
height: toRem(32);
|
|
27
27
|
|
|
28
28
|
&__content {
|
|
29
29
|
display: flex;
|
|
@@ -45,9 +45,11 @@
|
|
|
45
45
|
overflow: hidden;
|
|
46
46
|
padding-left: toRem(10);
|
|
47
47
|
padding-bottom: 0;
|
|
48
|
-
font-size: toRem(
|
|
48
|
+
font-size: toRem(14);
|
|
49
|
+
font-weight: 500;
|
|
49
50
|
text-overflow: ellipsis;
|
|
50
51
|
white-space: nowrap;
|
|
52
|
+
text-transform: uppercase;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
&__color-point {
|
|
@@ -19,9 +19,31 @@
|
|
|
19
19
|
padding: toRem(20);
|
|
20
20
|
|
|
21
21
|
&__filters {
|
|
22
|
+
display: flex;
|
|
23
|
+
padding: toRem(8) toRem(10);
|
|
24
|
+
max-height: 50px; // needed for ng-select
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&__filter-container {
|
|
22
28
|
display: flex;
|
|
23
29
|
justify-content: flex-start;
|
|
24
|
-
|
|
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);
|
|
25
47
|
}
|
|
26
48
|
}
|
|
27
49
|
|
|
@@ -127,7 +127,16 @@ $theme-typography: (
|
|
|
127
127
|
'letter-spacing': -1px,
|
|
128
128
|
'font-weight': 700,
|
|
129
129
|
'font-style': ''
|
|
130
|
-
)
|
|
130
|
+
),
|
|
131
|
+
'tooltip': (
|
|
132
|
+
'font-family': '',
|
|
133
|
+
'font-variation': '',
|
|
134
|
+
'font-size': 12px,
|
|
135
|
+
'line-height': 14px,
|
|
136
|
+
'letter-spacing': '',
|
|
137
|
+
'font-weight': 400,
|
|
138
|
+
'font-style': ''
|
|
139
|
+
),
|
|
131
140
|
);
|
|
132
141
|
|
|
133
142
|
///// DO NOT EDIT FROM HERE /////
|
|
@@ -1,7 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
@use '../../styles/abstracts' as *;
|
|
2
|
+
@use '../abstracts-theme/variables.theme' as *;
|
|
3
|
+
|
|
4
|
+
/* Theme - Molecule m-filter */
|
|
2
5
|
|
|
3
|
-
// colors that make the clear button look like the ng-select clear button
|
|
4
6
|
.m-filter {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
|
|
10
|
+
&__input-wrapper {
|
|
11
|
+
border: 1px solid themed($theme-map, 'color', 'primary', 400);
|
|
12
|
+
color: themed($theme-map, 'color', 'primary', 700);
|
|
13
|
+
background-color: themed($theme-map, 'color', 'primary', 'contrast', 700);
|
|
14
|
+
|
|
15
|
+
.pry-select {
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&:has(input:focus) {
|
|
20
|
+
outline: 2px solid themed($theme-map, 'color', 'accent', 600);
|
|
21
|
+
outline-offset: toRem(2);
|
|
22
|
+
border-color: themed($theme-map, 'color', 'accent', 600);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:has(input:not(focus)) {
|
|
26
|
+
outline:none;
|
|
27
|
+
border-color: themed($theme-map, 'color', 'primary', 400);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&__label {
|
|
32
|
+
background: transparent;
|
|
33
|
+
font-size: 12px;
|
|
34
|
+
font-weight: bold;
|
|
35
|
+
color: #424B5A; // color for label taken from figma
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__input {
|
|
39
|
+
border: none transparent;
|
|
40
|
+
font-size: 12px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// colors that make the clear button look like the ng-select clear button
|
|
5
44
|
&__clear-wrapper {
|
|
6
45
|
color: #999999;
|
|
7
46
|
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
$this: &;
|
|
8
8
|
|
|
9
9
|
&__text {
|
|
10
|
-
@include typography-level(themed($theme-map, 'typography', '
|
|
10
|
+
@include typography-level(themed($theme-map, 'typography', 'tooltip'));
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
&__description {
|
|
14
|
-
@include typography-level(themed($theme-map, 'typography', '
|
|
14
|
+
@include typography-level(themed($theme-map, 'typography', 'tooltip'));
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
&--popup,
|
|
@@ -82,6 +82,7 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
|
|
|
82
82
|
openSettings(): void;
|
|
83
83
|
openData(): void;
|
|
84
84
|
private getTitle;
|
|
85
|
+
getChartConfig(): import("vega-lite").Config<import("vega").SignalRef>;
|
|
85
86
|
changeChartTitle($event: string): void;
|
|
86
87
|
changeType($event: GraphType): void;
|
|
87
88
|
changeDonutSize($event: number): void;
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
import { Attribute, Class, Field, Item, MapWidgetLayerOptions, Relation, ResultSet } from '@provoly/dashboard';
|
|
1
|
+
import { Attribute, AttributeSimpleValue, Class, Field, Item, 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';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
5
|
+
import { ProjectionLike } from 'ol/proj';
|
|
6
|
+
import Geometry from 'ol/geom/Geometry';
|
|
7
|
+
export declare class WidgetMapUtils {
|
|
8
|
+
static populateLocationAttribute(layer: MapWidgetLayerOptions, resultSet: ResultSet, classesNotFiltered: Class[], fields: Field[]): void;
|
|
9
|
+
static populateIntensityAttribute(layer: MapWidgetLayerOptions, resultSet: ResultSet, classesNotFiltered: Class[], fields: Field[]): void;
|
|
10
|
+
static getFeatureFromItem(projection: ProjectionLike, item: Item, type: string, locationAttribute: Attribute, iconStyle?: Style, selectedIconStyle?: Style): Feature<Geometry>;
|
|
11
|
+
static getCircleFeatureFromItem(projection: ProjectionLike, item: Item, locationAttribute: Attribute, radius: number, iconStyle: Style, selectedIconStyle: Style): Feature<Circle>;
|
|
12
|
+
static getLinkFeature(relation: Relation, featureSource: Feature<Point>, featureDestination: Feature<Point>): Feature<LineString>;
|
|
13
|
+
static getMapAsPng(map: Map): Promise<string>;
|
|
14
|
+
static exportMapAsImage(map: Map, filename: string): void;
|
|
15
|
+
static geometryForLayer(layer: MapWidgetLayerOptions): string;
|
|
16
|
+
static assignLayersOrder(_layers: MapWidgetLayerOptions[]): MapWidgetLayerOptions[];
|
|
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
|
+
static extractGeometries(value: AttributeSimpleValue, points: any[], type: 'point' | 'line' | 'polygon'): void;
|
|
19
|
+
static DEFAULT_HEATMAP_RADIUS: number;
|
|
20
|
+
static DEFAULT_RADIUS_INTENSITY_FACTOR: number;
|
|
21
|
+
static DEFAULT_ZOOM_MIN: number;
|
|
22
|
+
static DEFAULT_ZOOM_START: number;
|
|
23
|
+
static DEFAULT_ZOOM_MAX: number;
|
|
24
|
+
static DEFAULT_MAP_CENTER: number[];
|
|
25
|
+
static BACKGROUND_ORDER: number;
|
|
26
|
+
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
.o-widget--table {
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: column;
|
|
9
|
+
font-size: toRem(12);
|
|
9
10
|
|
|
10
11
|
.no-result {
|
|
11
12
|
display: flex;
|
|
@@ -60,5 +61,19 @@
|
|
|
60
61
|
opacity: 1;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
|
|
65
|
+
thead tr, thead tr th {
|
|
66
|
+
height: toRem(30);
|
|
67
|
+
white-space: nowrap;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
td, th {
|
|
71
|
+
margin: toRem(5);
|
|
72
|
+
padding: toRem(4.5);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.checkbox-wrapper {
|
|
76
|
+
height: auto;
|
|
77
|
+
}
|
|
63
78
|
}
|
|
64
79
|
}
|