@kando-env/kando-ui 1.2.287 → 1.2.288-alpha.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 (56) hide show
  1. package/lib/Widgets/Map/Map.js +18 -2
  2. package/lib/Widgets/Map/Map.scss +17 -5
  3. package/lib/Widgets/Map/MapUtils.js +14 -12
  4. package/lib/Widgets/Map/areas/AreaPolygon.js +80 -14
  5. package/lib/Widgets/Map/areas/AreaPolygons.js +6 -3
  6. package/lib/Widgets/Map/areas/AreaUtils.js +24 -45
  7. package/lib/Widgets/Map/events/EventUtils.js +5 -4
  8. package/lib/Widgets/Map/points/PointMarker.js +80 -24
  9. package/lib/Widgets/Map/points/PointUtils.js +17 -8
  10. package/lib/_design-system.scss +1 -1
  11. package/lib/assets/icons/TrendSvg.js +40 -0
  12. package/lib/assets/icons/index.js +10 -3
  13. package/lib/assets/icons/no-result.svg +20 -0
  14. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +2 -1
  15. package/lib/components/Header/InfoBar/InfoBar.js +9 -9
  16. package/lib/i18n/en.json +18 -3
  17. package/lib/i18n/he.json +14 -10
  18. package/lib/macros/getVersion.js +2 -2
  19. package/lib/pages/DashboardMap/AreaCard.js +44 -7
  20. package/lib/pages/DashboardMap/FactoryCard.js +50 -11
  21. package/lib/pages/DashboardMap/List.js +37 -7
  22. package/lib/pages/DashboardMap/ListContext.js +39 -0
  23. package/lib/pages/DashboardMap/WWTPMap.js +22 -12
  24. package/lib/pages/DashboardMap/Widget.js +203 -67
  25. package/lib/pages/DashboardMap/utils.js +23 -6
  26. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +9 -3
  27. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +27 -0
  28. package/lib/pages/WbeDashboard/WbeDashboardPage.js +7 -4
  29. package/lib/pages/WwtpPage/OrganicCard.js +38 -8
  30. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +19 -0
  31. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +56 -0
  32. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +41 -0
  33. package/lib/pages/WwtpPage/PotentialSaving/index.js +11 -0
  34. package/lib/pages/WwtpPage/PotentialSaving/svgs/co2_emission.svg +17 -0
  35. package/lib/pages/WwtpPage/PotentialSaving/svgs/energy.svg +16 -0
  36. package/lib/pages/WwtpPage/PotentialSaving/svgs/organic_load.svg +20 -0
  37. package/lib/pages/WwtpPage/PotentialSaving/svgs/urban_development.svg +12 -0
  38. package/lib/pages/WwtpPage/PotentialSaving/types.js +6 -0
  39. package/lib/pages/WwtpPage/TrendChart.js +98 -0
  40. package/lib/pages/WwtpPage/WwtpPage.js +11 -10
  41. package/lib/scss/custom.scss +1 -0
  42. package/lib/store/areas/models/IArea.js +1 -1
  43. package/lib/store/events/models/IEvent.js +1 -1
  44. package/lib/store/points/models/IPoint.js +1 -1
  45. package/lib/styles/theme/theme.js +82 -13
  46. package/lib/ui-kit/Dashboard/Dashboard.js +2 -3
  47. package/lib/ui-kit/InletsPie/InletsPie.js +13 -11
  48. package/lib/ui-kit/InletsPie/options.js +2 -2
  49. package/lib/ui-kit/OrganicLoad/GaugeChart.js +9 -8
  50. package/lib/ui-kit/OrganicLoad/TextInfo.js +4 -4
  51. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +3 -3
  52. package/lib/ui-kit/ScoreGauge/constant.js +1 -1
  53. package/lib/utilities/urls.js +3 -2
  54. package/package.json +1 -1
  55. package/lib/assets/icons/trend.svg +0 -8
  56. package/lib/pages/WwtpPage/ImpactCard.js +0 -17
@@ -19,12 +19,13 @@ var _utils = require("./utils");
19
19
  var _Loader = require("./Loader");
20
20
  var _reactRouterDom = require("react-router-dom");
21
21
  var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
22
+ var _ListContext = require("./ListContext");
23
+ var _reactBootstrap = require("react-bootstrap");
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
26
  var WWTPMap = function WWTPMap(props) {
25
27
  var _useParams = (0, _reactRouterDom.useParams)(),
26
28
  id = _useParams.id;
27
- var isMapTab = props.isMapTab;
28
29
  var ReduxState = (0, _reactRedux.useSelector)(function (state) {
29
30
  return state;
30
31
  });
@@ -53,12 +54,12 @@ var WWTPMap = function WWTPMap(props) {
53
54
  return areas_data.newAreas.length !== 0 || points_data.items.length !== 0 || edges_data.items.length !== 0;
54
55
  };
55
56
  (0, _react.useEffect)(function () {
56
- if (!WWTPInfo.point || !wwtp_dashboard.map || !isMapTab || points_data.items.length === 0 || !wwtp_dashboard.map) return;
57
+ if (!WWTPInfo.point || !wwtp_dashboard.map || points_data.items.length === 0 || !wwtp_dashboard.map) return;
57
58
  var latlng = [WWTPInfo.point.latitude, WWTPInfo.point.longitude];
58
59
  wwtp_dashboard.map.fitBounds([latlng]);
59
- }, [WWTPInfo, wwtp_dashboard.map, points_data.isFetching, isMapTab]);
60
+ }, [WWTPInfo, wwtp_dashboard.map, points_data.isFetching]);
60
61
  (0, _react.useEffect)(function () {
61
- if (global_data.waterAuthorityId && isMapTab) {
62
+ if (global_data.waterAuthorityId) {
62
63
  dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId));
63
64
  dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
64
65
  dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, ReduxState.dashboard.period));
@@ -72,7 +73,7 @@ var WWTPMap = function WWTPMap(props) {
72
73
  dataExists: dataExists,
73
74
  id: id
74
75
  });
75
- }, [global_data.waterAuthorityId, areas_data.newAreas.length, points_data.items.length, isMapTab, global_data.waterAuthorityId]);
76
+ }, [global_data.waterAuthorityId, areas_data.newAreas.length, points_data.items.length, ReduxState.dashboard.period]);
76
77
  (0, _react.useEffect)(function () {
77
78
  return function cleanup() {
78
79
  setPoints(null);
@@ -84,15 +85,24 @@ var WWTPMap = function WWTPMap(props) {
84
85
  dispatch((0, _WWTPDashboardSlice.setFocusedArea)(null));
85
86
  dispatch((0, _WWTPDashboardSlice.setMap)(null));
86
87
  };
87
- }, [isMapTab, global_data.waterAuthorityId]);
88
- if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
88
+ }, [global_data.waterAuthorityId]);
89
89
  if (!dataExists() || !points || !areas || !WWTPInfo) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
90
- return /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_List.List, {
90
+ return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
91
+ className: "no-gutters"
92
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
93
+ xs: "auto",
94
+ sm: 4,
95
+ className: "d-none d-sm-flex"
96
+ }, /*#__PURE__*/_react.default.createElement(_List.List, {
91
97
  global_data: global_data,
92
98
  areas: areas,
93
99
  points: points,
94
100
  WWTPInfo: WWTPInfo
95
- }), /*#__PURE__*/_react.default.createElement(_Map.Map, {
101
+ })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
102
+ className: "map-column",
103
+ xs: 12,
104
+ sm: 8
105
+ }, /*#__PURE__*/_react.default.createElement(_Map.Map, {
96
106
  points: points,
97
107
  areas: areas,
98
108
  global_data: global_data,
@@ -102,12 +112,12 @@ var WWTPMap = function WWTPMap(props) {
102
112
  includeUnmonitoredPoints: true,
103
113
  forEventsView: false,
104
114
  forWWTPDashboard: true
105
- }));
115
+ })))));
106
116
  };
