@provoly/dashboard 0.13.0 → 0.13.2

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 (133) hide show
  1. package/admin/admin.module.d.ts +12 -11
  2. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +3 -1
  3. package/admin/components/association/association.component.d.ts +9 -0
  4. package/admin/i18n/en.translations.d.ts +10 -0
  5. package/admin/i18n/fr.translations.d.ts +10 -0
  6. package/components/sinceDate/sinceDate.pipe.d.ts +1 -1
  7. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +8 -1
  8. package/dataset/i18n/en.translations.d.ts +21 -1
  9. package/dataset/i18n/fr.translations.d.ts +21 -3
  10. package/dataset/style/_o-pry-dataset-detail.scss +21 -19
  11. package/dataset/style/_o-pry-dataset.scss +8 -1
  12. package/esm2022/admin/admin.module.mjs +6 -3
  13. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +4 -3
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +9 -3
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +2 -1
  16. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -4
  17. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +4 -3
  18. package/esm2022/admin/components/association/association.component.mjs +18 -0
  19. package/esm2022/admin/i18n/en.translations.mjs +11 -1
  20. package/esm2022/admin/i18n/fr.translations.mjs +11 -1
  21. package/esm2022/admin/store/admin.service.mjs +5 -5
  22. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +7 -9
  23. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +32 -9
  24. package/esm2022/dataset/components/dataset.component.mjs +9 -5
  25. package/esm2022/dataset/i18n/en.translations.mjs +23 -3
  26. package/esm2022/dataset/i18n/fr.translations.mjs +24 -6
  27. package/esm2022/dataset/style/css.component.mjs +2 -2
  28. package/esm2022/filters/date/date-filter.component.mjs +3 -3
  29. package/esm2022/filters/number/number-filter.component.mjs +3 -3
  30. package/esm2022/filters/text/text-filter.component.mjs +3 -3
  31. package/esm2022/import/components/import.component.mjs +5 -16
  32. package/esm2022/import/store/import.actions.mjs +1 -1
  33. package/esm2022/import/store/import.effects.mjs +3 -3
  34. package/esm2022/import/store/import.reducer.mjs +5 -13
  35. package/esm2022/import/store/import.selectors.mjs +5 -7
  36. package/esm2022/import/store/import.service.mjs +1 -1
  37. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +42 -0
  38. package/esm2022/lib/core/components/accordion/accordion.component.mjs +13 -0
  39. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +16 -6
  40. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  41. package/esm2022/lib/core/core.module.mjs +26 -8
  42. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  43. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  44. package/esm2022/lib/core/model/dataset.interface.mjs +1 -1
  45. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -2
  46. package/esm2022/lib/core/public-api.mjs +3 -1
  47. package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
  48. package/esm2022/lib/core/store/field/field.interface.mjs +3 -1
  49. package/esm2022/lib/core/symbol/symbol.service.mjs +53 -15
  50. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
  51. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +1 -1
  52. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +3 -2
  53. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +6 -4
  54. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +6 -11
  55. package/esm2022/pipeline/style/css.component.mjs +2 -2
  56. package/esm2022/presentation/components/presentation.component.mjs +3 -3
  57. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -7
  58. package/esm2022/restitution/style/css.component.mjs +2 -2
  59. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +55 -195
  60. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +2 -2
  61. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +2 -2
  62. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +146 -0
  63. package/esm2022/widgets/widget-map/public-api.mjs +3 -1
  64. package/fesm2022/provoly-dashboard-admin.mjs +56 -15
  65. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  66. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +6 -8
  67. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-dataset.mjs +86 -21
  69. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  70. package/fesm2022/provoly-dashboard-filters-date.mjs +2 -2
  71. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  72. package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
  73. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  74. package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
  75. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  76. package/fesm2022/provoly-dashboard-import.mjs +14 -35
  77. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  78. package/fesm2022/provoly-dashboard-pipeline.mjs +15 -19
  79. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  80. package/fesm2022/provoly-dashboard-presentation.mjs +2 -2
  81. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  82. package/fesm2022/provoly-dashboard-restitution.mjs +4 -8
  83. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  84. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +260 -260
  85. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  86. package/fesm2022/provoly-dashboard.mjs +200 -48
  87. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  88. package/import/components/import.component.d.ts +3 -9
  89. package/import/store/import.actions.d.ts +3 -16
  90. package/import/store/import.effects.d.ts +1 -1
  91. package/import/store/import.reducer.d.ts +2 -5
  92. package/import/store/import.selectors.d.ts +2 -7
  93. package/import/store/import.service.d.ts +2 -2
  94. package/lib/core/components/accordion/accordion-item/accordion-item.component.d.ts +17 -0
  95. package/lib/core/components/accordion/accordion.component.d.ts +6 -0
  96. package/lib/core/components/modal-status/modal-status.component.d.ts +10 -1
  97. package/lib/core/core.module.d.ts +15 -11
  98. package/lib/core/i18n/en.translations.d.ts +1 -0
  99. package/lib/core/i18n/fr.translations.d.ts +1 -0
  100. package/lib/core/model/dataset.interface.d.ts +2 -1
  101. package/lib/core/model/widget-map-manifest.interface.d.ts +0 -1
  102. package/lib/core/public-api.d.ts +2 -0
  103. package/lib/core/store/data-source/data-source.model.d.ts +1 -0
  104. package/lib/core/store/field/field.interface.d.ts +3 -1
  105. package/lib/core/symbol/symbol.service.d.ts +18 -2
  106. package/lib/dashboard/components/widgets/base-widget.component.d.ts +1 -1
  107. package/package.json +11 -7
  108. package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +1 -3
  109. package/pipeline/style/_o-pipeline.scss +0 -108
  110. package/restitution/components/restitution-list/restitution-list.component.d.ts +0 -2
  111. package/restitution/style/_o-restitution-list.scss +2 -24
  112. package/schematics/migration.json +10 -0
  113. package/schematics/ng-add/index.spec.js +33 -1
  114. package/schematics/ng-add/index.spec.js.map +1 -1
  115. package/schematics/ng-update/utils/complete.function.d.ts +2 -0
  116. package/schematics/ng-update/utils/complete.function.js +10 -0
  117. package/schematics/ng-update/utils/complete.function.js.map +1 -0
  118. package/schematics/ng-update/version-0-13/index.d.ts +2 -0
  119. package/schematics/ng-update/version-0-13/index.js +30 -0
  120. package/schematics/ng-update/version-0-13/index.js.map +1 -0
  121. package/schematics/ng-update/version-0-13/index.spec.d.ts +1 -0
  122. package/schematics/ng-update/version-0-13/index.spec.js +167 -0
  123. package/schematics/ng-update/version-0-13/index.spec.js.map +1 -0
  124. package/styles/abstracts/_mixins.scss +14 -0
  125. package/styles/components/_m-filter.scss +0 -1
  126. package/styles/components/_o-accordion.scss +91 -0
  127. package/styles/components/_o-panel.scss +46 -0
  128. package/styles-theme/components-theme/_o-accordion.theme.scss +30 -0
  129. package/styles-theme/components-theme/_o-pipeline.theme.scss +0 -26
  130. package/styles-theme/main-theme.scss +1 -0
  131. package/widgets/widget-map/component/widget-map.component.d.ts +14 -25
  132. package/widgets/widget-map/interaction/interaction-manager.class.d.ts +27 -0
  133. package/widgets/widget-map/public-api.d.ts +2 -0
