@provoly/dashboard 0.13.4 → 0.13.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/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -1
- package/esm2022/lib/core/model/display-options.interface.mjs +55 -0
- package/esm2022/lib/core/model/public-api.mjs +2 -1
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +9 -2
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -2
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +7 -1
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +4 -2
- package/esm2022/presentation/components/presentation.component.mjs +5 -2
- package/esm2022/toolbox/components/toolbox.component.mjs +4 -3
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +3 -3
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +61 -5
- package/esm2022/widgets/widget-map/pipe/xml-utils.class.mjs +32 -0
- package/esm2022/widgets/widget-map/public-api.mjs +2 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +4 -1
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +3 -2
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +94 -8
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +73 -4
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/display-options.interface.d.ts +24 -0
- package/lib/core/model/public-api.d.ts +1 -0
- package/lib/dashboard/components/dashboard.component.d.ts +6 -3
- package/lib/dashboard/store/dashboard.actions.d.ts +8 -0
- package/lib/dashboard/store/dashboard.reducers.d.ts +2 -0
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -0
- package/package.json +1 -1
- package/toolbox/components/toolbox.component.d.ts +1 -0
- package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +6 -1
- package/widgets/widget-map/pipe/xml-utils.class.d.ts +5 -0
- package/widgets/widget-map/public-api.d.ts +1 -0
|
@@ -1,16 +1,72 @@
|
|
|
1
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
1
2
|
import { Pipe } from '@angular/core';
|
|
3
|
+
import { catchError, map, of, throwError } from 'rxjs';
|
|
4
|
+
import { XMLUtils } from './xml-utils.class';
|
|
2
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
3
7
|
export class WidgetMapLegendUrlPipe {
|
|
8
|
+
constructor(httpClient) {
|
|
9
|
+
this.httpClient = httpClient;
|
|
10
|
+
this.parser = new DOMParser();
|
|
11
|
+
}
|
|
4
12
|
transform(geoLayer) {
|
|
5
13
|
if (geoLayer && geoLayer.url) {
|
|
6
14
|
const layerUrlWithQmark = geoLayer.url.indexOf('?') === -1 ? geoLayer.url + '?' : geoLayer.url;
|
|
7
15
|
const layerUrlWithService = layerUrlWithQmark.indexOf('&SERVICE=') === -1 ? layerUrlWithQmark + '&SERVICE=WMS' : layerUrlWithQmark;
|
|
8
16
|
const layerUrlWithVersion = layerUrlWithService.indexOf('&VERSION=') === -1 ? layerUrlWithService + '&VERSION=1.3.0' : layerUrlWithService;
|
|
9
|
-
return
|
|
17
|
+
return this.httpClient
|
|
18
|
+
.get(`${layerUrlWithVersion}&REQUEST=GetCapabilities`, {
|
|
19
|
+
headers: new HttpHeaders({
|
|
20
|
+
Accept: 'text/html, application/xhtml+xml, */*',
|
|
21
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
22
|
+
}),
|
|
23
|
+
responseType: 'text'
|
|
24
|
+
})
|
|
25
|
+
.pipe(map((response) => {
|
|
26
|
+
const doc = this.parser.parseFromString(response, 'application/xml');
|
|
27
|
+
const errorNode = doc.querySelector('parsererror');
|
|
28
|
+
if (errorNode) {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const WMSCapability = XMLUtils.find(doc.childNodes, 'WMS_Capabilities');
|
|
33
|
+
if (WMSCapability) {
|
|
34
|
+
const Capabilities = XMLUtils.find(WMSCapability.childNodes, 'Capability');
|
|
35
|
+
if (Capabilities) {
|
|
36
|
+
const Layer = XMLUtils.find(Capabilities.childNodes, 'Layer');
|
|
37
|
+
if (Layer) {
|
|
38
|
+
let matchingLayer = XMLUtils.findWith(Layer.childNodes, 'Name', geoLayer.paramLayer);
|
|
39
|
+
const split = geoLayer.paramLayer.split(':');
|
|
40
|
+
if (!matchingLayer && split.length >= 2) {
|
|
41
|
+
// Try again, splitting on ":" in the name to ignore namespace if present
|
|
42
|
+
matchingLayer = XMLUtils.findWith(Layer.childNodes, 'Name', split[split.length - 1]);
|
|
43
|
+
}
|
|
44
|
+
if (matchingLayer) {
|
|
45
|
+
const matchingStyle = XMLUtils.find(matchingLayer.childNodes, 'Style');
|
|
46
|
+
if (matchingStyle) {
|
|
47
|
+
const legendUrl = XMLUtils.find(matchingStyle.childNodes, 'LegendURL');
|
|
48
|
+
if (legendUrl) {
|
|
49
|
+
const resource = XMLUtils.find(legendUrl.childNodes, 'OnlineResource');
|
|
50
|
+
if (resource) {
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
return resource.getAttribute('xlink:href');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return '';
|
|
62
|
+
}), catchError((err) => {
|
|
63
|
+
console.error(err);
|
|
64
|
+
return throwError(err);
|
|
65
|
+
}));
|
|
10
66
|
}
|
|
11
|
-
return '';
|
|
67
|
+
return of('');
|
|
12
68
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapLegendUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapLegendUrlPipe, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
70
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapLegendUrlPipe, name: "legendUrl" }); }
|
|
15
71
|
}
|
|
16
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapLegendUrlPipe, decorators: [{
|
|
@@ -18,5 +74,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
18
74
|
args: [{
|
|
19
75
|
name: 'legendUrl'
|
|
20
76
|
}]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC1sZWdlbmQtdXJsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1tYXAvcGlwZS93aWRnZXQtbWFwLWxlZ2VuZC11cmwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFMUMsV0FBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFGb0IsQ0FBQztJQUk5QyxTQUFTLENBQUMsUUFBNEQ7UUFDcEUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUMvRixNQUFNLG1CQUFtQixHQUN2QixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDekcsTUFBTSxtQkFBbUIsR0FDdkIsbUJBQW1CLENB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QUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixDQUFDOzhHQWxFVSxzQkFBc0I7NEdBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIbEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEdlb1NlcnZlckxheWVyT3B0aW9ucywgTWFwV01TTGF5ZXJMYXllck9wdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgWE1MVXRpbHMgfSBmcm9tICcuL3htbC11dGlscy5jbGFzcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xlZ2VuZFVybCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0TWFwTGVnZW5kVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuXG4gIHRyYW5zZm9ybShnZW9MYXllcjogTWFwR2VvU2VydmVyTGF5ZXJPcHRpb25zIHwgTWFwV01TTGF5ZXJMYXllck9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmIChnZW9MYXllciAmJiBnZW9MYXllci51cmwpIHtcbiAgICAgIGNvbnN0IGxheWVyVXJsV2l0aFFtYXJrID0gZ2VvTGF5ZXIudXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyBnZW9MYXllci51cmwgKyAnPycgOiBnZW9MYXllci51cmw7XG4gICAgICBjb25zdCBsYXllclVybFdpdGhTZXJ2aWNlID1cbiAgICAgICAgbGF5ZXJVcmxXaXRoUW1hcmsuaW5kZXhPZignJlNFUlZJQ0U9JykgPT09IC0xID8gbGF5ZXJVcmxXaXRoUW1hcmsgKyAnJlNFUlZJQ0U9V01TJyA6IGxheWVyVXJsV2l0aFFtYXJrO1xuICAgICAgY29uc3QgbGF5ZXJVcmxXaXRoVmVyc2lvbiA9XG4gICAgICAgIGxheWVyVXJsV2l0aFNlcnZpY2UuaW5kZXhPZignJlZFUlNJT049JykgPT09IC0xID8gbGF5ZXJVcmxXaXRoU2VydmljZSArICcmVkVSU0lPTj0xLjMuMCcgOiBsYXllclVybFdpdGhTZXJ2aWNlO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgIC5nZXQoYCR7bGF5ZXJVcmxXaXRoVmVyc2lvbn0mUkVRVUVTVD1HZXRDYXBhYmlsaXRpZXNgLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgIEFjY2VwdDogJ3RleHQvaHRtbCwgYXBwbGljYXRpb24veGh0bWwreG1sLCAqLyonLFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4gICAgICAgICAgfSksXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jID0gdGhpcy5wYXJzZXIucGFyc2VGcm9tU3RyaW5nKHJlc3BvbnNlLCAnYXBwbGljYXRpb24veG1sJyk7XG4gICAgICAgICAgICBjb25zdCBlcnJvck5vZGUgPSBkb2MucXVlcnlTZWxlY3RvcigncGFyc2VyZXJyb3InKTtcbiAgICAgICAgICAgIGlmIChlcnJvck5vZGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgV01TQ2FwYWJpbGl0eSA9IFhNTFV0aWxzLmZpbmQoZG9jLmNoaWxkTm9kZXMsICdXTVNfQ2FwYWJpbGl0aWVzJyk7XG4gICAgICAgICAgICAgIGlmIChXTVNDYXBhYmlsaXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgQ2FwYWJpbGl0aWVzID0gWE1MVXRpbHMuZmluZChXTVNDYXBhYmlsaXR5LmNoaWxkTm9kZXMsICdDYXBhYmlsaXR5Jyk7XG4gICAgICAgICAgICAgICAgaWYgKENhcGFiaWxpdGllcykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgTGF5ZXIgPSBYTUxVdGlscy5maW5kKENhcGFiaWxpdGllcy5jaGlsZE5vZGVzLCAnTGF5ZXInKTtcbiAgICAgICAgICAgICAgICAgIGlmIChMYXllcikge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmZpbmRXaXRoKExheWVyLmNoaWxkTm9kZXMsICdOYW1lJywgZ2VvTGF5ZXIucGFyYW1MYXllcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0ID0gZ2VvTGF5ZXIucGFyYW1MYXllci5zcGxpdCgnOicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1hdGNoaW5nTGF5ZXIgJiYgc3BsaXQubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBUcnkgYWdhaW4sIHNwbGl0dGluZyBvbiBcIjpcIiBpbiB0aGUgbmFtZSB0byBpZ25vcmUgbmFtZXNwYWNlIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICAgICAgICBtYXRjaGluZ0xheWVyID0gWE1MVXRpbHMuZmluZFdpdGgoTGF5ZXIuY2hpbGROb2RlcywgJ05hbWUnLCBzcGxpdFtzcGxpdC5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoaW5nTGF5ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ1N0eWxlID0gWE1MVXRpbHMuZmluZChtYXRjaGluZ0xheWVyLmNoaWxkTm9kZXMsICdTdHlsZScpO1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaGluZ1N0eWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWdlbmRVcmwgPSBYTUxVdGlscy5maW5kKG1hdGNoaW5nU3R5bGUuY2hpbGROb2RlcywgJ0xlZ2VuZFVSTCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxlZ2VuZFVybCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvdXJjZSA9IFhNTFV0aWxzLmZpbmQobGVnZW5kVXJsLmNoaWxkTm9kZXMsICdPbmxpbmVSZXNvdXJjZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlLmdldEF0dHJpYnV0ZSgneGxpbms6aHJlZicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZignJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class XMLUtils {
|
|
2
|
+
static find(childs, name) {
|
|
3
|
+
for (let i = 0; i < childs.length; i++) {
|
|
4
|
+
const node = childs[i];
|
|
5
|
+
if (node.nodeName === name) {
|
|
6
|
+
return node;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
static findAll(childs, name) {
|
|
12
|
+
const result = [];
|
|
13
|
+
for (let i = 0; i < childs.length; i++) {
|
|
14
|
+
const node = childs[i];
|
|
15
|
+
if (node.nodeName === name) {
|
|
16
|
+
result.push(node);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
static findWith(childs, attribute, value) {
|
|
22
|
+
for (let i = 0; i < childs.length; i++) {
|
|
23
|
+
const node = childs[i];
|
|
24
|
+
const attrNode = XMLUtils.find(node.childNodes, attribute);
|
|
25
|
+
if (attrNode?.textContent === value) {
|
|
26
|
+
return node;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3BpcGUveG1sLXV0aWxzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBNkIsRUFBRSxJQUFZO1FBQ3JELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMxQixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTZCLEVBQUUsSUFBWTtRQUN4RCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQTZCLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQzdFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0QsSUFBSSxRQUFRLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRTtnQkFDbkMsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgWE1MVXRpbHMge1xuICBzdGF0aWMgZmluZChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZmluZEFsbChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kV2l0aChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkc1tpXTtcbiAgICAgIGNvbnN0IGF0dHJOb2RlID0gWE1MVXRpbHMuZmluZChub2RlLmNoaWxkTm9kZXMsIGF0dHJpYnV0ZSk7XG4gICAgICBpZiAoYXR0ck5vZGU/LnRleHRDb250ZW50ID09PSB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,4 +6,5 @@ export * from './pipe/widget-map-legend-url.pipe';
|
|
|
6
6
|
export * from './interaction/interaction-manager.class';
|
|
7
7
|
export * from './interaction/selection-interaction.class';
|
|
8
8
|
export * from './utils/widget-map.utils';
|
|
9
|
-
|
|
9
|
+
export * from './style/css.component';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtbWFwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtbWFwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtbWFwLWxheWVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL3dpZGdldC1tYXAtZ2VvbWV0cnktZmllbGRzLWZvci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS93aWRnZXQtbWFwLWxlZ2VuZC11cmwucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLW1hbmFnZXIuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdGlvbi9zZWxlY3Rpb24taW50ZXJhY3Rpb24uY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aWRnZXQtbWFwLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUvY3NzLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -129,7 +129,7 @@ class PryDatasetDetailComponent {
|
|
|
129
129
|
this.widgetManifest[type] = manifest;
|
|
130
130
|
}
|
|
131
131
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n</div>\n\n<div class=\"dataset-layout__content\">\n <h1 class=\"a-h1\">{{ dataset.name }}</h1>\n <div class=\"dataset-detail\">\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-custo'\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.dataset.data' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.dataset.map' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.dataset.versionHistory' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"tab === 0 || tab === 1\">\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest[tab === 0 ? 'table' : 'map']] }\"></pry-dashboard>\n </div>\n </ng-container>\n <ng-container *ngIf=\"tab === 2\">\n <div class=\"table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(activeVersion$ | async) === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td [pryTooltip]=\"dateTooltip\">\n {{ version.lastModified | sinceDate }}\n <ng-template #dateTooltip>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"dateTooltip\">\n <span class=\"m-tooltip__text\"> {{ version.lastModified | sinceDate : { onlyLocale: true } }}</span>\n </div>\n </ng-template>\n </td>\n <td>\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <ng-container>\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip\">\n <p class=\"a-p\">\n <ng-container [ngSwitch]=\"version.state\">\n <ng-container *ngSwitchCase=\"'ERROR'\">\n {{ '@pry.dataset.tooltip.error' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'ACTIVE'\">\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.tooltip.active'\n : '@pry.dataset.tooltip.inactive'\n ) | i18n\n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'LOADING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INDEXING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INACTIVE'\">\n {{ '@pry.dataset.tooltip.invalid' | i18n }}\n </ng-container>\n </ng-container>\n </p>\n </div>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip validate-tooltip\">\n <p class=\"a-p\">\n {{\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.inValidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"version.hasWarnings && version.state !== 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryTooltipDirective, selector: "[pryTooltip]", inputs: ["pryTooltip", "styleReversed", "pryTooltipContext", "pryTooltipPosition", "pryTooltipShowDelay"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "CloseOnDragOut"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i4.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n</div>\n\n<div class=\"dataset-layout__content\">\n <h1 class=\"a-h1\">{{ dataset.name }}</h1>\n <div class=\"dataset-detail\">\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-custo'\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.dataset.data' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.dataset.map' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.dataset.versionHistory' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"tab === 0 || tab === 1\">\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest[tab === 0 ? 'table' : 'map']] }\"></pry-dashboard>\n </div>\n </ng-container>\n <ng-container *ngIf=\"tab === 2\">\n <div class=\"table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(activeVersion$ | async) === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td [pryTooltip]=\"dateTooltip\">\n {{ version.lastModified | sinceDate }}\n <ng-template #dateTooltip>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"dateTooltip\">\n <span class=\"m-tooltip__text\"> {{ version.lastModified | sinceDate : { onlyLocale: true } }}</span>\n </div>\n </ng-template>\n </td>\n <td>\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <ng-container>\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip\">\n <p class=\"a-p\">\n <ng-container [ngSwitch]=\"version.state\">\n <ng-container *ngSwitchCase=\"'ERROR'\">\n {{ '@pry.dataset.tooltip.error' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'ACTIVE'\">\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.tooltip.active'\n : '@pry.dataset.tooltip.inactive'\n ) | i18n\n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'LOADING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INDEXING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INACTIVE'\">\n {{ '@pry.dataset.tooltip.invalid' | i18n }}\n </ng-container>\n </ng-container>\n </p>\n </div>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip validate-tooltip\">\n <p class=\"a-p\">\n {{\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.inValidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"version.hasWarnings && version.state !== 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryTooltipDirective, selector: "[pryTooltip]", inputs: ["pryTooltip", "styleReversed", "pryTooltipContext", "pryTooltipPosition", "pryTooltipShowDelay"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "CloseOnDragOut", "displayOptions"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i4.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
133
133
|
}
|
|
134
134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
|
|
135
135
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provoly-dashboard-dataset.mjs","sources":["../../../../projects/provoly/dashboard/dataset/style/css.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-card/dataset-card.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-card/dataset-card.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.html","../../../../projects/provoly/dashboard/dataset/i18n/en.translations.ts","../../../../projects/provoly/dashboard/dataset/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/dataset/dataset.module.ts","../../../../projects/provoly/dashboard/dataset/provoly-dashboard-dataset.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-dataset-css',\n template: '',\n styleUrls: ['./_o-pry-dataset.scss', './_o-pry-dataset-card.scss', './_o-pry-dataset-detail.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryDatasetCssComponent {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Dataset } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-dataset-card',\n templateUrl: './dataset-card.component.html'\n})\nexport class PryDatasetCardComponent {\n @Input() dataset!: Dataset;\n @Output() consult = new EventEmitter<Dataset>();\n\n goToDetailView() {\n this.consult.emit(this.dataset);\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n <div class=\"o-pry-dataset-card__content\"></div>\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\" (click)=\"goToDetailView()\">\n <pry-icon iconSvg=\"table\"></pry-icon>\n {{ '@pry.dataset.table' | i18n }}\n </button>\n <button class=\"a-btn\" disabled>\n <pry-icon iconSvg=\"download\"></pry-icon>\n {{ '@pry.dataset.export' | i18n }}\n </button>\n <button class=\"a-btn\" disabled>\n {{ '@pry.dataset.api' | i18n }}\n </button>\n </div>\n <div class=\"o-pry-dataset-card__button\">\n <button class=\"a-btn\" (click)=\"goToDetailView()\">Consulter</button>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardSelectors,\n Dataset,\n DatasetVersion,\n DataSourceActions,\n DataSourceSelectors,\n ResultSets,\n SearchActions,\n ViewMode,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { map, Observable } from 'rxjs';\n\nlet nextCompId = 0;\n\n@Component({\n selector: 'pry-dataset-detail',\n templateUrl: './dataset-detail.component.html'\n})\nexport class PryDatasetDetailComponent implements OnInit {\n @Input() dataset!: Dataset;\n @Output() goToCatalog = new EventEmitter();\n widgetManifest = {\n table: {\n header: true,\n locked: true,\n type: 'table',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {},\n datasource: ['']\n },\n map: {\n header: false,\n type: 'map',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {\n layers: [{ type: 'marker' }],\n fit: true\n },\n datasource: ['']\n }\n } as { [key: string]: WidgetManifest };\n protected readonly ViewMode = ViewMode;\n compId: number = 0;\n tab: number = 0;\n\n datasetItems$: Observable<ResultSets | null> | undefined;\n public datasetVersions$!: Observable<DatasetVersion[]>;\n showModalStatus: boolean = false;\n selectedDatasetVersion?: DatasetVersion;\n selectedMode: ViewMode = ViewMode.CONSULT;\n activeVersion$!: Observable<string | undefined>;\n\n constructor(private store: Store) {\n this.compId = nextCompId++;\n }\n\n ngOnInit() {\n this.store.dispatch(SearchActions.getDatasourceItems({ id: this.dataset.id }));\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n this.datasetItems$ = this.store.select(DashboardSelectors.resultSets);\n this.datasetVersions$ = this.store\n .select(DataSourceSelectors.matchingDatasetVersions(this.dataset.id))\n .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));\n this.widgetManifest['table'].datasource = [this.dataset.id];\n this.widgetManifest['map'].datasource = [this.dataset.id];\n this.activeVersion$ = this.datasetVersions$.pipe(\n map(\n (versions) =>\n versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')?.id\n )\n );\n }\n\n goBack() {\n this.goToCatalog.emit();\n }\n\n goToConsult(version: DatasetVersion | undefined): void {\n this.selectedDatasetVersion = version;\n this.showModalStatus = false;\n this.selectedMode = ViewMode.CONSULT;\n }\n\n switch(number: number) {\n this.tab = number;\n }\n\n handleButtonAction(version: DatasetVersion) {\n this.selectedDatasetVersion = version;\n switch (version.state) {\n case 'ERROR':\n this.consultErrors(version);\n break;\n case 'ACTIVE':\n this.deactivateVersion(version);\n break;\n case 'INACTIVE':\n this.activateVersion(version);\n break;\n default:\n break;\n }\n }\n\n consultErrors(version: DatasetVersion) {\n this.selectedDatasetVersion = version;\n this.showModalStatus = true;\n }\n\n private deactivateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.deactivateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n private activateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.activateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n modify(type: string, { manifest }: { manifest: WidgetManifest }) {\n this.widgetManifest[type] = manifest;\n }\n}\n","<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n</div>\n\n<div class=\"dataset-layout__content\">\n <h1 class=\"a-h1\">{{ dataset.name }}</h1>\n <div class=\"dataset-detail\">\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-custo'\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.dataset.data' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.dataset.map' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.dataset.versionHistory' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"tab === 0 || tab === 1\">\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest[tab === 0 ? 'table' : 'map']] }\"></pry-dashboard>\n </div>\n </ng-container>\n <ng-container *ngIf=\"tab === 2\">\n <div class=\"table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(activeVersion$ | async) === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td [pryTooltip]=\"dateTooltip\">\n {{ version.lastModified | sinceDate }}\n <ng-template #dateTooltip>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"dateTooltip\">\n <span class=\"m-tooltip__text\"> {{ version.lastModified | sinceDate : { onlyLocale: true } }}</span>\n </div>\n </ng-template>\n </td>\n <td>\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <ng-container>\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip\">\n <p class=\"a-p\">\n <ng-container [ngSwitch]=\"version.state\">\n <ng-container *ngSwitchCase=\"'ERROR'\">\n {{ '@pry.dataset.tooltip.error' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'ACTIVE'\">\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.tooltip.active'\n : '@pry.dataset.tooltip.inactive'\n ) | i18n\n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'LOADING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INDEXING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INACTIVE'\">\n {{ '@pry.dataset.tooltip.invalid' | i18n }}\n </ng-container>\n </ng-container>\n </p>\n </div>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip validate-tooltip\">\n <p class=\"a-p\">\n {{\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.inValidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"version.hasWarnings && version.state !== 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n ClassActions,\n DashboardActions,\n Dataset,\n DataSourceActions,\n DataSourceSelectors,\n FieldActions,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\n\n@Component({\n selector: 'pry-dataset',\n templateUrl: './dataset.component.html'\n})\nexport class PryDatasetComponent extends SubscriptionnerDirective {\n datasets$: Observable<Dataset[]>;\n selectedDataset: Dataset | null = null;\n selectedMode: ViewMode = ViewMode.CATALOG;\n ViewMode = ViewMode;\n search$ = new BehaviorSubject('');\n filteredDatasets$: Observable<Dataset[]>;\n\n constructor(protected store: Store<any>) {\n super();\n this.store.dispatch(DataSourceActions.load());\n this.store.dispatch(ClassActions.load());\n this.store.dispatch(FieldActions.load());\n this.datasets$ = this.store.select(DataSourceSelectors.datasets);\n this.store.dispatch(DashboardActions.fetchManifestsList());\n this.filteredDatasets$ = combineLatest([this.datasets$, this.search$]).pipe(\n map(([datasets, search]) =>\n datasets\n .filter((dataset) => search.length === 0 || dataset.name.toLowerCase().includes(search.toLowerCase()))\n .sort((a, b) => a.name.localeCompare(b.name))\n )\n );\n this.store.dispatch(DataSourceActions.dataset.listVersions());\n }\n\n consult(dataset: Dataset) {\n this.selectedDataset = dataset;\n this.selectedMode = ViewMode.CONSULT;\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <div class=\"o-pry-dataset__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.dataset.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.dataset.title' | i18n }}</h1>\n <div class=\"o-pry-dataset\">\n <pry-dataset-card\n *ngFor=\"let dataset of filteredDatasets$ | async\"\n [dataset]=\"dataset\"\n (consult)=\"consult($event)\"\n ></pry-dataset-card>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n <ng-template [ngIf]=\"selectedDataset\">\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n </ng-template>\n </ng-container>\n</div>\n","export const enTranslations = {\n '@pry': {\n dataset: {\n title: 'Dataset catalog',\n search: 'Search',\n date: 'Date',\n status: 'Status',\n versionHistory: 'Version history',\n data: 'Data',\n table: 'Table',\n map: 'Map',\n export: 'Export',\n api: 'API',\n returnToList: 'Back to catalog',\n version: {\n title: 'Title',\n INDEXING: 'Loading',\n LOADING: 'Loading',\n INACTIVE: 'Invalid',\n ERROR: 'Error',\n ACTIVE: 'Available',\n currentlyActive: 'Active'\n },\n buttonAction: {\n ACTIVE: 'Invalidate',\n INACTIVE: 'Validate',\n ERROR: 'Consult errors',\n WARNING: 'Consult warnings',\n LOADING: '',\n INDEXING: ''\n },\n error: {\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'List of errors',\n WARNING: 'List of warnings'\n },\n level: {\n ERROR: 'Error',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Unrecognized attribute {{name}}',\n FORMAT: 'Wrong format for attribute {{name}}',\n ELASTIC_SEARCH: 'Insertion error for element {{recordId}}',\n NO_VALUES: 'No value for {{recordId}} line',\n FORMAT_FILE_ERROR: 'Unsupported file format'\n }\n },\n tooltip: {\n error: 'Errors occurred when integrating the data into the solution. The data is not accessible',\n active: 'The data retrieved by default in the application corresponds to the data integrated in this version.',\n inactive:\n 'The data for this version is available but not uploaded by default. It is possible to display them by explicitly requesting this version.',\n loading: 'The data is currently being integrated into the solution',\n invalid:\n 'The data in this version is present in the solution but is not relevant. It is not available are not available for display',\n inValidateButton:\n 'Allows you to make the version\\'s data unavailable if it is considered irrelevant from a business point of view. If the invalidated version is the active version, then the data retrieved by default will be that of the most recent previous \"Available\" version, which will thus change to \"Active\" status.',\n validateButton:\n 'Allows the version\\'s data to be made available if it is considered relevant from a business point of view after having been invalidated. If the validated version is the most recent, it will become the active version and its data will be the default.'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n dataset: {\n title: 'Catalogue des jeux de données',\n search: 'Rechercher',\n date: 'Date',\n status: 'Statut',\n versionHistory: 'Historique de versions',\n data: 'Données',\n table: 'Tableau',\n map: 'Carte',\n export: 'Export',\n api: 'API',\n returnToList: 'Retour au catalogue',\n version: {\n title: 'Intitulé',\n INDEXING: 'En chargement',\n LOADING: 'En chargement',\n INACTIVE: 'Invalide',\n ERROR: 'En erreur',\n ACTIVE: 'Disponible',\n currentlyActive: 'Actif'\n },\n buttonAction: {\n ACTIVE: 'Invalider',\n INACTIVE: 'Valider',\n ERROR: 'Consulter erreurs',\n WARNING: 'Consulter warnings',\n LOADING: '',\n INDEXING: ''\n },\n error: {\n ERROR: 'Erreur',\n WARNING: 'Warning',\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'Liste des erreurs',\n WARNING: 'Liste des warnings'\n },\n level: {\n ERROR: 'Erreur',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Attribut {{name}} non reconnu',\n FORMAT: \"Format d'attribut {{name}} incorrect\",\n ELASTIC_SEARCH: \"Erreur d'insertion pour l'élément {{recordId}}\",\n NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',\n FORMAT_FILE_ERROR: \"Le format du fichier transmis n'est pas géré\"\n }\n },\n tooltip: {\n error:\n 'Des erreurs sont apparues lors de l\\'intégration des données dans la solution. Les données ne sont pas accessibles',\n active:\n 'Les données remontées par défaut dans l\\'application correspondent à celles intégrées dans cette version',\n inactive:\n 'Les données de cette version sont disponibles mais non remontées par défaut. Il est possible de les afficher en demandant explicitement cette version.',\n loading: \"Les données sont en cours d'intégration dans la solution\",\n invalid:\n 'Les données de cette version sont présentes dans la solution mais sont non pertinentes. Elles ne sont pas disponibles pour l\\'affichage',\n inValidateButton:\n 'Permet de rendre indisponible les données de la version dans le cas où elles sont considérées comme non pertinente d\\'un point de vue métier. Si la version invalidée est la version active, alors les données récupérées par défaut seront celle de la version \"Disponible\" précédente la plus récente qui passera ainsi au statut \"Active\"',\n validateButton:\n \"Permet de rendre disponible les données de la version dans le cas où elles sont considérées comme pertinente d'un point de vue métier après avoir été invalider. Si la version validée est la plus récente, elle deviendra ainsi la version active et ses données seront celles remontées par défaut\"\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryModalStatusModule,\n PryOverlayModule\n} from '@provoly/dashboard';\nimport { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';\nimport { PryDatasetCardComponent } from './components/dataset-card/dataset-card.component';\nimport { PryDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';\nimport { PryDatasetComponent } from './components/dataset.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryDatasetCssComponent } from './style/css.component';\n\n@NgModule({\n providers: [],\n declarations: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetCardComponent, PryDatasetDetailComponent],\n imports: [\n CommonModule,\n PryIconModule,\n PryCoreModule,\n PryOverlayModule,\n PryI18nModule,\n FormsModule,\n PryDashboardModule,\n PrySinceDateModule,\n PryModalStatusModule\n ],\n exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetCardComponent, PryDatasetDetailComponent]\n})\nexport class PryDatasetModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);\n this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PryDatasetCssComponent","i3","i4","i5.PryDatasetCssComponent","i6.PryDatasetCardComponent","i7.PryDatasetDetailComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provoly-dashboard-dataset.mjs","sources":["../../../../projects/provoly/dashboard/dataset/style/css.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-card/dataset-card.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-card/dataset-card.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.html","../../../../projects/provoly/dashboard/dataset/i18n/en.translations.ts","../../../../projects/provoly/dashboard/dataset/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/dataset/dataset.module.ts","../../../../projects/provoly/dashboard/dataset/provoly-dashboard-dataset.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-dataset-css',\n template: '',\n styleUrls: ['./_o-pry-dataset.scss', './_o-pry-dataset-card.scss', './_o-pry-dataset-detail.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryDatasetCssComponent {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Dataset } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-dataset-card',\n templateUrl: './dataset-card.component.html'\n})\nexport class PryDatasetCardComponent {\n @Input() dataset!: Dataset;\n @Output() consult = new EventEmitter<Dataset>();\n\n goToDetailView() {\n this.consult.emit(this.dataset);\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n <div class=\"o-pry-dataset-card__content\"></div>\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\" (click)=\"goToDetailView()\">\n <pry-icon iconSvg=\"table\"></pry-icon>\n {{ '@pry.dataset.table' | i18n }}\n </button>\n <button class=\"a-btn\" disabled>\n <pry-icon iconSvg=\"download\"></pry-icon>\n {{ '@pry.dataset.export' | i18n }}\n </button>\n <button class=\"a-btn\" disabled>\n {{ '@pry.dataset.api' | i18n }}\n </button>\n </div>\n <div class=\"o-pry-dataset-card__button\">\n <button class=\"a-btn\" (click)=\"goToDetailView()\">Consulter</button>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardSelectors,\n Dataset,\n DatasetVersion,\n DataSourceActions,\n DataSourceSelectors,\n ResultSets,\n SearchActions,\n ViewMode,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { map, Observable } from 'rxjs';\n\nlet nextCompId = 0;\n\n@Component({\n selector: 'pry-dataset-detail',\n templateUrl: './dataset-detail.component.html'\n})\nexport class PryDatasetDetailComponent implements OnInit {\n @Input() dataset!: Dataset;\n @Output() goToCatalog = new EventEmitter();\n widgetManifest = {\n table: {\n header: true,\n locked: true,\n type: 'table',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {},\n datasource: ['']\n },\n map: {\n header: false,\n type: 'map',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {\n layers: [{ type: 'marker' }],\n fit: true\n },\n datasource: ['']\n }\n } as { [key: string]: WidgetManifest };\n protected readonly ViewMode = ViewMode;\n compId: number = 0;\n tab: number = 0;\n\n datasetItems$: Observable<ResultSets | null> | undefined;\n public datasetVersions$!: Observable<DatasetVersion[]>;\n showModalStatus: boolean = false;\n selectedDatasetVersion?: DatasetVersion;\n selectedMode: ViewMode = ViewMode.CONSULT;\n activeVersion$!: Observable<string | undefined>;\n\n constructor(private store: Store) {\n this.compId = nextCompId++;\n }\n\n ngOnInit() {\n this.store.dispatch(SearchActions.getDatasourceItems({ id: this.dataset.id }));\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n this.datasetItems$ = this.store.select(DashboardSelectors.resultSets);\n this.datasetVersions$ = this.store\n .select(DataSourceSelectors.matchingDatasetVersions(this.dataset.id))\n .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));\n this.widgetManifest['table'].datasource = [this.dataset.id];\n this.widgetManifest['map'].datasource = [this.dataset.id];\n this.activeVersion$ = this.datasetVersions$.pipe(\n map(\n (versions) =>\n versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')?.id\n )\n );\n }\n\n goBack() {\n this.goToCatalog.emit();\n }\n\n goToConsult(version: DatasetVersion | undefined): void {\n this.selectedDatasetVersion = version;\n this.showModalStatus = false;\n this.selectedMode = ViewMode.CONSULT;\n }\n\n switch(number: number) {\n this.tab = number;\n }\n\n handleButtonAction(version: DatasetVersion) {\n this.selectedDatasetVersion = version;\n switch (version.state) {\n case 'ERROR':\n this.consultErrors(version);\n break;\n case 'ACTIVE':\n this.deactivateVersion(version);\n break;\n case 'INACTIVE':\n this.activateVersion(version);\n break;\n default:\n break;\n }\n }\n\n consultErrors(version: DatasetVersion) {\n this.selectedDatasetVersion = version;\n this.showModalStatus = true;\n }\n\n private deactivateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.deactivateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n private activateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.activateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n modify(type: string, { manifest }: { manifest: WidgetManifest }) {\n this.widgetManifest[type] = manifest;\n }\n}\n","<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n</div>\n\n<div class=\"dataset-layout__content\">\n <h1 class=\"a-h1\">{{ dataset.name }}</h1>\n <div class=\"dataset-detail\">\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-custo'\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.dataset.data' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.dataset.map' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.dataset.versionHistory' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"tab === 0 || tab === 1\">\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest[tab === 0 ? 'table' : 'map']] }\"></pry-dashboard>\n </div>\n </ng-container>\n <ng-container *ngIf=\"tab === 2\">\n <div class=\"table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(activeVersion$ | async) === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td [pryTooltip]=\"dateTooltip\">\n {{ version.lastModified | sinceDate }}\n <ng-template #dateTooltip>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"dateTooltip\">\n <span class=\"m-tooltip__text\"> {{ version.lastModified | sinceDate : { onlyLocale: true } }}</span>\n </div>\n </ng-template>\n </td>\n <td>\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <ng-container>\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip\">\n <p class=\"a-p\">\n <ng-container [ngSwitch]=\"version.state\">\n <ng-container *ngSwitchCase=\"'ERROR'\">\n {{ '@pry.dataset.tooltip.error' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'ACTIVE'\">\n {{\n ((activeVersion$ | async) === version.id\n ? '@pry.dataset.tooltip.active'\n : '@pry.dataset.tooltip.inactive'\n ) | i18n\n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'LOADING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INDEXING'\">\n {{ '@pry.dataset.tooltip.loading' | i18n }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'INACTIVE'\">\n {{ '@pry.dataset.tooltip.invalid' | i18n }}\n </ng-container>\n </ng-container>\n </p>\n </div>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip validate-tooltip\">\n <p class=\"a-p\">\n {{\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.inValidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"version.hasWarnings && version.state !== 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n ClassActions,\n DashboardActions,\n Dataset,\n DataSourceActions,\n DataSourceSelectors,\n FieldActions,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\n\n@Component({\n selector: 'pry-dataset',\n templateUrl: './dataset.component.html'\n})\nexport class PryDatasetComponent extends SubscriptionnerDirective {\n datasets$: Observable<Dataset[]>;\n selectedDataset: Dataset | null = null;\n selectedMode: ViewMode = ViewMode.CATALOG;\n ViewMode = ViewMode;\n search$ = new BehaviorSubject('');\n filteredDatasets$: Observable<Dataset[]>;\n\n constructor(protected store: Store<any>) {\n super();\n this.store.dispatch(DataSourceActions.load());\n this.store.dispatch(ClassActions.load());\n this.store.dispatch(FieldActions.load());\n this.datasets$ = this.store.select(DataSourceSelectors.datasets);\n this.store.dispatch(DashboardActions.fetchManifestsList());\n this.filteredDatasets$ = combineLatest([this.datasets$, this.search$]).pipe(\n map(([datasets, search]) =>\n datasets\n .filter((dataset) => search.length === 0 || dataset.name.toLowerCase().includes(search.toLowerCase()))\n .sort((a, b) => a.name.localeCompare(b.name))\n )\n );\n this.store.dispatch(DataSourceActions.dataset.listVersions());\n }\n\n consult(dataset: Dataset) {\n this.selectedDataset = dataset;\n this.selectedMode = ViewMode.CONSULT;\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <div class=\"o-pry-dataset__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.dataset.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.dataset.title' | i18n }}</h1>\n <div class=\"o-pry-dataset\">\n <pry-dataset-card\n *ngFor=\"let dataset of filteredDatasets$ | async\"\n [dataset]=\"dataset\"\n (consult)=\"consult($event)\"\n ></pry-dataset-card>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n <ng-template [ngIf]=\"selectedDataset\">\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n </ng-template>\n </ng-container>\n</div>\n","export const enTranslations = {\n '@pry': {\n dataset: {\n title: 'Dataset catalog',\n search: 'Search',\n date: 'Date',\n status: 'Status',\n versionHistory: 'Version history',\n data: 'Data',\n table: 'Table',\n map: 'Map',\n export: 'Export',\n api: 'API',\n returnToList: 'Back to catalog',\n version: {\n title: 'Title',\n INDEXING: 'Loading',\n LOADING: 'Loading',\n INACTIVE: 'Invalid',\n ERROR: 'Error',\n ACTIVE: 'Available',\n currentlyActive: 'Active'\n },\n buttonAction: {\n ACTIVE: 'Invalidate',\n INACTIVE: 'Validate',\n ERROR: 'Consult errors',\n WARNING: 'Consult warnings',\n LOADING: '',\n INDEXING: ''\n },\n error: {\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'List of errors',\n WARNING: 'List of warnings'\n },\n level: {\n ERROR: 'Error',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Unrecognized attribute {{name}}',\n FORMAT: 'Wrong format for attribute {{name}}',\n ELASTIC_SEARCH: 'Insertion error for element {{recordId}}',\n NO_VALUES: 'No value for {{recordId}} line',\n FORMAT_FILE_ERROR: 'Unsupported file format'\n }\n },\n tooltip: {\n error: 'Errors occurred when integrating the data into the solution. The data is not accessible',\n active: 'The data retrieved by default in the application corresponds to the data integrated in this version.',\n inactive:\n 'The data for this version is available but not uploaded by default. It is possible to display them by explicitly requesting this version.',\n loading: 'The data is currently being integrated into the solution',\n invalid:\n 'The data in this version is present in the solution but is not relevant. It is not available are not available for display',\n inValidateButton:\n 'Allows you to make the version\\'s data unavailable if it is considered irrelevant from a business point of view. If the invalidated version is the active version, then the data retrieved by default will be that of the most recent previous \"Available\" version, which will thus change to \"Active\" status.',\n validateButton:\n 'Allows the version\\'s data to be made available if it is considered relevant from a business point of view after having been invalidated. If the validated version is the most recent, it will become the active version and its data will be the default.'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n dataset: {\n title: 'Catalogue des jeux de données',\n search: 'Rechercher',\n date: 'Date',\n status: 'Statut',\n versionHistory: 'Historique de versions',\n data: 'Données',\n table: 'Tableau',\n map: 'Carte',\n export: 'Export',\n api: 'API',\n returnToList: 'Retour au catalogue',\n version: {\n title: 'Intitulé',\n INDEXING: 'En chargement',\n LOADING: 'En chargement',\n INACTIVE: 'Invalide',\n ERROR: 'En erreur',\n ACTIVE: 'Disponible',\n currentlyActive: 'Actif'\n },\n buttonAction: {\n ACTIVE: 'Invalider',\n INACTIVE: 'Valider',\n ERROR: 'Consulter erreurs',\n WARNING: 'Consulter warnings',\n LOADING: '',\n INDEXING: ''\n },\n error: {\n ERROR: 'Erreur',\n WARNING: 'Warning',\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'Liste des erreurs',\n WARNING: 'Liste des warnings'\n },\n level: {\n ERROR: 'Erreur',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Attribut {{name}} non reconnu',\n FORMAT: \"Format d'attribut {{name}} incorrect\",\n ELASTIC_SEARCH: \"Erreur d'insertion pour l'élément {{recordId}}\",\n NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',\n FORMAT_FILE_ERROR: \"Le format du fichier transmis n'est pas géré\"\n }\n },\n tooltip: {\n error:\n 'Des erreurs sont apparues lors de l\\'intégration des données dans la solution. Les données ne sont pas accessibles',\n active:\n 'Les données remontées par défaut dans l\\'application correspondent à celles intégrées dans cette version',\n inactive:\n 'Les données de cette version sont disponibles mais non remontées par défaut. Il est possible de les afficher en demandant explicitement cette version.',\n loading: \"Les données sont en cours d'intégration dans la solution\",\n invalid:\n 'Les données de cette version sont présentes dans la solution mais sont non pertinentes. Elles ne sont pas disponibles pour l\\'affichage',\n inValidateButton:\n 'Permet de rendre indisponible les données de la version dans le cas où elles sont considérées comme non pertinente d\\'un point de vue métier. Si la version invalidée est la version active, alors les données récupérées par défaut seront celle de la version \"Disponible\" précédente la plus récente qui passera ainsi au statut \"Active\"',\n validateButton:\n \"Permet de rendre disponible les données de la version dans le cas où elles sont considérées comme pertinente d'un point de vue métier après avoir été invalider. Si la version validée est la plus récente, elle deviendra ainsi la version active et ses données seront celles remontées par défaut\"\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryModalStatusModule,\n PryOverlayModule\n} from '@provoly/dashboard';\nimport { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';\nimport { PryDatasetCardComponent } from './components/dataset-card/dataset-card.component';\nimport { PryDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';\nimport { PryDatasetComponent } from './components/dataset.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryDatasetCssComponent } from './style/css.component';\n\n@NgModule({\n providers: [],\n declarations: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetCardComponent, PryDatasetDetailComponent],\n imports: [\n CommonModule,\n PryIconModule,\n PryCoreModule,\n PryOverlayModule,\n PryI18nModule,\n FormsModule,\n PryDashboardModule,\n PrySinceDateModule,\n PryModalStatusModule\n ],\n exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetCardComponent, PryDatasetDetailComponent]\n})\nexport class PryDatasetModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);\n this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PryDatasetCssComponent","i3","i4","i5.PryDatasetCssComponent","i6.PryDatasetCardComponent","i7.PryDatasetDetailComponent"],"mappings":";;;;;;;;;;;;;MAQa,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDAJvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sZAAA,EAAA,iTAAA,EAAA,0rCAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,sZAAA,EAAA,iTAAA,EAAA,0rCAAA,CAAA,EAAA,CAAA;;;MCC1B,uBAAuB,CAAA;AAJpC,IAAA,WAAA,GAAA;AAMY,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AAKjD,KAAA;IAHC,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;8GANU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,yHCPpC,u+BA6BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDtBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,u+BAAA,EAAA,CAAA;8BAInB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;AEMT,IAAI,UAAU,GAAG,CAAC,CAAC;MAMN,yBAAyB,CAAA;AAkCpC,IAAA,WAAA,CAAoB,KAAY,EAAA;QAAZ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;AAhCtB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,gBAAA,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,CAAC,EAAE,CAAC;AACjB,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,oBAAA,GAAG,EAAE,IAAI;AACV,iBAAA;gBACD,UAAU,EAAE,CAAC,EAAE,CAAC;AACjB,aAAA;SACmC,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;QACvC,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;QACnB,IAAG,CAAA,GAAA,GAAW,CAAC,CAAC;QAIhB,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AAEjC,QAAA,IAAA,CAAA,YAAY,GAAa,QAAQ,CAAC,OAAO,CAAC;AAIxC,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;KAC5B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK;aAC/B,MAAM,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACpE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC9C,GAAG,CACD,CAAC,QAAQ,KACP,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,EAAE,CACvG,CACF,CAAC;KACH;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,WAAW,CAAC,OAAmC,EAAA;AAC7C,QAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;KACtC;AAED,IAAA,MAAM,CAAC,MAAc,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;KACnB;AAED,IAAA,kBAAkB,CAAC,OAAuB,EAAA;AACxC,QAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACtC,QAAQ,OAAO,CAAC,KAAK;AACnB,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;AACR,YAAA;gBACE,MAAM;AACT,SAAA;KACF;AAED,IAAA,aAAa,CAAC,OAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;AAEO,IAAA,iBAAiB,CAAC,OAAuB,EAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC;AACjD,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;AACtB,SAAA,CAAC,CACH,CAAC;KACH;AAEO,IAAA,eAAe,CAAC,OAAuB,EAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC;AAC/C,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;AACtB,SAAA,CAAC,CACH,CAAC;KACH;AAED,IAAA,MAAM,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAgC,EAAA;AAC7D,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;KACtC;8GA/GU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,mICrBtC,gjOA0KA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDrJa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,gjOAAA,EAAA,CAAA;4FAIrB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;AELH,MAAO,mBAAoB,SAAQ,wBAAwB,CAAA;AAQ/D,IAAA,WAAA,CAAsB,KAAiB,EAAA;AACrC,QAAA,KAAK,EAAE,CAAC;QADY,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QANvC,IAAe,CAAA,eAAA,GAAmB,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,YAAY,GAAa,QAAQ,CAAC,OAAO,CAAC;QAC1C,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;AACpB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAKhC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACzE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,KACrB,QAAQ;aACL,MAAM,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;aACrG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAChD,CACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KAC/D;AAED,IAAA,OAAO,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;KACtC;8GA5BU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,0EClBhC,k+CAuCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDrBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,k+CAAA,EAAA,CAAA;;;AEflB,MAAM,cAAc,GAAG;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,YAAY,EAAE,iBAAiB;AAC/B,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,SAAS;AACnB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,SAAS;AACnB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,eAAe,EAAE,QAAQ;AAC1B,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,YAAY;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,UAAU,EAAE;AACV,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,kBAAkB;AAC5B,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,OAAO,EAAE,SAAS;AACnB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,YAAY,EAAE,iCAAiC;AAC/C,oBAAA,MAAM,EAAE,qCAAqC;AAC7C,oBAAA,cAAc,EAAE,0CAA0C;AAC1D,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,iBAAiB,EAAE,yBAAyB;AAC7C,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,yFAAyF;AAChG,gBAAA,MAAM,EAAE,sGAAsG;AAC9G,gBAAA,QAAQ,EACN,2IAA2I;AAC7I,gBAAA,OAAO,EAAE,0DAA0D;AACnE,gBAAA,OAAO,EACL,4HAA4H;AAC9H,gBAAA,gBAAgB,EACd,gTAAgT;AAClT,gBAAA,cAAc,EACZ,4PAA4P;AAC/P,aAAA;AACF,SAAA;AACF,KAAA;CACF;;ACnEM,MAAM,cAAc,GAAG;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,+BAA+B;AACtC,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,cAAc,EAAE,wBAAwB;AACxC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,YAAY,EAAE,qBAAqB;AACnC,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,QAAQ,EAAE,eAAe;AACzB,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,MAAM,EAAE,YAAY;AACpB,gBAAA,eAAe,EAAE,OAAO;AACzB,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,QAAQ,EAAE,SAAS;AACnB,gBAAA,KAAK,EAAE,mBAAmB;AAC1B,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,UAAU,EAAE;AACV,oBAAA,KAAK,EAAE,mBAAmB;AAC1B,oBAAA,OAAO,EAAE,oBAAoB;AAC9B,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,OAAO,EAAE,SAAS;AACnB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,YAAY,EAAE,+BAA+B;AAC7C,oBAAA,MAAM,EAAE,sCAAsC;AAC9C,oBAAA,cAAc,EAAE,gDAAgD;AAChE,oBAAA,SAAS,EAAE,0CAA0C;AACrD,oBAAA,iBAAiB,EAAE,8CAA8C;AAClE,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EACH,oHAAoH;AACtH,gBAAA,MAAM,EACJ,0GAA0G;AAC5G,gBAAA,QAAQ,EACN,wJAAwJ;AAC1J,gBAAA,OAAO,EAAE,0DAA0D;AACnE,gBAAA,OAAO,EACL,yIAAyI;AAC3I,gBAAA,gBAAgB,EACd,8UAA8U;AAChV,gBAAA,cAAc,EACZ,sSAAsS;AACzS,aAAA;AACF,SAAA;AACF,KAAA;CACF;;MCnCY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,mBAAmC,EAAA;QAAnC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAgB;QACrD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;KACzE;8GAJU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAN,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAdZ,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAE5G,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,aAAa;YACb,WAAW;YACX,kBAAkB;YAClB,kBAAkB;AAClB,YAAA,oBAAoB,aAEZ,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE9F,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAZzB,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,aAAa;YACb,WAAW;YACX,kBAAkB;YAClB,kBAAkB;YAClB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,CAAC;AAC/G,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,aAAa;wBACb,WAAW;wBACX,kBAAkB;wBAClB,kBAAkB;wBAClB,oBAAoB;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,CAAC;AAC3G,iBAAA,CAAA;;;ACnCD;;AAEG;;;;"}
|
|
@@ -5,7 +5,7 @@ import { EventEmitter, Component, Optional, Input, Output, ViewEncapsulation, Te
|
|
|
5
5
|
import * as i4$1 from '@angular/forms';
|
|
6
6
|
import { FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
7
|
import * as i4 from '@provoly/dashboard';
|
|
8
|
-
import { SubscriptionnerDirective, DEFAULT_RESTITUTION_ICON_URL, LibraryTypes, DashboardActions, DashboardGridLayout, DashboardSelectors, ViewMode, PryVisibilityType, ConfigActions, PryIconModule, PryCoreModule, PryDashboardModule, PrySelectModule, PryShareModule, PryOverlayModule, PryI18nModule } from '@provoly/dashboard';
|
|
8
|
+
import { SubscriptionnerDirective, DEFAULT_RESTITUTION_ICON_URL, LibraryTypes, DashboardActions, DashboardGridLayout, DashboardSelectors, ViewMode, PryVisibilityType, DisplayMode, ConfigActions, PryIconModule, PryCoreModule, PryDashboardModule, PrySelectModule, PryShareModule, PryOverlayModule, PryI18nModule } from '@provoly/dashboard';
|
|
9
9
|
import * as i6 from '@provoly/dashboard/components/checkbox';
|
|
10
10
|
import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
11
11
|
import * as i4$2 from '@provoly/dashboard/components/sinceDate';
|
|
@@ -231,6 +231,7 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
231
231
|
initial: staticManifest
|
|
232
232
|
}));
|
|
233
233
|
});
|
|
234
|
+
this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CONSULT }));
|
|
234
235
|
this.store.dispatch(DashboardActions.followManifestRoute());
|
|
235
236
|
this.ngZone.run(() => {
|
|
236
237
|
this.router?.navigateByUrl(this.consultStartUrl);
|
|
@@ -250,12 +251,14 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
250
251
|
viewMode: ViewMode.CREATION
|
|
251
252
|
};
|
|
252
253
|
this.store.dispatch(DashboardActions.selectPresentation(newPresentation));
|
|
254
|
+
this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CREATE }));
|
|
253
255
|
}
|
|
254
256
|
edit(presentation) {
|
|
255
257
|
this.selectedMode = ViewMode.EDITION;
|
|
256
258
|
this.selectedPresentation = presentation;
|
|
257
259
|
this.store.dispatch(DashboardActions.selectPresentation({ presentation: this.selectedPresentation, viewMode: ViewMode.EDITION }));
|
|
258
260
|
this.store.dispatch(DashboardActions.fetchStaticManifest({ id: presentation.id }));
|
|
261
|
+
this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.EDIT }));
|
|
259
262
|
}
|
|
260
263
|
delete(id) {
|
|
261
264
|
this.store.dispatch(DashboardActions.deleteManifest({ id }));
|