107
117
  var Container = _styledComponents.default.div.withConfig({
108
118
  displayName: "WWTPMap__Container",
109
119
  componentId: "sc-19ltp4c-0"
110
- })(["width:100vw;height:calc(100vh - 65px);display:flex;justify-content:flex-end;.kd-map-container{height:100%;z-index:0;width:calc(100% - 30em);#map{height:100%;width:100%;}}"]);
120
+ })(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}}}"]);
111
121
  var _default = WWTPMap;
112
122
  exports.default = _default;
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJpZCIsImlzTWFwVGFiIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFyZWFzIiwic2V0QXJlYXMiLCJfdXNlU3RhdGU1IiwicG9pbnQiLCJhcmVhIiwiX3VzZVN0YXRlNiIsIldXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJkYXRhRXhpc3RzIiwibmV3QXJlYXMiLCJsZW5ndGgiLCJpdGVtcyIsInVzZUVmZmVjdCIsIm1hcCIsImxhdGxuZyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZml0Qm91bmRzIiwiaXNGZXRjaGluZyIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwiZGFzaGJvYXJkIiwicGVyaW9kIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2xlYW51cCIsInNldEZvY3VzZWRBcmVhIiwic2V0TWFwIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiQ29udGFpbmVyIiwiTGlzdCIsIk1hcCIsImVkZ2VzIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZm9yV1dUUERhc2hib2FyZCIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVdXVFBEYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRBcmVhLFxuICBzZXRNYXAsXG59IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgaXNNYXBUYWI6IGJvb2xlYW47XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpZCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IHsgaXNNYXBUYWIgfSA9IHByb3BzO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIVdXVFBJbmZvLnBvaW50IHx8XG4gICAgICAhd3d0cF9kYXNoYm9hcmQubWFwIHx8XG4gICAgICAhaXNNYXBUYWIgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgIXd3dHBfZGFzaGJvYXJkLm1hcFxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBsYXRsbmcgPSBbV1dUUEluZm8ucG9pbnQubGF0aXR1ZGUsIFdXVFBJbmZvLnBvaW50LmxvbmdpdHVkZV07XG4gICAgd3d0cF9kYXNoYm9hcmQubWFwLmZpdEJvdW5kcyhbbGF0bG5nXSk7XG4gIH0sIFtXV1RQSW5mbywgd3d0cF9kYXNoYm9hcmQubWFwLCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLCBpc01hcFRhYl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQgJiYgaXNNYXBUYWIpIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFtcbiAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoLFxuICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCxcbiAgICBpc01hcFRhYixcbiAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UG9pbnRzKG51bGwpO1xuICAgICAgc2V0QXJlYXMobnVsbCk7XG4gICAgICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEobnVsbCkpO1xuICAgICAgZGlzcGF0Y2goc2V0TWFwKG51bGwpKTtcbiAgICB9O1xuICB9LCBbaXNNYXBUYWIsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzIHx8ICFXV1RQSW5mbykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgPExpc3RcbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICBXV1RQSW5mbz17V1dUUEluZm99XG4gICAgICAvPlxuICAgICAgPE1hcFxuICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYXNbMF19XG4gICAgICAgIGZvY3VzZWRFdmVudD17bnVsbH1cbiAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgZm9yV1dUUERhc2hib2FyZD17dHJ1ZX1cbiAgICAgIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDY1cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBlbSk7XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FB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
123
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJfTGlzdENvbnRleHQiLCJfcmVhY3RCb290c3RyYXAiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJpZCIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZWRnZXNfZGF0YSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicG9pbnRzIiwic2V0UG9pbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJhcmVhcyIsInNldEFyZWFzIiwiX3VzZVN0YXRlNSIsInBvaW50IiwiYXJlYSIsIl91c2VTdGF0ZTYiLCJXV1RQSW5mbyIsInNldFdXVFBJbmZvIiwiZGF0YUV4aXN0cyIsIm5ld0FyZWFzIiwibGVuZ3RoIiwiaXRlbXMiLCJ1c2VFZmZlY3QiLCJtYXAiLCJsYXRsbmciLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsImZpdEJvdW5kcyIsImlzRmV0Y2hpbmciLCJ3YXRlckF1dGhvcml0eUlkIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiZmV0Y2hBcmVhcyIsImRhc2hib2FyZCIsInBlcmlvZCIsImluaXRpYWxpemVXV1RQRGF0YSIsImNsZWFudXAiLCJzZXRGb2N1c2VkQXJlYSIsInNldE1hcCIsImNyZWF0ZUVsZW1lbnQiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJMaXN0IiwiTWFwIiwiZWRnZXMiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBpbml0aWFsaXplV1dUUERhdGEgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEFyZWEsXG4gIHNldE1hcCxcbn0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGlkIH0gPSB1c2VQYXJhbXMoKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBlZGdlc19kYXRhLCB3d3RwX2Rhc2hib2FyZCB9ID1cbiAgICBSZWR1eFN0YXRlO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8SVBvaW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FyZWFzLCBzZXRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtXV1RQSW5mbywgc2V0V1dUUEluZm9dID0gdXNlU3RhdGU8e1xuICAgIHBvaW50OiBJUG9pbnQgfCBudWxsO1xuICAgIGFyZWE6IElBcmVhIHwgbnVsbDtcbiAgfT4oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgbGV0IGRhdGFFeGlzdHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFXV1RQSW5mby5wb2ludCB8fFxuICAgICAgIXd3dHBfZGFzaGJvYXJkLm1hcCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwIHx8XG4gICAgICAhd3d0cF9kYXNoYm9hcmQubWFwXG4gICAgKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGxhdGxuZyA9IFtXV1RQSW5mby5wb2ludC5sYXRpdHVkZSwgV1dUUEluZm8ucG9pbnQubG9uZ2l0dWRlXTtcbiAgICB3d3RwX2Rhc2hib2FyZC5tYXAuZml0Qm91bmRzKFtsYXRsbmddKTtcbiAgfSwgW1dXVFBJbmZvLCB3d3RwX2Rhc2hib2FyZC5tYXAsIHBvaW50c19kYXRhLmlzRmV0Y2hpbmddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZCksXG4gICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbXG4gICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCxcbiAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGgsXG4gICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UG9pbnRzKG51bGwpO1xuICAgICAgc2V0QXJlYXMobnVsbCk7XG4gICAgICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEobnVsbCkpO1xuICAgICAgZGlzcGF0Y2goc2V0TWFwKG51bGwpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzIHx8ICFXV1RQSW5mbykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICAgICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm5vLWd1dHRlcnNcIj5cbiAgICAgICAgICA8Q29sIHhzPVwiYXV0b1wiIHNtPXs0fSBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1mbGV4XCI+XG4gICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIFdXVFBJbmZvPXtXV1RQSW5mb31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgeHM9ezEyfSBzbT17OH0+XG4gICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhc1swXX1cbiAgICAgICAgICAgICAgZm9jdXNlZEV2ZW50PXtudWxsfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIC5tYXAtY29sdW1uIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmtkLW1hcC1jb250YWluZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyNXB4KTtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAqLFxuICAgICAgKjpmb2N1cyxcbiAgICAgICo6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLG1CQUFBLEdBQUFYLE9BQUE7QUFJQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBMkMsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFiLHdCQUFBaUIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQUszQyxJQUFNVyxPQUE0QyxHQUFHLFNBQS9DQSxPQUE0Q0EsQ0FBSUMsS0FBSyxFQUFLO0VBQzlELElBQUFDLFVBQUEsR0FBZSxJQUFBQyx5QkFBUyxFQUFDLENBQUM7SUFBbEJDLEVBQUUsR0FBQUYsVUFBQSxDQUFGRSxFQUFFO0VBQ1YsSUFBTUMsVUFBVSxHQUFHLElBQUFDLHVCQUFXLEVBQUMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUs7RUFBQSxFQUFDO0VBQ2hELElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBUUMsVUFBVSxHQUNoQkwsVUFBVSxDQURKSyxVQUFVO0lBQUVDLFdBQVcsR0FDN0JOLFVBQVUsQ0FEUU0sV0FBVztJQUFFQyxXQUFXLEdBQzFDUCxVQUFVLENBRHFCTyxXQUFXO0lBQUVDLFVBQVUsR0FDdERSLFVBQVUsQ0FEa0NRLFVBQVU7SUFBRUMsY0FBYyxHQUN0RVQsVUFBVSxDQUQ4Q1MsY0FBYztFQUV4RSxJQUFBQyxTQUFBLEdBQTRCLElBQUFDLGVBQVEsRUFBa0IsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBakMsT0FBQSxFQUFBOEIsU0FBQTtJQUFwREksTUFBTSxHQUFBRixVQUFBO0lBQUVHLFNBQVMsR0FBQUgsVUFBQTtFQUN4QixJQUFBSSxVQUFBLEdBQTBCLElBQUFMLGVBQVEsRUFBaUIsSUFBSSxDQUFDO0lBQUFNLFVBQUEsT0FBQUosZUFBQSxDQUFBakMsT0FBQSxFQUFBb0MsVUFBQTtJQUFqREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFBRyxVQUFBLEdBQWdDLElBQUFULGVBQVEsRUFHckM7TUFBRVUsS0FBSyxFQUFFLElBQUk7TUFBRUMsSUFBSSxFQUFFO0lBQUssQ0FBQyxDQUFDO0lBQUFDLFVBQUEsT0FBQVYsZUFBQSxDQUFBakMsT0FBQSxFQUFBd0MsVUFBQTtJQUh4QkksUUFBUSxHQUFBRCxVQUFBO0lBQUVFLFdBQVcsR0FBQUYsVUFBQTtFQUk1QixJQUFJRyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3JCLE9BQ0VyQixVQUFVLENBQUNzQixRQUFRLENBQUNDLE1BQU0sS0FBSyxDQUFDLElBQ2hDckIsV0FBVyxDQUFDc0IsS0FBSyxDQUFDRCxNQUFNLEtBQUssQ0FBQyxJQUM5QnBCLFVBQVUsQ0FBQ3FCLEtBQUssQ0FBQ0QsTUFBTSxLQUFLLENBQUM7RUFFakMsQ0FBQztFQUVELElBQUFFLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQ0UsQ0FBQ04sUUFBUSxDQUFDSCxLQUFLLElBQ2YsQ0FBQ1osY0FBYyxDQUFDc0IsR0FBRyxJQUNuQnhCLFdBQVcsQ0FBQ3NCLEtBQUssQ0FBQ0QsTUFBTSxLQUFLLENBQUMsSUFDOUIsQ0FBQ25CLGNBQWMsQ0FBQ3NCLEdBQUcsRUFFbkI7SUFDRixJQUFNQyxNQUFNLEdBQUcsQ0FBQ1IsUUFBUSxDQUFDSCxLQUFLLENBQUNZLFFBQVEsRUFBRVQsUUFBUSxDQUFDSCxLQUFLLENBQUNhLFNBQVMsQ0FBQztJQUNsRXpCLGNBQWMsQ0FBQ3NCLEdBQUcsQ0FBQ0ksU0FBUyxDQUFDLENBQUNILE1BQU0sQ0FBQyxDQUFDO0VBQ3hDLENBQUMsRUFBRSxDQUFDUixRQUFRLEVBQUVmLGNBQWMsQ0FBQ3NCLEdBQUcsRUFBRXhCLFdBQVcsQ0FBQzZCLFVBQVUsQ0FBQyxDQUFDO0VBRTFELElBQUFOLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUl4QixXQUFXLENBQUMrQixnQkFBZ0IsRUFBRTtNQUNoQ2xDLFFBQVEsQ0FBQyxJQUFBbUMscUJBQVcsRUFBQ2hDLFdBQVcsQ0FBQytCLGdCQUFnQixDQUFDLENBQUM7TUFDbkRsQyxRQUFRLENBQUMsSUFBQW9DLG9CQUFVLEVBQUNqQyxXQUFXLENBQUMrQixnQkFBZ0IsQ0FBQyxDQUFDO01BQ2xEbEMsUUFBUSxDQUNOLElBQUFxQyxtQkFBVSxFQUFDbEMsV0FBVyxDQUFDK0IsZ0JBQWdCLEVBQUVyQyxVQUFVLENBQUN5QyxTQUFTLENBQUNDLE1BQU0sQ0FDdEUsQ0FBQztJQUNIO0lBRUEsSUFBQUMseUJBQWtCLEVBQUM7TUFDakJ0QyxVQUFVLEVBQVZBLFVBQVU7TUFDVkUsV0FBVyxFQUFYQSxXQUFXO01BQ1hRLFNBQVMsRUFBVEEsU0FBUztNQUNUSSxRQUFRLEVBQVJBLFFBQVE7TUFDUk0sV0FBVyxFQUFYQSxXQUFXO01BQ1hDLFVBQVUsRUFBVkEsVUFBVTtNQUNWM0IsRUFBRSxFQUFGQTtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxDQUNETyxXQUFXLENBQUMrQixnQkFBZ0IsRUFDNUJoQyxVQUFVLENBQUNzQixRQUFRLENBQUNDLE1BQU0sRUFDMUJyQixXQUFXLENBQUNzQixLQUFLLENBQUNELE1BQU0sRUFDeEI1QixVQUFVLENBQUN5QyxTQUFTLENBQUNDLE1BQU0sQ0FDNUIsQ0FBQztFQUVGLElBQUFaLGdCQUFTLEVBQUMsWUFBTTtJQUNkLE9BQU8sU0FBU2MsT0FBT0EsQ0FBQSxFQUFHO01BQ3hCN0IsU0FBUyxDQUFDLElBQUksQ0FBQztNQUNmSSxRQUFRLENBQUMsSUFBSSxDQUFDO01BQ2RNLFdBQVcsQ0FBQztRQUFFSixLQUFLLEVBQUUsSUFBSTtRQUFFQyxJQUFJLEVBQUU7TUFBSyxDQUFDLENBQUM7TUFDeENuQixRQUFRLENBQUMsSUFBQTBDLGtDQUFjLEVBQUMsSUFBSSxDQUFDLENBQUM7TUFDOUIxQyxRQUFRLENBQUMsSUFBQTJDLDBCQUFNLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDeEMsV0FBVyxDQUFDK0IsZ0JBQWdCLENBQUMsQ0FBQztFQUVsQyxJQUFJLENBQUNYLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQ1osTUFBTSxJQUFJLENBQUNJLEtBQUssSUFBSSxDQUFDTSxRQUFRLEVBQUUsb0JBQU9qRSxNQUFBLENBQUFxQixPQUFBLENBQUFtRSxhQUFBLENBQUNoRixPQUFBLENBQUFpRixNQUFNLE1BQUUsQ0FBQztFQUN0RSxvQkFDRXpGLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQW1FLGFBQUEsQ0FBQzdFLFlBQUEsQ0FBQStFLG9CQUFvQixxQkFDbkIxRixNQUFBLENBQUFxQixPQUFBLENBQUFtRSxhQUFBLENBQUNHLFNBQVMsRUFBS3RELEtBQUssZUFDbEJyQyxNQUFBLENBQUFxQixPQUFBLENBQUFtRSxhQUFBLENBQUM1RSxlQUFBLENBQUFnRixHQUFHO0lBQUNDLFNBQVMsRUFBQztFQUFZLGdCQUN6QjdGLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQW1FLGFBQUEsQ0FBQzVFLGVBQUEsQ0FBQWtGLEdBQUc7SUFBQ0MsRUFBRSxFQUFDLE1BQU07SUFBQ0MsRUFBRSxFQUFFLENBQUU7SUFBQ0gsU0FBUyxFQUFDO0VBQWtCLGdCQUNoRDdGLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQW1FLGFBQUEsQ0FBQ2xGLEtBQUEsQ0FBQTJGLElBQUk7SUFDSGxELFdBQVcsRUFBRUEsV0FBWTtJQUN6QlksS0FBSyxFQUFFQSxLQUFNO0lBQ2JKLE1BQU0sRUFBRUEsTUFBTztJQUNmVSxRQUFRLEVBQUVBO0VBQVMsQ0FDcEIsQ0FDRSxDQUFDLGVBQ05qRSxNQUFBLENBQUFxQixPQUFBLENBQUFtRSxhQUFBLENBQUM1RSxlQUFBLENBQUFrRixHQUFHO0lBQUNELFNBQVMsRUFBQyxZQUFZO0lBQUNFLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN4Q2hHLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQW1FLGFBQUEsQ0FBQ3RGLElBQUEsQ0FBQWdHLEdBQUc7SUFDRjNDLE1BQU0sRUFBRUEsTUFBTztJQUNmSSxLQUFLLEVBQUVBLEtBQU07SUFDYlosV0FBVyxFQUFFQSxXQUFZO0lBQ3pCb0QsS0FBSyxFQUFFbEQsVUFBVSxDQUFDcUIsS0FBTTtJQUN4QjhCLGNBQWMsRUFBRXpDLEtBQUssQ0FBQyxDQUFDLENBQUU7SUFDekIwQyxZQUFZLEVBQUUsSUFBSztJQUNuQkMsd0JBQXdCLEVBQUUsSUFBSztJQUMvQkMsYUFBYSxFQUFFLEtBQU07SUFDckJDLGdCQUFnQixFQUFFO0VBQUssQ0FDeEIsQ0FDRSxDQUNGLENBQ0ksQ0FDUyxDQUFDO0FBRTNCLENBQUM7QUFFRCxJQUFNYixTQUFTLEdBQUdjLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1TkEwQjNCO0FBQUMsSUFBQUMsUUFBQSxHQUVhMUUsT0FBTztBQUFBMkUsT0FBQSxDQUFBMUYsT0FBQSxHQUFBeUYsUUFBQSJ9
@@ -13,97 +13,233 @@ var _reactBootstrap = require("react-bootstrap");
13
13
  var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