@@ -0,0 +1,2 @@
1
+ import { Rule, SchematicContext } from '@angular-devkit/schematics';
2
+ export declare function onMigrationComplete(targetVersion: string, context: SchematicContext): Rule;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onMigrationComplete = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ function onMigrationComplete(targetVersion, context) {
6
+ context.logger.info(` ✓ Updated @provoly/dashboard to ${targetVersion}`);
7
+ return schematics_1.noop;
8
+ }
9
+ exports.onMigrationComplete = onMigrationComplete;
10
+ //# sourceMappingURL=complete.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.function.js","sourceRoot":"","sources":["../../../../../../projects/provoly/dashboard/schematics/ng-update/utils/complete.function.ts"],"names":[],"mappings":";;;AAAA,2DAA0E;AAE1E,SAAgB,mBAAmB,CAAC,aAAqB,EAAE,OAAyB;IAClF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;IAC3E,OAAO,iBAAI,CAAC;AACd,CAAC;AAHD,kDAGC"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export declare function updateTo0_13(): Rule;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateTo0_13 = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
6
+ const complete_function_1 = require("../utils/complete.function");
7
+ function removeWidgetMapHoverOption() {
8
+ return function (tree, context) {
9
+ tree.visit((path, entry) => {
10
+ if (path.includes('.ts') || path.includes('.json')) {
11
+ const buffer = tree.read(path);
12
+ if (buffer) {
13
+ tree.overwrite(path, buffer
14
+ .toString()
15
+ .replace(/tooltipMode(\s)*:(\s)*'hover'/g, "tooltipMode$1:$2'click'")
16
+ .replace(/tooltipMode(\s)*:(\s)*TooltipMode.HOVER/g, 'tooltipMode$1:$2TooltipMode.CLICK'));
17
+ }
18
+ }
19
+ });
20
+ return undefined;
21
+ };
22
+ }
23
+ function updateTo0_13() {
24
+ return (_tree, context) => {
25
+ context.addTask(new tasks_1.NodePackageInstallTask());
26
+ return (0, schematics_1.chain)([removeWidgetMapHoverOption(), (0, complete_function_1.onMigrationComplete)('0.13', context)]);
27
+ };
28
+ }
29
+ exports.updateTo0_13 = updateTo0_13;
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../projects/provoly/dashboard/schematics/ng-update/version-0-13/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiF;AACjF,4DAA0E;AAC1E,kEAAiE;AAEjE,SAAS,0BAA0B;IACjC,OAAO,UAAU,IAAU,EAAE,OAAyB;QACpD,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,EAAE;oBACV,IAAI,CAAC,SAAS,CACZ,IAAI,EACJ,MAAM;yBACH,QAAQ,EAAE;yBACV,OAAO,CAAC,gCAAgC,EAAE,yBAAyB,CAAC;yBACpE,OAAO,CAAC,0CAA0C,EAAE,mCAAmC,CAAC,CAC5F,CAAC;iBACH;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,CAAC,KAAW,EAAE,OAAyB,EAAQ,EAAE;QACtD,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAA,kBAAK,EAAC,CAAC,0BAA0B,EAAE,EAAE,IAAA,uCAAmB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC;AALD,oCAKC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const schematics_1 = require("@angular-devkit/schematics");
16
+ const testing_1 = require("@angular-devkit/schematics/testing");
17
+ const path_1 = __importDefault(require("path"));
18
+ const schematicName = 'ng-update';
19
+ describe(schematicName, () => {
20
+ const runner = new testing_1.SchematicTestRunner('schematics', path_1.default.join(__dirname, '../../migration.json'));
21
+ let tree;
22
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
23
+ tree = yield runner.runExternalSchematic('@schematics/angular', 'ng-new', { name: 'test-project', version: '0.0.0', directory: '.' }, new testing_1.UnitTestTree(schematics_1.Tree.empty()));
24
+ }));
25
+ it(`should change version`, () => __awaiter(void 0, void 0, void 0, function* () {
26
+ tree.create('/app-routing.module.ts', `const routes: Routes = [
27
+ /* In a real app, do not make routes like these ones */
28
+ {
29
+ path: '',
30
+ canActivate: [DefaultViewGuard],
31
+ component: DashboardContainerComponent,
32
+ data: {}
33
+ },
34
+ {
35
+ path: 'map',
36
+ component: DashboardContainerComponent,
37
+ data: {
38
+ manifest: {
39
+ grid: {
40
+ rows: 10
41
+ },
42
+ widgets: [
43
+ {
44
+ type: 'map',
45
+ layout: {
46
+ x: 1,
47
+ y: 1,
48
+ height: 10,
49
+ width: 12
50
+ },
51
+ options: {
52
+ attributions: true,
53
+ tooltipMode: TooltipMode.CLICK,
54
+ tooltipMode: 'click',
55
+ layers: [
56
+ {
57
+ type: 'marker',
58
+ attribute: 'location',
59
+ classes: []
60
+ },
61
+ {
62
+ type: 'marker',
63
+ attribute: 'location-auto',
64
+ classes: []
65
+ },
66
+ {
67
+ active: true,
68
+ type: 'heatmap',
69
+ intensityAttribute: 'temperature_en_degre_c',
70
+ intensityAsc: true,
71
+ classes: ['17b90da3-f448-4cc3-bfd8-74c8b8481590']
72
+ },
73
+ {
74
+ active: true,
75
+ type: 'bubble',
76
+ classes: ['06406e7e-37cd-41ce-b5fc-36d233e5ae5c'],
77
+ intensityAttribute: 'latitude',
78
+ intensityAsc: true,
79
+ opacity: 50
80
+ },
81
+ {
82
+ type: 'relation',
83
+ active: false
84
+ },
85
+ {
86
+ type: 'geoserver',
87
+ key: 'fntp:submersion',
88
+ opacity: 50
89
+ }
90
+ ],
91
+ fit: true
92
+ },
93
+ datasource: ['29061554-298f-4f56-8cd2-51ccec998303', 's6406e7e-37cd-41ce-b5fc-36d233e6ae5c']
94
+ }
95
+ ]
96
+ } as DashboardManifest
97
+ }
98
+ }
99
+ {
100
+ path: 'tile',
101
+ component: DashboardContainerComponent,
102
+ data: {
103
+ manifest: {
104
+ widgets: [
105
+ {
106
+ type: 'tile',
107
+ layout: { x: 1, y: 1, height: 12, width: 12 },
108
+ options: {},
109
+ datasource: '39061554-298f-4f56-8cd2-51ccec998307'
110
+ }
111
+ ]
112
+ } as DashboardManifest
113
+ }
114
+ },
115
+ /* These routes are fine */
116
+ {
117
+ path: 'search',
118
+ data: {
119
+ access: {
120
+ module: 'dashboard',
121
+ page: 'dashboard'
122
+ }
123
+ },
124
+ canActivate: [PRY_ACCESS_GUARD],
125
+ children: [
126
+ {
127
+ path: '',
128
+ component: SearchContainerComponent,
129
+ data: {
130
+ manifest: {
131
+ widgets: []
132
+ } as DashboardManifest
133
+ }
134
+ },
135
+ {
136
+ path: '',
137
+ component: PrySearchToolsComponent,
138
+ outlet: 'panel'
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ path: 'catalog',
144
+ children: [
145
+ {
146
+ path: '',
147
+ component: SearchContainerComponent,
148
+ data: { manifest: { widgets: [] } as DashboardManifest }
149
+ },
150
+ {
151
+ path: '',
152
+ component: PryRestitutionListComponent,
153
+ outlet: 'panel'
154
+ }
155
+ ]
156
+ }
157
+ ];
158
+ `);
159
+ yield runner.runSchematic('migration-v0.13', {}, tree);
160
+ const actual = tree.readContent('/app-routing.module.ts');
161
+ expect(actual).not.toMatch(/tooltipMode\s*:\s*'hover'/);
162
+ expect(actual).not.toMatch(/tooltipMode\s*:\s*'TooltipMode.HOVER/);
163
+ expect(actual).toMatch(/tooltipMode\s*:\s*'click'/);
164
+ expect(actual).toMatch(/tooltipMode\s*:\s*TooltipMode.CLICK/);
165
+ }));
166
+ });
167
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../../../projects/provoly/dashboard/schematics/ng-update/version-0-13/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2DAAkD;AAClD,gEAAuF;AACvF,gDAAwB;AAExB,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,MAAM,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACnG,IAAI,IAAkB,CAAC;IAEvB,UAAU,CAAC,GAAS,EAAE;QACpB,IAAI,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,QAAQ,EACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC1D,IAAI,sBAAY,CAAC,iBAAI,CAAC,KAAK,EAAE,CAAC,CAC/B,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACrC,IAAI,CAAC,MAAM,CACT,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIL,CACI,CAAC;QAEF,MAAM,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -303,6 +303,20 @@
303
303
  }
