@hestia-earth/ui-components 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +24 -0
  2. package/auth/auth.service.d.ts +10 -0
  3. package/auth/public-api.d.ts +1 -0
  4. package/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.d.ts +40 -0
  5. package/bibliographies/bibliographies.module.d.ts +10 -0
  6. package/bibliographies/public-api.d.ts +2 -0
  7. package/bundles/hestia-earth-ui-components.umd.js +7570 -0
  8. package/bundles/hestia-earth-ui-components.umd.js.map +1 -0
  9. package/common/bind-once.directive.d.ts +10 -0
  10. package/common/blank-node-diffs/blank-node-diffs.component.d.ts +18 -0
  11. package/common/blank-node-state/blank-node-state.component.d.ts +36 -0
  12. package/common/blank-node-state-notice/blank-node-state-notice.component.d.ts +9 -0
  13. package/common/blank-node-value-delta/blank-node-value-delta.component.d.ts +13 -0
  14. package/common/click-outside.directive.d.ts +10 -0
  15. package/common/clipboard/clipboard.component.d.ts +16 -0
  16. package/common/common.module.d.ts +37 -0
  17. package/common/common.service.d.ts +11 -0
  18. package/common/default.pipe.d.ts +7 -0
  19. package/common/ellipsis.pipe.d.ts +7 -0
  20. package/common/get.pipe.d.ts +7 -0
  21. package/common/key-to-label.pipe.d.ts +7 -0
  22. package/common/keys.pipe.d.ts +7 -0
  23. package/common/link-key-value/link-key-value.component.d.ts +16 -0
  24. package/common/logs-utils.d.ts +17 -0
  25. package/common/maps-drawing-confirm/maps-drawing-confirm.component.d.ts +28 -0
  26. package/common/maps-utils.d.ts +70 -0
  27. package/common/pluralize.pipe.d.ts +7 -0
  28. package/common/popover/popover.component.d.ts +16 -0
  29. package/common/popover-confirm/popover-confirm.component.d.ts +15 -0
  30. package/common/precision.pipe.d.ts +7 -0
  31. package/common/public-api.d.ts +30 -0
  32. package/common/schema-version-link/schema-version-link.component.d.ts +10 -0
  33. package/common/skeleton-text/skeleton-text.component.d.ts +11 -0
  34. package/common/social-tags/social-tags.component.d.ts +12 -0
  35. package/common/tags-input.directive.d.ts +20 -0
  36. package/common/times.pipe.d.ts +7 -0
  37. package/common/toast/toast.component.d.ts +19 -0
  38. package/common/toast.service.d.ts +16 -0
  39. package/common/unit-converter/unit-converter.component.d.ts +25 -0
  40. package/common/utils.d.ts +88 -0
  41. package/cycles/cycles-activity/cycles-activity.component.d.ts +31 -0
  42. package/cycles/cycles-activity-logs/cycles-activity-logs.component.d.ts +25 -0
  43. package/cycles/cycles-completeness/cycles-completeness.component.d.ts +14 -0
  44. package/cycles/cycles-emissions/cycles-emissions.component.d.ts +40 -0
  45. package/cycles/cycles-emissions-chart/cycles-emissions-chart.component.d.ts +18 -0
  46. package/cycles/cycles-emissions-logs/cycles-emissions-logs.component.d.ts +23 -0
  47. package/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.d.ts +8 -0
  48. package/cycles/cycles-result/cycles-result.component.d.ts +13 -0
  49. package/cycles/cycles-suggest-form/cycles-suggest-form.component.d.ts +24 -0
  50. package/cycles/cycles.model.d.ts +7 -0
  51. package/cycles/cycles.module.d.ts +19 -0
  52. package/cycles/public-api.d.ts +10 -0
  53. package/engine/aggregation-engine.service.d.ts +71 -0
  54. package/engine/engine.service.d.ts +61 -0
  55. package/engine/public-api.d.ts +2 -0
  56. package/esm2015/auth/auth.service.js +19 -0
  57. package/esm2015/auth/public-api.js +2 -0
  58. package/esm2015/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.js +100 -0
  59. package/esm2015/bibliographies/bibliographies.module.js +30 -0
  60. package/esm2015/bibliographies/public-api.js +3 -0
  61. package/esm2015/common/bind-once.directive.js +23 -0
  62. package/esm2015/common/blank-node-diffs/blank-node-diffs.component.js +47 -0
  63. package/esm2015/common/blank-node-state/blank-node-state.component.js +90 -0
  64. package/esm2015/common/blank-node-state-notice/blank-node-state-notice.component.js +27 -0
  65. package/esm2015/common/blank-node-value-delta/blank-node-value-delta.component.js +41 -0
  66. package/esm2015/common/click-outside.directive.js +28 -0
  67. package/esm2015/common/clipboard/clipboard.component.js +69 -0
  68. package/esm2015/common/common.module.js +144 -0
  69. package/esm2015/common/common.service.js +29 -0
  70. package/esm2015/common/default.pipe.js +23 -0
  71. package/esm2015/common/ellipsis.pipe.js +17 -0
  72. package/esm2015/common/get.pipe.js +17 -0
  73. package/esm2015/common/key-to-label.pipe.js +18 -0
  74. package/esm2015/common/keys.pipe.js +20 -0
  75. package/esm2015/common/link-key-value/link-key-value.component.js +55 -0
  76. package/esm2015/common/logs-utils.js +49 -0
  77. package/esm2015/common/maps-drawing-confirm/maps-drawing-confirm.component.js +89 -0
  78. package/esm2015/common/maps-utils.js +101 -0
  79. package/esm2015/common/pluralize.pipe.js +17 -0
  80. package/esm2015/common/popover/popover.component.js +37 -0
  81. package/esm2015/common/popover-confirm/popover-confirm.component.js +38 -0
  82. package/esm2015/common/precision.pipe.js +20 -0
  83. package/esm2015/common/public-api.js +31 -0
  84. package/esm2015/common/schema-version-link/schema-version-link.component.js +39 -0
  85. package/esm2015/common/skeleton-text/skeleton-text.component.js +44 -0
  86. package/esm2015/common/social-tags/social-tags.component.js +37 -0
  87. package/esm2015/common/tags-input.directive.js +74 -0
  88. package/esm2015/common/times.pipe.js +16 -0
  89. package/esm2015/common/toast/toast.component.js +37 -0
  90. package/esm2015/common/toast.service.js +36 -0
  91. package/esm2015/common/unit-converter/unit-converter.component.js +73 -0
  92. package/esm2015/common/utils.js +245 -0
  93. package/esm2015/cycles/cycles-activity/cycles-activity.component.js +92 -0
  94. package/esm2015/cycles/cycles-activity-logs/cycles-activity-logs.component.js +48 -0
  95. package/esm2015/cycles/cycles-completeness/cycles-completeness.component.js +41 -0
  96. package/esm2015/cycles/cycles-emissions/cycles-emissions.component.js +121 -0
  97. package/esm2015/cycles/cycles-emissions-chart/cycles-emissions-chart.component.js +93 -0
  98. package/esm2015/cycles/cycles-emissions-logs/cycles-emissions-logs.component.js +63 -0
  99. package/esm2015/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.js +22 -0
  100. package/esm2015/cycles/cycles-result/cycles-result.component.js +92 -0
  101. package/esm2015/cycles/cycles-suggest-form/cycles-suggest-form.component.js +83 -0
  102. package/esm2015/cycles/cycles.model.js +2 -0
  103. package/esm2015/cycles/cycles.module.js +66 -0
  104. package/esm2015/cycles/public-api.js +11 -0
  105. package/esm2015/engine/aggregation-engine.service.js +126 -0
  106. package/esm2015/engine/engine.service.js +78 -0
  107. package/esm2015/engine/public-api.js +3 -0
  108. package/esm2015/files/files-error.model.js +180 -0
  109. package/esm2015/files/files-form/files-form.component.js +439 -0
  110. package/esm2015/files/files-form.model.js +548 -0
  111. package/esm2015/files/files.module.js +42 -0
  112. package/esm2015/files/public-api.js +3 -0
  113. package/esm2015/fontawesome/fontawesome.module.js +36 -0
  114. package/esm2015/fontawesome/public-api.js +2 -0
  115. package/esm2015/hestia-earth-ui-components.js +5 -0
  116. package/esm2015/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.js +161 -0
  117. package/esm2015/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.js +142 -0
  118. package/esm2015/impact-assessments/impact-assessments-products/impact-assessments-products.component.js +252 -0
  119. package/esm2015/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.js +68 -0
  120. package/esm2015/impact-assessments/impact-assessments.model.js +2 -0
  121. package/esm2015/impact-assessments/impact-assessments.module.js +47 -0
  122. package/esm2015/impact-assessments/public-api.js +7 -0
  123. package/esm2015/mendeley/mendeley.service.js +35 -0
  124. package/esm2015/mendeley/public-api.js +2 -0
  125. package/esm2015/node/node-csv-export-confirm/node-csv-export-confirm.component.js +65 -0
  126. package/esm2015/node/node-csv-select-headers/node-csv-select-headers.component.js +119 -0
  127. package/esm2015/node/node-csv.service.js +24 -0
  128. package/esm2015/node/node-diffs/node-diffs.component.js +67 -0
  129. package/esm2015/node/node-diffs/node-diffs.model.js +6 -0
  130. package/esm2015/node/node-icon/node-icon.component.js +37 -0
  131. package/esm2015/node/node-link/node-link.component.js +33 -0
  132. package/esm2015/node/node-logs-file/node-logs-file.component.js +63 -0
  133. package/esm2015/node/node-logs-models/node-logs-models.component.js +188 -0
  134. package/esm2015/node/node-missing-lookup-factors/node-missing-lookup-factors.component.js +34 -0
  135. package/esm2015/node/node-value-details/node-value-details.component.js +46 -0
  136. package/esm2015/node/node.module.js +67 -0
  137. package/esm2015/node/node.service.js +113 -0
  138. package/esm2015/node/public-api.js +13 -0
  139. package/esm2015/public-api.js +16 -0
  140. package/esm2015/schema/public-api.js +2 -0
  141. package/esm2015/schema/schema.service.js +167 -0
  142. package/esm2015/search/public-api.js +4 -0
  143. package/esm2015/search/search.model.js +204 -0
  144. package/esm2015/search/search.module.js +13 -0
  145. package/esm2015/search/search.service.js +99 -0
  146. package/esm2015/sites/public-api.js +6 -0
  147. package/esm2015/sites/sites-maps/sites-maps.component.js +162 -0
  148. package/esm2015/sites/sites-measurements/sites-measurements.component.js +78 -0
  149. package/esm2015/sites/sites-measurements-logs/sites-measurements-logs.component.js +63 -0
  150. package/esm2015/sites/sites.model.js +10 -0
  151. package/esm2015/sites/sites.module.js +42 -0
  152. package/esm2015/terms/public-api.js +2 -0
  153. package/esm2015/terms/terms.model.js +184 -0
  154. package/esm2015/users/public-api.js +2 -0
  155. package/esm2015/users/users.service.js +17 -0
  156. package/fesm2015/hestia-earth-ui-components.js +5920 -0
  157. package/fesm2015/hestia-earth-ui-components.js.map +1 -0
  158. package/files/files-error.model.d.ts +40 -0
  159. package/files/files-form/files-form.component.d.ts +94 -0
  160. package/files/files-form.model.d.ts +113 -0
  161. package/files/files.module.d.ts +13 -0
  162. package/files/public-api.d.ts +2 -0
  163. package/fontawesome/fontawesome.module.d.ts +10 -0
  164. package/fontawesome/public-api.d.ts +1 -0
  165. package/hestia-earth-ui-components.d.ts +5 -0
  166. package/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.d.ts +28 -0
  167. package/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.d.ts +25 -0
  168. package/impact-assessments/impact-assessments-products/impact-assessments-products.component.d.ts +77 -0
  169. package/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.d.ts +25 -0
  170. package/impact-assessments/impact-assessments.model.d.ts +6 -0
  171. package/impact-assessments/impact-assessments.module.d.ts +15 -0
  172. package/impact-assessments/public-api.d.ts +6 -0
  173. package/mendeley/mendeley.service.d.ts +25 -0
  174. package/mendeley/public-api.d.ts +1 -0
  175. package/node/node-csv-export-confirm/node-csv-export-confirm.component.d.ts +32 -0
  176. package/node/node-csv-select-headers/node-csv-select-headers.component.d.ts +42 -0
  177. package/node/node-csv.service.d.ts +9 -0
  178. package/node/node-diffs/node-diffs.component.d.ts +23 -0
  179. package/node/node-diffs/node-diffs.model.d.ts +4 -0
  180. package/node/node-icon/node-icon.component.d.ts +8 -0
  181. package/node/node-link/node-link.component.d.ts +11 -0
  182. package/node/node-logs-file/node-logs-file.component.d.ts +31 -0
  183. package/node/node-logs-models/node-logs-models.component.d.ts +72 -0
  184. package/node/node-missing-lookup-factors/node-missing-lookup-factors.component.d.ts +14 -0
  185. package/node/node-value-details/node-value-details.component.d.ts +17 -0
  186. package/node/node.module.d.ts +20 -0
  187. package/node/node.service.d.ts +70 -0
  188. package/node/public-api.d.ts +12 -0
  189. package/package.json +53 -0
  190. package/public-api.d.ts +15 -0
  191. package/schema/public-api.d.ts +1 -0
  192. package/schema/schema.service.d.ts +51 -0
  193. package/search/public-api.d.ts +3 -0
  194. package/search/search.model.d.ts +243 -0
  195. package/search/search.module.d.ts +7 -0
  196. package/search/search.service.d.ts +129 -0
  197. package/sites/public-api.d.ts +5 -0
  198. package/sites/sites-maps/sites-maps.component.d.ts +35 -0
  199. package/sites/sites-measurements/sites-measurements.component.d.ts +31 -0
  200. package/sites/sites-measurements-logs/sites-measurements-logs.component.d.ts +23 -0
  201. package/sites/sites.model.d.ts +10 -0
  202. package/sites/sites.module.d.ts +13 -0
  203. package/styles.scss +197 -0
  204. package/terms/public-api.d.ts +1 -0
  205. package/terms/terms.model.d.ts +21 -0
  206. package/users/public-api.d.ts +1 -0
  207. package/users/users.service.d.ts +7 -0