14
14
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
15
15
  var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
16
+ var _utils = require("./utils");
17
+ var _icons = require("assets/icons");
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
20
  var Widget = function Widget(props) {
19
21
  var object = props.object,
20
22
  dispatch = props.dispatch,
21
23
  points = props.points,
22
- areas = props.areas;
23
- var _React$useState = _react.default.useState(null),
24
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
25
- area = _React$useState2[0],
26
- setArea = _React$useState2[1];
27
- var _React$useState3 = _react.default.useState(null),
28
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
29
- point = _React$useState4[0],
30
- setPoint = _React$useState4[1];
31
- var getPoints = function getPoints(area) {
32
- if (!points) return undefined;
33
- var pointsOfArea = points.filter(function (point) {
34
- return point.group.area_id === area.area_id;
35
- });
36
- return pointsOfArea;
37
- };
24
+ map = props.map,
25
+ global_data = props.global_data,
26
+ listData = props.listData;
27
+ var _useState = (0, _react.useState)(null),
28
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
+ area = _useState2[0],
30
+ setArea = _useState2[1];
31
+ var _useState3 = (0, _react.useState)(null),
32
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
33
+ point = _useState4[0],
34
+ setPoint = _useState4[1];
35
+ var _useState5 = (0, _react.useState)(''),
36
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
37
+ buttonName = _useState6[0],
38
+ setButtonName = _useState6[1];
39
+ var _useState7 = (0, _react.useState)([]),
40
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
41
+ listItems = _useState8[0],
42
+ setListItems = _useState8[1];
38
43
  var handleClick = function handleClick() {
39
- if (!area) return;
40
- var areaToFocus = area;
41
- if (getPoints(areaToFocus)) {
42
- var copy = (0, _objectSpread2.default)({}, areaToFocus);
43
- copy.factories = getPoints(areaToFocus);
44
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
44
+ map.closePopup();
45
+ if (area) {
46
+ var focusedArea = area;
47
+ if (listItems && listItems.length > 0) {
48
+ var copy = (0, _objectSpread2.default)({}, focusedArea);
49
+ copy.factories = getPoints();
50
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
51
+ } else {
52
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedArea));
53
+ }
45
54
  } else {
46
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(areaToFocus));
47
- }
48
- };
49
- var dataForPie = function dataForPie(area) {
50
- var data = [];
51
- if (area.sub_areas !== undefined) {
52
- area.sub_areas.forEach(function (sub_area) {
53
- data.push({
54
- name: sub_area.area_name,
55
- organic_load: 5,
56
- tooltipValue: 15
55
+ if (point) {
56
+ var focusedPoint = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
57
+ factories: getPoints(),
58
+ sub_areas: [],
59
+ shape_data: [[point.latitude, point.longitude]]
57
60
  });
58
- });
61
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedPoint));
62
+ }
59
63
  }