304
304
  }
305
305
 
306
+ /**
307
+ Accordion panel border
308
+ themed($theme-map, 'color', 'primary', 400);
309
+ */
310
+ @mixin panelBorderLeftColored($color: themed($theme-map, 'decoration', 'focus-visible', 'border-color-light')) {
311
+ content: '';
312
+ position: absolute;
313
+ left: 0;
314
+ top: 0;
315
+ bottom: 0;
316
+ width: 3px;
317
+ background-color: $color;
318
+ }
319
+
306
320
  /*
307
321
  * Effects
308
322
  *
@@ -39,7 +39,6 @@
39
39
  pointer-events: none;
40
40
  font-weight: 400;
41
41
  font-style: normal;
42
- transform: scale(1, 0.75);
43
42
  }
44
43
  }
45
44
 
@@ -9,6 +9,21 @@
9
9
  min-height: toRem(55);
10
10
  padding: toRem(15) toRem(15);
11
11
  margin-bottom: toRem(0);
12
+ position: relative;
13
+ border-bottom-style: solid;
14
+ border-bottom-width: toRem(1);
15
+
16
+ // Border left colored
17
+ &:before {
18
+ @include panelBorderLeftColored(var(--border-color));
19
+ }
20
+
21
+ &__title {
22
+ // On active item, remove border-bottom, replaced by border-bottom on active panel
23
+ &.is-active {
24
+ border-bottom: none;
25
+ }
26
+ }
12
27
 
13
28
  &__btn {
14
29
  display: flex;
@@ -19,6 +34,82 @@
19
34
  line-height: 18px;
20
35
  font-weight: 700;
21
36
  border: 0 solid transparent;
37
+ width: 100%;
38
+ height: 70%;
39
+ padding: 0;
40
+ text-transform: uppercase;
41
+ text-align: left;
42
+ }
43
+ }
44
+
45
+ &__panel {
46
+ position: relative;
47
+
48
+ // Border-bottom on active panel
49
+ &[aria-hidden='false'] {
50
+ border-bottom-style: solid;
51
+ border-bottom-width: toRem(1);
52
+ }
53
+
54
+ // Head (input field)
55
+ &__head {
56
+ position: relative;
57
+ padding: toRem(2) toRem(10) toRem(20) toRem(10);
58
+
59
+ // Border left colored
60
+ &:before {
61
+ @include panelBorderLeftColored(var(--border-color));
62
+ }
63
+
64
+ pry-icon {
65
+ position: absolute;
66
+ top: toRem(12);
67
+ left: toRem(23);
68
+ }
69
+
70
+ .a-form-field {
71
+ padding-left: toRem(40);
72
+ }
73
+ }
74
+
75
+ // Components list
76
+ .o-pipeline__components {
77
+ @extend %list-unstyled;
78
+ position: relative;
79
+ z-index: 1;
80
+
81
+ li {
82
+ position: relative;
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: space-between;
86
+ min-height: 40px;
87
+ padding: 0 toRem(15);
88
+ border-top-width: 1px;
89
+ border-top-style: solid;
90
+ cursor: grab;
91
+
92
+ // Border left colored
93
+ &:before {
94
+ @include panelBorderLeftColored(var(--border-color));
95
+ }
96
+
97
+ &:hover {
98
+ background-color: white;
99
+ }
100
+
101
+ &:active {
102
+ cursor: grabbing;
103
+ }
104
+
105
+ .a-p {
106
+ margin-bottom: 0;
107
+ }
108
+
109
+ .a-icon {
110
+ transform: scale(2.2);
111
+ }
112
+ }
22
113
  }
23
114
  }
24
115
  }
@@ -34,4 +34,50 @@
34
34
  padding-right: toRem(20);
35
35
  }
36
36
  }
37
+ .a-container-type {
38
+ display: flex;
39
+ align-items: center;
40
+ }
41
+
42
+ .a-label-type{
43
+ color: #4f4f4f;
44
+ background-color: #c6fffd;
45
+ border-radius: toRem(20);
46
+ padding: toRem(10);
47
+ width: max-content;
48
+ font-size: 10px;
49
+ margin-right: 5px;
50
+ }
51
+
52
+ .a-label-type.DATASET{
53
+ background-color: #f9e0ff;
54
+ }
55
+
56
+ .a-label-type.FIELD{
57
+ background-color: #cce8fa;
58
+ }
59
+
60
+ .a-label-type.OCLASS{
61
+ background-color: #ecffc9;
62
+ }
63
+
64
+ .a-label-type.DASHBOARD{
65
+ background-color: #ffd9d9;
66
+ }
67
+
68
+ .a-label-type.ABAC{
69
+ background-color: #ffe0f6;
70
+ }
71
+
72
+ .a-label-type.LINK{
73
+ background-color: #cefacc;
74
+ }
75
+
76
+ .a-label-type.NAMED_QUERY{
77
+ background-color: #fdf8d5;
78
+ }
79
+
80
+ .a-label-type.WIDGET{
81
+ background-color: #ffedd9;
82
+ }
37
83
  }
@@ -0,0 +1,30 @@
1
+ @use '../../styles/abstracts' as *;
2
+ @use '../abstracts-theme/variables.theme' as *;
3
+
4
+ /* Theme organism - Accordion */
5
+
6
+ .o-accordion {
7
+ &__title {
8
+ border-bottom-color: themed($theme-map, 'color', 'primary', 300);
9
+
10
+ &__btn pry-icon {
11
+ color: themed($theme-map, 'color', 'accent', 600);
12
+ }
13
+ }
14
+
15
+ &__panel {
16
+ &[aria-hidden='false'] {
17
+ border-bottom-color: themed($theme-map, 'color', 'primary', 300);
18
+ }
19
+
20
+ .o-pipeline__components {
21
+ li {
22
+ border-top-color: themed($theme-map, 'color', 'primary', 300);
23
+
24
+ .a-icon {
25
+ color: themed($theme-map, 'color', 'primary', 500);
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
@@ -16,32 +16,6 @@
16
16
  border-right: 1px solid themed($theme-map, 'color', 'primary', 300);
17
17
  }
18
18
 
19
- .o-accordion {
20
- &__title {
21
- border-bottom-color: themed($theme-map, 'color', 'primary', 300);
22
-
23
- &__btn pry-icon {
24
- color: themed($theme-map, 'color', 'accent', 600);
25
- }
26
- }
27
-
28
- &__panel {
29
- &[aria-hidden='false'] {
30
- border-bottom-color: themed($theme-map, 'color', 'primary', 300);
31
- }
32
-
33
- .o-pipeline__components {
34
- li {
35
- border-top-color: themed($theme-map, 'color', 'primary', 300);
36
-
37
- .a-icon {
38
- color: themed($theme-map, 'color', 'primary', 500);
39
- }
40
- }
41
- }
42
- }
43
- }
44
-
45
19
  .o-pipeline-editor__properties {
46
20
  border-left: 1px solid themed($theme-map, 'color', 'primary', 300);
47
21
 
@@ -34,6 +34,7 @@
34
34
  @use 'components-theme/m-pry-search-select-attribute.theme' as *;
35
35
 
36
36
  /* Organisms */
37
+ @use 'components-theme/o-accordion.theme' as *;
37
38
  @use 'components-theme/o-card.theme' as *;
38
39
  @use 'components-theme/o-catalog.theme' as *;
39
40
  @use 'components-theme/o-dashboard.theme' as *;
@@ -2,24 +2,23 @@ import { Overlay as cdkOverlay } from '@angular/cdk/overlay';
2
2
  import { AfterViewInit, ComponentRef, ElementRef, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { BaseTooltipComponent, BaseWidgetMapLayerOptions, Class, DataWidgetComponent, Field, GeocodingService, MapFeatureLayerOptions, MapGeoServerLayerOptions, MapRasterTileLayerOptions, MapVectorTileLayerOptions, MapWidgetBubbleLayerOptions, MapWidgetHeatMapLayerOptions, MapWidgetLayerOptions, MapWidgetMarkerLayerOptions, MapWidgetOptions, MapWMSLayerLayerOptions, MapWMTSLayerLayerOptions, PryI18nService, PrySnackbarService, SymbolService, TooltipFactoryService } from '@provoly/dashboard';
5
- import { Map, MapBrowserEvent, Overlay } from 'ol';
6
- import LayerSwitcher from 'ol-layerswitcher';
5
+ import { Map } from 'ol';
7
6
  import { Geometry } from 'ol/geom';
8
7
  import BaseLayer from 'ol/layer/Base';
9
8
  import VectorLayer from 'ol/layer/Vector';
9
+ import VectorTileLayer from 'ol/layer/VectorTile';
10
10
  import { Pixel } from 'ol/pixel';
11
11
  import VectorSource from 'ol/source/Vector';
12
12
  import { Style } from 'ol/style';
13
13
  import { BehaviorSubject, Observable } from 'rxjs';
14
- import { SelectionInteraction } from '../interaction/selection-interaction.class';
15
- import { SearchBarControl } from '../search-bar/search-bar.control';
14
+ import { InteractionManager } from '../interaction/interaction-manager.class';
16
15
  import { WidgetMapLayerService } from './widget-map-layer.service';
17
16
  import * as i0 from "@angular/core";
18
17
  export declare class WidgetMapComponent extends DataWidgetComponent implements AfterViewInit {
19
18
  private snackBar;
20
- private translateService;
19
+ translateService: PryI18nService;
21
20
  private tooltipFactoryService;
22
- private geocodingService;
21
+ geocodingService: GeocodingService;
23
22
  private overlay;
24
23
  private viewContainerRef;
25
24
  private symbolService;
@@ -39,13 +38,9 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
39
38
  selectedIds$: Observable<string[]>;
40
39
  bottomLeft$: Observable<string>;
41
40
  layers$: Observable<BaseLayer[]>;
42
- selectionInteraction: SelectionInteraction;
43
41
  map: Map;
44
- map$: Observable<Map>;
45
42
  additionalLayers$: BehaviorSubject<VectorLayer<VectorSource<Geometry>>[]>;
46
43
  private overlayRef?;
47
- searchBarControl?: SearchBarControl;
48
- layerSwitchControl?: LayerSwitcher;
49
44
  styles$: Observable<{
50
45
  identifier: string;
51
46
  label: string;
@@ -61,7 +56,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
61
56
  height$: Observable<number>;
62
57
  actions$: BehaviorSubject<("click" | "lasso" | "rectangle" | "zoom" | "move" | "export" | "upload")[]>;
63
58
  private wmsFeatures$;
64
- private classicFeatures$;
59
+ classicFeatures$: BehaviorSubject<any>;
65
60
  geoServerLayerDescriptions$: Observable<MapGeoServerLayerOptions[]>;
66
61
  legendTabOpen: boolean;
67
62
  legendTab: number;
@@ -78,10 +73,12 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
78
73
  } | undefined;
79
74
  center?: number[] | undefined;
80
75
  }>;
81
- interactionPopupOverlay?: Overlay;
82
- interactionPopupListener?: (event: MapBrowserEvent<MouseEvent>) => void;
83
- interactionPopupMode?: 'singleclick' | 'pointermove';
76
+ fitOption$: Observable<boolean>;
77
+ mapStyle$: Observable<string>;
78
+ interactionManager: InteractionManager;
79
+ mapStyleLayer$: Observable<VectorTileLayer[]>;
84
80
  constructor(store: Store<any>, snackBar: PrySnackbarService, translateService: PryI18nService, tooltipFactoryService: TooltipFactoryService, geocodingService: GeocodingService, overlay: cdkOverlay, viewContainerRef: ViewContainerRef, symbolService: SymbolService, injector: Injector, widgetMapLayerService: WidgetMapLayerService, el: ElementRef);
81
+ initInteractionManager(): InteractionManager;
85
82
  ngAfterViewInit(): void;
86
83
  initResultSet$(): Observable<import("@provoly/dashboard").ResultSet>;
87
84
  generateTooltip(value: {
@@ -90,16 +87,13 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
90
87
  values: any;
91
88
  }): Promise<ComponentRef<BaseTooltipComponent> | null>;
92
89
  setDefaultLayerTitle(layer: MapWidgetLayerOptions, idx: number): void;
93
- fitMapForObjects(options: MapWidgetOptions, selectedIds?: string[]): void;
94
- private addOverlayOnInteraction;
95
- private addContextMenuInteraction;
90
+ fitMapForObjects(fit: boolean, selectedIds?: string[]): void;
96
91
  private getAttributesForDrawing;
97
92
  private getIntensityAttribute;
98
93
  private getLocationAttribute;
99
94
  changeStyle($event: any): void;
100
95
  changeFit($event: boolean): void;
101
96
  changeAttributions($event: boolean): void;
102
- changeTooltipMode($event: 'hover' | 'click'): void;
103
97
  addLayer(): void;
104
98
  changeLayerType($event: any, i: number): void;
105
99
  changeTitle($event: any, layer: MapWidgetLayerOptions): void;
@@ -112,27 +106,22 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
112
106
  invertLayers(idx: number, idxWith: number): void;
113
107
  changeUrl($event: Event, layer: MapWMSLayerLayerOptions | MapFeatureLayerOptions | MapVectorTileLayerOptions | MapRasterTileLayerOptions | MapWMTSLayerLayerOptions | MapGeoServerLayerOptions): void;
114
108
  changeAttribution($event: Event, layer: BaseWidgetMapLayerOptions): void;
115
- changeParamLayer($event: Event, layer: MapWMSLayerLayerOptions | MapWMTSLayerLayerOptions | MapGeoServerLayerOptions): void;
109
+ changeParamLayer($event: Event, layer: MapWMSLayerLayerOptions | MapWMTSLayerLayerOptions): void;
116
110
  changeParamTiled($event: boolean, layer: MapWMSLayerLayerOptions): void;
117
111
  changeMatrixSet($event: Event, layer: MapWMTSLayerLayerOptions): void;
118
112
  changeParamStyle($event: Event, layer: MapWMTSLayerLayerOptions): void;
119
113
  export(type: string): void;
120
114
  toImage(): Promise<string>;
121
115
  import(event: Event | DragEvent): void;
122
- private addDropInteraction;
123
116
  changeClustered(layer: MapWidgetMarkerLayerOptions, $event: boolean): void;
124
117
  changeClusterDistance(layer: MapWidgetMarkerLayerOptions, $event: Event): void;
125
- private addScaleControl;
126
- private addSearchBarControl;
127
- private addLayerSwitcher;
128
118
  hideAddress(): void;
129
- private addUpdateZoomAndCenter;
130
119
  changeOpacity(layer: MapWidgetLayerOptions, $event: string): void;
131
120
  displayExportType($event: MouseEvent): void;
132
121
  hideExportType(): void;
133
122
  getWMSLayers(): import("ol/layer/Layer").default<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[];
134
123
  isLayerRendered(layer: any): boolean;
135
- private getFeatureFromServer;
124
+ getFeatureFromServer(wmsLayers: any[], pixel: Pixel): void;
136
125
  changeWmsClass($event: any, layer: MapWMSLayerLayerOptions): void;
137
126
  toggleLegend(index: number): void;
138
127
  toggleLegendWindow(): void;
@@ -0,0 +1,27 @@
1
+ import { MapBrowserEvent, Overlay } from 'ol';
2
+ import LayerSwitcher from 'ol-layerswitcher';
3
+ import { ScaleLine } from 'ol/control';
4
+ import { WidgetMapComponent } from '../component/widget-map.component';
5
+ import { SearchBarControl } from '../search-bar/search-bar.control';
6
+ import { SelectionInteraction } from './selection-interaction.class';
7
+ export declare class InteractionManager {
8
+ interactionPopupOverlay?: Overlay;
9
+ private component;
10
+ searchBarControl?: SearchBarControl;
11
+ layerSwitchControl?: LayerSwitcher;
12
+ scaleControl?: ScaleLine;
13
+ selectionInteraction: SelectionInteraction;
14
+ init(component: WidgetMapComponent): this;
15
+ listeners: {
16
+ contextMenu: (e: MouseEvent) => void;
17
+ drop: (e: DragEvent) => void;
18
+ popup: (event: MapBrowserEvent<MouseEvent>) => void;
19
+ };
20
+ private addContextMenuInteraction;
21
+ private addDropInteraction;
22
+ private addOverlayOnInteraction;
23
+ private addScaleControl;
24
+ private addSearchBarControl;
25
+ private addLayerSwitcher;
26
+ private addUpdateZoomAndCenter;
27
+ }
@@ -3,4 +3,6 @@ export * from './component/widget-map.component';
3
3
  export * from './component/widget-map-layer.service';
4
4
  export * from './pipe/widget-map-geometry-fields-for.pipe';
5
5
  export * from './pipe/widget-map-legend-url.pipe';
6
+ export * from './interaction/interaction-manager.class';
7
+ export * from './interaction/selection-interaction.class';
6
8
  export * from './utils/widget-map.utils';