@net7/boilerplate-muruca 5.2.13 → 5.2.15
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LayoutDataSource, _t } from '@net7/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { first } from 'rxjs/operators';
|
|
4
|
+
import { helpers } from '@net7/boilerplate-common';
|
|
4
5
|
import 'leaflet.markercluster';
|
|
5
6
|
import linksHelper from '../../helpers/links-helper';
|
|
6
7
|
// demo page: http://localhost:4200/timeline/2992/missione-venezia
|
|
@@ -114,12 +115,40 @@ export class MrTimelineLayoutDS extends LayoutDataSource {
|
|
|
114
115
|
delete res.sections['collection-places'];
|
|
115
116
|
}
|
|
116
117
|
const collections = [];
|
|
118
|
+
const itemPreviewOptions = {
|
|
119
|
+
limit: 100,
|
|
120
|
+
striptags: true
|
|
121
|
+
};
|
|
117
122
|
Object.keys(res.sections).forEach((collection) => {
|
|
118
123
|
if (String(collection).startsWith('collection-')) {
|
|
119
124
|
if (res.sections[collection].items) {
|
|
120
125
|
collections.push({
|
|
121
126
|
items: res.sections[collection].items.map((item) => {
|
|
122
127
|
let anchor;
|
|
128
|
+
if (item.text) {
|
|
129
|
+
// Sanitize HTML tags from the text content
|
|
130
|
+
if (itemPreviewOptions.striptags) {
|
|
131
|
+
item.text = helpers.striptags(item.text);
|
|
132
|
+
}
|
|
133
|
+
// Limit the length of the item preview text content
|
|
134
|
+
if (itemPreviewOptions.limit
|
|
135
|
+
&& (item.text.length > itemPreviewOptions.limit)) {
|
|
136
|
+
item.text = `${item.text.substring(0, itemPreviewOptions.limit)}...`;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const metadata = [];
|
|
140
|
+
if (Array.isArray(item.metadata)) {
|
|
141
|
+
item.metadata.forEach((group) => {
|
|
142
|
+
const metadataItems = [];
|
|
143
|
+
(group.items || []).forEach((metadataItem) => {
|
|
144
|
+
metadataItems.push({
|
|
145
|
+
...metadataItem,
|
|
146
|
+
label: _t(metadataItem.label)
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
metadata.push({ items: metadataItems });
|
|
150
|
+
});
|
|
151
|
+
}
|
|
123
152
|
if (item.routeId) {
|
|
124
153
|
const routeLink = this.localeService
|
|
125
154
|
.getLinkByRouteId(item.routeId, item.id, item.slug);
|
|
@@ -136,10 +165,13 @@ export class MrTimelineLayoutDS extends LayoutDataSource {
|
|
|
136
165
|
}
|
|
137
166
|
return {
|
|
138
167
|
title: item.title,
|
|
168
|
+
text: item.text,
|
|
169
|
+
metadata,
|
|
139
170
|
anchor
|
|
140
171
|
};
|
|
141
172
|
}),
|
|
142
173
|
header: res.sections[collection].header,
|
|
174
|
+
grid: res.sections[collection].grid,
|
|
143
175
|
});
|
|
144
176
|
}
|
|
145
177
|
this.collectionData = collections;
|
|
@@ -197,4 +229,4 @@ export class MrTimelineLayoutDS extends LayoutDataSource {
|
|
|
197
229
|
});
|
|
198
230
|
}
|
|
199
231
|
}
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtbGF5b3V0LmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTdkMsT0FBTyx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQUVyRCxrRUFBa0U7QUFFbEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUF4RDs7UUFtQlMsWUFBTyxHQUFHO1lBQ2YsZUFBZSxFQUFFLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBRUssdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBSXhCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUl0QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU1uQixzQkFBaUIsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQXdPOUQsQ0FBQztJQXJNQyxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFH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QUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSwgX3QgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IEFuY2hvciwgSXRlbVByZXZpZXdEYXRhLCBUaW1lbGluZURhdGEgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IFRpbWVsaW5lIH0gZnJvbSAndmlzLXRpbWVsaW5lJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIENvbW11bmljYXRpb25TZXJ2aWNlLFxuICBNYWluU3RhdGVTZXJ2aWNlLFxufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1yTGF5b3V0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0IHsgR2V0UmVzb3VyY2VSZXNwb25zZSB9IGZyb20gJy4vdGltZWxpbmUtbGF5b3V0LnR5cGVzJztcbmltcG9ydCB7IE1yTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCBsaW5rc0hlbHBlciBmcm9tICcuLi8uLi9oZWxwZXJzL2xpbmtzLWhlbHBlcic7XG5cbi8vIGRlbW8gcGFnZTogaHR0cDovL2xvY2FsaG9zdDo0MjAwL3RpbWVsaW5lLzI5OTIvbWlzc2lvbmUtdmVuZXppYVxuXG5leHBvcnQgY2xhc3MgTXJUaW1lbGluZUxheW91dERTIGV4dGVuZHMgTGF5b3V0RGF0YVNvdXJjZSB7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZTtcblxuICBwcml2YXRlIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZTtcblxuICBwcml2YXRlIGxheW91dFN0YXRlOiBNckxheW91dFN0YXRlU2VydmljZTtcblxuICBwcml2YXRlIHJvdXRlcjogUm91dGVyO1xuXG4gIHByaXZhdGUgY29uZmlnSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHBhZ2VDb25maWc7XG5cbiAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb247XG5cbiAgcHVibGljIGxvYWRpbmcgPSB7XG4gICAgcmVzb3VyY2VEZXRhaWxzOiB0cnVlLFxuICAgIHRpbWVsaW5lOiB0cnVlLFxuICB9O1xuXG4gIHB1YmxpYyBkZWZhdWx0RGVzY3JpcHRpb24gPSAnJztcblxuICBwdWJsaWMgZXZlbnRIZWFkZXI6IHN0cmluZztcblxuICBwdWJsaWMgZXZlbnREZXNjcmlwdGlvbiA9ICcnO1xuXG4gIHB1YmxpYyB0aW1lbGluZURhdGE6IFRpbWVsaW5lRGF0YTtcblxuICBwdWJsaWMgaGFzTWFwID0gZmFsc2U7XG5cbiAgcHVibGljIGhhc0dhbGxlcnkgPSBmYWxzZTtcblxuICBwdWJsaWMgcm91dGU7XG5cbiAgcHVibGljIG1hcEhlYWRlcjtcblxuICBwdWJsaWMgdGltZWxpbmVMaXN0ZW5lciQ6IFN1YmplY3Q8VGltZWxpbmU+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwdWJsaWMgYmlibGlvZ3JhcGh5RGF0YToge1xuICAgIGhlYWRlcjogeyB0aXRsZTogc3RyaW5nIH07XG4gICAgaXRlbXM6IHtcbiAgICAgIHBheWxvYWQ/OiB7XG4gICAgICAgIGFjdGlvbjogc3RyaW5nO1xuICAgICAgICBpZDogbnVtYmVyO1xuICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgdGV4dD86IHN0cmluZztcbiAgICB9W107XG4gIH07XG5cbiAgcHVibGljIGNvbGxlY3Rpb25Xb3Jrc0RhdGE6IHtcbiAgICBoZWFkZXI6IHsgdGl0bGU6IHN0cmluZyB9O1xuICAgIGl0ZW1zOiBJdGVtUHJldmlld0RhdGFbXTtcbiAgfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbldpdG5lc3NEYXRhOiB7XG4gICAgaGVhZGVyOiB7IHRpdGxlOiBzdHJpbmcgfTtcbiAgICBpdGVtczogSXRlbVByZXZpZXdEYXRhW107XG4gIH07XG5cbiAgcHVibGljIGNvbGxlY3Rpb25Cb29rc0RhdGE6IHtcbiAgICBoZWFkZXI6IHsgdGl0bGU6IHN0cmluZyB9O1xuICAgIGl0ZW1zOiBJdGVtUHJldmlld0RhdGFbXTtcbiAgfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbkRhdGE6IGFueTtcblxuICBwdWJsaWMgY29sbGVjdGlvbkdhbGxlcnlEYXRhO1xuXG4gIHB1YmxpYyBldmVudFRpdGxlOiBzdHJpbmc7XG5cbiAgb25Jbml0KHBheWxvYWQpIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBwYXlsb2FkLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gcGF5bG9hZC5jb21tdW5pY2F0aW9uO1xuICAgIHRoaXMucm91dGUgPSBwYXlsb2FkLnJvdXRlO1xuICAgIHRoaXMucm91dGVyID0gcGF5bG9hZC5yb3V0ZXI7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlID0gcGF5bG9hZC5sb2NhbGVTZXJ2aWNlO1xuICAgIHRoaXMubG9jYXRpb24gPSBwYXlsb2FkLmxvY2F0aW9uO1xuXG4gICAgdGhpcy5jb25maWdJZCA9IHBheWxvYWQuY29uZmlnSWQ7XG4gICAgdGhpcy5wYWdlQ29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCh0aGlzLmNvbmZpZ0lkKSB8fCB7fTtcblxuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgdGltZWxpbmVcbiAgICB0aGlzLmxvYWRpbmcudGltZWxpbmUgPSB0cnVlO1xuICAgIHRoaXMuY29tbXVuaWNhdGlvblxuICAgICAgLnJlcXVlc3QkKCd0aW1lbGluZScsIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgICAgIG9uRXJyb3I6IChlKSA9PiBjb25zb2xlLmVycm9yKGUpLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKGQpID0+IHtcbiAgICAgICAgdGhpcy50aW1lbGluZURhdGEgPSBkO1xuICAgICAgICB0aGlzLmxvYWRpbmcudGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbmUoJ21yLXRpbWVsaW5lJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICAgICAgbGliT3B0aW9uczogdGhpcy5wYWdlQ29uZmlnLmxpYk9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uZSgnbXItdGltZWxpbmUnKS51cGRhdGUoZCk7XG4gICAgICAgIHRoaXMubG9hZGluZy50aW1lbGluZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgdGhpcy5nZXRXaWRnZXREYXRhU291cmNlKCdtci10aW1lbGluZScpXG4gICAgICAudGltZWxpbmVMb2FkZWQkLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHRpbWVsaW5lOiBUaW1lbGluZSkgPT4ge1xuICAgICAgICB0aGlzLnRpbWVsaW5lTGlzdGVuZXIkLm5leHQodGltZWxpbmUpO1xuICAgICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGRlc2NyaXB0aW9uXG4gICAgdGhpcy5jb21tdW5pY2F0aW9uXG4gICAgICAucmVxdWVzdCQoJ3RpbWVsaW5lRGVzY3JpcHRpb24nLCB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHVybFBhcmFtczogbG9jYWxlID8gYD9sb2NhbGU9JHtsb2NhbGV9YCA6ICcnLFxuICAgICAgICBvbkVycm9yOiAoZSkgPT4gY29uc29sZS5lcnJvcihlKSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChkKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdERlc2NyaXB0aW9uID0gZC50ZXh0O1xuICAgICAgICB0aGlzLmxvYWREZWZhdWx0cyhmYWxzZSk7XG4gICAgICB9KTtcblxuICAgIC8vIHNldCBtYXAgaGVhZGVyXG4gICAgdGhpcy5tYXBIZWFkZXIgPSBfdCh0aGlzLnBhZ2VDb25maWcubWFwSGVhZGVyKTtcbiAgfVxuXG4gIGxvYWREZWZhdWx0cyhuYXZpZ2F0ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHRpbWVsaW5lSW5zdGFuY2UgPSB0aGlzLmdldFdpZGdldERhdGFTb3VyY2UoJ21yLXRpbWVsaW5lJylcbiAgICAgIC50aW1lbGluZSBhcyBUaW1lbGluZTtcbiAgICBpZiAodGltZWxpbmVJbnN0YW5jZSkge1xuICAgICAgdGltZWxpbmVJbnN0YW5jZS5zZXRTZWxlY3Rpb24oW10pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50RGVzY3JpcHRpb24gPSB0aGlzLmRlZmF1bHREZXNjcmlwdGlvbjtcbiAgICB0aGlzLmV2ZW50SGVhZGVyID0gJyc7XG4gICAgdGhpcy5oYXNNYXAgPSBmYWxzZTtcbiAgICB0aGlzLmJpYmxpb2dyYXBoeURhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jb2xsZWN0aW9uV2l0bmVzc0RhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jb2xsZWN0aW9uV29ya3NEYXRhID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY29sbGVjdGlvbkJvb2tzRGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNvbGxlY3Rpb25HYWxsZXJ5RGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNvbGxlY3Rpb25EYXRhID0gW107XG4gICAgaWYgKG5hdmlnYXRlKSB7XG4gICAgICBjb25zdCBocmVmID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExpbmtCeVJvdXRlSWQoJ3RpbWVsaW5lJyk7XG4gICAgICB0aGlzLmxvY2F0aW9uLmdvKGhyZWYpO1xuICAgIH1cbiAgICB0aGlzLm9uZSgnbXIteWVhci1oZWFkZXInKS51cGRhdGUoe1xuICAgICAgdGl0bGU6IHsgbWFpbjogeyB0ZXh0OiBfdCh0aGlzLnBhZ2VDb25maWcudGl0bGUpIH0gfSxcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVBhZ2VEZXRhaWxzKGlkKSB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZSgpO1xuICAgIHRoaXMuY29tbXVuaWNhdGlvblxuICAgICAgLnJlcXVlc3QkKCdyZXNvdXJjZScsIHtcbiAgICAgICAgb25FcnJvcjogKGUpID0+IGNvbnNvbGUuZXJyb3IoZSksXG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICB1cmxQYXJhbXM6IGxvY2FsZSA/IGA/bG9jYWxlPSR7bG9jYWxlfWAgOiAnJyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdHlwZTogJ3ZpZXdzL3RpbWUtZXZlbnRzJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IEdldFJlc291cmNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgLy8gYW55XG4gICAgICAgIGlmICghcmVzIHx8IHJlcyA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgICAgICAgXCJjb2xsZWN0aW9uLWJpYmxpb2dyYXBoeVwiOiBiaWJEYXRhLFxuICAgICAgICAgIFwiY29sbGVjdGlvbi1wbGFjZXNcIjogcGxhY2VzRGF0YSxcbiAgICAgICAgICBnYWxsZXJ5LFxuICAgICAgICAgIGhlYWRlcixcbiAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovXG4gICAgICAgIH0gPSByZXMuc2VjdGlvbnM7XG5cbiAgICAgICAgaWYgKHJlcy5zZWN0aW9uc1snY29sbGVjdGlvbi1iaWJsaW9ncmFwaHknXSkge1xuICAgICAgICAgIGRlbGV0ZSByZXMuc2VjdGlvbnNbJ2NvbGxlY3Rpb24tYmlibGlvZ3JhcGh5J107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcy5zZWN0aW9uc1snY29sbGVjdGlvbi1wbGFjZXMnXSkge1xuICAgICAgICAgIGRlbGV0ZSByZXMuc2VjdGlvbnNbJ2NvbGxlY3Rpb24tcGxhY2VzJ107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29sbGVjdGlvbnMgPSBbXTtcbiAgICAgICAgT2JqZWN0LmtleXMocmVzLnNlY3Rpb25zKS5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKFN0cmluZyhjb2xsZWN0aW9uKS5zdGFydHNXaXRoKCdjb2xsZWN0aW9uLScpKSB7XG4gICAgICAgICAgICBpZiAocmVzLnNlY3Rpb25zW2NvbGxlY3Rpb25dLml0ZW1zKSB7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZW1zOiByZXMuc2VjdGlvbnNbY29sbGVjdGlvbl0uaXRlbXMubWFwKFxuICAgICAgICAgICAgICAgICAgKGl0ZW06IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgbGluazogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlSWQ/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcz86IG9iamVjdDtcbiAgICAgICAgICAgICAgICAgICAgc2x1Zz86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgIH0pOiBJdGVtUHJldmlld0RhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYW5jaG9yOiBBbmNob3I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnJvdXRlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZUxpbmsgPSB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRMaW5rQnlSb3V0ZUlkKGl0ZW0ucm91dGVJZCwgaXRlbS5pZCwgaXRlbS5zbHVnKTtcbiAgICAgICAgICAgICAgICAgICAgICBhbmNob3IgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiByb3V0ZUxpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogaXRlbS5wYXJhbXMgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgICAgICAgIGFuY2hvciA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IGxpbmtzSGVscGVyLmdldFJvdXRlckxpbmsoaXRlbS5saW5rKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBsaW5rc0hlbHBlci5nZXRRdWVyeVBhcmFtcyhpdGVtLmxpbmspLFxuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICBhbmNob3JcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogcmVzLnNlY3Rpb25zW2NvbGxlY3Rpb25dLmhlYWRlcixcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25EYXRhID0gY29sbGVjdGlvbnM7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZ2FsbGVyeSkge1xuICAgICAgICAgIC8vIHRoaXMuY29sbGVjdGlvbkdhbGxlcnlEYXRhID0gZ2FsbGVyeTtcbiAgICAgICAgICB0aGlzLmhhc0dhbGxlcnkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMub25lKCdtci1nYWxsZXJ5JykudXBkYXRlKGdhbGxlcnkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbkdhbGxlcnlEYXRhID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGVzY3JpcHRpb24gPSBoZWFkZXIuY29udGVudDtcbiAgICAgICAgICB0aGlzLmV2ZW50SGVhZGVyID0gcmVzLnRpdGxlO1xuICAgICAgICAgIHRoaXMub25lKCdtci15ZWFyLWhlYWRlcicpLnVwZGF0ZSh7XG4gICAgICAgICAgICB0aXRsZTogeyBtYWluOiB7IHRleHQ6IGhlYWRlci50aXRsZSB9IH0sXG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgIGljb246ICduNy1pY29uLWNsb3NlJyxcbiAgICAgICAgICAgICAgICAgIGFuY2hvcjoge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiAnY2xvc2VidXR0b24nLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGxhY2VzRGF0YSkge1xuICAgICAgICAgIHRoaXMuaGFzTWFwID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm9uZSgnbXItbWFwJykudXBkYXRlKHBsYWNlc0RhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGFzTWFwID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJpYkRhdGEpIHtcbiAgICAgICAgICB0aGlzLmJpYmxpb2dyYXBoeURhdGEgPSB7XG4gICAgICAgICAgICBoZWFkZXI6IGJpYkRhdGEuaGVhZGVyLFxuICAgICAgICAgICAgaXRlbXM6IGJpYkRhdGEuaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICBhbmNob3I6IHtcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiBpdGVtLnBheWxvYWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNsYXNzZXM6ICdtci1pdGVtLXByZXZpZXctYmlibGlvZ3JhcGh5JyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYmlibGlvZ3JhcGh5RGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcucmVzb3VyY2VEZXRhaWxzID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtbGF5b3V0LmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUlMLE9BQU8sRUFDUixNQUFNLDBCQUEwQixDQUFDO0FBSWxDLE9BQU8sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxXQUFXLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsa0VBQWtFO0FBRWxFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFBZ0I7SUFBeEQ7O1FBbUJTLFlBQU8sR0FBRztZQUNmLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUVLLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUl4QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFJdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFNbkIsc0JBQWlCLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7SUF5UTlELENBQUM7SUF0T0MsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9B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QUFNO29CQUN0QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ2xDLEdBQUcsSUFBSTt3QkFDUCxNQUFNLEVBQUU7NEJBQ04sT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3lCQUN0Qjt3QkFDRCxPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxDQUFDLENBQUM7aUJBQ0osQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXREYXRhU291cmNlLCBfdCB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHtcbiAgQW5jaG9yLCBJdGVtUHJldmlld0RhdGEsIE1ldGFkYXRhR3JvdXAsIFRpbWVsaW5lRGF0YVxufSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IFRpbWVsaW5lIH0gZnJvbSAndmlzLXRpbWVsaW5lJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIENvbW11bmljYXRpb25TZXJ2aWNlLFxuICBNYWluU3RhdGVTZXJ2aWNlLFxuICBoZWxwZXJzXG59IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgeyBHZXRSZXNvdXJjZVJlc3BvbnNlIH0gZnJvbSAnLi90aW1lbGluZS1sYXlvdXQudHlwZXMnO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IGxpbmtzSGVscGVyIGZyb20gJy4uLy4uL2hlbHBlcnMvbGlua3MtaGVscGVyJztcblxuLy8gZGVtbyBwYWdlOiBodHRwOi8vbG9jYWxob3N0OjQyMDAvdGltZWxpbmUvMjk5Mi9taXNzaW9uZS12ZW5lemlhXG5cbmV4cG9ydCBjbGFzcyBNclRpbWVsaW5lTGF5b3V0RFMgZXh0ZW5kcyBMYXlvdXREYXRhU291cmNlIHtcbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBwcml2YXRlIGNvbW11bmljYXRpb246IENvbW11bmljYXRpb25TZXJ2aWNlO1xuXG4gIHByaXZhdGUgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgbGF5b3V0U3RhdGU6IE1yTGF5b3V0U3RhdGVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgcm91dGVyOiBSb3V0ZXI7XG5cbiAgcHJpdmF0ZSBjb25maWdJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcGFnZUNvbmZpZztcblxuICBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IE1yTG9jYWxlU2VydmljZTtcblxuICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbjtcblxuICBwdWJsaWMgbG9hZGluZyA9IHtcbiAgICByZXNvdXJjZURldGFpbHM6IHRydWUsXG4gICAgdGltZWxpbmU6IHRydWUsXG4gIH07XG5cbiAgcHVibGljIGRlZmF1bHREZXNjcmlwdGlvbiA9ICcnO1xuXG4gIHB1YmxpYyBldmVudEhlYWRlcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBldmVudERlc2NyaXB0aW9uID0gJyc7XG5cbiAgcHVibGljIHRpbWVsaW5lRGF0YTogVGltZWxpbmVEYXRhO1xuXG4gIHB1YmxpYyBoYXNNYXAgPSBmYWxzZTtcblxuICBwdWJsaWMgaGFzR2FsbGVyeSA9IGZhbHNlO1xuXG4gIHB1YmxpYyByb3V0ZTtcblxuICBwdWJsaWMgbWFwSGVhZGVyO1xuXG4gIHB1YmxpYyB0aW1lbGluZUxpc3RlbmVyJDogU3ViamVjdDxUaW1lbGluZT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBiaWJsaW9ncmFwaHlEYXRhOiB7XG4gICAgaGVhZGVyOiB7IHRpdGxlOiBzdHJpbmcgfTtcbiAgICBpdGVtczoge1xuICAgICAgcGF5bG9hZD86IHtcbiAgICAgICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgICAgIGlkOiBudW1iZXI7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgIH07XG4gICAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIH1bXTtcbiAgfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbldvcmtzRGF0YToge1xuICAgIGhlYWRlcjogeyB0aXRsZTogc3RyaW5nIH07XG4gICAgaXRlbXM6IEl0ZW1QcmV2aWV3RGF0YVtdO1xuICB9O1xuXG4gIHB1YmxpYyBjb2xsZWN0aW9uV2l0bmVzc0RhdGE6IHtcbiAgICBoZWFkZXI6IHsgdGl0bGU6IHN0cmluZyB9O1xuICAgIGl0ZW1zOiBJdGVtUHJldmlld0RhdGFbXTtcbiAgfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbkJvb2tzRGF0YToge1xuICAgIGhlYWRlcjogeyB0aXRsZTogc3RyaW5nIH07XG4gICAgaXRlbXM6IEl0ZW1QcmV2aWV3RGF0YVtdO1xuICB9O1xuXG4gIHB1YmxpYyBjb2xsZWN0aW9uRGF0YTogYW55O1xuXG4gIHB1YmxpYyBjb2xsZWN0aW9uR2FsbGVyeURhdGE7XG5cbiAgcHVibGljIGV2ZW50VGl0bGU6IHN0cmluZztcblxuICBvbkluaXQocGF5bG9hZCkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHBheWxvYWQuY29uZmlndXJhdGlvbjtcbiAgICB0aGlzLmNvbW11bmljYXRpb24gPSBwYXlsb2FkLmNvbW11bmljYXRpb247XG4gICAgdGhpcy5yb3V0ZSA9IHBheWxvYWQucm91dGU7XG4gICAgdGhpcy5yb3V0ZXIgPSBwYXlsb2FkLnJvdXRlcjtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UgPSBwYXlsb2FkLmxvY2FsZVNlcnZpY2U7XG4gICAgdGhpcy5sb2NhdGlvbiA9IHBheWxvYWQubG9jYXRpb247XG5cbiAgICB0aGlzLmNvbmZpZ0lkID0gcGF5bG9hZC5jb25maWdJZDtcbiAgICB0aGlzLnBhZ2VDb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMuY29uZmlnSWQpIHx8IHt9O1xuXG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSB0aW1lbGluZVxuICAgIHRoaXMubG9hZGluZy50aW1lbGluZSA9IHRydWU7XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uXG4gICAgICAucmVxdWVzdCQoJ3RpbWVsaW5lJywge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmxQYXJhbXM6IGxvY2FsZSA/IGA/bG9jYWxlPSR7bG9jYWxlfWAgOiAnJyxcbiAgICAgICAgb25FcnJvcjogKGUpID0+IGNvbnNvbGUuZXJyb3IoZSksXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoZCkgPT4ge1xuICAgICAgICB0aGlzLnRpbWVsaW5lRGF0YSA9IGQ7XG4gICAgICAgIHRoaXMubG9hZGluZy50aW1lbGluZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uZSgnbXItdGltZWxpbmUnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgICBsaWJPcHRpb25zOiB0aGlzLnBhZ2VDb25maWcubGliT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25lKCdtci10aW1lbGluZScpLnVwZGF0ZShkKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnRpbWVsaW5lID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB0aGlzLmdldFdpZGdldERhdGFTb3VyY2UoJ21yLXRpbWVsaW5lJylcbiAgICAgIC50aW1lbGluZUxvYWRlZCQucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgodGltZWxpbmU6IFRpbWVsaW5lKSA9PiB7XG4gICAgICAgIHRoaXMudGltZWxpbmVMaXN0ZW5lciQubmV4dCh0aW1lbGluZSk7XG4gICAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgZGVzY3JpcHRpb25cbiAgICB0aGlzLmNvbW11bmljYXRpb25cbiAgICAgIC5yZXF1ZXN0JCgndGltZWxpbmVEZXNjcmlwdGlvbicsIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsUGFyYW1zOiBsb2NhbGUgPyBgP2xvY2FsZT0ke2xvY2FsZX1gIDogJycsXG4gICAgICAgIG9uRXJyb3I6IChlKSA9PiBjb25zb2xlLmVycm9yKGUpLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKGQpID0+IHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RGVzY3JpcHRpb24gPSBkLnRleHQ7XG4gICAgICAgIHRoaXMubG9hZERlZmF1bHRzKGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gc2V0IG1hcCBoZWFkZXJcbiAgICB0aGlzLm1hcEhlYWRlciA9IF90KHRoaXMucGFnZUNvbmZpZy5tYXBIZWFkZXIpO1xuICB9XG5cbiAgbG9hZERlZmF1bHRzKG5hdmlnYXRlOiBib29sZWFuKSB7XG4gICAgY29uc3QgdGltZWxpbmVJbnN0YW5jZSA9IHRoaXMuZ2V0V2lkZ2V0RGF0YVNvdXJjZSgnbXItdGltZWxpbmUnKVxuICAgICAgLnRpbWVsaW5lIGFzIFRpbWVsaW5lO1xuICAgIGlmICh0aW1lbGluZUluc3RhbmNlKSB7XG4gICAgICB0aW1lbGluZUluc3RhbmNlLnNldFNlbGVjdGlvbihbXSk7XG4gICAgfVxuICAgIHRoaXMuZXZlbnREZXNjcmlwdGlvbiA9IHRoaXMuZGVmYXVsdERlc2NyaXB0aW9uO1xuICAgIHRoaXMuZXZlbnRIZWFkZXIgPSAnJztcbiAgICB0aGlzLmhhc01hcCA9IGZhbHNlO1xuICAgIHRoaXMuYmlibGlvZ3JhcGh5RGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNvbGxlY3Rpb25XaXRuZXNzRGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNvbGxlY3Rpb25Xb3Jrc0RhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jb2xsZWN0aW9uQm9va3NEYXRhID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY29sbGVjdGlvbkdhbGxlcnlEYXRhID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY29sbGVjdGlvbkRhdGEgPSBbXTtcbiAgICBpZiAobmF2aWdhdGUpIHtcbiAgICAgIGNvbnN0IGhyZWYgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TGlua0J5Um91dGVJZCgndGltZWxpbmUnKTtcbiAgICAgIHRoaXMubG9jYXRpb24uZ28oaHJlZik7XG4gICAgfVxuICAgIHRoaXMub25lKCdtci15ZWFyLWhlYWRlcicpLnVwZGF0ZSh7XG4gICAgICB0aXRsZTogeyBtYWluOiB7IHRleHQ6IF90KHRoaXMucGFnZUNvbmZpZy50aXRsZSkgfSB9LFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlUGFnZURldGFpbHMoaWQpIHtcbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlKCk7XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uXG4gICAgICAucmVxdWVzdCQoJ3Jlc291cmNlJywge1xuICAgICAgICBvbkVycm9yOiAoZSkgPT4gY29uc29sZS5lcnJvcihlKSxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIHVybFBhcmFtczogbG9jYWxlID8gYD9sb2NhbGU9JHtsb2NhbGV9YCA6ICcnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0eXBlOiAndmlld3MvdGltZS1ldmVudHMnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogR2V0UmVzb3VyY2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAvLyBhbnlcbiAgICAgICAgaWYgKCFyZXMgfHwgcmVzID09IG51bGwpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBcImNvbGxlY3Rpb24tYmlibGlvZ3JhcGh5XCI6IGJpYkRhdGEsXG4gICAgICAgICAgXCJjb2xsZWN0aW9uLXBsYWNlc1wiOiBwbGFjZXNEYXRhLFxuICAgICAgICAgIGdhbGxlcnksXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgICAgfSA9IHJlcy5zZWN0aW9ucztcblxuICAgICAgICBpZiAocmVzLnNlY3Rpb25zWydjb2xsZWN0aW9uLWJpYmxpb2dyYXBoeSddKSB7XG4gICAgICAgICAgZGVsZXRlIHJlcy5zZWN0aW9uc1snY29sbGVjdGlvbi1iaWJsaW9ncmFwaHknXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzLnNlY3Rpb25zWydjb2xsZWN0aW9uLXBsYWNlcyddKSB7XG4gICAgICAgICAgZGVsZXRlIHJlcy5zZWN0aW9uc1snY29sbGVjdGlvbi1wbGFjZXMnXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb2xsZWN0aW9ucyA9IFtdO1xuICAgICAgICBjb25zdCBpdGVtUHJldmlld09wdGlvbnMgPSB7XG4gICAgICAgICAgbGltaXQ6IDEwMCxcbiAgICAgICAgICBzdHJpcHRhZ3M6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmtleXMocmVzLnNlY3Rpb25zKS5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKFN0cmluZyhjb2xsZWN0aW9uKS5zdGFydHNXaXRoKCdjb2xsZWN0aW9uLScpKSB7XG4gICAgICAgICAgICBpZiAocmVzLnNlY3Rpb25zW2NvbGxlY3Rpb25dLml0ZW1zKSB7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGl0ZW1zOiByZXMuc2VjdGlvbnNbY29sbGVjdGlvbl0uaXRlbXMubWFwKFxuICAgICAgICAgICAgICAgICAgKGl0ZW06IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgbGluazogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgcm91dGVJZD86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zPzogb2JqZWN0O1xuICAgICAgICAgICAgICAgICAgICBzbHVnPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgfSk6IEl0ZW1QcmV2aWV3RGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBhbmNob3I6IEFuY2hvcjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIFNhbml0aXplIEhUTUwgdGFncyBmcm9tIHRoZSB0ZXh0IGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVByZXZpZXdPcHRpb25zLnN0cmlwdGFncykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50ZXh0ID0gaGVscGVycy5zdHJpcHRhZ3MoaXRlbS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgLy8gTGltaXQgdGhlIGxlbmd0aCBvZiB0aGUgaXRlbSBwcmV2aWV3IHRleHQgY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtUHJldmlld09wdGlvbnMubGltaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICYmIChpdGVtLnRleHQubGVuZ3RoID4gaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50ZXh0ID0gYCR7aXRlbS50ZXh0LnN1YnN0cmluZygwLCBpdGVtUHJldmlld09wdGlvbnMubGltaXQpfS4uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhOiBNZXRhZGF0YUdyb3VwW10gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5tZXRhZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLm1ldGFkYXRhLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXRhZGF0YUl0ZW1zID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXAuaXRlbXMgfHwgW10pLmZvckVhY2goKG1ldGFkYXRhSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YUl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm1ldGFkYXRhSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogX3QobWV0YWRhdGFJdGVtLmxhYmVsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEucHVzaCh7IGl0ZW1zOiBtZXRhZGF0YUl0ZW1zIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnJvdXRlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZUxpbmsgPSB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRMaW5rQnlSb3V0ZUlkKGl0ZW0ucm91dGVJZCwgaXRlbS5pZCwgaXRlbS5zbHVnKTtcbiAgICAgICAgICAgICAgICAgICAgICBhbmNob3IgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiByb3V0ZUxpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogaXRlbS5wYXJhbXMgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgICAgICAgIGFuY2hvciA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IGxpbmtzSGVscGVyLmdldFJvdXRlckxpbmsoaXRlbS5saW5rKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBsaW5rc0hlbHBlci5nZXRRdWVyeVBhcmFtcyhpdGVtLmxpbmspLFxuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgYW5jaG9yXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHJlcy5zZWN0aW9uc1tjb2xsZWN0aW9uXS5oZWFkZXIsXG4gICAgICAgICAgICAgICAgZ3JpZDogcmVzLnNlY3Rpb25zW2NvbGxlY3Rpb25dLmdyaWQsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9uRGF0YSA9IGNvbGxlY3Rpb25zO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGdhbGxlcnkpIHtcbiAgICAgICAgICAvLyB0aGlzLmNvbGxlY3Rpb25HYWxsZXJ5RGF0YSA9IGdhbGxlcnk7XG4gICAgICAgICAgdGhpcy5oYXNHYWxsZXJ5ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm9uZSgnbXItZ2FsbGVyeScpLnVwZGF0ZShnYWxsZXJ5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25HYWxsZXJ5RGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgdGhpcy5ldmVudERlc2NyaXB0aW9uID0gaGVhZGVyLmNvbnRlbnQ7XG4gICAgICAgICAgdGhpcy5ldmVudEhlYWRlciA9IHJlcy50aXRsZTtcbiAgICAgICAgICB0aGlzLm9uZSgnbXIteWVhci1oZWFkZXInKS51cGRhdGUoe1xuICAgICAgICAgICAgdGl0bGU6IHsgbWFpbjogeyB0ZXh0OiBoZWFkZXIudGl0bGUgfSB9LFxuICAgICAgICAgICAgYWN0aW9uczoge1xuICAgICAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnbjctaWNvbi1jbG9zZScsXG4gICAgICAgICAgICAgICAgICBhbmNob3I6IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogJ2Nsb3NlYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlc0RhdGEpIHtcbiAgICAgICAgICB0aGlzLmhhc01hcCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5vbmUoJ21yLW1hcCcpLnVwZGF0ZShwbGFjZXNEYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmhhc01hcCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChiaWJEYXRhKSB7XG4gICAgICAgICAgdGhpcy5iaWJsaW9ncmFwaHlEYXRhID0ge1xuICAgICAgICAgICAgaGVhZGVyOiBiaWJEYXRhLmhlYWRlcixcbiAgICAgICAgICAgIGl0ZW1zOiBiaWJEYXRhLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgYW5jaG9yOiB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZDogaXRlbS5wYXlsb2FkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjbGFzc2VzOiAnbXItaXRlbS1wcmV2aWV3LWJpYmxpb2dyYXBoeScsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmJpYmxpb2dyYXBoeURhdGEgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkaW5nLnJlc291cmNlRGV0YWlscyA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -65,10 +65,10 @@ export class MrTimelineLayoutComponent extends AbstractLayout {
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrTimelineLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i3.MrLayoutStateService }, { token: i4.MrResourceModalService }, { token: i5.MrLocaleService }, { token: i6.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrTimelineLayoutComponent, selector: "mr-timeline-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.TimelineComponent, selector: "n7-timeline", inputs: ["data", "emit"] }, { kind: "component", type: i8.MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrTimelineLayoutComponent, selector: "mr-timeline-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content {{ coll.grid ? 'n7-grid-' + coll.grid : 'n7-grid-3' }}\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.TimelineComponent, selector: "n7-timeline", inputs: ["data", "emit"] }, { kind: "component", type: i8.MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
69
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrTimelineLayoutComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
|
-
args: [{ selector: 'mr-timeline-layout', template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
72
|
+
args: [{ selector: 'mr-timeline-layout', template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content {{ coll.grid ? 'n7-grid-' + coll.grid : 'n7-grid-3' }}\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
73
73
|
}], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i3.MrLayoutStateService }, { type: i4.MrResourceModalService }, { type: i5.MrLocaleService }, { type: i6.Location }] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBSWxDLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBRTlELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQUM7QUFNRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztJQUczRCxZQUNFLG9CQUFpRCxFQUN6QyxLQUFxQixFQUNyQixNQUFjLEVBQ2QsYUFBbUMsRUFDbkMsYUFBbUMsRUFDbkMsU0FBMkIsRUFDNUIsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsYUFBOEIsRUFDOUIsUUFBa0I7UUFFekIsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBVjVELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHM0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsRUFBRSxFQUFFLFlBQVk7WUFDaEIsVUFBVSxFQUFFLGNBQWMsQ0FBQyxPQUFPO1lBQ2xDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBckRVLHlCQUF5QjttR0FBekIseUJBQXlCLGlGQzdCdEMsdWpIQWlHQTs7NEZEcEVhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TGF5b3V0LFxuICBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZVxufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc291cmNlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNclRpbWVsaW5lTGF5b3V0Q29uZmlnIGFzIGNvbmZpZyB9IGZyb20gJy4vdGltZWxpbmUtbGF5b3V0LmNvbmZpZyc7XG5pbXBvcnQgeyBNckxvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBNckdhbGxlcnlEUyB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcy9nYWxsZXJ5LmRzJztcbmltcG9ydCB7IE1yR2FsbGVyeUVIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMvZ2FsbGVyeS5laCc7XG5cbmNvbnN0IERBVEFTT1VSQ0VfTUFQID0ge1xuICBnYWxsZXJ5OiBNckdhbGxlcnlEU1xufTtcblxuY29uc3QgRVZFTlRIQU5ETEVSX01BUCA9IHtcbiAgZ2FsbGVyeTogTXJHYWxsZXJ5RUhcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21yLXRpbWVsaW5lLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS1sYXlvdXQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1yVGltZWxpbmVMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjb25maWdJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGxheW91dFN0YXRlOiBNckxheW91dFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgbW9kYWxTZXJ2aWNlOiBNclJlc291cmNlTW9kYWxTZXJ2aWNlLFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2UsXG4gICAgcHVibGljIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdNclRpbWVsaW5lTGF5b3V0Q29uZmlnJykgfHwgY29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0UGF5bG9hZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnSWQ6IHRoaXMuY29uZmlnSWQsXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgY29tbXVuaWNhdGlvbjogdGhpcy5jb21tdW5pY2F0aW9uLFxuICAgICAgbGF5b3V0U3RhdGU6IHRoaXMubGF5b3V0U3RhdGUsXG4gICAgICBtb2RhbFNlcnZpY2U6IHRoaXMubW9kYWxTZXJ2aWNlLFxuICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICByb3V0ZXI6IHRoaXMucm91dGVyLFxuICAgICAgbG9jYWxlU2VydmljZTogdGhpcy5sb2NhbGVTZXJ2aWNlLFxuICAgICAgbG9jYXRpb246IHRoaXMubG9jYXRpb24sXG4gICAgICBvcHRpb25zOiB0aGlzLmNvbmZpZy5vcHRpb25zIHx8IHt9XG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGUuZGF0YS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubGF5b3V0U3RhdGUuYWRkKCdjb250ZW50Jyk7XG4gICAgICB0aGlzLmNvbmZpZ0lkID0gZGF0YS5jb25maWdJZDtcbiAgICAgIHRoaXMubG9hZFdpZGdldHMoKTtcbiAgICAgIHRoaXMub25Jbml0KCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG5cbiAgbG9hZFdpZGdldHMoKSB7XG4gICAgdGhpcy53aWRnZXRzLnB1c2goe1xuICAgICAgaWQ6ICdtci1nYWxsZXJ5JyxcbiAgICAgIGRhdGFTb3VyY2U6IERBVEFTT1VSQ0VfTUFQLmdhbGxlcnksXG4gICAgICBldmVudEhhbmRsZXI6IEVWRU5USEFORExFUl9NQVAuZ2FsbGVyeVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXItdGltZWxpbmUgbXItbGF5b3V0XCIgKm5nSWY9XCJsYi5kYXRhU291cmNlXCI+XG4gIDxkaXYgY2xhc3M9XCJtci10aW1lbGluZV9fdGltZWxpbmVcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1yLXRpbWVsaW5lX190aW1lbGluZS1sb2FkaW5nXCJcbiAgICAgICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5sb2FkaW5nLnRpbWVsaW5lXCI+XG4gICAgICAgIDxuNy1sb2FkZXI+PC9uNy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPG43LXRpbWVsaW5lXG4gICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci10aW1lbGluZSddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAqbmdJZj1cIiFsYi5kYXRhU291cmNlLmxvYWRpbmcudGltZWxpbmVcIlxuICAgID5cbiAgICA8L243LXRpbWVsaW5lPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibXItdGltZWxpbmVfX3BhZ2UgbXItc2lkZS1tYXJnaW5cIj5cbiAgICA8IS0tIFJlc3VsdCBoZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX19wYWdlLWhlYWRlclwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJtci10aW1lbGluZV9fZGF0ZVwiXG4gICAgICAgICpuZ0lmPVwiIWxiLmRhdGFTb3VyY2UubG9hZGluZy5yZXNvdXJjZURldGFpbHNcIlxuICAgICAgPlxuICAgICAgICB7e2xiLmRhdGFTb3VyY2UuZXZlbnRIZWFkZXJ9fVxuICAgICAgPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX190aXRsZVwiPlxuICAgICAgICA8bjctaW5uZXItdGl0bGVcbiAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci15ZWFyLWhlYWRlciddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snbXIteWVhci1oZWFkZXInXS5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlubmVyLXRpdGxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBFTkQgLy8gUmVzdWx0IGhlYWRlciAtLT5cblxuICAgIDxkaXYgY2xhc3M9XCJtci10aW1lbGluZV9fY29udGVudFwiPlxuICAgICAgPCEtLSBERVNDUklaSU9ORSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJsYi5kYXRhU291cmNlLmV2ZW50RGVzY3JpcHRpb25cIiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8cCBbaW5uZXJIVE1MXT1cImxiLmRhdGFTb3VyY2UuZXZlbnREZXNjcmlwdGlvblwiPjwvcD5cbiAgICAgICAgPHA+PC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGIuZGF0YVNvdXJjZS5sb2FkaW5nLnJlc291cmNlRGV0YWlsc1wiPlxuICAgICAgICA8IS0tIEdBTExFUklBIC0tPlxuICAgICAgICA8bXItZ2FsbGVyeSAqbmdJZj1cImxiLmRhdGFTb3VyY2UuaGFzR2FsbGVyeVwiIFxuICAgICAgICAgIFtncmlkXT1cIjRcIiBcbiAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci1nYWxsZXJ5J10uZHMub3V0JCB8IGFzeW5jXCIgXG4gICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snbXItZ2FsbGVyeSddLmVtaXRcIj5cbiAgICAgICAgPC9tci1nYWxsZXJ5PlxuXG4gICAgICAgIDwhLS0gTUFQUEEgLS0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1tYXBcIlxuICAgICAgICAgICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5oYXNNYXBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UubWFwSGVhZGVyXCI+XG4gICAgICAgICAgICB7eyBsYi5kYXRhU291cmNlLm1hcEhlYWRlciB9fVxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuNy1tYXAgW2RhdGFdPVwibGIud2lkZ2V0c1snbXItbWFwJ10uZHMub3V0JCB8IGFzeW5jXCI+PC9uNy1tYXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQklCTElPR1JBRklBIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5iaWJsaW9ncmFwaHlEYXRhIGFzIGJpYmxpb1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiaWJsaW8uaXRlbXMgJiYgYmlibGlvLml0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrIG1yLWNvbnRlbnQtYmxvY2stY29sbGVjdGlvblwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPnt7IGJpYmxpby5oZWFkZXIudGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudCBuNy1ncmlkLTFcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJpYmxpby5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX19jb2xsZWN0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLmV2ZW50SGFuZGxlci5pdGVtUHJldmlld0VtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ09MTEVDVElPTlMgIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2xsIG9mIGxiLmRhdGFTb3VyY2UuY29sbGVjdGlvbkRhdGFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbC5pdGVtcyAmJiBjb2xsLml0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrLWNvbGxlY3Rpb24gbXItY29udGVudC1ibG9ja1wiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPnt7IGNvbGwuaGVhZGVyLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnQgbjctZ3JpZC0zXCI+XG4gICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2xsLml0ZW1zXCIgW2RhdGFdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy90aW1lbGluZS1sYXlvdXQvdGltZWxpbmUtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBSWxDLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBRTlELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQUM7QUFNRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztJQUczRCxZQUNFLG9CQUFpRCxFQUN6QyxLQUFxQixFQUNyQixNQUFjLEVBQ2QsYUFBbUMsRUFDbkMsYUFBbUMsRUFDbkMsU0FBMkIsRUFDNUIsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsYUFBOEIsRUFDOUIsUUFBa0I7UUFFekIsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBVjVELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHM0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsRUFBRSxFQUFFLFlBQVk7WUFDaEIsVUFBVSxFQUFFLGNBQWMsQ0FBQyxPQUFPO1lBQ2xDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBckRVLHlCQUF5QjttR0FBekIseUJBQXlCLGlGQzdCdEMsb21IQWlHQTs7NEZEcEVhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TGF5b3V0LFxuICBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZVxufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc291cmNlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNclRpbWVsaW5lTGF5b3V0Q29uZmlnIGFzIGNvbmZpZyB9IGZyb20gJy4vdGltZWxpbmUtbGF5b3V0LmNvbmZpZyc7XG5pbXBvcnQgeyBNckxvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBNckdhbGxlcnlEUyB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcy9nYWxsZXJ5LmRzJztcbmltcG9ydCB7IE1yR2FsbGVyeUVIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMvZ2FsbGVyeS5laCc7XG5cbmNvbnN0IERBVEFTT1VSQ0VfTUFQID0ge1xuICBnYWxsZXJ5OiBNckdhbGxlcnlEU1xufTtcblxuY29uc3QgRVZFTlRIQU5ETEVSX01BUCA9IHtcbiAgZ2FsbGVyeTogTXJHYWxsZXJ5RUhcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21yLXRpbWVsaW5lLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS1sYXlvdXQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1yVGltZWxpbmVMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjb25maWdJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGxheW91dFN0YXRlOiBNckxheW91dFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgbW9kYWxTZXJ2aWNlOiBNclJlc291cmNlTW9kYWxTZXJ2aWNlLFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2UsXG4gICAgcHVibGljIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdNclRpbWVsaW5lTGF5b3V0Q29uZmlnJykgfHwgY29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0UGF5bG9hZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnSWQ6IHRoaXMuY29uZmlnSWQsXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgY29tbXVuaWNhdGlvbjogdGhpcy5jb21tdW5pY2F0aW9uLFxuICAgICAgbGF5b3V0U3RhdGU6IHRoaXMubGF5b3V0U3RhdGUsXG4gICAgICBtb2RhbFNlcnZpY2U6IHRoaXMubW9kYWxTZXJ2aWNlLFxuICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICByb3V0ZXI6IHRoaXMucm91dGVyLFxuICAgICAgbG9jYWxlU2VydmljZTogdGhpcy5sb2NhbGVTZXJ2aWNlLFxuICAgICAgbG9jYXRpb246IHRoaXMubG9jYXRpb24sXG4gICAgICBvcHRpb25zOiB0aGlzLmNvbmZpZy5vcHRpb25zIHx8IHt9XG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGUuZGF0YS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubGF5b3V0U3RhdGUuYWRkKCdjb250ZW50Jyk7XG4gICAgICB0aGlzLmNvbmZpZ0lkID0gZGF0YS5jb25maWdJZDtcbiAgICAgIHRoaXMubG9hZFdpZGdldHMoKTtcbiAgICAgIHRoaXMub25Jbml0KCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG5cbiAgbG9hZFdpZGdldHMoKSB7XG4gICAgdGhpcy53aWRnZXRzLnB1c2goe1xuICAgICAgaWQ6ICdtci1nYWxsZXJ5JyxcbiAgICAgIGRhdGFTb3VyY2U6IERBVEFTT1VSQ0VfTUFQLmdhbGxlcnksXG4gICAgICBldmVudEhhbmRsZXI6IEVWRU5USEFORExFUl9NQVAuZ2FsbGVyeVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXItdGltZWxpbmUgbXItbGF5b3V0XCIgKm5nSWY9XCJsYi5kYXRhU291cmNlXCI+XG4gIDxkaXYgY2xhc3M9XCJtci10aW1lbGluZV9fdGltZWxpbmVcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1yLXRpbWVsaW5lX190aW1lbGluZS1sb2FkaW5nXCJcbiAgICAgICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5sb2FkaW5nLnRpbWVsaW5lXCI+XG4gICAgICAgIDxuNy1sb2FkZXI+PC9uNy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPG43LXRpbWVsaW5lXG4gICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci10aW1lbGluZSddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAqbmdJZj1cIiFsYi5kYXRhU291cmNlLmxvYWRpbmcudGltZWxpbmVcIlxuICAgID5cbiAgICA8L243LXRpbWVsaW5lPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibXItdGltZWxpbmVfX3BhZ2UgbXItc2lkZS1tYXJnaW5cIj5cbiAgICA8IS0tIFJlc3VsdCBoZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX19wYWdlLWhlYWRlclwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJtci10aW1lbGluZV9fZGF0ZVwiXG4gICAgICAgICpuZ0lmPVwiIWxiLmRhdGFTb3VyY2UubG9hZGluZy5yZXNvdXJjZURldGFpbHNcIlxuICAgICAgPlxuICAgICAgICB7e2xiLmRhdGFTb3VyY2UuZXZlbnRIZWFkZXJ9fVxuICAgICAgPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX190aXRsZVwiPlxuICAgICAgICA8bjctaW5uZXItdGl0bGVcbiAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci15ZWFyLWhlYWRlciddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snbXIteWVhci1oZWFkZXInXS5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlubmVyLXRpdGxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBFTkQgLy8gUmVzdWx0IGhlYWRlciAtLT5cblxuICAgIDxkaXYgY2xhc3M9XCJtci10aW1lbGluZV9fY29udGVudFwiPlxuICAgICAgPCEtLSBERVNDUklaSU9ORSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJsYi5kYXRhU291cmNlLmV2ZW50RGVzY3JpcHRpb25cIiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8cCBbaW5uZXJIVE1MXT1cImxiLmRhdGFTb3VyY2UuZXZlbnREZXNjcmlwdGlvblwiPjwvcD5cbiAgICAgICAgPHA+PC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGIuZGF0YVNvdXJjZS5sb2FkaW5nLnJlc291cmNlRGV0YWlsc1wiPlxuICAgICAgICA8IS0tIEdBTExFUklBIC0tPlxuICAgICAgICA8bXItZ2FsbGVyeSAqbmdJZj1cImxiLmRhdGFTb3VyY2UuaGFzR2FsbGVyeVwiIFxuICAgICAgICAgIFtncmlkXT1cIjRcIiBcbiAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydtci1nYWxsZXJ5J10uZHMub3V0JCB8IGFzeW5jXCIgXG4gICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snbXItZ2FsbGVyeSddLmVtaXRcIj5cbiAgICAgICAgPC9tci1nYWxsZXJ5PlxuXG4gICAgICAgIDwhLS0gTUFQUEEgLS0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1tYXBcIlxuICAgICAgICAgICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5oYXNNYXBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UubWFwSGVhZGVyXCI+XG4gICAgICAgICAgICB7eyBsYi5kYXRhU291cmNlLm1hcEhlYWRlciB9fVxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuNy1tYXAgW2RhdGFdPVwibGIud2lkZ2V0c1snbXItbWFwJ10uZHMub3V0JCB8IGFzeW5jXCI+PC9uNy1tYXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQklCTElPR1JBRklBIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5iaWJsaW9ncmFwaHlEYXRhIGFzIGJpYmxpb1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiaWJsaW8uaXRlbXMgJiYgYmlibGlvLml0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrIG1yLWNvbnRlbnQtYmxvY2stY29sbGVjdGlvblwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPnt7IGJpYmxpby5oZWFkZXIudGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudCBuNy1ncmlkLTFcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJpYmxpby5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLXRpbWVsaW5lX19jb2xsZWN0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLmV2ZW50SGFuZGxlci5pdGVtUHJldmlld0VtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ09MTEVDVElPTlMgIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2xsIG9mIGxiLmRhdGFTb3VyY2UuY29sbGVjdGlvbkRhdGFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbC5pdGVtcyAmJiBjb2xsLml0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrLWNvbGxlY3Rpb24gbXItY29udGVudC1ibG9ja1wiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPnt7IGNvbGwuaGVhZGVyLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnQge3sgY29sbC5ncmlkID8gJ243LWdyaWQtJyArIGNvbGwuZ3JpZCA6ICduNy1ncmlkLTMnIH19XCI+XG4gICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2xsLml0ZW1zXCIgW2RhdGFdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -7254,12 +7254,40 @@ class MrTimelineLayoutDS extends LayoutDataSource {
|
|
|
7254
7254
|
delete res.sections['collection-places'];
|
|
7255
7255
|
}
|
|
7256
7256
|
const collections = [];
|
|
7257
|
+
const itemPreviewOptions = {
|
|
7258
|
+
limit: 100,
|
|
7259
|
+
striptags: true
|
|
7260
|
+
};
|
|
7257
7261
|
Object.keys(res.sections).forEach((collection) => {
|
|
7258
7262
|
if (String(collection).startsWith('collection-')) {
|
|
7259
7263
|
if (res.sections[collection].items) {
|
|
7260
7264
|
collections.push({
|
|
7261
7265
|
items: res.sections[collection].items.map((item) => {
|
|
7262
7266
|
let anchor;
|
|
7267
|
+
if (item.text) {
|
|
7268
|
+
// Sanitize HTML tags from the text content
|
|
7269
|
+
if (itemPreviewOptions.striptags) {
|
|
7270
|
+
item.text = helpers.striptags(item.text);
|
|
7271
|
+
}
|
|
7272
|
+
// Limit the length of the item preview text content
|
|
7273
|
+
if (itemPreviewOptions.limit
|
|
7274
|
+
&& (item.text.length > itemPreviewOptions.limit)) {
|
|
7275
|
+
item.text = `${item.text.substring(0, itemPreviewOptions.limit)}...`;
|
|
7276
|
+
}
|
|
7277
|
+
}
|
|
7278
|
+
const metadata = [];
|
|
7279
|
+
if (Array.isArray(item.metadata)) {
|
|
7280
|
+
item.metadata.forEach((group) => {
|
|
7281
|
+
const metadataItems = [];
|
|
7282
|
+
(group.items || []).forEach((metadataItem) => {
|
|
7283
|
+
metadataItems.push({
|
|
7284
|
+
...metadataItem,
|
|
7285
|
+
label: _t(metadataItem.label)
|
|
7286
|
+
});
|
|
7287
|
+
});
|
|
7288
|
+
metadata.push({ items: metadataItems });
|
|
7289
|
+
});
|
|
7290
|
+
}
|
|
7263
7291
|
if (item.routeId) {
|
|
7264
7292
|
const routeLink = this.localeService
|
|
7265
7293
|
.getLinkByRouteId(item.routeId, item.id, item.slug);
|
|
@@ -7276,10 +7304,13 @@ class MrTimelineLayoutDS extends LayoutDataSource {
|
|
|
7276
7304
|
}
|
|
7277
7305
|
return {
|
|
7278
7306
|
title: item.title,
|
|
7307
|
+
text: item.text,
|
|
7308
|
+
metadata,
|
|
7279
7309
|
anchor
|
|
7280
7310
|
};
|
|
7281
7311
|
}),
|
|
7282
7312
|
header: res.sections[collection].header,
|
|
7313
|
+
grid: res.sections[collection].grid,
|
|
7283
7314
|
});
|
|
7284
7315
|
}
|
|
7285
7316
|
this.collectionData = collections;
|
|
@@ -7477,11 +7508,11 @@ class MrTimelineLayoutComponent extends AbstractLayout {
|
|
|
7477
7508
|
});
|
|
7478
7509
|
}
|
|
7479
7510
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrTimelineLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: MrLayoutStateService }, { token: MrResourceModalService }, { token: MrLocaleService }, { token: i1$2.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7480
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrTimelineLayoutComponent, selector: "mr-timeline-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.TimelineComponent, selector: "n7-timeline", inputs: ["data", "emit"] }, { kind: "component", type: MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
7511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrTimelineLayoutComponent, selector: "mr-timeline-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content {{ coll.grid ? 'n7-grid-' + coll.grid : 'n7-grid-3' }}\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.TimelineComponent, selector: "n7-timeline", inputs: ["data", "emit"] }, { kind: "component", type: MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
|
|
7481
7512
|
}
|
|
7482
7513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrTimelineLayoutComponent, decorators: [{
|
|
7483
7514
|
type: Component,
|
|
7484
|
-
args: [{ selector: 'mr-timeline-layout', template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
7515
|
+
args: [{ selector: 'mr-timeline-layout', template: "<div class=\"mr-timeline mr-layout\" *ngIf=\"lb.dataSource\">\n <div class=\"mr-timeline__timeline\">\n <div\n class=\"mr-timeline__timeline-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n <n7-loader></n7-loader>\n </div>\n <n7-timeline\n [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\"\n >\n </n7-timeline>\n </div>\n\n <div class=\"mr-timeline__page mr-side-margin\">\n <!-- Result header -->\n <div class=\"mr-timeline__page-header\">\n <p\n class=\"mr-timeline__date\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\"\n >\n {{lb.dataSource.eventHeader}}\n </p>\n <div class=\"mr-timeline__title\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\"\n >\n </n7-inner-title>\n </div>\n </div>\n <!-- END // Result header -->\n\n <div class=\"mr-timeline__content\">\n <!-- DESCRIZIONE -->\n <div *ngIf=\"lb.dataSource.eventDescription\" class=\"mr-content-block mr-content-block-description\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\"></p>\n <p></p>\n </div>\n\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n <!-- GALLERIA -->\n <mr-gallery *ngIf=\"lb.dataSource.hasGallery\" \n [grid]=\"4\" \n [data]=\"lb.widgets['mr-gallery'].ds.out$ | async\" \n [emit]=\"lb.widgets['mr-gallery'].emit\">\n </mr-gallery>\n\n <!-- MAPPA -->\n <div\n class=\"mr-content-block mr-content-block-map\"\n *ngIf=\"lb.dataSource.hasMap\"\n >\n <h3 class=\"mr-content-block__title\" *ngIf=\"lb.dataSource.mapHeader\">\n {{ lb.dataSource.mapHeader }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n </div>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-timeline__collection-content\">\n <n7-item-preview\n [emit]=\"lb.eventHandler.itemPreviewEmit\"\n [data]=\"item\"\n >\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- COLLECTIONS -->\n <ng-container *ngFor=\"let coll of lb.dataSource.collectionData\">\n <ng-container *ngIf=\"coll.items && coll.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ coll.header.title }}</h3>\n <div class=\"mr-content-block__content {{ coll.grid ? 'n7-grid-' + coll.grid : 'n7-grid-3' }}\">\n <n7-item-preview *ngFor=\"let item of coll.items\" [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
7485
7516
|
}], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: MrLayoutStateService }, { type: MrResourceModalService }, { type: MrLocaleService }, { type: i1$2.Location }] });
|
|
7486
7517
|
|
|
7487
7518
|
const DATASOURCE_MAP = {
|