60
- if (getPoints(area)) {
61
- getPoints(area).forEach(function (point) {
62
- data.push({
63
- name: point.name,
64
- organic_load: 5,
65
- tooltipValue: 15
66
- });
67
- });
64
+ sendButtonClickedAnalytics();
65
+ };
66
+ var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
67
+ (0, _utils.sendAnalyticsEvent)('Map view - Popup drilldown clicked', buttonName, {
68
+ utility_name: global_data.waterAuthorityName
69
+ });
70
+ };
71
+
72
+ // Return the point objects of all items in the list
73
+ var getPoints = function getPoints() {
74
+ if (listItems === null || points === undefined || points.length === 0) return [];
75
+ var ids = listItems.map(function (item) {
76
+ return item.id;
77
+ });
78
+ var returnedPoints = points.filter(function (point) {
79
+ return ids.includes(point.id);
80
+ });
81
+ return returnedPoints;
82
+ };
83
+ var getButtonType = function getButtonType(type) {
84
+ var rc;
85
+ switch (type.toLowerCase()) {
86
+ case 'area':
87
+ case 'varea':
88
+ rc = 'view_sub_areas';
89
+ break;
90
+ case 'factory':
91
+ rc = 'view_factories';
92
+ break;
93
+ default:
94
+ rc = 'view_inlets';
68
95
  }
69
- return data;
96
+ return rc;
70
97
  };
