@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.
Files changed (99) hide show
  1. package/assets/svgs/clear_filter.svg +7 -6
  2. package/assets/svgs/refresh_filter.svg +6 -7
  3. package/dataset/style/_o-pry-dataset-card.scss +0 -1
  4. package/dataset/style/_o-pry-dataset-detail.scss +4 -0
  5. package/dataset/style/_o-pry-dataset.scss +1 -1
  6. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
  7. package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
  8. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  9. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  10. package/esm2022/dataset/style/css.component.mjs +2 -2
  11. package/esm2022/filters/date/date-filter.component.mjs +8 -4
  12. package/esm2022/filters/list/list-filter.component.mjs +4 -3
  13. package/esm2022/filters/number/number-filter.component.mjs +3 -3
  14. package/esm2022/filters/text/text-filter.component.mjs +3 -3
  15. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  16. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  17. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -2
  18. package/esm2022/lib/core/store/data-source/datasource-utils.mjs +4 -2
  19. package/esm2022/lib/core/store/search/search.effects.mjs +2 -2
  20. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -11
  21. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +8 -2
  22. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +11 -2
  23. package/esm2022/lib/dashboard/item-utils.mjs +1 -60
  24. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
  25. package/esm2022/lib/dashboard/store/dashboard.contants.mjs +2 -2
  26. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +14 -2
  27. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -1
  28. package/esm2022/presentation/components/presentation.component.mjs +3 -3
  29. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +3 -4
  30. package/esm2022/presentation/i18n/en.translations.mjs +2 -2
  31. package/esm2022/presentation/i18n/fr.translations.mjs +2 -2
  32. package/esm2022/presentation/style/css.component.mjs +2 -2
  33. package/esm2022/restitution/style/css.component.mjs +2 -2
  34. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  35. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +45 -8
  36. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +2 -2
  37. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +39 -38
  38. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +12 -12
  39. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
  40. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +262 -216
  41. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
  42. package/esm2022/widgets/widget-table/style/css.component.mjs +2 -2
  43. package/fesm2022/provoly-dashboard-admin.mjs +2 -2
  44. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  45. package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
  46. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  47. package/fesm2022/provoly-dashboard-dataset.mjs +6 -6
  48. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  49. package/fesm2022/provoly-dashboard-filters-date.mjs +7 -3
  50. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-filters-list.mjs +3 -2
  52. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
  54. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
  56. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-presentation.mjs +9 -9
  58. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
  60. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
  62. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  63. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +46 -9
  64. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  65. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +377 -331
  66. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  67. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +4 -4
  68. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  69. package/fesm2022/provoly-dashboard.mjs +88 -99
  70. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  71. package/filters/date/date-filter.component.d.ts +1 -0
  72. package/lib/core/i18n/en.translations.d.ts +1 -0
  73. package/lib/core/i18n/fr.translations.d.ts +1 -0
  74. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
  75. package/lib/dashboard/filter/base-filter.component.d.ts +5 -1
  76. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +5 -2
  77. package/lib/dashboard/item-utils.d.ts +0 -8
  78. package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
  79. package/lib/dashboard/store/dashboard.contants.d.ts +1 -1
  80. package/lib/dashboard/store/dashboard.effects.d.ts +1 -1
  81. package/package.json +7 -7
  82. package/presentation/style/_o-pry-new-presentation.scss +1 -1
  83. package/presentation/style/_o-pry-presentation.scss +7 -1
  84. package/styles/components/_a-btn.scss +14 -13
  85. package/styles/components/_a-color-picker.scss +1 -0
  86. package/styles/components/_a-table.scss +1 -1
  87. package/styles/components/_m-filter.scss +57 -2
  88. package/styles/components/_m-form-label-field.scss +6 -0
  89. package/styles/components/_o-about.scss +1 -1
  90. package/styles/components/_o-widget.scss +4 -2
  91. package/styles/layout/_o-workspace.scss +23 -1
  92. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +10 -1
  93. package/styles-theme/components-theme/_m-filter.theme.scss +41 -2
  94. package/styles-theme/components-theme/_m-tooltip.theme.scss +2 -2
  95. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +1 -1
  96. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -0
  97. package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +5 -0
  98. package/widgets/widget-map/utils/widget-map.utils.d.ts +23 -17
  99. 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>;