@@ -0,0 +1,6 @@
1
+ export * from './sites.model';
2
+ export * from './sites.module';
3
+ export { SitesMapsComponent } from './sites-maps/sites-maps.component';
4
+ export { SitesMeasurementsComponent } from './sites-measurements/sites-measurements.component';
5
+ export { SitesMeasurementsLogsComponent } from './sites-measurements-logs/sites-measurements-logs.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaXRlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NpdGVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2l0ZXMubW9kdWxlJztcblxuZXhwb3J0IHsgU2l0ZXNNYXBzQ29tcG9uZW50IH0gZnJvbSAnLi9zaXRlcy1tYXBzL3NpdGVzLW1hcHMuY29tcG9uZW50JztcbmV4cG9ydCB7IFNpdGVzTWVhc3VyZW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9zaXRlcy1tZWFzdXJlbWVudHMvc2l0ZXMtbWVhc3VyZW1lbnRzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaXRlc01lYXN1cmVtZW50c0xvZ3NDb21wb25lbnQgfSBmcm9tICcuL3NpdGVzLW1lYXN1cmVtZW50cy1sb2dzL3NpdGVzLW1lYXN1cmVtZW50cy1sb2dzLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,162 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, Input, ViewChild } from '@angular/core';
3
+ import { GoogleMap } from '@angular/google-maps';
4
+ import MarkerClusterer from '@google/markerclustererplus';
5
+ import { NodeType } from '@hestia-earth/schema';
6
+ import { unique } from '@hestia-earth/utils';
7
+ import { termLocation, termLocationName } from '../../terms/terms.model';
8
+ import { clustererImage, createMarker, polygonsFromFeature, polygonBounds, strokeStyle } from '../../common/maps-utils';
9
+ import { baseUrl, waitFor } from '../../common/utils';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../node/node.service";
12
+ import * as i2 from "@angular/google-maps";
13
+ import * as i3 from "@angular/common";
14
+ const isSite = ({ '@type': type, '@id': id }) => type === NodeType.Site && !!id;
15
+ const siteLocation = ({ latitude, longitude }) => latitude && longitude ? ({
16
+ lat: latitude,
17
+ lng: longitude
18
+ }) : undefined;
19
+ const siteDefaultLocation = ({ region, country }) => {
20
+ const markers = [
21
+ region ? createMarker(termLocation(region), termLocationName(region).name, undefined, 20) : undefined,
22
+ country ? createMarker(termLocation(country), termLocationName(country).name, undefined, 40) : undefined
23
+ ].filter(Boolean);
24
+ return (markers.length ? markers[0] : undefined);
25
+ };
26
+ const siteMarker = (site) => createMarker(site ? siteLocation(site) : undefined, site.name);
27
+ const sitePolygon = ({ boundary }) => (boundary ? polygonsFromFeature(boundary) : undefined);
28
+ const regions = (sites) => unique(sites.map(({ country, region }) => region ? region['@id'] : (country ? country['@id'] : null)).filter(Boolean));
29
+ const defaultCenter = { lat: 0, lng: 0 };
30
+ export class SitesMapsComponent {
31
+ constructor(nodeService) {
32
+ this.nodeService = nodeService;
33
+ this.loaded = false;
34
+ this.loadPolygons = true;
35
+ this.sites = [];
36
+ this.nodes = [];
37
+ this.center = defaultCenter;
38
+ this.zoom = 2;
39
+ this.showNotice = true;
40
+ this.googleLoaded = false;
41
+ this.showNoLocation = false;
42
+ }
43
+ ngOnInit() {
44
+ waitFor('google', () => {
45
+ this.googleLoaded = true;
46
+ setTimeout(() => !this.loaded && this.loadData());
47
+ });
48
+ }
49
+ ngAfterViewInit() {
50
+ return this.googleLoaded && this.loadData();
51
+ }
52
+ loadData() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ // loaded data as geojson
55
+ this.map.googleMap.data.setStyle(() => (Object.assign(Object.assign({}, strokeStyle), { strokeOpacity: 0.1 })));
56
+ const sites = yield this.getSites();
57
+ const markers = this.addSiteMarkers(sites);
58
+ // add the site.boundary if exist
59
+ const polygons = sites.flatMap(sitePolygon).filter(Boolean);
60
+ polygons.map(polygon => polygon === null || polygon === void 0 ? void 0 : polygon.setMap(this.map.googleMap));
61
+ this.loaded = true;
62
+ // add the default site polygons from GADM region if any
63
+ const termPolygons = (yield Promise.all(regions(sites).map(v => this.addTermsPolygons(v)))).flat();
64
+ this.showNoLocation = markers.length === 0 && polygons.length === 0 && termPolygons.length === 0;
65
+ return markers.length ?
66
+ this.centerMarker(markers[0]) :
67
+ this.centerPolygons(polygons.length ? polygons : termPolygons);
68
+ });
69
+ }
70
+ addMarkers(markers, cluster = false) {
71
+ return cluster ?
72
+ new MarkerClusterer(this.map.googleMap, markers, { imagePath: clustererImage }) :
73
+ markers.map(marker => marker.setMap(this.map.googleMap));
74
+ }
75
+ addTermsPolygons(id) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ return this.loadPolygons ? yield this.termPolygons(id) : [];
78
+ });
79
+ }
80
+ centerMarker(marker) {
81
+ const center = marker.getPosition();
82
+ this.center = center ? { lat: center.lat(), lng: center.lng() } : defaultCenter;
83
+ }
84
+ centerPolygons(polygons) {
85
+ try {
86
+ return polygons.length ? this.map.googleMap.fitBounds(polygonBounds(polygons)) : null;
87
+ }
88
+ catch (err) {
89
+ if (polygons.length) {
90
+ this.map.googleMap.fitBounds(polygonBounds(polygons[0]));
91
+ this.zoom = 3;
92
+ }
93
+ }
94
+ }
95
+ addSiteMarkers(sites) {
96
+ const siteMarkers = sites.map(siteMarker).filter(Boolean);
97
+ const markers = siteMarkers.length ? siteMarkers : sites.map(siteDefaultLocation).filter(Boolean);
98
+ this.addMarkers(markers, !!siteMarkers.length);
99
+ return markers;
100
+ }
101
+ loadSite(node) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ // means the site was already downloaded
104
+ return 'schemaVersion' in node ? node : yield this.nodeService.get(node);
105
+ });
106
+ }
107
+ siteData(node) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ return [
110
+ NodeType.Site,
111
+ NodeType.Organisation
112
+ ].includes(node.type) ? node : (isSite(node) ?
113
+ this.loadSite(node) : ('site' in node && isSite(node.site) ?
114
+ this.loadSite(node.site) :
115
+ this.siteData(yield this.loadSite(node))));
116
+ });
117
+ }
118
+ getSites() {
119
+ const nodes = this.sites && this.sites.length ? this.sites : this.nodes;
120
+ return Promise.all(nodes.map(node => this.siteData(node)));
121
+ }
122
+ termPolygons(id) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ try {
125
+ const data = yield this.nodeService.downloadRaw(`${baseUrl()}/gadm/${id}.geojson`);
126
+ const polygons = polygonsFromFeature(data);
127
+ polygons.map(polygon => polygon.setMap(this.map.googleMap));
128
+ return polygons;
129
+ }
130
+ catch (_err) {
131
+ // ignore error if the file does not exist
132
+ return [];
133
+ }
134
+ });
135
+ }
136
+ }
137
+ SitesMapsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMapsComponent, deps: [{ token: i1.HeNodeService }], target: i0.ɵɵFactoryTarget.Component });
138
+ SitesMapsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SitesMapsComponent, selector: "he-sites-maps", inputs: { loadPolygons: "loadPolygons", sites: "sites", nodes: "nodes", center: "center", zoom: "zoom", showNotice: "showNotice" }, viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true }], ngImport: i0, template: "<google-map *ngIf=\"googleLoaded\"\n height=\"100%\"\n width=\"100%\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n></google-map>\n\n<p *ngIf=\"showNotice\" class=\"mt-2 is-italic is-size-7\">The information provided might not be complete</p>\n\n<div class=\"no-location has-text-center has-text-light\" *ngIf=\"showNoLocation\">\n <span>No precise location data</span>\n</div>\n", styles: [":host{display:block;height:100%;position:relative;width:100%}.no-location{background-color:#0000004d;left:0;height:100%;position:absolute;top:0;width:100%;z-index:9}.no-location>span{display:inline-block;margin-top:12%}\n"], components: [{ type: i2.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMapsComponent, decorators: [{
140
+ type: Component,
141
+ args: [{
142
+ selector: 'he-sites-maps',
143
+ templateUrl: './sites-maps.component.html',
144
+ styleUrls: ['./sites-maps.component.scss']
145
+ }]
146
+ }], ctorParameters: function () { return [{ type: i1.HeNodeService }]; }, propDecorators: { map: [{
147
+ type: ViewChild,
148
+ args: [GoogleMap]
149
+ }], loadPolygons: [{
150
+ type: Input
151
+ }], sites: [{
152
+ type: Input
153
+ }], nodes: [{
154
+ type: Input
155
+ }], center: [{
156
+ type: Input
157
+ }], zoom: [{
158
+ type: Input
159
+ }], showNotice: [{
160
+ type: Input
161
+ }] } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtbWFwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2l0ZXMvc2l0ZXMtbWFwcy9zaXRlcy1tYXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tYXBzL3NpdGVzLW1hcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sZUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBVSxRQUFRLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7QUFDOUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFJdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRXJGLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsR0FBRyxFQUFFLFFBQVE7SUFD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Q0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBOztnSEE3SFUsa0JBQWtCO29HQUFsQixrQkFBa0IsOE5BR2xCLFNBQVMsZ0RDaER0Qiw4WEFZQTs0RkRpQ2Esa0JBQWtCO2tCQUw5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsNkJBQTZCO29CQUMxQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDM0M7b0dBS1MsR0FBRztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBR1osWUFBWTtzQkFEbkIsS0FBSztnQkFHRSxLQUFLO3NCQURaLEtBQUs7Z0JBR0UsS0FBSztzQkFEWixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHb29nbGVNYXAgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgTWFya2VyQ2x1c3RlcmVyIGZyb20gJ0Bnb29nbGUvbWFya2VyY2x1c3RlcmVycGx1cyc7XG5pbXBvcnQgeyBKU09OTEQsIE5vZGVUeXBlLCBJU2l0ZUpTT05MRCwgU2l0ZSwgSU9yZ2FuaXNhdGlvbkpTT05MRCwgT3JnYW5pc2F0aW9uIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgdW5pcXVlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC91dGlscyc7XG5cbmltcG9ydCB7IEhlTm9kZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ub2RlL25vZGUuc2VydmljZSc7XG5pbXBvcnQgeyB0ZXJtTG9jYXRpb24sIHRlcm1Mb2NhdGlvbk5hbWUgfSBmcm9tICcuLi8uLi90ZXJtcy90ZXJtcy5tb2RlbCc7XG5pbXBvcnQgeyBjbHVzdGVyZXJJbWFnZSwgY3JlYXRlTWFya2VyLCBwb2x5Z29uc0Zyb21GZWF0dXJlLCBwb2x5Z29uQm91bmRzLCBzdHJva2VTdHlsZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tYXBzLXV0aWxzJztcbmltcG9ydCB7IGJhc2VVcmwsIHdhaXRGb3IgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMnO1xuXG50eXBlIHNpdGUgPSBJU2l0ZUpTT05MRCB8IFNpdGUgfCBJT3JnYW5pc2F0aW9uSlNPTkxEIHwgT3JnYW5pc2F0aW9uO1xuXG5jb25zdCBpc1NpdGUgPSAoeyAnQHR5cGUnOiB0eXBlLCAnQGlkJzogaWQgfTogYW55KSA9PiB0eXBlID09PSBOb2RlVHlwZS5TaXRlICYmICEhaWQ7XG5cbmNvbnN0IHNpdGVMb2NhdGlvbiA9ICh7IGxhdGl0dWRlLCBsb25naXR1ZGUgfTogc2l0ZSkgPT4gbGF0aXR1ZGUgJiYgbG9uZ2l0dWRlID8gKHtcbiAgbGF0OiBsYXRpdHVkZSxcbiAgbG5nOiBsb25naXR1ZGVcbn0pIDogdW5kZWZpbmVkO1xuXG5jb25zdCBzaXRlRGVmYXVsdExvY2F0aW9uID0gKHsgcmVnaW9uLCBjb3VudHJ5IH06IHNpdGUpID0+IHtcbiAgY29uc3QgbWFya2VycyA9IFtcbiAgICByZWdpb24gPyBjcmVhdGVNYXJrZXIodGVybUxvY2F0aW9uKHJlZ2lvbiksIHRlcm1Mb2NhdGlvbk5hbWUocmVnaW9uKS5uYW1lLCB1bmRlZmluZWQsIDIwKSA6IHVuZGVmaW5lZCxcbiAgICBjb3VudHJ5ID8gY3JlYXRlTWFya2VyKHRlcm1Mb2NhdGlvbihjb3VudHJ5KSwgdGVybUxvY2F0aW9uTmFtZShjb3VudHJ5KS5uYW1lLCB1bmRlZmluZWQsIDQwKSA6IHVuZGVmaW5lZFxuICBdLmZpbHRlcihCb29sZWFuKTtcbiAgcmV0dXJuIChtYXJrZXJzLmxlbmd0aCA/IG1hcmtlcnNbMF0gOiB1bmRlZmluZWQpIGFzIGdvb2dsZS5tYXBzLk1hcmtlcjtcbn07XG5cbmNvbnN0IHNpdGVNYXJrZXIgPSAoc2l0ZTogc2l0ZSkgPT4gY3JlYXRlTWFya2VyKHNpdGUgPyBzaXRlTG9jYXRpb24oc2l0ZSkgOiB1bmRlZmluZWQsIHNpdGUubmFtZSk7XG5cbmNvbnN0IHNpdGVQb2x5Z29uID0gKHsgYm91bmRhcnkgfTogc2l0ZSkgPT4gKFxuICBib3VuZGFyeSA/IHBvbHlnb25zRnJvbUZlYXR1cmUoYm91bmRhcnkpIDogdW5kZWZpbmVkXG4pIGFzIGdvb2dsZS5tYXBzLlBvbHlnb25bXTtcblxuY29uc3QgcmVnaW9ucyA9IChzaXRlczogc2l0ZVtdKTogc3RyaW5nW10gPT4gdW5pcXVlKFxuICBzaXRlcy5tYXAoKHsgY291bnRyeSwgcmVnaW9uIH0pID0+IHJlZ2lvbiA/IHJlZ2lvblsnQGlkJ10gOiAoY291bnRyeSA/IGNvdW50cnlbJ0BpZCddIDogbnVsbCkpLmZpbHRlcihCb29sZWFuKVxuKTtcblxuY29uc3QgZGVmYXVsdENlbnRlciA9IHsgbGF0OiAwLCBsbmc6IDAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtc2l0ZXMtbWFwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaXRlcy1tYXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2l0ZXMtbWFwcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVzTWFwc0NvbXBvbmVudDxDIGV4dGVuZHMgSlNPTkxEPFQ+LCBUIGV4dGVuZHMgTm9kZVR5cGU+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGxvYWRlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoR29vZ2xlTWFwKVxuICBwcml2YXRlIG1hcD86IEdvb2dsZU1hcDtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBsb2FkUG9seWdvbnMgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwcml2YXRlIHNpdGVzOiBzaXRlW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBub2RlczogQ1tdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjZW50ZXIgPSBkZWZhdWx0Q2VudGVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgem9vbSA9IDI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93Tm90aWNlID0gdHJ1ZTtcblxuICBwdWJsaWMgZ29vZ2xlTG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Tm9Mb2NhdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm9kZVNlcnZpY2U6IEhlTm9kZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB3YWl0Rm9yKCdnb29nbGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLmdvb2dsZUxvYWRlZCA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICF0aGlzLmxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHJldHVybiB0aGlzLmdvb2dsZUxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREYXRhKCkge1xuICAgIC8vIGxvYWRlZCBkYXRhIGFzIGdlb2pzb25cbiAgICB0aGlzLm1hcCEuZ29vZ2xlTWFwIS5kYXRhLnNldFN0eWxlKCgpID0+ICh7IC4uLnN0cm9rZVN0eWxlLCBzdHJva2VPcGFjaXR5OiAwLjEgfSkpO1xuXG4gICAgY29uc3Qgc2l0ZXMgPSBhd2FpdCB0aGlzLmdldFNpdGVzKCk7XG4gICAgY29uc3QgbWFya2VycyA9IHRoaXMuYWRkU2l0ZU1hcmtlcnMoc2l0ZXMpO1xuICAgIC8vIGFkZCB0aGUgc2l0ZS5ib3VuZGFyeSBpZiBleGlzdFxuICAgIGNvbnN0IHBvbHlnb25zID0gc2l0ZXMuZmxhdE1hcChzaXRlUG9seWdvbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgIHBvbHlnb25zLm1hcChwb2x5Z29uID0+IHBvbHlnb24/LnNldE1hcCh0aGlzLm1hcCEuZ29vZ2xlTWFwISkpO1xuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgIC8vIGFkZCB0aGUgZGVmYXVsdCBzaXRlIHBvbHlnb25zIGZyb20gR0FETSByZWdpb24gaWYgYW55XG4gICAgY29uc3QgdGVybVBvbHlnb25zID0gKGF3YWl0IFByb21pc2UuYWxsKHJlZ2lvbnMoc2l0ZXMpLm1hcCh2ID0+IHRoaXMuYWRkVGVybXNQb2x5Z29ucyh2KSkpKS5mbGF0KCk7XG5cbiAgICB0aGlzLnNob3dOb0xvY2F0aW9uID0gbWFya2Vycy5sZW5ndGggPT09IDAgJiYgcG9seWdvbnMubGVuZ3RoID09PSAwICYmIHRlcm1Qb2x5Z29ucy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIG1hcmtlcnMubGVuZ3RoID9cbiAgICAgIHRoaXMuY2VudGVyTWFya2VyKG1hcmtlcnNbMF0hKSA6XG4gICAgICB0aGlzLmNlbnRlclBvbHlnb25zKHBvbHlnb25zLmxlbmd0aCA/IHBvbHlnb25zIDogdGVybVBvbHlnb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTWFya2VycyhtYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSwgY2x1c3RlciA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIGNsdXN0ZXIgP1xuICAgICAgbmV3IE1hcmtlckNsdXN0ZXJlcih0aGlzLm1hcCEuZ29vZ2xlTWFwISwgbWFya2VycywgeyBpbWFnZVBhdGg6IGNsdXN0ZXJlckltYWdlIH0pIDpcbiAgICAgIG1hcmtlcnMubWFwKG1hcmtlciA9PiBtYXJrZXIuc2V0TWFwKHRoaXMubWFwIS5nb29nbGVNYXAhKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFkZFRlcm1zUG9seWdvbnMoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmxvYWRQb2x5Z29ucyA/IGF3YWl0IHRoaXMudGVybVBvbHlnb25zKGlkKSA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBjZW50ZXJNYXJrZXIobWFya2VyOiBnb29nbGUubWFwcy5NYXJrZXIpIHtcbiAgICBjb25zdCBjZW50ZXIgPSBtYXJrZXIuZ2V0UG9zaXRpb24oKTtcbiAgICB0aGlzLmNlbnRlciA9IGNlbnRlciA/IHsgbGF0OiBjZW50ZXIubGF0KCksIGxuZzogY2VudGVyLmxuZygpIH0gOiBkZWZhdWx0Q2VudGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBjZW50ZXJQb2x5Z29ucyhwb2x5Z29uczogZ29vZ2xlLm1hcHMuUG9seWdvbltdKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwb2x5Z29ucy5sZW5ndGggPyB0aGlzLm1hcCEuZ29vZ2xlTWFwIS5maXRCb3VuZHMocG9seWdvbkJvdW5kcyhwb2x5Z29ucykpIDogbnVsbDtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgaWYgKHBvbHlnb25zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLm1hcCEuZ29vZ2xlTWFwIS5maXRCb3VuZHMocG9seWdvbkJvdW5kcyhwb2x5Z29uc1swXSkpO1xuICAgICAgICB0aGlzLnpvb20gPSAzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2l0ZU1hcmtlcnMoc2l0ZXM6IHNpdGVbXSkge1xuICAgIGNvbnN0IHNpdGVNYXJrZXJzID0gc2l0ZXMubWFwKHNpdGVNYXJrZXIpLmZpbHRlcihCb29sZWFuKTtcbiAgICBjb25zdCBtYXJrZXJzID0gc2l0ZU1hcmtlcnMubGVuZ3RoID8gc2l0ZU1hcmtlcnMgOiBzaXRlcy5tYXAoc2l0ZURlZmF1bHRMb2NhdGlvbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgIHRoaXMuYWRkTWFya2VycyhtYXJrZXJzLCAhIXNpdGVNYXJrZXJzLmxlbmd0aCk7XG4gICAgcmV0dXJuIG1hcmtlcnM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRTaXRlKG5vZGU6IGFueSkge1xuICAgIC8vIG1lYW5zIHRoZSBzaXRlIHdhcyBhbHJlYWR5IGRvd25sb2FkZWRcbiAgICByZXR1cm4gJ3NjaGVtYVZlcnNpb24nIGluIG5vZGUgPyBub2RlIDogYXdhaXQgdGhpcy5ub2RlU2VydmljZS5nZXQ8SVNpdGVKU09OTEQgfCBJT3JnYW5pc2F0aW9uSlNPTkxEPihub2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2l0ZURhdGEobm9kZTogYW55KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIE5vZGVUeXBlLlNpdGUsXG4gICAgICBOb2RlVHlwZS5PcmdhbmlzYXRpb25cbiAgICBdLmluY2x1ZGVzKG5vZGUudHlwZSkgPyBub2RlIDogKFxuICAgICAgaXNTaXRlKG5vZGUpID9cbiAgICAgICAgdGhpcy5sb2FkU2l0ZShub2RlKSA6IChcbiAgICAgICAgJ3NpdGUnIGluIG5vZGUgJiYgaXNTaXRlKG5vZGUuc2l0ZSkgP1xuICAgICAgICAgIHRoaXMubG9hZFNpdGUobm9kZS5zaXRlKSA6XG4gICAgICAgICAgdGhpcy5zaXRlRGF0YShhd2FpdCB0aGlzLmxvYWRTaXRlKG5vZGUpKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaXRlcygpOiBQcm9taXNlPHNpdGVbXT4ge1xuICAgIGNvbnN0IG5vZGVzOiBhbnlbXSA9IHRoaXMuc2l0ZXMgJiYgdGhpcy5zaXRlcy5sZW5ndGggPyB0aGlzLnNpdGVzIDogdGhpcy5ub2RlcztcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobm9kZXMubWFwKG5vZGUgPT4gdGhpcy5zaXRlRGF0YShub2RlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXJtUG9seWdvbnMoaWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5ub2RlU2VydmljZS5kb3dubG9hZFJhdyhgJHtiYXNlVXJsKCl9L2dhZG0vJHtpZH0uZ2VvanNvbmApO1xuICAgICAgY29uc3QgcG9seWdvbnMgPSBwb2x5Z29uc0Zyb21GZWF0dXJlKGRhdGEpO1xuICAgICAgcG9seWdvbnMubWFwKHBvbHlnb24gPT4gcG9seWdvbi5zZXRNYXAodGhpcy5tYXAhLmdvb2dsZU1hcCEpKTtcbiAgICAgIHJldHVybiBwb2x5Z29ucztcbiAgICB9XG4gICAgY2F0Y2ggKF9lcnIpIHtcbiAgICAgIC8vIGlnbm9yZSBlcnJvciBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIiwiPGdvb2dsZS1tYXAgKm5nSWY9XCJnb29nbGVMb2FkZWRcIlxuICBoZWlnaHQ9XCIxMDAlXCJcbiAgd2lkdGg9XCIxMDAlXCJcbiAgW3pvb21dPVwiem9vbVwiXG4gIFtjZW50ZXJdPVwiY2VudGVyXCJcbj48L2dvb2dsZS1tYXA+XG5cbjxwICpuZ0lmPVwic2hvd05vdGljZVwiIGNsYXNzPVwibXQtMiBpcy1pdGFsaWMgaXMtc2l6ZS03XCI+VGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIG1pZ2h0IG5vdCBiZSBjb21wbGV0ZTwvcD5cblxuPGRpdiBjbGFzcz1cIm5vLWxvY2F0aW9uIGhhcy10ZXh0LWNlbnRlciBoYXMtdGV4dC1saWdodFwiICpuZ0lmPVwic2hvd05vTG9jYXRpb25cIj5cbiAgPHNwYW4+Tm8gcHJlY2lzZSBsb2NhdGlvbiBkYXRhPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { DataState } from '@hestia-earth/api';
3
+ import { measurementValue, maxAreaSize, siteTooBig } from '../sites.model';
4
+ import { defaultLabel, groupNodesByTerm, grouppedKeys } from '../../common/utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@fortawesome/angular-fontawesome";
7
+ import * as i2 from "../../node/node-link/node-link.component";
8
+ import * as i3 from "../../common/blank-node-state/blank-node-state.component";
9
+ import * as i4 from "../../common/blank-node-state-notice/blank-node-state-notice.component";
10
+ import * as i5 from "../sites-measurements-logs/sites-measurements-logs.component";
11
+ import * as i6 from "../../node/node-csv-export-confirm/node-csv-export-confirm.component";
12
+ import * as i7 from "../../node/node-value-details/node-value-details.component";
13
+ import * as i8 from "@angular/common";
14
+ import * as i9 from "@ng-bootstrap/ng-bootstrap";
15
+ import * as i10 from "../../common/ellipsis.pipe";
16
+ import * as i11 from "../../common/default.pipe";
17
+ import * as i12 from "../../common/precision.pipe";
18
+ const orderBy = require('lodash.orderby');
19
+ var View;
20
+ (function (View) {
21
+ View["table"] = "table";
22
+ View["logs"] = "logs";
23
+ })(View || (View = {}));
24
+ export class SitesMeasurementsComponent {
25
+ constructor() {
26
+ this.originalValues = [];
27
+ this.sites = [];
28
+ this.showDownload = false;
29
+ this.View = View;
30
+ this.selectedView = View.table;
31
+ this.maxAreaSize = maxAreaSize;
32
+ this.siteTooBig = siteTooBig;
33
+ this.defaultLabel = defaultLabel;
34
+ this.measurementValue = measurementValue;
35
+ this.measurements = [];
36
+ }
37
+ ngOnChanges(changes) {
38
+ if ('sites' in changes) {
39
+ return this.update();
40
+ }
41
+ if ('dataState' in changes) {
42
+ this.selectedView = View.table;
43
+ }
44
+ }
45
+ trackById(_index, item) {
46
+ return item['@id'];
47
+ }
48
+ get isOriginal() {
49
+ return this.dataState === DataState.original;
50
+ }
51
+ update() {
52
+ const measurementsPerSite = groupNodesByTerm(this.sites, 'measurements', this.originalValues);
53
+ this.measurements = orderBy(grouppedKeys(measurementsPerSite), ['key'], ['asc']);
54
+ }
55
+ togglePopover(popover, context) {
56
+ return popover.isOpen() ? popover.close() : popover.open(context);
57
+ }
58
+ get showAreaTooBig() {
59
+ return this.dataState === DataState.recalculated && (this.sites || []).some(siteTooBig);
60
+ }
61
+ }
62
+ SitesMeasurementsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMeasurementsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ SitesMeasurementsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SitesMeasurementsComponent, selector: "he-sites-measurements", inputs: { originalValues: "originalValues", sites: "sites", dataState: "dataState" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"measurements.length; else emptyTable\">\n <div class=\"columns is-variable is-2 m-0\">\n <div class=\"column is-hidden-mobile\"></div>\n <div class=\"column is-narrow\">\n <div class=\"field has-addons\">\n <div class=\"control\">\n <button class=\"button is-small\" [class.is-active]=\"selectedView === View.table\" (click)=\"selectedView = View.table\">\n <span class=\"icon is-small\">\n <fa-icon icon=\"list\" aria-hidden=\"true\"></fa-icon>\n </span>\n <span>Table view</span>\n </button>\n </div>\n <div class=\"control\" *ngIf=\"!isOriginal && sites.length === 1\">\n <button class=\"button is-small\" [class.is-active]=\"selectedView === View.logs\" (click)=\"selectedView = View.logs\">\n <span class=\"icon is-small\">\n <fa-icon icon=\"calculator\" aria-hidden=\"true\"></fa-icon>\n </span>\n <span>Recalculations logs</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"px-3 pb-3\" [class.is-hidden]=\"selectedView !== View.table\">\n <div class=\"has-text-right mb-2\">\n <button class=\"button is-dark is-outlined is-small\" (click)=\"showDownload = true\">\n <fa-icon icon=\"download\"></fa-icon>\n <span class=\"pl-2\">Download (CSV)</span>\n </button>\n </div>\n\n <div class=\"table-container data-table-container mb-1\">\n <table class=\"table is-narrow data-table has-children-{{measurements.length}}\">\n <thead>\n <tr>\n <th class=\"width-auto\"></th>\n <th *ngFor=\"let measurement of measurements\"\n [attr.title]=\"measurement.value.term.name\"\n >\n <he-node-link [node]=\"measurement.value.term\">\n <span>{{measurement.value.term.name | ellipsis:30}}</span>\n </he-node-link>\n </th>\n </tr>\n <tr>\n <th class=\"width-auto\"></th>\n <th *ngFor=\"let measurement of measurements\"\n [attr.title]=\"measurement.value.term.units\"\n >{{measurement.value.term.units}}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let site of sites; trackBy: trackById; let i = index\">\n <td class=\"width-auto\" [attr.title]=\"defaultLabel(site)\">\n <he-node-link [node]=\"site\">\n <span class=\"is-nowrap has-text-ellipsis\">{{i + 1}}. {{defaultLabel(site)}}</span>\n </he-node-link>\n </td>\n <td class=\"is-nowrap\" *ngFor=\"let measurement of measurements\">\n <span *ngIf=\"measurement.value.values[site['@id']]\"\n class=\"trigger-popover\"\n [ngbPopover]=\"details\" [autoClose]=\"'outside'\"\n triggers=\"manual\" #p=\"ngbPopover\" placement=\"left\" container=\"body\"\n (click)=\"togglePopover(p, { data: measurement.value.values[site['@id']], site: site, key: 'measurements' })\"\n >\n <span pointer>{{measurementValue(measurement.value.values[site['@id']]) | precision:3 | default:'-'}}</span>\n <he-blank-node-state class=\"ml-1\"\n [node]=\"measurement.value.values[site['@id']].nodes[0]\"\n key=\"value\"\n ></he-blank-node-state>\n </span>\n <span *ngIf=\"!measurement.value.values[site['@id']]\">\n <span>-</span>\n <sup class=\"pl-1\" *ngIf=\"siteTooBig(site)\">(1)</sup>\n </span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <he-blank-node-state-notice [dataState]=\"dataState\"></he-blank-node-state-notice>\n\n <p class=\"is-size-7 is-italic\" *ngIf=\"showAreaTooBig\">\n (1) This region is >{{maxAreaSize}}km2 and is too large to reliably gap fill Measurements.\n </p>\n </div>\n\n <he-sites-measurements-logs *ngIf=\"selectedView === View.logs && !isOriginal\"\n [site]=\"sites[0]\"\n [originalValues]=\"originalValues[0].measurements\"\n [recalculatedValues]=\"sites[0].measurements\"\n ></he-sites-measurements-logs>\n</ng-container>\n\n<he-node-csv-export-confirm *ngIf=\"showDownload\"\n [nodes]=\"sites\" filename=\"site-measurements.csv\" [isUpload]=\"false\"\n [headerKeys]=\"['site.id', 'site.@id', 'site.measurements.']\"\n (closed)=\"showDownload = false\"\n></he-node-csv-export-confirm>\n\n<ng-template #emptyTable>\n <div class=\"panel-block\">\n <span>No data</span>\n </div>\n</ng-template>\n\n<ng-template #emptyValue>\n <span>-</span>\n</ng-template>\n\n<ng-template #details let-node=\"site\" let-data=\"data\" let-key=\"key\">\n <p><b>{{node.name}}</b></p>\n <he-node-value-details\n [data]=\"data\" [nodeType]=\"node['@type']\" [dataKey]=\"key\"\n ></he-node-value-details>\n</ng-template>\n", styles: ["fa-icon{display:inline-block;width:10px}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { type: i2.NodeLinkComponent, selector: "he-node-link", inputs: ["node", "showExternalLink"] }, { type: i3.BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["nodeType", "dataKey", "key", "node", "state"] }, { type: i4.BlankNodeStateNoticeComponent, selector: "he-blank-node-state-notice", inputs: ["dataState", "showDeleted"] }, { type: i5.SitesMeasurementsLogsComponent, selector: "he-sites-measurements-logs", inputs: ["site", "originalValues", "recalculatedValues"] }, { type: i6.NodeCsvExportConfirmComponent, selector: "he-node-csv-export-confirm", inputs: ["nodes", "filename", "headerKeys", "extension", "isUpload"], outputs: ["closed"] }, { type: i7.NodeValueDetailsComponent, selector: "he-node-value-details", inputs: ["data", "nodeType", "dataKey"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disablePopover", "popoverClass", "openDelay", "closeDelay", "ngbPopover", "popoverTitle"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }], pipes: { "ellipsis": i10.EllipsisPipe, "default": i11.DefaultPipe, "precision": i12.PrecisionPipe } });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMeasurementsComponent, decorators: [{
65
+ type: Component,
66
+ args: [{
67
+ selector: 'he-sites-measurements',
68
+ templateUrl: './sites-measurements.component.html',
69
+ styleUrls: ['./sites-measurements.component.scss']
70
+ }]
71
+ }], propDecorators: { originalValues: [{
72
+ type: Input
73
+ }], sites: [{
74
+ type: Input
75
+ }], dataState: [{
76
+ type: Input
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtbWVhc3VyZW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tZWFzdXJlbWVudHMvc2l0ZXMtbWVhc3VyZW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tZWFzdXJlbWVudHMvc2l0ZXMtbWVhc3VyZW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFnQixZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFIaEcsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFLMUMsSUFBSyxJQUdKO0FBSEQsV0FBSyxJQUFJO0lBQ1AsdUJBQWUsQ0FBQTtJQUNmLHFCQUFhLENBQUE7QUFDZixDQUFDLEVBSEksSUFBSSxLQUFKLElBQUksUUFHUjtBQU9ELE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFPUyxtQkFBYyxHQUFrQixFQUFFLENBQUM7UUFFbkMsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFJMUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGlCQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUMxQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBRXBDLGlCQUFZLEdBQWdDLEVBQUUsQ0FBQztLQWlDdkQ7SUEvQkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksV0FBVyxJQUFJLE9BQU8sRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWMsRUFBRSxJQUFpQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFTyxNQUFNO1FBQ1osTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FDaEQsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU87UUFDbkMsT0FBTyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7d0hBaERVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLHdLQ2xCdkMsazVKQXVIQTs0RkRyR2EsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELFNBQVMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO2lCQUNuRDs4QkFHUSxjQUFjO3NCQURwQixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcbmltcG9ydCB7IElTaXRlSlNPTkxELCBNZWFzdXJlbWVudCB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcbmNvbnN0IG9yZGVyQnkgPSByZXF1aXJlKCdsb2Rhc2gub3JkZXJieScpO1xuXG5pbXBvcnQgeyBtZWFzdXJlbWVudFZhbHVlLCBtYXhBcmVhU2l6ZSwgc2l0ZVRvb0JpZyB9IGZyb20gJy4uL3NpdGVzLm1vZGVsJztcbmltcG9ydCB7IGRlZmF1bHRMYWJlbCwgZ3JvdXBOb2Rlc0J5VGVybSwgSUdyb3VwZWRLZXlzLCBncm91cHBlZEtleXMgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMnO1xuXG5lbnVtIFZpZXcge1xuICB0YWJsZSA9ICd0YWJsZScsXG4gIGxvZ3MgPSAnbG9ncydcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtc2l0ZXMtbWVhc3VyZW1lbnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpdGVzLW1lYXN1cmVtZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpdGVzLW1lYXN1cmVtZW50cy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVzTWVhc3VyZW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIG9yaWdpbmFsVmFsdWVzOiBJU2l0ZUpTT05MRFtdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXRlczogSVNpdGVKU09OTERbXSA9IFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVN0YXRlPzogRGF0YVN0YXRlO1xuXG4gIHB1YmxpYyBzaG93RG93bmxvYWQgPSBmYWxzZTtcbiAgcHVibGljIFZpZXcgPSBWaWV3O1xuICBwdWJsaWMgc2VsZWN0ZWRWaWV3ID0gVmlldy50YWJsZTtcbiAgcHVibGljIG1heEFyZWFTaXplID0gbWF4QXJlYVNpemU7XG4gIHB1YmxpYyBzaXRlVG9vQmlnID0gc2l0ZVRvb0JpZztcbiAgcHVibGljIGRlZmF1bHRMYWJlbCA9IGRlZmF1bHRMYWJlbDtcbiAgcHVibGljIG1lYXN1cmVtZW50VmFsdWUgPSBtZWFzdXJlbWVudFZhbHVlO1xuXG4gIHB1YmxpYyBtZWFzdXJlbWVudHM6IElHcm91cGVkS2V5czxNZWFzdXJlbWVudD5bXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ3NpdGVzJyBpbiBjaGFuZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgaWYgKCdkYXRhU3RhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gVmlldy50YWJsZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUlkKF9pbmRleDogbnVtYmVyLCBpdGVtOiBJU2l0ZUpTT05MRCkge1xuICAgIHJldHVybiBpdGVtWydAaWQnXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcmlnaW5hbCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3RhdGUgPT09IERhdGFTdGF0ZS5vcmlnaW5hbDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIGNvbnN0IG1lYXN1cmVtZW50c1BlclNpdGUgPSBncm91cE5vZGVzQnlUZXJtPElTaXRlSlNPTkxELCBNZWFzdXJlbWVudD4oXG4gICAgICB0aGlzLnNpdGVzLCAnbWVhc3VyZW1lbnRzJywgdGhpcy5vcmlnaW5hbFZhbHVlc1xuICAgICk7XG4gICAgdGhpcy5tZWFzdXJlbWVudHMgPSBvcmRlckJ5KGdyb3VwcGVkS2V5cyhtZWFzdXJlbWVudHNQZXJTaXRlKSwgWydrZXknXSwgWydhc2MnXSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUG9wb3Zlcihwb3BvdmVyLCBjb250ZXh0KSB7XG4gICAgcmV0dXJuIHBvcG92ZXIuaXNPcGVuKCkgPyBwb3BvdmVyLmNsb3NlKCkgOiBwb3BvdmVyLm9wZW4oY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dBcmVhVG9vQmlnKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdGF0ZSA9PT0gRGF0YVN0YXRlLnJlY2FsY3VsYXRlZCAmJiAodGhpcy5zaXRlcyB8fCBbXSkuc29tZShzaXRlVG9vQmlnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lYXN1cmVtZW50cy5sZW5ndGg7IGVsc2UgZW1wdHlUYWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy12YXJpYWJsZSBpcy0yIG0tMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtaGlkZGVuLW1vYmlsZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtbmFycm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaGFzLWFkZG9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbFwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtc21hbGxcIiBbY2xhc3MuaXMtYWN0aXZlXT1cInNlbGVjdGVkVmlldyA9PT0gVmlldy50YWJsZVwiIChjbGljayk9XCJzZWxlY3RlZFZpZXcgPSBWaWV3LnRhYmxlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gaXMtc21hbGxcIj5cbiAgICAgICAgICAgICAgPGZhLWljb24gaWNvbj1cImxpc3RcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2ZhLWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj5UYWJsZSB2aWV3PC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2xcIiAqbmdJZj1cIiFpc09yaWdpbmFsICYmIHNpdGVzLmxlbmd0aCA9PT0gMVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtc21hbGxcIiBbY2xhc3MuaXMtYWN0aXZlXT1cInNlbGVjdGVkVmlldyA9PT0gVmlldy5sb2dzXCIgKGNsaWNrKT1cInNlbGVjdGVkVmlldyA9IFZpZXcubG9nc1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIGlzLXNtYWxsXCI+XG4gICAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJjYWxjdWxhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+UmVjYWxjdWxhdGlvbnMgbG9nczwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInB4LTMgcGItM1wiIFtjbGFzcy5pcy1oaWRkZW5dPVwic2VsZWN0ZWRWaWV3ICE9PSBWaWV3LnRhYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImhhcy10ZXh0LXJpZ2h0IG1iLTJcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtZGFyayBpcy1vdXRsaW5lZCBpcy1zbWFsbFwiIChjbGljayk9XCJzaG93RG93bmxvYWQgPSB0cnVlXCI+XG4gICAgICAgIDxmYS1pY29uIGljb249XCJkb3dubG9hZFwiPjwvZmEtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwbC0yXCI+RG93bmxvYWQgKENTVik8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXIgZGF0YS10YWJsZS1jb250YWluZXIgbWItMVwiPlxuICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgaXMtbmFycm93IGRhdGEtdGFibGUgaGFzLWNoaWxkcmVuLXt7bWVhc3VyZW1lbnRzLmxlbmd0aH19XCI+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ3aWR0aC1hdXRvXCI+PC90aD5cbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgbWVhc3VyZW1lbnQgb2YgbWVhc3VyZW1lbnRzXCJcbiAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwibWVhc3VyZW1lbnQudmFsdWUudGVybS5uYW1lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGhlLW5vZGUtbGluayBbbm9kZV09XCJtZWFzdXJlbWVudC52YWx1ZS50ZXJtXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3ttZWFzdXJlbWVudC52YWx1ZS50ZXJtLm5hbWUgfCBlbGxpcHNpczozMH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2hlLW5vZGUtbGluaz5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ3aWR0aC1hdXRvXCI+PC90aD5cbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgbWVhc3VyZW1lbnQgb2YgbWVhc3VyZW1lbnRzXCJcbiAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwibWVhc3VyZW1lbnQudmFsdWUudGVybS51bml0c1wiXG4gICAgICAgICAgICA+e3ttZWFzdXJlbWVudC52YWx1ZS50ZXJtLnVuaXRzfX08L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHNpdGUgb2Ygc2l0ZXM7IHRyYWNrQnk6IHRyYWNrQnlJZDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwid2lkdGgtYXV0b1wiIFthdHRyLnRpdGxlXT1cImRlZmF1bHRMYWJlbChzaXRlKVwiPlxuICAgICAgICAgICAgICA8aGUtbm9kZS1saW5rIFtub2RlXT1cInNpdGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlzLW5vd3JhcCBoYXMtdGV4dC1lbGxpcHNpc1wiPnt7aSArIDF9fS4ge3tkZWZhdWx0TGFiZWwoc2l0ZSl9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9oZS1ub2RlLWxpbms+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiaXMtbm93cmFwXCIgKm5nRm9yPVwibGV0IG1lYXN1cmVtZW50IG9mIG1lYXN1cmVtZW50c1wiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lYXN1cmVtZW50LnZhbHVlLnZhbHVlc1tzaXRlWydAaWQnXV1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHJpZ2dlci1wb3BvdmVyXCJcbiAgICAgICAgICAgICAgICBbbmdiUG9wb3Zlcl09XCJkZXRhaWxzXCIgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxuICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwibWFudWFsXCIgI3A9XCJuZ2JQb3BvdmVyXCIgcGxhY2VtZW50PVwibGVmdFwiIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3BvdmVyKHAsIHsgZGF0YTogbWVhc3VyZW1lbnQudmFsdWUudmFsdWVzW3NpdGVbJ0BpZCddXSwgc2l0ZTogc2l0ZSwga2V5OiAnbWVhc3VyZW1lbnRzJyB9KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBwb2ludGVyPnt7bWVhc3VyZW1lbnRWYWx1ZShtZWFzdXJlbWVudC52YWx1ZS52YWx1ZXNbc2l0ZVsnQGlkJ11dKSB8IHByZWNpc2lvbjozIHwgZGVmYXVsdDonLSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aGUtYmxhbmstbm9kZS1zdGF0ZSBjbGFzcz1cIm1sLTFcIlxuICAgICAgICAgICAgICAgICAgW25vZGVdPVwibWVhc3VyZW1lbnQudmFsdWUudmFsdWVzW3NpdGVbJ0BpZCddXS5ub2Rlc1swXVwiXG4gICAgICAgICAgICAgICAgICBrZXk9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgPjwvaGUtYmxhbmstbm9kZS1zdGF0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFtZWFzdXJlbWVudC52YWx1ZS52YWx1ZXNbc2l0ZVsnQGlkJ11dXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+LTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3VwIGNsYXNzPVwicGwtMVwiICpuZ0lmPVwic2l0ZVRvb0JpZyhzaXRlKVwiPigxKTwvc3VwPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPGhlLWJsYW5rLW5vZGUtc3RhdGUtbm90aWNlIFtkYXRhU3RhdGVdPVwiZGF0YVN0YXRlXCI+PC9oZS1ibGFuay1ub2RlLXN0YXRlLW5vdGljZT5cblxuICAgIDxwIGNsYXNzPVwiaXMtc2l6ZS03IGlzLWl0YWxpY1wiICpuZ0lmPVwic2hvd0FyZWFUb29CaWdcIj5cbiAgICAgICgxKSBUaGlzIHJlZ2lvbiBpcyA+e3ttYXhBcmVhU2l6ZX19a20yIGFuZCBpcyB0b28gbGFyZ2UgdG8gcmVsaWFibHkgZ2FwIGZpbGwgTWVhc3VyZW1lbnRzLlxuICAgIDwvcD5cbiAgPC9kaXY+XG5cbiAgPGhlLXNpdGVzLW1lYXN1cmVtZW50cy1sb2dzICpuZ0lmPVwic2VsZWN0ZWRWaWV3ID09PSBWaWV3LmxvZ3MgJiYgIWlzT3JpZ2luYWxcIlxuICAgIFtzaXRlXT1cInNpdGVzWzBdXCJcbiAgICBbb3JpZ2luYWxWYWx1ZXNdPVwib3JpZ2luYWxWYWx1ZXNbMF0ubWVhc3VyZW1lbnRzXCJcbiAgICBbcmVjYWxjdWxhdGVkVmFsdWVzXT1cInNpdGVzWzBdLm1lYXN1cmVtZW50c1wiXG4gID48L2hlLXNpdGVzLW1lYXN1cmVtZW50cy1sb2dzPlxuPC9uZy1jb250YWluZXI+XG5cbjxoZS1ub2RlLWNzdi1leHBvcnQtY29uZmlybSAqbmdJZj1cInNob3dEb3dubG9hZFwiXG4gIFtub2Rlc109XCJzaXRlc1wiIGZpbGVuYW1lPVwic2l0ZS1tZWFzdXJlbWVudHMuY3N2XCIgW2lzVXBsb2FkXT1cImZhbHNlXCJcbiAgW2hlYWRlcktleXNdPVwiWydzaXRlLmlkJywgJ3NpdGUuQGlkJywgJ3NpdGUubWVhc3VyZW1lbnRzLiddXCJcbiAgKGNsb3NlZCk9XCJzaG93RG93bmxvYWQgPSBmYWxzZVwiXG4+PC9oZS1ub2RlLWNzdi1leHBvcnQtY29uZmlybT5cblxuPG5nLXRlbXBsYXRlICNlbXB0eVRhYmxlPlxuICA8ZGl2IGNsYXNzPVwicGFuZWwtYmxvY2tcIj5cbiAgICA8c3Bhbj5ObyBkYXRhPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHlWYWx1ZT5cbiAgPHNwYW4+LTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGV0YWlscyBsZXQtbm9kZT1cInNpdGVcIiBsZXQtZGF0YT1cImRhdGFcIiBsZXQta2V5PVwia2V5XCI+XG4gIDxwPjxiPnt7bm9kZS5uYW1lfX08L2I+PC9wPlxuICA8aGUtbm9kZS12YWx1ZS1kZXRhaWxzXG4gICAgW2RhdGFdPVwiZGF0YVwiIFtub2RlVHlwZV09XCJub2RlWydAdHlwZSddXCIgW2RhdGFLZXldPVwia2V5XCJcbiAgPjwvaGUtbm9kZS12YWx1ZS1kZXRhaWxzPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { NodeType, TermTermType } from '@hestia-earth/schema';
4
+ import { DataState } from '@hestia-earth/api';
5
+ import { matchTermType, matchType } from '../../search/search.model';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../search/search.service";
8
+ import * as i2 from "../../node/node.service";
9
+ import * as i3 from "../../node/node-logs-models/node-logs-models.component";
10
+ import * as i4 from "@fortawesome/angular-fontawesome";
11
+ import * as i5 from "@angular/common";
12
+ export class SitesMeasurementsLogsComponent {
13
+ constructor(searchService, nodeService) {
14
+ this.searchService = searchService;
15
+ this.nodeService = nodeService;
16
+ this.originalValues = [];
17
+ this.recalculatedValues = [];
18
+ this.loading = true;
19
+ this.NodeType = NodeType;
20
+ this.models = [];
21
+ this.measurements = [];
22
+ }
23
+ ngOnInit() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ this.logsUrl = this.nodeService.nodeLogsUrl(this.node);
26
+ this.logs = yield this.nodeService.getModelsLog(this.node);
27
+ const { results: measurements } = yield this.searchService.search({
28
+ fields: ['@type', '@id', 'name'],
29
+ limit: 1000,
30
+ query: {
31
+ bool: {
32
+ must: [
33
+ matchType(NodeType.Term),
34
+ matchTermType(TermTermType.measurement)
35
+ ]
36
+ }
37
+ }
38
+ });
39
+ this.measurements = measurements;
40
+ this.loading = false;
41
+ });
42
+ }
43
+ get node() {
44
+ return Object.assign(Object.assign({}, this.site), { dataState: DataState.recalculated });
45
+ }
46
+ }
47
+ SitesMeasurementsLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMeasurementsLogsComponent, deps: [{ token: i1.HeSearchService }, { token: i2.HeNodeService }], target: i0.ɵɵFactoryTarget.Component });
48
+ SitesMeasurementsLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SitesMeasurementsLogsComponent, selector: "he-sites-measurements-logs", inputs: { site: "site", originalValues: "originalValues", recalculatedValues: "recalculatedValues" }, ngImport: i0, template: "<he-node-logs-models *ngIf=\"!loading; else loader\"\n [logsUrl]=\"logsUrl\"\n [nodeType]=\"NodeType.Site\"\n [originalValues]=\"originalValues\"\n [recalculatedValues]=\"recalculatedValues\"\n [terms]=\"measurements\"\n [logs]=\"logs\"\n filteredType=\"Measurement\"\n></he-node-logs-models>\n\n<ng-template #loader>\n <div class=\"has-text-center py-3\">\n <fa-icon icon=\"spinner\" [pulse]=\"true\" size=\"lg\"></fa-icon>\n </div>\n</ng-template>\n", styles: [""], components: [{ type: i3.NodeLogsModelsComponent, selector: "he-node-logs-models", inputs: ["nodeType", "nodeKey", "logsUrl", "originalValues", "recalculatedValues", "terms", "logs", "filteredType"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMeasurementsLogsComponent, decorators: [{
50
+ type: Component,
51
+ args: [{
52
+ selector: 'he-sites-measurements-logs',
53
+ templateUrl: './sites-measurements-logs.component.html',
54
+ styleUrls: ['./sites-measurements-logs.component.scss']
55
+ }]
56
+ }], ctorParameters: function () { return [{ type: i1.HeSearchService }, { type: i2.HeNodeService }]; }, propDecorators: { site: [{
57
+ type: Input
58
+ }], originalValues: [{
59
+ type: Input
60
+ }], recalculatedValues: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtbWVhc3VyZW1lbnRzLWxvZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpdGVzL3NpdGVzLW1lYXN1cmVtZW50cy1sb2dzL3NpdGVzLW1lYXN1cmVtZW50cy1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tZWFzdXJlbWVudHMtbG9ncy9zaXRlcy1tZWFzdXJlbWVudHMtbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUF5QyxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFTckUsTUFBTSxPQUFPLDhCQUE4QjtJQWV6QyxZQUNVLGFBQThCLEVBQzlCLFdBQTBCO1FBRDFCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWI3QixtQkFBYyxHQUFrQixFQUFFLENBQUM7UUFFbkMsdUJBQWtCLEdBQWtCLEVBQUUsQ0FBQztRQUV2QyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUdwQixXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFrQixFQUFFLENBQUM7SUFLcEMsQ0FBQztJQUVDLFFBQVE7O1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUzRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQTZCO2dCQUM1RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDaEMsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUU7NEJBQ0osU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7NEJBQ3hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO3lCQUN4QztxQkFDRjtpQkFDRjthQUNGLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBRWpDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7S0FBQTtJQUVELElBQVksSUFBSTtRQUNkLHVDQUNLLElBQUksQ0FBQyxJQUFJLEtBQ1osU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZLElBQ2pDO0lBQ0osQ0FBQzs7NEhBOUNVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHdLQ2IzQyxpZEFlQTs0RkRGYSw4QkFBOEI7a0JBTDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7aUJBQ3hEO2tJQUdRLElBQUk7c0JBRFYsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNpdGVKU09OTEQsIElUZXJtSlNPTkxELCBNZWFzdXJlbWVudCwgTm9kZVR5cGUsIFRlcm1UZXJtVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcblxuaW1wb3J0IHsgbWF0Y2hUZXJtVHlwZSwgbWF0Y2hUeXBlIH0gZnJvbSAnLi4vLi4vc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBIZVNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVOb2RlU2VydmljZSB9IGZyb20gJy4uLy4uL25vZGUvbm9kZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtc2l0ZXMtbWVhc3VyZW1lbnRzLWxvZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2l0ZXMtbWVhc3VyZW1lbnRzLWxvZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaXRlcy1tZWFzdXJlbWVudHMtbG9ncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVzTWVhc3VyZW1lbnRzTG9nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXRlPzogSVNpdGVKU09OTEQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcmlnaW5hbFZhbHVlczogTWVhc3VyZW1lbnRbXSA9IFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVjYWxjdWxhdGVkVmFsdWVzOiBNZWFzdXJlbWVudFtdID0gW107XG5cbiAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICBwdWJsaWMgTm9kZVR5cGUgPSBOb2RlVHlwZTtcbiAgcHVibGljIGxvZ3NVcmw/OiBzdHJpbmc7XG4gIHB1YmxpYyBsb2dzOiBhbnk7XG4gIHB1YmxpYyBtb2RlbHM6IElUZXJtSlNPTkxEW10gPSBbXTtcbiAgcHVibGljIG1lYXN1cmVtZW50czogSVRlcm1KU09OTERbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogSGVTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZVNlcnZpY2U6IEhlTm9kZVNlcnZpY2VcbiAgKSB7IH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvZ3NVcmwgPSB0aGlzLm5vZGVTZXJ2aWNlLm5vZGVMb2dzVXJsKHRoaXMubm9kZSk7XG4gICAgdGhpcy5sb2dzID0gYXdhaXQgdGhpcy5ub2RlU2VydmljZS5nZXRNb2RlbHNMb2codGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IHsgcmVzdWx0czogbWVhc3VyZW1lbnRzIH0gPSBhd2FpdCB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoPElUZXJtSlNPTkxELCBOb2RlVHlwZS5UZXJtPih7XG4gICAgICBmaWVsZHM6IFsnQHR5cGUnLCAnQGlkJywgJ25hbWUnXSxcbiAgICAgIGxpbWl0OiAxMDAwLFxuICAgICAgcXVlcnk6IHtcbiAgICAgICAgYm9vbDoge1xuICAgICAgICAgIG11c3Q6IFtcbiAgICAgICAgICAgIG1hdGNoVHlwZShOb2RlVHlwZS5UZXJtKSxcbiAgICAgICAgICAgIG1hdGNoVGVybVR5cGUoVGVybVRlcm1UeXBlLm1lYXN1cmVtZW50KVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubWVhc3VyZW1lbnRzID0gbWVhc3VyZW1lbnRzO1xuXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldCBub2RlKCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLnNpdGUsXG4gICAgICBkYXRhU3RhdGU6IERhdGFTdGF0ZS5yZWNhbGN1bGF0ZWRcbiAgICB9O1xuICB9XG59XG4iLCI8aGUtbm9kZS1sb2dzLW1vZGVscyAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiXG4gIFtsb2dzVXJsXT1cImxvZ3NVcmxcIlxuICBbbm9kZVR5cGVdPVwiTm9kZVR5cGUuU2l0ZVwiXG4gIFtvcmlnaW5hbFZhbHVlc109XCJvcmlnaW5hbFZhbHVlc1wiXG4gIFtyZWNhbGN1bGF0ZWRWYWx1ZXNdPVwicmVjYWxjdWxhdGVkVmFsdWVzXCJcbiAgW3Rlcm1zXT1cIm1lYXN1cmVtZW50c1wiXG4gIFtsb2dzXT1cImxvZ3NcIlxuICBmaWx0ZXJlZFR5cGU9XCJNZWFzdXJlbWVudFwiXG4+PC9oZS1ub2RlLWxvZ3MtbW9kZWxzPlxuXG48bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgPGRpdiBjbGFzcz1cImhhcy10ZXh0LWNlbnRlciBweS0zXCI+XG4gICAgPGZhLWljb24gaWNvbj1cInNwaW5uZXJcIiBbcHVsc2VdPVwidHJ1ZVwiIHNpemU9XCJsZ1wiPjwvZmEtaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,10 @@
1
+ import { propertyValue } from '../common/utils';
2
+ export const maxAreaSize = 5000;
3
+ export const siteTooBig = ({ area }) => area && area / 100 > maxAreaSize;
4
+ const hasMultipleValues = (values) => (values || []).length > 1;
5
+ const weighedAverage = ({ value, depthLower, depthUpper }) => value.reduce((prev, curr, index) => prev + (curr * (depthLower[index] - depthUpper[index])), 0) /
6
+ value.reduce((prev, _curr, index) => prev + (depthLower[index] - depthUpper[index]), 0);
7
+ export const measurementValue = ({ value, depthLower, depthUpper }) => hasMultipleValues(value) && hasMultipleValues(depthLower) && hasMultipleValues(depthUpper) ?
8
+ weighedAverage({ value, depthLower, depthUpper }) :
9
+ propertyValue(value);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2l0ZXMvc2l0ZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVE5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQztBQUV0RixNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRXZFLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBc0MsRUFBRSxFQUFFLENBQy9GLEtBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLEtBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTdGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBNkIsRUFBRSxFQUFFLENBQy9GLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUYsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVR5cGUsIElTaXRlSlNPTkxELCBNZWFzdXJlbWVudCB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcblxuaW1wb3J0IHsgSUdyb3VwZWROb2RlLCBwcm9wZXJ0eVZhbHVlIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBJU2l0ZUpTT05MREV4dGVuZGVkIGV4dGVuZHMgSVNpdGVKU09OTEQge1xuICByZWxhdGVkOiB7XG4gICAgW3R5cGUgaW4gTm9kZVR5cGVdPzogc3RyaW5nW107XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBtYXhBcmVhU2l6ZSA9IDUwMDA7XG5cbmV4cG9ydCBjb25zdCBzaXRlVG9vQmlnID0gKHsgYXJlYSB9OiBJU2l0ZUpTT05MRCkgPT4gYXJlYSAmJiBhcmVhIC8gMTAwID4gbWF4QXJlYVNpemU7XG5cbmNvbnN0IGhhc011bHRpcGxlVmFsdWVzID0gKHZhbHVlczogYW55W10pID0+ICh2YWx1ZXMgfHwgW10pLmxlbmd0aCA+IDE7XG5cbmNvbnN0IHdlaWdoZWRBdmVyYWdlID0gKHsgdmFsdWUsIGRlcHRoTG93ZXIsIGRlcHRoVXBwZXIgfTogUGFydGlhbDxJR3JvdXBlZE5vZGU8TWVhc3VyZW1lbnQ+PikgPT5cbiAgdmFsdWUhLnJlZHVjZSgocHJldiwgY3VyciwgaW5kZXgpID0+IHByZXYgKyAoY3VyciAqIChkZXB0aExvd2VyIVtpbmRleF0gLSBkZXB0aFVwcGVyIVtpbmRleF0pKSwgMCkgL1xuICB2YWx1ZSEucmVkdWNlKChwcmV2LCBfY3VyciwgaW5kZXgpID0+IHByZXYgKyAoZGVwdGhMb3dlciFbaW5kZXhdIC0gZGVwdGhVcHBlciFbaW5kZXhdKSwgMCk7XG5cbmV4cG9ydCBjb25zdCBtZWFzdXJlbWVudFZhbHVlID0gKHsgdmFsdWUsIGRlcHRoTG93ZXIsIGRlcHRoVXBwZXIgfTogSUdyb3VwZWROb2RlPE1lYXN1cmVtZW50PikgPT5cbiAgaGFzTXVsdGlwbGVWYWx1ZXModmFsdWUpICYmIGhhc011bHRpcGxlVmFsdWVzKGRlcHRoTG93ZXIhKSAmJiBoYXNNdWx0aXBsZVZhbHVlcyhkZXB0aFVwcGVyISkgP1xuICAgIHdlaWdoZWRBdmVyYWdlKHsgdmFsdWUsIGRlcHRoTG93ZXIsIGRlcHRoVXBwZXIgfSkgOlxuICAgIHByb3BlcnR5VmFsdWUodmFsdWUpO1xuIl19
@@ -0,0 +1,42 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { HeCommonModule } from '../common/common.module';
5
+ import { HeNodeModule } from '../node/node.module';
6
+ import { SitesMapsComponent } from './sites-maps/sites-maps.component';
7
+ import { SitesMeasurementsComponent } from './sites-measurements/sites-measurements.component';
8
+ import { SitesMeasurementsLogsComponent } from './sites-measurements-logs/sites-measurements-logs.component';
9
+ import * as i0 from "@angular/core";
10
+ const components = [
11
+ SitesMapsComponent,
12
+ SitesMeasurementsComponent,
13
+ SitesMeasurementsLogsComponent
14
+ ];
15
+ export class HeSitesModule {
16
+ }
17
+ HeSitesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeSitesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ HeSitesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeSitesModule, declarations: [SitesMapsComponent,
19
+ SitesMeasurementsComponent,
20
+ SitesMeasurementsLogsComponent], imports: [CommonModule, ReactiveFormsModule,
21
+ HeCommonModule,
22
+ HeNodeModule], exports: [SitesMapsComponent,
23
+ SitesMeasurementsComponent,
24
+ SitesMeasurementsLogsComponent] });
25
+ HeSitesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeSitesModule, imports: [[
26
+ CommonModule, ReactiveFormsModule,
27
+ HeCommonModule,
28
+ HeNodeModule
29
+ ]] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeSitesModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: components,
34
+ exports: components,
35
+ imports: [
36
+ CommonModule, ReactiveFormsModule,
37
+ HeCommonModule,
38
+ HeNodeModule
39
+ ]
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpdGVzL3NpdGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOztBQUU3RyxNQUFNLFVBQVUsR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLDhCQUE4QjtDQUMvQixDQUFDO0FBV0YsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFkeEIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiw4QkFBOEIsYUFPNUIsWUFBWSxFQUFFLG1CQUFtQjtRQUNqQyxjQUFjO1FBQ2QsWUFBWSxhQVhkLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsOEJBQThCOzRHQVluQixhQUFhLFlBTmY7WUFDUCxZQUFZLEVBQUUsbUJBQW1CO1lBQ2pDLGNBQWM7WUFDZCxZQUFZO1NBQ2I7NEZBRVUsYUFBYTtrQkFUekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsVUFBVTtvQkFDeEIsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQUUsbUJBQW1CO3dCQUNqQyxjQUFjO3dCQUNkLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEhlQ29tbW9uTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi5tb2R1bGUnO1xuaW1wb3J0IHsgSGVOb2RlTW9kdWxlIH0gZnJvbSAnLi4vbm9kZS9ub2RlLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNpdGVzTWFwc0NvbXBvbmVudCB9IGZyb20gJy4vc2l0ZXMtbWFwcy9zaXRlcy1tYXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaXRlc01lYXN1cmVtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vc2l0ZXMtbWVhc3VyZW1lbnRzL3NpdGVzLW1lYXN1cmVtZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2l0ZXNNZWFzdXJlbWVudHNMb2dzQ29tcG9uZW50IH0gZnJvbSAnLi9zaXRlcy1tZWFzdXJlbWVudHMtbG9ncy9zaXRlcy1tZWFzdXJlbWVudHMtbG9ncy5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICBTaXRlc01hcHNDb21wb25lbnQsXG4gIFNpdGVzTWVhc3VyZW1lbnRzQ29tcG9uZW50LFxuICBTaXRlc01lYXN1cmVtZW50c0xvZ3NDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogY29tcG9uZW50cyxcbiAgZXhwb3J0czogY29tcG9uZW50cyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBIZUNvbW1vbk1vZHVsZSxcbiAgICBIZU5vZGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBIZVNpdGVzTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './terms.model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXJtcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXJtcy5tb2RlbCc7XG4iXX0=