98
+
99
+ // Return the area objects of all items in the list
100
+ // const getAreas = () => {
101
+ // if (listItems === null || areas === undefined || areas.length === 0) return [];
102
+ // let ids: any[] = listItems.map((item) => item.id);
103
+ // const returnedPoints = areas.filter((area) => ids.includes(area.area_id));
104
+
105
+ // return returnedPoints;
106
+ // };
107
+
108
+ // Return the points that are in the same area as the WWTP and is_inlet is true
109
+ // const setPointInletsAndButton = () => {
110
+ // setInlets(
111
+ // points.filter(
112
+ // (inlet) =>
113
+ // inlet.group.area_id === point?.group.area_id &&
114
+ // inlet.is_inlet === true,
115
+ // ),
116
+ // );
117
+ // if (inlets.length === 0) {
118
+ // setInlets(getFactories(point?.group.area_id));
119
+ // setButtonName('view_factories');
120
+ // } else {
121
+ // setButtonName('view_inlets');
122
+ // }
123
+ // };
124
+
125
+ // const setAreaInlets = () => {
126
+ // if (area !== undefined && area !== null) {
127
+ // setInlets(area?.sub_areas.filter((inlet) => inlet.is_inlet === true));
128
+ // }
129
+ // };
130
+
131
+ // const getAreaData = () => {
132
+ // let areaData: any = [];
133
+
134
+ // if (area?.is_wwtp === true && inlets?.length > 0) {
135
+ // areaData = inlets.map((area) => ({ ...area, name: area.area_name }));
136
+ // } else {
137
+ // if (area?.sub_areas && area.sub_areas.length > 0) {
138
+ // areaData = area.sub_areas.map(
139
+ // (sub_area) => (
140
+ // sub_area.isInlet === false,
141
+ // {
142
+ // ...sub_area,
143
+ // name: sub_area.area_name,
144
+ // }
145
+ // ),
146
+ // );
147
+ // } else {
148
+ // if (points && points.length > 0) {
149
+ // areaData = getFactories(area?.area_id);
150
+ // }
151
+ // }
152
+ // }
153
+ // return areaData;
154
+ // };
155
+
156
+ // const dataForPie = () => {
157
+ // let data: any = [];
158
+ // if (area) {
159
+ // if (areaData && areaData.length > 0) {
160
+ // areaData.forEach((item) => {
161
+ // data.push({ name: item.name, organic_load: 5, tooltipValue: 15 });
162
+ // });
163
+ // }
164
+ // } else {
165
+ // if (point) {
166
+ // console.warn(point.name, inlets);
167
+ // inlets?.forEach((inlet) => {
168
+ // data.push({ name: inlet.name, organic_load: 5, tooltipValue: 15 });
169
+ // });
170
+ // }
171
+ // }
172
+ // return data;
173
+ // };
174
+
71
175
  var title = function title() {
176
+ var payload = '';
72
177
  if (point) {
73
- return point.name;
178
+ payload = point.name;
74
179
  } else {
75
- return object.area_name;
180
+ if (area) {
181
+ payload = area.area_name;
182
+ }
76
183
  }
184
+ return payload;
185
+ };
186
+
187
+ // const calcAreaButtonName = () => {
188
+ // let name = 'view_factories';
189
+ // if (area) {
190
+ // console.warn(area.area_name, area.is_wwtp, inlets?.length);
191
+ // if (area.is_wwtp === true && inlets?.length > 0) {
192
+ // name = 'view_inlets';
193
+ // } else {
194
+ // if (area?.sub_areas && area.sub_areas.length > 0) {
195
+ // name = 'view_sub_areas';
196
+ // }
197
+ // }
198
+ // }
199
+ // return name;
200
+ // };
201
+
202
+ var buttonTitle = function buttonTitle() {
203
+ return _i18n.default.t("wwtpPage.".concat(buttonName));
77
204
  };
78
205
  (0, _react.useEffect)(function () {
79
206
  var isAPoint = object.forWWTPMap !== undefined;
80
- var area;
81
207
  if (isAPoint) {
82
- if (!object.group.area_id || !areas) return;
83
- area = areas.find(function (area) {
84
- return area.area_id === object.group.area_id;
85
- });
86
- if (area) setArea(area);
87
208
  setPoint(object);
88
209
  } else {
89
210
  setArea(object);
90
211
  }
91
- }, [object, area]);
92
- if (!area) return /*#__PURE__*/_react.default.createElement("div", null);
93
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
94
- className: "bg-white m-3 p-3 widget-container",
95
- style: {
96
- border: '1px solid rgba(0,0,0,0)',
97
- borderRadius: '1em'
212
+ }, [object]);
213
+ (0, _react.useEffect)(function () {
214
+ if (listData === undefined) return;
215
+ console.warn("".concat((point === null || point === void 0 ? void 0 : point.name) || (area === null || area === void 0 ? void 0 : area.area_name), " - listData"), listData);
216
+ setListItems(listData === null || listData === void 0 ? void 0 : listData.data);
217
+ setButtonName(getButtonType(listData === null || listData === void 0 ? void 0 : listData.data[0].type));
218
+ }, [listData]);
219
+ var widgetContent = function widgetContent() {
220
+ var data = listData === null || listData === void 0 ? void 0 : listData.data;
221
+ if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
222
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
223
+ onClick: function onClick() {
224
+ return handleClick();
225
+ },
226
+ className: 'childrenButton rounded-pill btn-light'
227
+ }, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
228
+ inlets: listItems
229
+ }));
230
+ } else {
231
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
232
+ className: "no-result-icon"
233
+ }, /*#__PURE__*/_react.default.createElement(_icons.NoResultSvg, null)), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("div", {
234
+ className: "no-result-msg1"
235
+ }, _i18n.default.t("wwtpPage.no_result_1")), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("h3", {
236
+ className: "no-result-msg2"
237
+ }, _i18n.default.t("wwtpPage.no_result_2")));
98
238
  }
99
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
100
- onClick: function onClick() {
101
- return handleClick();
102
- },
103
- className: 'childrenButton rounded-pill btn-light'
104
- }, _i18n.default.t('wwtpPage.see_children')), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
105
- inlets: dataForPie(area)
106
- }))));
239
+ };
240
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
241
+ className: "bg-white widget-container"
242
+ }, widgetContent()));
107
243
  };
108
244
  exports.Widget = Widget;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsImFyZWFzIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsImdldFBvaW50cyIsInVuZGVmaW5lZCIsInBvaW50c09mQXJlYSIsImZpbHRlciIsImdyb3VwIiwiYXJlYV9pZCIsImhhbmRsZUNsaWNrIiwiYXJlYVRvRm9jdXMiLCJjb3B5IiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJzZXRGb2N1c2VkQXJlYSIsImRhdGFGb3JQaWUiLCJkYXRhIiwic3ViX2FyZWFzIiwiZm9yRWFjaCIsInN1Yl9hcmVhIiwicHVzaCIsIm5hbWUiLCJhcmVhX25hbWUiLCJvcmdhbmljX2xvYWQiLCJ0b29sdGlwVmFsdWUiLCJ0aXRsZSIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiZm9yV1dUUE1hcCIsImZpbmQiLCJjcmVhdGVFbGVtZW50IiwiQ2FyZCIsImNsYXNzTmFtZSIsInN0eWxlIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiQnV0dG9uIiwib25DbGljayIsImkxOG4iLCJ0IiwiaW5sZXRzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBDYXJkIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IElubGV0c1BpZSBmcm9tICcuLi8uLi91aS1raXQvSW5sZXRzUGllJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG9iamVjdDogYW55O1xuICBkaXNwYXRjaDogYW55O1xuICBwb2ludHM6IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBhcmVhcyB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IFJlYWN0LnVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gUmVhY3QudXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGdldFBvaW50cyA9IChhcmVhKSA9PiB7XG4gICAgaWYgKCFwb2ludHMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgbGV0IHBvaW50c09mQXJlYSA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgICByZXR1cm4gcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gYXJlYS5hcmVhX2lkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBvaW50c09mQXJlYTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFhcmVhKSByZXR1cm47XG4gICAgbGV0IGFyZWFUb0ZvY3VzID0gYXJlYTtcbiAgICBpZiAoZ2V0UG9pbnRzKGFyZWFUb0ZvY3VzKSkge1xuICAgICAgbGV0IGNvcHkgPSB7IC4uLmFyZWFUb0ZvY3VzIH07XG4gICAgICBjb3B5LmZhY3RvcmllcyA9IGdldFBvaW50cyhhcmVhVG9Gb2N1cyk7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWFUb0ZvY3VzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRhdGFGb3JQaWUgPSAoYXJlYSkgPT4ge1xuICAgIGxldCBkYXRhID0gW107XG4gICAgaWYgKGFyZWEuc3ViX2FyZWFzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgbmFtZTogc3ViX2FyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIG9yZ2FuaWNfbG9hZDogNSxcbiAgICAgICAgICB0b29sdGlwVmFsdWU6IDE1LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRQb2ludHMoYXJlYSkpIHtcbiAgICAgIGdldFBvaW50cyhhcmVhKS5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBwb2ludC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHJldHVybiBwb2ludC5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2JqZWN0LmFyZWFfbmFtZTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuICAgIGxldCBhcmVhO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBpZiAoIW9iamVjdC5ncm91cC5hcmVhX2lkIHx8ICFhcmVhcykgcmV0dXJuO1xuICAgICAgYXJlYSA9IGFyZWFzLmZpbmQoKGFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gb2JqZWN0Lmdyb3VwLmFyZWFfaWQpO1xuICAgICAgaWYgKGFyZWEpIHNldEFyZWEoYXJlYSk7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0LCBhcmVhXSk7XG5cbiAgaWYgKCFhcmVhKSByZXR1cm4gPGRpdj48L2Rpdj47XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxDYXJkXG4gICAgICAgIGNsYXNzTmFtZT1cImJnLXdoaXRlIG0tMyBwLTMgd2lkZ2V0LWNvbnRhaW5lclwiXG4gICAgICAgIHN0eWxlPXt7IGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDApJywgYm9yZGVyUmFkaXVzOiAnMWVtJyB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHs8aDM+e3RpdGxlKCl9PC9oMz59XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2soKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2NoaWxkcmVuQnV0dG9uIHJvdW5kZWQtcGlsbCBidG4tbGlnaHQnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ3d3dHBQYWdlLnNlZV9jaGlsZHJlbicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxJbmxldHNQaWUgaW5sZXRzPXtkYXRhRm9yUGllKGFyZWEpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ2FyZD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQStDLFNBQUFNLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUix3QkFBQVksR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxL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