@@ -102,6 +102,7 @@ export declare const enTranslations: {
102
102
  automateRefresh: string;
103
103
  options: string;
104
104
  close: string;
105
+ filter: string;
105
106
  heatmap: string;
106
107
  bubblemap: string;
107
108
  markermap: string;
@@ -102,6 +102,7 @@ export declare const frTranslations: {
102
102
  automateRefresh: string;
103
103
  options: string;
104
104
  close: string;
105
+ filter: string;
105
106
  heatmap: string;
106
107
  bubblemap: string;
107
108
  markermap: string;
@@ -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 = 60;
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
  }
@@ -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;
@@ -1,4 +1,4 @@
1
- export declare const DEFAULT_GAP_PX = 2;
1
+ export declare const DEFAULT_GAP_PX = 15;
2
2
  export declare const DEFAULT_COLUMNS_NUMBER = 12;
3
3
  export declare const DEFAULT_ROWS_NUMBER = 12;
4
4
  export declare const DEFAULT_ROW_HEIGHT_PX = 50;
@@ -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
- updateViewAfterFilterValueUpdate$: import("rxjs").Observable<{
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.4",
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",
@@ -83,7 +83,7 @@ pry-add-edit-presentation {
83
83
  }
84
84
 
85
85
  .a-presentation-title {
86
- padding: 15px;
86
+ padding: 10px;
87
87
  }
88
88
 
89
89
  .a-presentation__search {
@@ -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(5);
168
- height: toRem(34);
169
- padding-left: toRem(15);
170
- padding-right: toRem(15);
171
- font-size: toRem(13);
172
- line-height: toRem(15);
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(37);
183
- padding-left: toRem(20);
184
- padding-right: toRem(20);
185
- font-size: toRem(14);
186
- line-height: toRem(16);
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(37);
190
- height: toRem(37);
190
+ width: toRem(34);
191
+ height: toRem(34);
191
192
  }
192
193
 
193
194
  pry-icon,
@@ -5,6 +5,7 @@
5
5
  height: toRem(30);
6
6
  border-radius: toRem(15);
7
7
  position: relative;
8
+ box-shadow: 0px 4px 4px rgba(17, 59, 110, 0.24);
8
9
 
9
10
  &__modal {
10
11
  position: absolute;
@@ -24,7 +24,7 @@
24
24
  thead {
25
25
  td,
26
26
  th {
27
- height: toRem(24);
27
+ height: toRem(30);
28
28
  margin: toRem(8);
29
29
  padding: toRem(8);
30
30
  }
@@ -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: toRem(8);
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
  }
@@ -53,3 +53,9 @@
53
53
  width: 100%;
54
54
  }
55
55
  }
56
+
57
+ pry-admin-form-dataset {
58
+ textarea {
59
+ resize: both;
60
+ }
61
+ }
@@ -39,7 +39,7 @@
39
39
  width: 1.5rem;
40
40
  height: 1.5rem;
41
41
  border-radius: 50%;
42
- background-color: #ccc;
42
+ border: 1px solid #3E546A;
43
43
  cursor: pointer;
44
44
  display: inline-flex;
45
45
  justify-content: center;
@@ -23,7 +23,7 @@
23
23
  overflow: auto;
24
24
  justify-content: space-between;
25
25
  width: 100%;
26
- height: toRem(60);
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(15);
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
- padding: toRem(10);
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
- /* Theme - Atom a-icon */
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', 'body'));
10
+ @include typography-level(themed($theme-map, 'typography', 'tooltip'));
11
11
  }
12
12
 
13
13
  &__description {
14
- @include typography-level(themed($theme-map, 'typography', 'label'));
14
+ @include typography-level(themed($theme-map, 'typography', 'tooltip'));
15
15
  }
16
16
 
17
17
  &--popup,
@@ -8,5 +8,5 @@
8
8
  }
9
9
 
10
10
  .info-icon {
11
- background-color: #ccc;
11
+ //background-color: #ccc;
12
12
  }
@@ -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;
@@ -41,3 +41,8 @@
41
41
  }
42
42
  }
43
43
  }
44
+
45
+ #vg-tooltip-element.vg-tooltip.custom-theme {
46
+ font-size: 12px;
47
+ font-family: 'Ubuntu', 'sans-serif';
48
+ }
@@ -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
- export declare const populateLocationAttribute: (layer: MapWidgetLayerOptions, resultSet: ResultSet, classesNotFiltered: Class[], fields: Field[]) => void;
6
- export declare const populateIntensityAttribute: (layer: MapWidgetLayerOptions, resultSet: ResultSet, classesNotFiltered: Class[], fields: Field[]) => void;
7
- export declare const getFeatureFromItem: (item: Item, type: string, locationAttribute: Attribute, iconStyle?: Style, selectedIconStyle?: Style) => Feature<import("ol/geom/Geometry").default>;
8
- export declare const getCircleFeatureFromItem: (item: Item, locationAttribute: Attribute, radius: number, iconStyle: Style, selectedIconStyle: Style) => Feature<Circle>;
9
- export declare const getLinkFeature: (relation: Relation, featureSource: Feature<Point>, featureDestination: Feature<Point>) => Feature<LineString>;
10
- export declare const getMapAsPng: (map: Map) => Promise<string>;
11
- export declare const exportMapAsImage: (map: Map, filename: string) => void;
12
- export declare const geometryForLayer: (layer: MapWidgetLayerOptions) => string;
13
- export declare const assignLayersOrder: (_layers: MapWidgetLayerOptions[]) => MapWidgetLayerOptions[];
14
- export declare const DEFAULT_HEATMAP_RADIUS = 25;
15
- export declare const DEFAULT_RADIUS_INTENSITY_FACTOR = 10000;
16
- export declare const DEFAULT_ZOOM_MIN = 3;
17
- export declare const DEFAULT_ZOOM_START = 10;
18
- export declare const DEFAULT_ZOOM_MAX = 18;
19
- export declare const DEFAULT_MAP_CENTER: number[];
20
- export declare const BACKGROUND_ORDER = 9999;
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
  }