245
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9pY29ucyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIm1hcCIsImdsb2JhbF9kYXRhIiwibGlzdERhdGEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImxpc3RJdGVtcyIsInNldExpc3RJdGVtcyIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImZvY3VzZWRBcmVhIiwibGVuZ3RoIiwiY29weSIsIl9vYmplY3RTcHJlYWQyIiwiZmFjdG9yaWVzIiwiZ2V0UG9pbnRzIiwic2V0Rm9jdXNlZEFyZWEiLCJmb2N1c2VkUG9pbnQiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsInNlbmRBbmFseXRpY3NFdmVudCIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInVuZGVmaW5lZCIsImlkcyIsIml0ZW0iLCJpZCIsInJldHVybmVkUG9pbnRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJnZXRCdXR0b25UeXBlIiwidHlwZSIsInJjIiwidG9Mb3dlckNhc2UiLCJ0aXRsZSIsInBheWxvYWQiLCJuYW1lIiwiYXJlYV9uYW1lIiwiYnV0dG9uVGl0bGUiLCJpMThuIiwidCIsImNvbmNhdCIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiZm9yV1dUUE1hcCIsImNvbnNvbGUiLCJ3YXJuIiwiZGF0YSIsIndpZGdldENvbnRlbnQiLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwib25DbGljayIsImNsYXNzTmFtZSIsImlubGV0cyIsIk5vUmVzdWx0U3ZnIiwiRnJhZ21lbnQiLCJDYXJkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgQ2FyZCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBJbmxldHNQaWUgZnJvbSAnLi4vLi4vdWkta2l0L0lubGV0c1BpZSc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IE5vUmVzdWx0U3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucyc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBvYmplY3Q6IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGFyZWFzPzogSUFyZWFbXTtcbiAgbWFwO1xuICBnbG9iYWxfZGF0YTtcbiAgbGlzdERhdGE6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaWRnZXQ6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBvYmplY3QsIGRpc3BhdGNoLCBwb2ludHMsIG1hcCwgZ2xvYmFsX2RhdGEsIGxpc3REYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgW2FyZWEsIHNldEFyZWFdID0gdXNlU3RhdGU8SUFyZWEgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3BvaW50LCBzZXRQb2ludF0gPSB1c2VTdGF0ZTxJUG9pbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2J1dHRvbk5hbWUsIHNldEJ1dHRvbk5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFtsaXN0SXRlbXMsIHNldExpc3RJdGVtc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGxldCBmb2N1c2VkQXJlYSA9IGFyZWE7XG4gICAgICBpZiAobGlzdEl0ZW1zICYmIGxpc3RJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBjb3B5ID0geyAuLi5mb2N1c2VkQXJlYSB9O1xuICAgICAgICBjb3B5LmZhY3RvcmllcyA9IGdldFBvaW50cygpO1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkQXJlYSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnQpIHtcbiAgICAgICAgbGV0IGZvY3VzZWRQb2ludCA9IHtcbiAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICBmYWN0b3JpZXM6IGdldFBvaW50cygpLFxuICAgICAgICAgIHN1Yl9hcmVhczogW10sXG4gICAgICAgICAgc2hhcGVfZGF0YTogW1twb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXV0sXG4gICAgICAgIH07XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRQb2ludCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIHZpZXcgLSBQb3B1cCBkcmlsbGRvd24gY2xpY2tlZCcsIGJ1dHRvbk5hbWUsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgcG9pbnQgb2JqZWN0cyBvZiBhbGwgaXRlbXMgaW4gdGhlIGxpc3RcbiAgY29uc3QgZ2V0UG9pbnRzID0gKCkgPT4ge1xuICAgIGlmIChsaXN0SXRlbXMgPT09IG51bGwgfHwgcG9pbnRzID09PSB1bmRlZmluZWQgfHwgcG9pbnRzLmxlbmd0aCA9PT0gMClcbiAgICAgIHJldHVybiBbXTtcbiAgICBsZXQgaWRzOiBudW1iZXJbXSA9IGxpc3RJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpO1xuICAgIGNvbnN0IHJldHVybmVkUG9pbnRzID0gcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IGlkcy5pbmNsdWRlcyhwb2ludC5pZCkpO1xuXG4gICAgcmV0dXJuIHJldHVybmVkUG9pbnRzO1xuICB9O1xuXG4gIGNvbnN0IGdldEJ1dHRvblR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJjO1xuXG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2FyZWEnOlxuICAgICAgY2FzZSAndmFyZWEnOlxuICAgICAgICByYyA9ICd2aWV3X3N1Yl9hcmVhcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFjdG9yeSc6XG4gICAgICAgIHJjID0gJ3ZpZXdfZmFjdG9yaWVzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByYyA9ICd2aWV3X2lubGV0cyc7XG4gICAgfVxuICAgIHJldHVybiByYztcbiAgfTtcblxuICAvLyBSZXR1cm4gdGhlIGFyZWEgb2JqZWN0cyBvZiBhbGwgaXRlbXMgaW4gdGhlIGxpc3RcbiAgLy8gY29uc3QgZ2V0QXJlYXMgPSAoKSA9PiB7XG4gIC8vICAgaWYgKGxpc3RJdGVtcyA9PT0gbnVsbCB8fCBhcmVhcyA9PT0gdW5kZWZpbmVkIHx8IGFyZWFzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuICAvLyAgIGxldCBpZHM6IGFueVtdID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gIC8vICAgY29uc3QgcmV0dXJuZWRQb2ludHMgPSBhcmVhcy5maWx0ZXIoKGFyZWEpID0+IGlkcy5pbmNsdWRlcyhhcmVhLmFyZWFfaWQpKTtcblxuICAvLyAgIHJldHVybiByZXR1cm5lZFBvaW50cztcbiAgLy8gfTtcblxuICAvLyBSZXR1cm4gdGhlIHBvaW50cyB0aGF0IGFyZSBpbiB0aGUgc2FtZSBhcmVhIGFzIHRoZSBXV1RQIGFuZCBpc19pbmxldCBpcyB0cnVlXG4gIC8vIGNvbnN0IHNldFBvaW50SW5sZXRzQW5kQnV0dG9uID0gKCkgPT4ge1xuICAvLyAgIHNldElubGV0cyhcbiAgLy8gICAgIHBvaW50cy5maWx0ZXIoXG4gIC8vICAgICAgIChpbmxldCkgPT5cbiAgLy8gICAgICAgICBpbmxldC5ncm91cC5hcmVhX2lkID09PSBwb2ludD8uZ3JvdXAuYXJlYV9pZCAmJlxuICAvLyAgICAgICAgIGlubGV0LmlzX2lubGV0ID09PSB0cnVlLFxuICAvLyAgICAgKSxcbiAgLy8gICApO1xuICAvLyAgIGlmIChpbmxldHMubGVuZ3RoID09PSAwKSB7XG4gIC8vICAgICBzZXRJbmxldHMoZ2V0RmFjdG9yaWVzKHBvaW50Py5ncm91cC5hcmVhX2lkKSk7XG4gIC8vICAgICBzZXRCdXR0b25OYW1lKCd2aWV3X2ZhY3RvcmllcycpO1xuICAvLyAgIH0gZWxzZSB7XG4gIC8vICAgICBzZXRCdXR0b25OYW1lKCd2aWV3X2lubGV0cycpO1xuICAvLyAgIH1cbiAgLy8gfTtcblxuICAvLyBjb25zdCBzZXRBcmVhSW5sZXRzID0gKCkgPT4ge1xuICAvLyAgIGlmIChhcmVhICE9PSB1bmRlZmluZWQgJiYgYXJlYSAhPT0gbnVsbCkge1xuICAvLyAgICAgc2V0SW5sZXRzKGFyZWE/LnN1Yl9hcmVhcy5maWx0ZXIoKGlubGV0KSA9PiBpbmxldC5pc19pbmxldCA9PT0gdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfTtcblxuICAvLyBjb25zdCBnZXRBcmVhRGF0YSA9ICgpID0+IHtcbiAgLy8gICBsZXQgYXJlYURhdGE6IGFueSA9IFtdO1xuXG4gIC8vICAgaWYgKGFyZWE/LmlzX3d3dHAgPT09IHRydWUgJiYgaW5sZXRzPy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICBhcmVhRGF0YSA9IGlubGV0cy5tYXAoKGFyZWEpID0+ICh7IC4uLmFyZWEsIG5hbWU6IGFyZWEuYXJlYV9uYW1lIH0pKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgaWYgKGFyZWE/LnN1Yl9hcmVhcyAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgIGFyZWFEYXRhID0gYXJlYS5zdWJfYXJlYXMubWFwKFxuICAvLyAgICAgICAgIChzdWJfYXJlYSkgPT4gKFxuICAvLyAgICAgICAgICAgc3ViX2FyZWEuaXNJbmxldCA9PT0gZmFsc2UsXG4gIC8vICAgICAgICAgICB7XG4gIC8vICAgICAgICAgICAgIC4uLnN1Yl9hcmVhLFxuICAvLyAgICAgICAgICAgICBuYW1lOiBzdWJfYXJlYS5hcmVhX25hbWUsXG4gIC8vICAgICAgICAgICB9XG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgKTtcbiAgLy8gICAgIH0gZWxzZSB7XG4gIC8vICAgICAgIGlmIChwb2ludHMgJiYgcG9pbnRzLmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgICBhcmVhRGF0YSA9IGdldEZhY3RvcmllcyhhcmVhPy5hcmVhX2lkKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gYXJlYURhdGE7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZGF0YUZvclBpZSA9ICgpID0+IHtcbiAgLy8gICBsZXQgZGF0YTogYW55ID0gW107XG4gIC8vICAgaWYgKGFyZWEpIHtcbiAgLy8gICAgIGlmIChhcmVhRGF0YSAmJiBhcmVhRGF0YS5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgIGFyZWFEYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgLy8gICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBpdGVtLm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGlmIChwb2ludCkge1xuICAvLyAgICAgICBjb25zb2xlLndhcm4ocG9pbnQubmFtZSwgaW5sZXRzKTtcbiAgLy8gICAgICAgaW5sZXRzPy5mb3JFYWNoKChpbmxldCkgPT4ge1xuICAvLyAgICAgICAgIGRhdGEucHVzaCh7IG5hbWU6IGlubGV0Lm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiBkYXRhO1xuICAvLyB9O1xuXG4gIGNvbnN0IHRpdGxlID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gJyc7XG4gICAgaWYgKHBvaW50KSB7XG4gICAgICBwYXlsb2FkID0gcG9pbnQubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWEpIHtcbiAgICAgICAgcGF5bG9hZCA9IGFyZWEuYXJlYV9uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICAvLyBjb25zdCBjYWxjQXJlYUJ1dHRvbk5hbWUgPSAoKSA9PiB7XG4gIC8vICAgbGV0IG5hbWUgPSAndmlld19mYWN0b3JpZXMnO1xuICAvLyAgIGlmIChhcmVhKSB7XG4gIC8vICAgICBjb25zb2xlLndhcm4oYXJlYS5hcmVhX25hbWUsIGFyZWEuaXNfd3d0cCwgaW5sZXRzPy5sZW5ndGgpO1xuICAvLyAgICAgaWYgKGFyZWEuaXNfd3d0cCA9PT0gdHJ1ZSAmJiBpbmxldHM/Lmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgbmFtZSA9ICd2aWV3X2lubGV0cyc7XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBpZiAoYXJlYT8uc3ViX2FyZWFzICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgICBuYW1lID0gJ3ZpZXdfc3ViX2FyZWFzJztcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gbmFtZTtcbiAgLy8gfTtcblxuICBjb25zdCBidXR0b25UaXRsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gaTE4bi50KGB3d3RwUGFnZS4ke2J1dHRvbk5hbWV9YCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGlzdERhdGEgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS53YXJuKGAke3BvaW50Py5uYW1lIHx8IGFyZWE/LmFyZWFfbmFtZX0gLSBsaXN0RGF0YWAsIGxpc3REYXRhKTtcbiAgICBzZXRMaXN0SXRlbXMobGlzdERhdGE/LmRhdGEpO1xuICAgIHNldEJ1dHRvbk5hbWUoZ2V0QnV0dG9uVHlwZShsaXN0RGF0YT8uZGF0YVswXS50eXBlKSk7XG4gIH0sIFtsaXN0RGF0YV0pO1xuXG4gIGNvbnN0IHdpZGdldENvbnRlbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGxpc3REYXRhPy5kYXRhO1xuICAgIGlmIChkYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKCl9XG4gICAgICAgICAgICBjbGFzc05hbWU9eydjaGlsZHJlbkJ1dHRvbiByb3VuZGVkLXBpbGwgYnRuLWxpZ2h0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YnV0dG9uVGl0bGUoKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8SW5sZXRzUGllIGlubGV0cz17bGlzdEl0ZW1zfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuby1yZXN1bHQtaWNvblwiPlxuICAgICAgICAgICAgPE5vUmVzdWx0U3ZnIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuby1yZXN1bHQtbXNnMVwiPntpMThuLnQoYHd3dHBQYWdlLm5vX3Jlc3VsdF8xYCl9PC9kaXY+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPGgzIGNsYXNzTmFtZT1cIm5vLXJlc3VsdC1tc2cyXCI+e2kxOG4udChgd3d0cFBhZ2Uubm9fcmVzdWx0XzJgKX08L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMz57dGl0bGUoKX08L2gzPlxuICAgICAgPENhcmQgY2xhc3NOYW1lPVwiYmctd2hpdGUgd2lkZ2V0LWNvbnRhaW5lclwiPnt3aWRnZXRDb250ZW50KCl9PC9DYXJkPlxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG1CQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBSyxVQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFBK0MsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxD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
@@ -4,9 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.simpleTruncate = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
7
+ exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
10
  var _jquery = _interopRequireDefault(require("jquery"));
11
+ var _Analytics = require("utilities/Analytics");
10
12
  var initializeWWTPData = function initializeWWTPData(payload) {
11
13
  if (payload.dataExists()) {
12
14
  var WWTP = payload.points_data.items.find(function (point) {
@@ -33,10 +35,11 @@ var createPopupForObject = function createPopupForObject(args) {
33
35
  maxHeight: 400,
34
36
  minHeight: 400
35
37
  });
36
- args.marker.addTo(args.map);
37
- args.marker.on('click', function () {
38
+ args.marker.on('popupopen', function () {
38
39
  setTimeout(function () {
39
- (0, _jquery.default)('.widget-container').append(args.renderedElement);
40
+ if ((0, _jquery.default)('.widget-container').contents().length <= 0) {
41
+ (0, _jquery.default)('.widget-container').append(args.renderedElement);
42
+ }
40
43
  }, 200);
41
44
  });
42
45
  };
@@ -57,7 +60,8 @@ var areaFocusLogic = function areaFocusLogic(args) {
57
60
  });
58
61
  args.setAreas(args.focusedArea.sub_areas);
59
62
  }
60
- args.map.fitBounds(latlngs);
63
+
64
+ // args.map.fitBounds(latlngs);
61
65
  };
62
66
  exports.areaFocusLogic = areaFocusLogic;
63
67
  var simpleTruncate = function simpleTruncate(str, length) {
@@ -75,5 +79,18 @@ var CardContainer = _styledComponents.default.div.withConfig({
75
79
  displayName: "utils__CardContainer",
76
80
  componentId: "sc-zfjea1-0"
77
81
  })([".card{transition:0.1s ease-in-out;box-shadow:0px 1px 3px rgba(0,0,0,0.2);&:hover{transition:0.2s ease-in-out;box-shadow:0px 3px 10px rgba(0,0,0,0.2);cursor:pointer;}}"]);
82
+
83
+ // Send analytics events from several places in wwtpmap.
84
+ // subject is the name of the event
85
+ // selection is the object that was selected
86
+ // specificFields is an object with event fields to send which are combined with the rest of the fields
78
87
  exports.CardContainer = CardContainer;
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJpbml0aWFsaXplV1dUUERhdGEiLCJwYXlsb2FkIiwiZGF0YUV4aXN0cyIsIldXVFAiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwiZmluZCIsInBvaW50IiwiaWQiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsIldXVFBBcmVhIiwiYXJlYXNfZGF0YSIsIm5ld0FyZWFzIiwiYXJlYSIsImFyZWFfaWQiLCJwYXJ0X29mX2FyZWFfaWQiLCJmb3JXV1RQTWFwIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJzZXRBcmVhcyIsImV4cG9ydHMiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsImFyZ3MiLCJtYXJrZXIiLCJiaW5kUG9wdXAiLCJtYXhXaWR0aCIsIm1pbldpZHRoIiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0IiwiYWRkVG8iLCJtYXAiLCJvbiIsInNldFRpbWVvdXQiLCIkIiwiYXBwZW5kIiwicmVuZGVyZWRFbGVtZW50IiwiYXJlYUZvY3VzTG9naWMiLCJsYXRsbmdzIiwiZm9jdXNlZEFyZWEiLCJzdWJfYXJlYXMiLCJsZW5ndGgiLCJmYWN0b3JpZXMiLCJzaGFwZV9kYXRhIiwiZm9yRWFjaCIsImxhdGxuZyIsInB1c2giLCJzdWJfYXJlYSIsImZpdEJvdW5kcyIsInNpbXBsZVRydW5jYXRlIiwic3RyIiwiRXJyb3IiLCJzdWJzdHJpbmciLCJDYXJkQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVXV1RQRGF0YSA9IChwYXlsb2FkKSA9PiB7XG4gIGlmIChwYXlsb2FkLmRhdGFFeGlzdHMoKSkge1xuICAgIGxldCBXV1RQOiBJUG9pbnQgPSBwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IHBhcnNlSW50KHBheWxvYWQuaWQpLFxuICAgICk7XG4gICAgaWYgKFdXVFAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGxldCBXV1RQQXJlYTogSUFyZWEgPSBwYXlsb2FkLmFyZWFzX2RhdGEubmV3QXJlYXMuZmluZChcbiAgICAgIChhcmVhOiBJQXJlYSkgPT4gYXJlYS5hcmVhX2lkID09PSBXV1RQLnBhcnRfb2ZfYXJlYV9pZCxcbiAgICApO1xuXG4gICAgV1dUUC5mb3JXV1RQTWFwID0gdHJ1ZTtcbiAgICBwYXlsb2FkLnNldFdXVFBJbmZvKHsgcG9pbnQ6IFdXVFAsIGFyZWE6IFdXVFBBcmVhIH0pO1xuICAgIHBheWxvYWQuc2V0UG9pbnRzKHBheWxvYWQucG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIHBheWxvYWQuc2V0QXJlYXMocGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvcHVwRm9yT2JqZWN0ID0gKGFyZ3MpID0+IHtcbiAgYXJncy5tYXJrZXIuYmluZFBvcHVwKGA8ZGl2IGNsYXNzPVwid2lkZ2V0LWNvbnRhaW5lclwiPjwvZGl2PmAsIHtcbiAgICBtYXhXaWR0aDogNDAwLFxuICAgIG1pbldpZHRoOiA0MDAsXG4gICAgbWF4SGVpZ2h0OiA0MDAsXG4gICAgbWluSGVpZ2h0OiA0MDAsXG4gIH0pO1xuICBhcmdzLm1hcmtlci5hZGRUbyhhcmdzLm1hcCk7XG4gIGFyZ3MubWFya2VyLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICQoJy53aWRnZXQtY29udGFpbmVyJykuYXBwZW5kKGFyZ3MucmVuZGVyZWRFbGVtZW50KTtcbiAgICB9LCAyMDApO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChhcmdzKSA9PiB7XG4gIGxldCBsYXRsbmdzID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdPLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLE9BQU8sRUFBSztFQUM3QyxJQUFJQSxPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7SUFDeEIsSUFBSUMsSUFBWSxHQUFHRixPQUFPLENBQUNHLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDQyxJQUFJLENBQy9DLFVBQUNDLEtBQWE7TUFBQSxPQUFLQSxLQUFLLENBQUNDLEVBQUUsS0FBS0MsUUFBUSxDQUFDUixPQUFPLENBQUNPLEVBQUUsQ0FBQztJQUFBLENBQ3RELENBQUM7SUFDRCxJQUFJTCxJQUFJLEtBQUtPLFNBQVMsRUFBRTtJQUN4QixJQUFJQyxRQUFlLEdBQUdWLE9BQU8sQ0FBQ1csVUFBVSxDQUFD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
88
+ var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
89
+ var data = (0, _objectSpread2.default)({
90
+ selection: selection,
91
+ page_name: window.location.pathname
92
+ }, eventFields);
93
+ (0, _Analytics.analyticsTrack)(subject, data);
94
+ };
95
+ exports.sendAnalyticsEvent = sendAnalyticsEvent;
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsIl9vYmplY3RTcHJlYWQyIiwiZGVmYXVsdCIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgLy8gYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJQUFBLENBQ3hELENBQUM7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