@kando-env/kando-ui 1.2.395-alpha.2 → 1.2.395-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.395-alpha.2";
3
+ var packageJsonVersion = "1.2.395-alpha.4";
4
4
  if (typeof packageJsonVersion === 'string') {
5
5
  // eslint-disable-next-line no-console
6
6
  console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
@@ -9,12 +9,13 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _reactBootstrap = require("react-bootstrap");
10
10
  var LeftPanel = function LeftPanel(_ref) {
11
11
  var points = _ref.points,
12
+ selectedPoint = _ref.selectedPoint,
12
13
  setSelectedPoint = _ref.setSelectedPoint;
13
14
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
14
15
  className: "mt-4"
15
16
  }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, null, /*#__PURE__*/_react.default.createElement("h4", null, "Monitored Points(".concat(points.length, ")")), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, points.length > 0 && points.map(function (point) {
16
17
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
17
- className: "list-item",
18
+ className: (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id) === point.id ? 'list-item list-item-selected' : 'list-item',
18
19
  key: point.id,
19
20
  onClick: function onClick() {
20
21
  return setSelectedPoint(point);
@@ -24,4 +25,4 @@ var LeftPanel = function LeftPanel(_ref) {
24
25
  };
25
26
  var _default = LeftPanel;
26
27
  exports.default = _default;
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIkxlZnRQYW5lbCIsIl9yZWYiLCJwb2ludHMiLCJzZXRTZWxlY3RlZFBvaW50IiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJDb250YWluZXIiLCJjbGFzc05hbWUiLCJSb3ciLCJDb2wiLCJjb25jYXQiLCJsZW5ndGgiLCJMaXN0R3JvdXAiLCJtYXAiLCJwb2ludCIsIkl0ZW0iLCJrZXkiLCJpZCIsIm9uQ2xpY2siLCJuYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL0xlZnRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wsIExpc3RHcm91cCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlZnRQYW5lbFByb3BzIHtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgc2V0U2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQ7XG59XG5cbmNvbnN0IExlZnRQYW5lbDogUmVhY3QuRkM8TGVmdFBhbmVsUHJvcHM+ID0gKHsgcG9pbnRzLCBzZXRTZWxlY3RlZFBvaW50IH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgIDxSb3c+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPGg0PntgTW9uaXRvcmVkIFBvaW50cygke3BvaW50cy5sZW5ndGh9KWB9PC9oND5cbiAgICAgICAgICA8TGlzdEdyb3VwPlxuICAgICAgICAgICAge3BvaW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgIHBvaW50cy5tYXAoKHBvaW50KSA9PiAoXG4gICAgICAgICAgICAgICAgPExpc3RHcm91cC5JdGVtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsaXN0LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAga2V5PXtwb2ludC5pZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkUG9pbnQocG9pbnQpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtwb2ludC5uYW1lfVxuICAgICAgICAgICAgICAgIDwvTGlzdEdyb3VwLkl0ZW0+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvTGlzdEdyb3VwPlxuICAgICAgICA8L0NvbD5cbiAgICAgIDwvUm93PlxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGVmdFBhbmVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBUUEsSUFBTUUsU0FBbUMsR0FBRyxTQUF0Q0EsU0FBbUNBLENBQUFDLElBQUEsRUFBcUM7RUFBQSxJQUEvQkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFBRUMsZ0JBQWdCLEdBQUFGLElBQUEsQ0FBaEJFLGdCQUFnQjtFQUNyRSxvQkFDRVAsTUFBQSxDQUFBUSxPQUFBLENBQUFDLGFBQUEsQ0FBQ04sZUFBQSxDQUFBTyxTQUFTO0lBQUNDLFNBQVMsRUFBQztFQUFNLGdCQUN6QlgsTUFBQSxDQUFBUSxPQUFBLENBQUFDLGFBQUEsQ0FBQ04sZUFBQSxDQUFBUyxHQUFHLHFCQUNGWixNQUFBLENBQUFRLE9BQUEsQ0FBQUMsYUFBQSxDQUFDTixlQUFBLENBQUFVLEdBQUcscUJBQ0ZiLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBLGlDQUFBSyxNQUFBLENBQXlCUixNQUFNLENBQUNTLE1BQU0sTUFBUSxDQUFDLGVBQy9DZixNQUFBLENBQUFRLE9BQUEsQ0FBQUMsYUFBQSxDQUFDTixlQUFBLENBQUFhLFNBQVMsUUFDUFYsTUFBTSxDQUFDUyxNQUFNLEdBQUcsQ0FBQyxJQUNoQlQsTUFBTSxDQUFDVyxHQUFHLENBQUMsVUFBQ0MsS0FBSztJQUFBLG9CQUNmbEIsTUFBQSxDQUFBUSxPQUFBLENBQUFDLGFBQUEsQ0FBQ04sZUFBQSxDQUFBYSxTQUFTLENBQUNHLElBQUk7TUFDYlIsU0FBUyxFQUFDLFdBQVc7TUFDckJTLEdBQUcsRUFBRUYsS0FBSyxDQUFDRyxFQUFHO01BQ2RDLE9BQU8sRUFBRSxTQUFBQSxRQUFBO1FBQUEsT0FBTWYsZ0JBQWdCLENBQUNXLEtBQUssQ0FBQztNQUFBO0lBQUMsR0FFdENBLEtBQUssQ0FBQ0ssSUFDTyxDQUFDO0VBQUEsQ0FDbEIsQ0FDTSxDQUNSLENBQ0YsQ0FDSSxDQUFDO0FBRWhCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBRWFwQixTQUFTO0FBQUFxQixPQUFBLENBQUFqQixPQUFBLEdBQUFnQixRQUFBIn0=
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIkxlZnRQYW5lbCIsIl9yZWYiLCJwb2ludHMiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiUm93IiwiQ29sIiwiY29uY2F0IiwibGVuZ3RoIiwiTGlzdEdyb3VwIiwibWFwIiwicG9pbnQiLCJJdGVtIiwiaWQiLCJrZXkiLCJvbkNsaWNrIiwibmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9PcGVyYXRpb25zUGFnZS9MZWZ0UGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250YWluZXIsIFJvdywgQ29sLCBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcblxuZXhwb3J0IGludGVyZmFjZSBMZWZ0UGFuZWxQcm9wcyB7XG4gIHBvaW50czogSVBvaW50W107XG4gIHNlbGVjdGVkUG9pbnQ6IElQb2ludCB8IG51bGw7XG4gIHNldFNlbGVjdGVkUG9pbnQ6IChwb2ludDogSVBvaW50KSA9PiB2b2lkO1xufVxuXG5jb25zdCBMZWZ0UGFuZWw6IFJlYWN0LkZDPExlZnRQYW5lbFByb3BzPiA9ICh7XG4gIHBvaW50cyxcbiAgc2VsZWN0ZWRQb2ludCxcbiAgc2V0U2VsZWN0ZWRQb2ludCxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgIDxSb3c+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPGg0PntgTW9uaXRvcmVkIFBvaW50cygke3BvaW50cy5sZW5ndGh9KWB9PC9oND5cbiAgICAgICAgICA8TGlzdEdyb3VwPlxuICAgICAgICAgICAge3BvaW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgIHBvaW50cy5tYXAoKHBvaW50KSA9PiAoXG4gICAgICAgICAgICAgICAgPExpc3RHcm91cC5JdGVtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBvaW50Py5pZCA9PT0gcG9pbnQuaWRcbiAgICAgICAgICAgICAgICAgICAgICA/ICdsaXN0LWl0ZW0gbGlzdC1pdGVtLXNlbGVjdGVkJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2xpc3QtaXRlbSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZFBvaW50KHBvaW50KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cG9pbnQubmFtZX1cbiAgICAgICAgICAgICAgICA8L0xpc3RHcm91cC5JdGVtPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0xpc3RHcm91cD5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExlZnRQYW5lbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQVNBLElBQU1FLFNBQW1DLEdBQUcsU0FBdENBLFNBQW1DQSxDQUFBQyxJQUFBLEVBSW5DO0VBQUEsSUFISkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsYUFBYSxHQUFBRixJQUFBLENBQWJFLGFBQWE7SUFDYkMsZ0JBQWdCLEdBQUFILElBQUEsQ0FBaEJHLGdCQUFnQjtFQUVoQixvQkFDRVIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBUSxTQUFTO0lBQUNDLFNBQVMsRUFBQztFQUFNLGdCQUN6QlosTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBVSxHQUFHLHFCQUNGYixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxDQUFDUCxlQUFBLENBQUFXLEdBQUcscUJBQ0ZkLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlDQUFBSyxNQUFBLENBQXlCVCxNQUFNLENBQUNVLE1BQU0sTUFBUSxDQUFDLGVBQy9DaEIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBYyxTQUFTLFFBQ1BYLE1BQU0sQ0FBQ1UsTUFBTSxHQUFHLENBQUMsSUFDaEJWLE1BQU0sQ0FBQ1ksR0FBRyxDQUFDLFVBQUNDLEtBQUs7SUFBQSxvQkFDZm5CLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNQLGVBQUEsQ0FBQWMsU0FBUyxDQUFDRyxJQUFJO01BQ2JSLFNBQVMsRUFDUCxDQUFBTCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRWMsRUFBRSxNQUFLRixLQUFLLENBQUNFLEVBQUUsR0FDMUIsOEJBQThCLEdBQzlCLFdBQ0w7TUFDREMsR0FBRyxFQUFFSCxLQUFLLENBQUNFLEVBQUc7TUFDZEUsT0FBTyxFQUFFLFNBQUFBLFFBQUE7UUFBQSxPQUFNZixnQkFBZ0IsQ0FBQ1csS0FBSyxDQUFDO01BQUE7SUFBQyxHQUV0Q0EsS0FBSyxDQUFDSyxJQUNPLENBQUM7RUFBQSxDQUNsQixDQUNNLENBQ1IsQ0FDRixDQUNJLENBQUM7QUFFaEIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYXJCLFNBQVM7QUFBQXNCLE9BQUEsQ0FBQWpCLE9BQUEsR0FBQWdCLFFBQUEifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Map = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _useMap = require("./useMap");
11
+ var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
12
+ 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); }
13
+ 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; }
14
+ var Map = function Map(_ref) {
15
+ var points = _ref.points,
16
+ edges = _ref.edges,
17
+ areas = _ref.areas,
18
+ selectedPoint = _ref.selectedPoint,
19
+ updateSelectedPoint = _ref.updateSelectedPoint;
20
+ var mapRef = (0, _react.useRef)(null);
21
+ (0, _useMap.useMap)(mapRef, points, edges, areas, selectedPoint, updateSelectedPoint);
22
+ return /*#__PURE__*/_react.default.createElement("div", {
23
+ className: "map-container"
24
+ }, /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement("div", {
25
+ ref: mapRef,
26
+ className: "map-heights"
27
+ })));
28
+ };
29
+ exports.Map = Map;
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlTWFwIiwiX0Vycm9yQm91bmRhcnkiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwicG9pbnRzIiwiZWRnZXMiLCJhcmVhcyIsInNlbGVjdGVkUG9pbnQiLCJ1cGRhdGVTZWxlY3RlZFBvaW50IiwibWFwUmVmIiwidXNlUmVmIiwidXNlTWFwIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1hcCB9IGZyb20gJy4vdXNlTWFwJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIHBvaW50czogSVBvaW50W107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBhcmVhczogSUFyZWFbXTtcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbDtcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIHBvaW50cyxcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBzZWxlY3RlZFBvaW50LFxuICB1cGRhdGVTZWxlY3RlZFBvaW50LFxufSkgPT4ge1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VNYXAobWFwUmVmLCBwb2ludHMsIGVkZ2VzLCBhcmVhcywgc2VsZWN0ZWRQb2ludCwgdXBkYXRlU2VsZWN0ZWRQb2ludCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1jb250YWluZXJcIj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8ZGl2IHJlZj17bWFwUmVmfSBjbGFzc05hbWU9XCJtYXAtaGVpZ2h0c1wiIC8+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUF3RCxTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFhakQsSUFBTVcsR0FBdUIsR0FBRyxTQUExQkEsR0FBdUJBLENBQUFDLElBQUEsRUFNOUI7RUFBQSxJQUxKQyxNQUFNLEdBQUFELElBQUEsQ0FBTkMsTUFBTTtJQUNOQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUNMQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUNMQyxhQUFhLEdBQUFKLElBQUEsQ0FBYkksYUFBYTtJQUNiQyxtQkFBbUIsR0FBQUwsSUFBQSxDQUFuQkssbUJBQW1CO0VBRW5CLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUMzQyxJQUFBQyxjQUFNLEVBQUNGLE1BQU0sRUFBRUwsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxtQkFBbUIsQ0FBQztFQUV4RSxvQkFDRW5DLE1BQUEsQ0FBQWMsT0FBQSxDQUFBeUIsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZSxnQkFDNUJ4QyxNQUFBLENBQUFjLE9BQUEsQ0FBQXlCLGFBQUEsQ0FBQ25DLGNBQUEsQ0FBQVUsT0FBYSxxQkFDWmQsTUFBQSxDQUFBYyxPQUFBLENBQUF5QixhQUFBO0lBQUtFLEdBQUcsRUFBRUwsTUFBTztJQUFDSSxTQUFTLEVBQUM7RUFBYSxDQUFFLENBQzlCLENBQ1osQ0FBQztBQUVWLENBQUM7QUFBQ0UsT0FBQSxDQUFBYixHQUFBLEdBQUFBLEdBQUEifQ==
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useMap = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
+ var _leaflet = _interopRequireDefault(require("leaflet"));
10
+ var _react = require("react");
11
+ var _PointIcon = require("Widgets/Map/points/PointIcon");
12
+ var _theme = require("styles/theme/theme");
13
+ var _MapUtils = require("Widgets/Map/MapUtils");
14
+ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, updateSelectedPoint) {
15
+ var _useState = (0, _react.useState)(),
16
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
17
+ map = _useState2[0],
18
+ setMap = _useState2[1];
19
+ var _useState3 = (0, _react.useState)(null),
20
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
21
+ focusedMarker = _useState4[0],
22
+ setFocusedMarker = _useState4[1];
23
+ var pointsLayerRef = (0, _react.useRef)();
24
+ var edgesLayerRef = (0, _react.useRef)();
25
+ var areasLayerRef = (0, _react.useRef)();
26
+ (0, _react.useEffect)(function () {
27
+ if (!mapRef.current) {
28
+ return;
29
+ }
30
+ var mapTypes = (0, _MapUtils.baseMaps)(_theme.leafletMap.mapDefault, _theme.leafletMap.satellite);
31
+ var mapTemp = _leaflet.default.map(mapRef.current, {
32
+ renderer: _leaflet.default.canvas()
33
+ });
34
+ Object.values(mapTypes)[0].addTo(mapTemp);
35
+ _leaflet.default.control.layers(mapTypes, {}, {
36
+ position: 'bottomright'
37
+ }).addTo(mapTemp);
38
+ setMap(mapTemp);
39
+ return function () {
40
+ if (!mapTemp) {
41
+ return;
42
+ }
43
+ mapTemp.off();
44
+ mapTemp.remove();
45
+ };
46
+ }, []);
47
+ (0, _react.useEffect)(function () {
48
+ var _pointsLayerRef$curre;
49
+ if (focusedMarker) {
50
+ focusedMarker.fire('mouseout');
51
+ }
52
+ (_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(function (marker) {
53
+ if (selectedPoint && marker.options.kando_object_id === (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id)) {
54
+ marker.fire('mouseover');
55
+ setFocusedMarker(marker);
56
+ return;
57
+ }
58
+ });
59
+ }, [selectedPoint]);
60
+ var handleMarkerClick = function handleMarkerClick(point) {
61
+ updateSelectedPoint(point);
62
+ };
63
+ var addMarkers = function addMarkers() {
64
+ if (!map || !points) {
65
+ return;
66
+ }
67
+ if (pointsLayerRef.current) {
68
+ if (map.hasLayer(pointsLayerRef.current)) {
69
+ map.removeLayer(pointsLayerRef.current);
70
+ }
71
+ }
72
+ pointsLayerRef.current = _leaflet.default.featureGroup();
73
+ pointsLayerRef.current.addTo(map);
74
+ if (!pointsLayerRef.current.getLayers().length) {
75
+ points.forEach(function (point) {
76
+ var _pointsLayerRef$curre2;
77
+ var icon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', false, true);
78
+ var focusedIcon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', true, false);
79
+ var marker = getMarker(point);
80
+ if (marker instanceof _leaflet.default.Marker) {
81
+ marker.setIcon(icon);
82
+ // The use of marker._isInside is to overcome the issue that mouseover is endlessly triggered
83
+ // and we need it onley once
84
+ marker.on('mouseover', function () {
85
+ if (!marker._isInside) {
86
+ marker._isInside = true;
87
+ marker.setIcon(focusedIcon);
88
+ }
89
+ });
90
+ marker.on('mouseout', function () {
91
+ marker._isInside = false;
92
+ marker.setIcon(icon);
93
+ });
94
+ }
95
+ marker.on('click', function () {
96
+ handleMarkerClick(point);
97
+ });
98
+ (_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.addLayer(marker);
99
+ });
100
+ }
101
+ if (pointsLayerRef.current.getLayers().length) {
102
+ map.fitBounds(pointsLayerRef.current.getBounds());
103
+ } else {
104
+ map.setView([32.219157, 34.982481], 12);
105
+ }
106
+ };
107
+ var getMarker = function getMarker(point) {
108
+ if (point.has_device === true || point.group.type === 'Groups::WastewaterTreatmentPlant') {
109
+ return _leaflet.default.marker([point.latitude, point.longitude], {
110
+ kando_object_id: point.id
111
+ });
112
+ } else {
113
+ return _leaflet.default.circleMarker([point.latitude, point.longitude], {
114
+ radius: 4,
115
+ // circle radius in pixels
116
+ color: '#000000',
117
+ // border (stroke) color
118
+ weight: 1,
119
+ // border (stroke) width
120
+ fillColor: '#ffffff',
121
+ // fill color (white)
122
+ fillOpacity: 1,
123
+ // fully opaque
124
+ kando_object_id: point.id
125
+ });
126
+ }
127
+ };
128
+ var addEdges = function addEdges() {
129
+ // console.log('edges', edges);
130
+ if (!map || !edges) {
131
+ return;
132
+ }
133
+ var pointLookup = new Map();
134
+ points.forEach(function (p) {
135
+ return pointLookup.set(p.id, p);
136
+ });
137
+ if (edgesLayerRef.current) {
138
+ if (map.hasLayer(edgesLayerRef.current)) {
139
+ map.removeLayer(edgesLayerRef.current);
140
+ }
141
+ }
142
+ edgesLayerRef.current = _leaflet.default.featureGroup();
143
+ edgesLayerRef.current.addTo(map);
144
+ edges.forEach(function (edge) {
145
+ var _edgesLayerRef$curren;
146
+ var sourcePoint = pointLookup.get(edge.source_point_id);
147
+ var targetPoint = pointLookup.get(edge.target_point_id);
148
+ // console.log('sourcePoint', sourcePoint);
149
+ // console.log('targetPoint', targetPoint);
150
+
151
+ if (!sourcePoint || !targetPoint) {
152
+ return;
153
+ }
154
+ var latlngs = [[sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.latitude, sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.longitude], [targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.latitude, targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.longitude]];
155
+ var polyline = _leaflet.default.polyline(latlngs, {
156
+ color: 'black',
157
+ weight: 1,
158
+ opacity: 0.5,
159
+ smoothFactor: 1
160
+ });
161
+ (_edgesLayerRef$curren = edgesLayerRef.current) === null || _edgesLayerRef$curren === void 0 ? void 0 : _edgesLayerRef$curren.addLayer(polyline);
162
+ });
163
+ };
164
+ var addAreas = function addAreas() {
165
+ if (!map || !areas) {
166
+ return;
167
+ }
168
+ if (areasLayerRef.current) {
169
+ if (map.hasLayer(areasLayerRef.current)) {
170
+ map.removeLayer(areasLayerRef.current);
171
+ }
172
+ }
173
+ areasLayerRef.current = _leaflet.default.featureGroup();
174
+ areasLayerRef.current.addTo(map);
175
+ areas.forEach(function (area) {
176
+ var _areasLayerRef$curren;
177
+ var polygon = _leaflet.default.polygon(area.shape_data, {
178
+ color: 'black',
179
+ weight: 1,
180
+ opacity: 0.8,
181
+ smoothFactor: 1,
182
+ interactive: false,
183
+ kando_object_id: area.area_id
184
+ });
185
+ polygon.bindTooltip(area.area_name, {
186
+ permanent: true,
187
+ direction: 'center',
188
+ className: 'area-tooltip'
189
+ });
190
+ (_areasLayerRef$curren = areasLayerRef.current) === null || _areasLayerRef$curren === void 0 ? void 0 : _areasLayerRef$curren.addLayer(polygon);
191
+ });
192
+ };
193
+ (0, _react.useEffect)(function () {
194
+ addAreas();
195
+ addMarkers();
196
+ addEdges();
197
+ }, [points, map]);
198
+ return map;
199
+ };
200
+ exports.useMap = useMap;
201
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRNYXJrZXIiLCJzZXRGb2N1c2VkTWFya2VyIiwicG9pbnRzTGF5ZXJSZWYiLCJ1c2VSZWYiLCJlZGdlc0xheWVyUmVmIiwiYXJlYXNMYXllclJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJmaXJlIiwiZWFjaExheWVyIiwibWFya2VyIiwib3B0aW9ucyIsImthbmRvX29iamVjdF9pZCIsImlkIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJwb2ludCIsImFkZE1hcmtlcnMiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiZmVhdHVyZUdyb3VwIiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9wb2ludHNMYXllclJlZiRjdXJyZTIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwiZ3JvdXAiLCJ0eXBlIiwibmFtZSIsImZvY3VzZWRJY29uIiwiZ2V0TWFya2VyIiwiTWFya2VyIiwic2V0SWNvbiIsIm9uIiwiX2lzSW5zaWRlIiwiYWRkTGF5ZXIiLCJmaXRCb3VuZHMiLCJnZXRCb3VuZHMiLCJzZXRWaWV3IiwiaGFzX2RldmljZSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2lyY2xlTWFya2VyIiwicmFkaXVzIiwiY29sb3IiLCJ3ZWlnaHQiLCJmaWxsQ29sb3IiLCJmaWxsT3BhY2l0eSIsImFkZEVkZ2VzIiwicG9pbnRMb29rdXAiLCJNYXAiLCJwIiwic2V0IiwiZWRnZSIsIl9lZGdlc0xheWVyUmVmJGN1cnJlbiIsInNvdXJjZVBvaW50IiwiZ2V0Iiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJsYXRsbmdzIiwicG9seWxpbmUiLCJvcGFjaXR5Iiwic21vb3RoRmFjdG9yIiwiYWRkQXJlYXMiLCJhcmVhIiwiX2FyZWFzTGF5ZXJSZWYkY3VycmVuIiwicG9seWdvbiIsInNoYXBlX2RhdGEiLCJpbnRlcmFjdGl2ZSIsImFyZWFfaWQiLCJiaW5kVG9vbHRpcCIsImFyZWFfbmFtZSIsInBlcm1hbmVudCIsImRpcmVjdGlvbiIsImNsYXNzTmFtZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL3VzZU1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24nO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgYmFzZU1hcHMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuXG5leHBvcnQgY29uc3QgdXNlTWFwID0gKFxuICBtYXBSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBhcmVhczogSUFyZWFbXSxcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbCxcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQsXG4pOiBMLk1hcCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFttYXAsIHNldE1hcF0gPSB1c2VTdGF0ZTxMLk1hcD4oKTtcbiAgY29uc3QgW2ZvY3VzZWRNYXJrZXIsIHNldEZvY3VzZWRNYXJrZXJdID0gdXNlU3RhdGU8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBlZGdlc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBhcmVhc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobGVhZmxldE1hcC5tYXBEZWZhdWx0LCBsZWFmbGV0TWFwLnNhdGVsbGl0ZSk7XG4gICAgY29uc3QgbWFwVGVtcCA9IEwubWFwKG1hcFJlZi5jdXJyZW50LCB7IHJlbmRlcmVyOiBMLmNhbnZhcygpIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIHNldE1hcChtYXBUZW1wKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIW1hcFRlbXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwVGVtcC5vZmYoKTtcbiAgICAgIG1hcFRlbXAucmVtb3ZlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRNYXJrZXIpIHtcbiAgICAgIGZvY3VzZWRNYXJrZXIuZmlyZSgnbW91c2VvdXQnKTtcbiAgICB9XG5cbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzZWxlY3RlZFBvaW50ICYmXG4gICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRQb2ludD8uaWRcbiAgICAgICkge1xuICAgICAgICBtYXJrZXIuZmlyZSgnbW91c2VvdmVyJyk7XG4gICAgICAgIHNldEZvY3VzZWRNYXJrZXIobWFya2VyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKHBvaW50KSA9PiB7XG4gICAgdXBkYXRlU2VsZWN0ZWRQb2ludChwb2ludCk7XG4gIH07XG5cbiAgY29uc3QgYWRkTWFya2VycyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhcG9pbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGlmICghcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGgpIHtcbiAgICAgIHBvaW50cy5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBpY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBtYXJrZXIgPSBnZXRNYXJrZXIocG9pbnQpO1xuXG4gICAgICAgIGlmIChtYXJrZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgIC8vIFRoZSB1c2Ugb2YgbWFya2VyLl9pc0luc2lkZSBpcyB0byBvdmVyY29tZSB0aGUgaXNzdWUgdGhhdCBtb3VzZW92ZXIgaXMgZW5kbGVzc2x5IHRyaWdnZXJlZFxuICAgICAgICAgIC8vIGFuZCB3ZSBuZWVkIGl0IG9ubGV5IG9uY2VcbiAgICAgICAgICBtYXJrZXIub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghbWFya2VyLl9pc0luc2lkZSkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgbWFya2VyLnNldEljb24oZm9jdXNlZEljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1hcmtlci5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gZmFsc2U7XG4gICAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtlci5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlTWFya2VyQ2xpY2socG9pbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihtYXJrZXIpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBtYXAuZml0Qm91bmRzKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuc2V0VmlldyhbMzIuMjE5MTU3LCAzNC45ODI0ODFdLCAxMik7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldE1hcmtlciA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgaWYgKFxuICAgICAgcG9pbnQuaGFzX2RldmljZSA9PT0gdHJ1ZSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICkge1xuICAgICAgcmV0dXJuIEwubWFya2VyKFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwge1xuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IHBvaW50LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMLmNpcmNsZU1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgICAgcmFkaXVzOiA0LCAvLyBjaXJjbGUgcmFkaXVzIGluIHBpeGVsc1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLCAvLyBib3JkZXIgKHN0cm9rZSkgY29sb3JcbiAgICAgICAgd2VpZ2h0OiAxLCAvLyBib3JkZXIgKHN0cm9rZSkgd2lkdGhcbiAgICAgICAgZmlsbENvbG9yOiAnI2ZmZmZmZicsIC8vIGZpbGwgY29sb3IgKHdoaXRlKVxuICAgICAgICBmaWxsT3BhY2l0eTogMSwgLy8gZnVsbHkgb3BhcXVlXG4gICAgICAgIGthbmRvX29iamVjdF9pZDogcG9pbnQuaWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkRWRnZXMgPSAoKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coJ2VkZ2VzJywgZWRnZXMpO1xuICAgIGlmICghbWFwIHx8ICFlZGdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvaW50TG9va3VwID0gbmV3IE1hcCgpO1xuICAgIHBvaW50cy5mb3JFYWNoKChwKSA9PiBwb2ludExvb2t1cC5zZXQocC5pZCwgcCkpO1xuXG4gICAgaWYgKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgZWRnZXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnc291cmNlUG9pbnQnLCBzb3VyY2VQb2ludCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygndGFyZ2V0UG9pbnQnLCB0YXJnZXRQb2ludCk7XG5cbiAgICAgIGlmICghc291cmNlUG9pbnQgfHwgIXRhcmdldFBvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGF0bG5ncyA9IFtcbiAgICAgICAgW3NvdXJjZVBvaW50Py5sYXRpdHVkZSwgc291cmNlUG9pbnQ/LmxvbmdpdHVkZV0sXG4gICAgICAgIFt0YXJnZXRQb2ludD8ubGF0aXR1ZGUsIHRhcmdldFBvaW50Py5sb25naXR1ZGVdLFxuICAgICAgXTtcblxuICAgICAgY29uc3QgcG9seWxpbmUgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICBzbW9vdGhGYWN0b3I6IDEsXG4gICAgICB9KTtcblxuICAgICAgZWRnZXNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihwb2x5bGluZSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWFyZWFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFyZWFzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBhcmVhcy5mb3JFYWNoKChhcmVhKSA9PiB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gTC5wb2x5Z29uKGFyZWEuc2hhcGVfZGF0YSwge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgICAgaW50ZXJhY3RpdmU6IGZhbHNlLFxuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgIH0pO1xuXG4gICAgICBwb2x5Z29uLmJpbmRUb29sdGlwKGFyZWEuYXJlYV9uYW1lLCB7XG4gICAgICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgIH0pO1xuXG4gICAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlnb24pO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWRkQXJlYXMoKTtcbiAgICBhZGRNYXJrZXJzKCk7XG4gICAgYWRkRWRnZXMoKTtcbiAgfSwgW3BvaW50cywgbWFwXSk7XG5cbiAgcmV0dXJuIG1hcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBS08sSUFBTUssTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQ2pCQyxNQUF1QyxFQUN2Q0MsTUFBZ0IsRUFDaEJDLEtBQWMsRUFDZEMsS0FBYyxF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
@@ -14,9 +14,10 @@ var _reactBootstrap = require("react-bootstrap");
14
14
  var _actions = require("store/context/actions");
15
15
  var _actions2 = require("store/points/actions");
16
16
  var _actions3 = require("store/edges/actions");
17
- var _Map = require("./Map");
17
+ var _Map = require("./Map/Map");
18
18
  var _LeftPanel = _interopRequireDefault(require("./LeftPanel"));
19
19
  var _RightPanel = _interopRequireDefault(require("./RightPanel"));
20
+ var _actions4 = require("store/areas/actions");
20
21
  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); }
21
22
  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; }
22
23
  var OperationsPage = function OperationsPage() {
@@ -27,6 +28,9 @@ var OperationsPage = function OperationsPage() {
27
28
  var edges_data = (0, _reactRedux.useSelector)(function (state) {
28
29
  return state.edges_data;
29
30
  });
31
+ var areas_data = (0, _reactRedux.useSelector)(function (state) {
32
+ return state.areas_data;
33
+ });
30
34
  var global_data = (0, _reactRedux.useSelector)(function (state) {
31
35
  return state.global_data;
32
36
  });
@@ -38,6 +42,10 @@ var OperationsPage = function OperationsPage() {
38
42
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
39
43
  selectedPoint = _useState4[0],
40
44
  setSelectedPoint = _useState4[1];
45
+ var _useState5 = (0, _react.useState)(false),
46
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
47
+ isSmallScreen = _useState6[0],
48
+ setIsSmallScreen = _useState6[1];
41
49
  var handleSelectPoint = function handleSelectPoint(newPoint) {
42
50
  if (selectedPoint && newPoint.id === selectedPoint.id) {
43
51
  setSelectedPoint(null);
@@ -49,11 +57,24 @@ var OperationsPage = function OperationsPage() {
49
57
  dispatch((0, _actions.updateNavContext)({
50
58
  name: 'operations'
51
59
  }));
60
+ var checkScreenSize = function checkScreenSize() {
61
+ setIsSmallScreen(window.innerWidth < 768); // or any breakpoint
62
+ };
63
+
64
+ // Run on mount:
65
+ checkScreenSize();
66
+
67
+ // Also update if the user resizes the browser:
68
+ window.addEventListener('resize', checkScreenSize);
69
+ return function () {
70
+ window.removeEventListener('resize', checkScreenSize);
71
+ };
52
72
  }, []);
53
73
  (0, _react.useEffect)(function () {
54
74
  if (global_data.waterAuthorityId) {
55
75
  dispatch((0, _actions2.fetchPoints)(global_data.waterAuthorityId));
56
76
  dispatch((0, _actions3.fetchEdges)(global_data.waterAuthorityId));
77
+ dispatch((0, _actions4.fetchAreas)(global_data.waterAuthorityId));
57
78
  }
58
79
  }, [global_data.waterAuthorityId]);
59
80
  var monitoredPoints = (0, _react.useMemo)(function () {
@@ -71,7 +92,8 @@ var OperationsPage = function OperationsPage() {
71
92
  var showLeftPanel = (0, _react.useMemo)(function () {
72
93
  return /*#__PURE__*/_react.default.createElement(_LeftPanel.default, {
73
94
  points: monitoredPoints,
74
- setSelectedPoint: handleSelectPoint
95
+ selectedPoint: selectedPoint,
96
+ setSelectedPoint: setSelectedPoint
75
97
  });
76
98
  }, [monitoredPoints, selectedPoint]);
77
99
  (0, _react.useEffect)(function () {
@@ -84,6 +106,27 @@ var OperationsPage = function OperationsPage() {
84
106
  var onRightPanelClose = function onRightPanelClose() {
85
107
  setSelectedPoint(null);
86
108
  };
109
+ var getDistance = function getDistance() {
110
+ if (selectedPoint && edges_data.items) {
111
+ var edge = edges_data.items.find(function (edge) {
112
+ return edge.source_point_id === selectedPoint.id;
113
+ });
114
+ return (edge === null || edge === void 0 ? void 0 : edge.distance) || 0;
115
+ }
116
+ return 0;
117
+ };
118
+ if (isSmallScreen) {
119
+ // Show a message or a specialized layout
120
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, null, /*#__PURE__*/_react.default.createElement("div", {
121
+ style: {
122
+ marginTop: '6rem',
123
+ textAlign: 'center',
124
+ border: '1px solid #ccc',
125
+ padding: '1rem',
126
+ borderRadius: '10px'
127
+ }
128
+ }, /*#__PURE__*/_react.default.createElement("h5", null, 'This page is not supported on small screens'), /*#__PURE__*/_react.default.createElement("p", null, 'Please use a larger screen for the best experience.')));
129
+ }
87
130
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
88
131
  fluid: true,
89
132
  className: "vh-90 p-0"
@@ -93,17 +136,19 @@ var OperationsPage = function OperationsPage() {
93
136
  }, showLeftPanel), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
94
137
  className: "map-column",
95
138
  sm: 9
96
- }, /*#__PURE__*/_react.default.createElement(_Map.Map, {
139
+ }, !edges_data.isFetching && !areas_data.isFetching && /*#__PURE__*/_react.default.createElement(_Map.Map, {
97
140
  points: points,
98
141
  edges: edges_data.items,
142
+ areas: areas_data.newAreas,
99
143
  selectedPoint: selectedPoint,
100
144
  updateSelectedPoint: handleSelectPoint
101
145
  }), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
102
146
  className: "right-panel ".concat(showRightPanel ? 'open' : ''),
103
147
  point: selectedPoint,
148
+ distance: getDistance(),
104
149
  onClose: onRightPanelClose
105
150
  }))));
106
151
  };
107
152
  var _default = OperationsPage;
108
153
  exports.default = _default;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2FjdGlvbnMzIiwiX01hcCIsIl9MZWZ0UGFuZWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1JpZ2h0UGFuZWwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk9wZXJhdGlvbnNQYWdlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInBvaW50c19kYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImVkZ2VzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dSaWdodFBhbmVsIiwic2V0U2hvd1JpZ2h0UGFuZWwiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNlbGVjdGVkUG9pbnQiLCJzZXRTZWxlY3RlZFBvaW50IiwiaGFuZGxlU2VsZWN0UG9pbnQiLCJuZXdQb2ludCIsImlkIiwidXNlRWZmZWN0IiwidXBkYXRlTmF2Q29udGV4dCIsIm5hbWUiLCJ3YXRlckF1dGhvcml0eUlkIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwibW9uaXRvcmVkUG9pbnRzIiwidXNlTWVtbyIsIl9wb2ludHNfZGF0YSRpdGVtcyIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwicG9pbnRzIiwiX3BvaW50c19kYXRhJGl0ZW1zMiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwic2hvd0xlZnRQYW5lbCIsImNyZWF0ZUVsZW1lbnQiLCJvblJpZ2h0UGFuZWxDbG9zZSIsIkNvbnRhaW5lciIsImZsdWlkIiwiY2xhc3NOYW1lIiwiUm93IiwiQ29sIiwic20iLCJNYXAiLCJlZGdlcyIsInVwZGF0ZVNlbGVjdGVkUG9pbnQiLCJjb25jYXQiLCJvbkNsb3NlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL09wZXJhdGlvbnNQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vT3BlcmF0aW9uc1BhZ2Uuc2Nzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IENvbCwgQ29udGFpbmVyLCBSb3cgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuL01hcCc7XG5pbXBvcnQgTGVmdFBhbmVsIGZyb20gJy4vTGVmdFBhbmVsJztcbmltcG9ydCBSaWdodFBhbmVsIGZyb20gJy4vUmlnaHRQYW5lbCc7XG5cbmNvbnN0IE9wZXJhdGlvbnNQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBwb2ludHNfZGF0YSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEpO1xuICBjb25zdCBlZGdlc19kYXRhID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5lZGdlc19kYXRhKTtcbiAgY29uc3QgZ2xvYmFsX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWxlY3RlZFBvaW50LCBzZXRTZWxlY3RlZFBvaW50XSA9IHVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFBvaW50ID0gKG5ld1BvaW50OiBJUG9pbnQpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRQb2ludCAmJiBuZXdQb2ludC5pZCA9PT0gc2VsZWN0ZWRQb2ludC5pZCkge1xuICAgICAgc2V0U2VsZWN0ZWRQb2ludChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2VsZWN0ZWRQb2ludChuZXdQb2ludCk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICdvcGVyYXRpb25zJyB9KSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgY29uc3QgbW9uaXRvcmVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50c19kYXRhLml0ZW1zPy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IHBvaW50Lmhhc19kZXZpY2UpIHx8IFtdO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXNdKTtcblxuICBjb25zdCBwb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXM/LmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmxhdGl0dWRlICYmIHBvaW50LmxvbmdpdHVkZSxcbiAgICAgICkgfHwgW11cbiAgICApO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXNdKTtcblxuICBjb25zdCBzaG93TGVmdFBhbmVsID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxMZWZ0UGFuZWxcbiAgICAgICAgcG9pbnRzPXttb25pdG9yZWRQb2ludHN9XG4gICAgICAgIHNldFNlbGVjdGVkUG9pbnQ9e2hhbmRsZVNlbGVjdFBvaW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbbW9uaXRvcmVkUG9pbnRzLCBzZWxlY3RlZFBvaW50XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRQb2ludCkge1xuICAgICAgc2V0U2hvd1JpZ2h0UGFuZWwodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dSaWdodFBhbmVsKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZFBvaW50XSk7XG5cbiAgY29uc3Qgb25SaWdodFBhbmVsQ2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRQb2ludChudWxsKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgZmx1aWQgY2xhc3NOYW1lPVwidmgtOTAgcC0wXCI+XG4gICAgICA8Um93PlxuICAgICAgICA8Q29sIHNtPXszfSBjbGFzc05hbWU9XCJsZWZ0LXBhbmVsXCI+XG4gICAgICAgICAge3Nob3dMZWZ0UGFuZWx9XG4gICAgICAgIDwvQ29sPlxuICAgICAgICA8Q29sIGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiBzbT17OX0+XG4gICAgICAgICAgPE1hcFxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICBlZGdlcz17ZWRnZXNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgIHNlbGVjdGVkUG9pbnQ9e3NlbGVjdGVkUG9pbnR9XG4gICAgICAgICAgICB1cGRhdGVTZWxlY3RlZFBvaW50PXtoYW5kbGVTZWxlY3RQb2ludH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxSaWdodFBhbmVsXG4gICAgICAgICAgICBjbGFzc05hbWU9e2ByaWdodC1wYW5lbCAke3Nob3dSaWdodFBhbmVsID8gJ29wZW4nIDogJyd9YH1cbiAgICAgICAgICAgIHBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgb25DbG9zZT17b25SaWdodFBhbmVsQ2xvc2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9wZXJhdGlvbnNQYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUVBLElBQUFRLElBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQUMsc0JB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
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2FjdGlvbnMzIiwiX01hcCIsIl9MZWZ0UGFuZWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1JpZ2h0UGFuZWwiLCJfYWN0aW9uczQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk9wZXJhdGlvbnNQYWdlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInBvaW50c19kYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImVkZ2VzX2RhdGEiLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTbWFsbFNjcmVlbiIsInNldElzU21hbGxTY3JlZW4iLCJoYW5kbGVTZWxlY3RQb2ludCIsIm5ld1BvaW50IiwiaWQiLCJ1c2VFZmZlY3QiLCJ1cGRhdGVOYXZDb250ZXh0IiwibmFtZSIsImNoZWNrU2NyZWVuU2l6ZSIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwibW9uaXRvcmVkUG9pbnRzIiwidXNlTWVtbyIsIl9wb2ludHNfZGF0YSRpdGVtcyIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwicG9pbnRzIiwiX3BvaW50c19kYXRhJGl0ZW1zMiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwic2hvd0xlZnRQYW5lbCIsImNyZWF0ZUVsZW1lbnQiLCJvblJpZ2h0UGFuZWxDbG9zZSIsImdldERpc3RhbmNlIiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJkaXN0YW5jZSIsIkNvbnRhaW5lciIsInN0eWxlIiwibWFyZ2luVG9wIiwidGV4dEFsaWduIiwiYm9yZGVyIiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZsdWlkIiwiY2xhc3NOYW1lIiwiUm93IiwiQ29sIiwic20iLCJpc0ZldGNoaW5nIiwiTWFwIiwiZWRnZXMiLCJhcmVhcyIsIm5ld0FyZWFzIiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsImNvbmNhdCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvT3BlcmF0aW9uc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9PcGVyYXRpb25zUGFnZS5zY3NzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgQ29sLCBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnc3JjL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJy4vTWFwL01hcCc7XG5pbXBvcnQgTGVmdFBhbmVsIGZyb20gJy4vTGVmdFBhbmVsJztcbmltcG9ydCBSaWdodFBhbmVsIGZyb20gJy4vUmlnaHRQYW5lbCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuXG5jb25zdCBPcGVyYXRpb25zUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgcG9pbnRzX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhKTtcbiAgY29uc3QgZWRnZXNfZGF0YSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuZWRnZXNfZGF0YSk7XG4gIGNvbnN0IGFyZWFzX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEpO1xuICBjb25zdCBnbG9iYWxfZGF0YSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEpO1xuICBjb25zdCBbc2hvd1JpZ2h0UGFuZWwsIHNldFNob3dSaWdodFBhbmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlbGVjdGVkUG9pbnQsIHNldFNlbGVjdGVkUG9pbnRdID0gdXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc1NtYWxsU2NyZWVuLCBzZXRJc1NtYWxsU2NyZWVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQb2ludCA9IChuZXdQb2ludDogSVBvaW50KSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQgJiYgbmV3UG9pbnQuaWQgPT09IHNlbGVjdGVkUG9pbnQuaWQpIHtcbiAgICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNlbGVjdGVkUG9pbnQobmV3UG9pbnQpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnb3BlcmF0aW9ucycgfSkpO1xuXG4gICAgY29uc3QgY2hlY2tTY3JlZW5TaXplID0gKCkgPT4ge1xuICAgICAgc2V0SXNTbWFsbFNjcmVlbih3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCk7IC8vIG9yIGFueSBicmVha3BvaW50XG4gICAgfTtcblxuICAgIC8vIFJ1biBvbiBtb3VudDpcbiAgICBjaGVja1NjcmVlblNpemUoKTtcblxuICAgIC8vIEFsc28gdXBkYXRlIGlmIHRoZSB1c2VyIHJlc2l6ZXMgdGhlIGJyb3dzZXI6XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrU2NyZWVuU2l6ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBjaGVja1NjcmVlblNpemUpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgIH1cbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBjb25zdCBtb25pdG9yZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gcG9pbnRzX2RhdGEuaXRlbXM/LmZpbHRlcigocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaGFzX2RldmljZSkgfHwgW107XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtc10pO1xuXG4gIGNvbnN0IHBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcz8uZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQubGF0aXR1ZGUgJiYgcG9pbnQubG9uZ2l0dWRlLFxuICAgICAgKSB8fCBbXVxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtc10pO1xuXG4gIGNvbnN0IHNob3dMZWZ0UGFuZWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPExlZnRQYW5lbFxuICAgICAgICBwb2ludHM9e21vbml0b3JlZFBvaW50c31cbiAgICAgICAgc2VsZWN0ZWRQb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgc2V0U2VsZWN0ZWRQb2ludD17c2V0U2VsZWN0ZWRQb2ludH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW21vbml0b3JlZFBvaW50cywgc2VsZWN0ZWRQb2ludF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQpIHtcbiAgICAgIHNldFNob3dSaWdodFBhbmVsKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTaG93UmlnaHRQYW5lbChmYWxzZSk7XG4gICAgfVxuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IG9uUmlnaHRQYW5lbENsb3NlID0gKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RGlzdGFuY2UgPSAoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQgJiYgZWRnZXNfZGF0YS5pdGVtcykge1xuICAgICAgY29uc3QgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBzZWxlY3RlZFBvaW50LmlkLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBlZGdlPy5kaXN0YW5jZSB8fCAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfTtcblxuICBpZiAoaXNTbWFsbFNjcmVlbikge1xuICAgIC8vIFNob3cgYSBtZXNzYWdlIG9yIGEgc3BlY2lhbGl6ZWQgbGF5b3V0XG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luVG9wOiAnNnJlbScsXG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxuICAgICAgICAgICAgcGFkZGluZzogJzFyZW0nLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxoNT57J1RoaXMgcGFnZSBpcyBub3Qgc3VwcG9ydGVkIG9uIHNtYWxsIHNjcmVlbnMnfTwvaDU+XG4gICAgICAgICAgPHA+eydQbGVhc2UgdXNlIGEgbGFyZ2VyIHNjcmVlbiBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4nfTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInZoLTkwIHAtMFwiPlxuICAgICAgPFJvdz5cbiAgICAgICAgPENvbCBzbT17M30gY2xhc3NOYW1lPVwibGVmdC1wYW5lbFwiPlxuICAgICAgICAgIHtzaG93TGVmdFBhbmVsfVxuICAgICAgICA8L0NvbD5cbiAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezl9PlxuICAgICAgICAgIHshZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc19kYXRhLm5ld0FyZWFzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgICB1cGRhdGVTZWxlY3RlZFBvaW50PXtoYW5kbGVTZWxlY3RQb2ludH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgcmlnaHQtcGFuZWwgJHtzaG93UmlnaHRQYW5lbCA/ICdvcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICBwb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgICAgIGRpc3RhbmNlPXtnZXREaXN0YW5jZSgpfVxuICAgICAgICAgICAgb25DbG9zZT17b25SaWdodFBhbmVsQ2xvc2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9wZXJhdGlvbnNQYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FB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
@@ -52,5 +52,13 @@
52
52
  &:hover {
53
53
  background-color: #e0e0e0;
54
54
  }
55
+
56
+ &.list-item-selected {
57
+ background-color: #e0e0e0;
58
+ }
55
59
  }
56
60
  }
61
+
62
+ .area-tooltip {
63
+ font-weight: 600;
64
+ }
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var RightPanel = function RightPanel(_ref) {
10
10
  var point = _ref.point,
11
+ distance = _ref.distance,
11
12
  className = _ref.className,
12
13
  onClose = _ref.onClose;
13
14
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -21,8 +22,8 @@ var RightPanel = function RightPanel(_ref) {
21
22
  className: "drawer-body p-3"
22
23
  }, /*#__PURE__*/_react.default.createElement("div", {
23
24
  className: "form-group"
24
- }, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Name:'), " ", point === null || point === void 0 ? void 0 : point.name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Description:'), " ", point === null || point === void 0 ? void 0 : point.description), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Device Status:'), " ", point === null || point === void 0 ? void 0 : point.device_status), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Sector:'), " ", point === null || point === void 0 ? void 0 : point.group.sector_name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Type:'), " ", point === null || point === void 0 ? void 0 : point.group.type), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Water Discharge:'), ' ', point === null || point === void 0 ? void 0 : point.group.water_discharge)))));
25
+ }, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Name:'), " ", point === null || point === void 0 ? void 0 : point.name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Description:'), " ", point === null || point === void 0 ? void 0 : point.description), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Monitored:'), " ", (point === null || point === void 0 ? void 0 : point.has_device) ? 'Yes' : 'No'), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Was Monitored:'), ' ', (point === null || point === void 0 ? void 0 : point.device_status) !== 'regular' ? 'Yes' : 'No'), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Sector:'), " ", point === null || point === void 0 ? void 0 : point.group.sector_name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Type:'), " ", point === null || point === void 0 ? void 0 : point.group.type.split('::')[1]), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Water Discharge:'), ' ', point === null || point === void 0 ? void 0 : point.group.water_discharge), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Distance:'), " ", distance)))));
25
26
  };
26
27
  var _default = RightPanel;
27
28
  exports.default = _default;
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlJpZ2h0UGFuZWwiLCJfcmVmIiwicG9pbnQiLCJjbGFzc05hbWUiLCJvbkNsb3NlIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiZGV2aWNlX3N0YXR1cyIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJ0eXBlIiwid2F0ZXJfZGlzY2hhcmdlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL1JpZ2h0UGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuXG50eXBlIFJpZ2h0UGFuZWxQcm9wcyA9IHtcbiAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgb25DbG9zZT86ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBSaWdodFBhbmVsOiBSZWFjdC5GQzxSaWdodFBhbmVsUHJvcHM+ID0gKHtcbiAgcG9pbnQsXG4gIGNsYXNzTmFtZSxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJhd2VyLWhlYWRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMyBwci00XCI+XG4gICAgICAgIHsnUG9pbnQgRGV0YWlscyd9XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICA8c3Bhbj4mdGltZXM7PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcmF3ZXItYm9keSBwLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnTmFtZTonfTwvc3Ryb25nPiB7cG9pbnQ/Lm5hbWV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J0Rlc2NyaXB0aW9uOid9PC9zdHJvbmc+IHtwb2ludD8uZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J0RldmljZSBTdGF0dXM6J308L3N0cm9uZz4ge3BvaW50Py5kZXZpY2Vfc3RhdHVzfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+eydTZWN0b3I6J308L3N0cm9uZz4ge3BvaW50Py5ncm91cC5zZWN0b3JfbmFtZX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnVHlwZTonfTwvc3Ryb25nPiB7cG9pbnQ/Lmdyb3VwLnR5cGV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J1dhdGVyIERpc2NoYXJnZTonfTwvc3Ryb25nPnsnICd9XG4gICAgICAgICAgICAgIHtwb2ludD8uZ3JvdXAud2F0ZXJfZGlzY2hhcmdlfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmlnaHRQYW5lbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFB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
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlJpZ2h0UGFuZWwiLCJfcmVmIiwicG9pbnQiLCJkaXN0YW5jZSIsImNsYXNzTmFtZSIsIm9uQ2xvc2UiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIm9uQ2xpY2siLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJoYXNfZGV2aWNlIiwiZGV2aWNlX3N0YXR1cyIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJ0eXBlIiwic3BsaXQiLCJ3YXRlcl9kaXNjaGFyZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbnR5cGUgUmlnaHRQYW5lbFByb3BzID0ge1xuICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgZGlzdGFuY2U6IG51bWJlcjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFJpZ2h0UGFuZWw6IFJlYWN0LkZDPFJpZ2h0UGFuZWxQcm9wcz4gPSAoe1xuICBwb2ludCxcbiAgZGlzdGFuY2UsXG4gIGNsYXNzTmFtZSxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJhd2VyLWhlYWRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMyBwci00XCI+XG4gICAgICAgIHsnUG9pbnQgRGV0YWlscyd9XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICA8c3Bhbj4mdGltZXM7PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcmF3ZXItYm9keSBwLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnTmFtZTonfTwvc3Ryb25nPiB7cG9pbnQ/Lm5hbWV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J0Rlc2NyaXB0aW9uOid9PC9zdHJvbmc+IHtwb2ludD8uZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J01vbml0b3JlZDonfTwvc3Ryb25nPiB7cG9pbnQ/Lmhhc19kZXZpY2UgPyAnWWVzJyA6ICdObyd9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J1dhcyBNb25pdG9yZWQ6J308L3N0cm9uZz57JyAnfVxuICAgICAgICAgICAgICB7cG9pbnQ/LmRldmljZV9zdGF0dXMgIT09ICdyZWd1bGFyJyA/ICdZZXMnIDogJ05vJ31cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnU2VjdG9yOid9PC9zdHJvbmc+IHtwb2ludD8uZ3JvdXAuc2VjdG9yX25hbWV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J1R5cGU6J308L3N0cm9uZz4ge3BvaW50Py5ncm91cC50eXBlLnNwbGl0KCc6OicpWzFdfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+eydXYXRlciBEaXNjaGFyZ2U6J308L3N0cm9uZz57JyAnfVxuICAgICAgICAgICAgICB7cG9pbnQ/Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnRGlzdGFuY2U6J308L3N0cm9uZz4ge2Rpc3RhbmNlfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmlnaHRQYW5lbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQVVBLElBQU1DLFVBQXFDLEdBQUcsU0FBeENBLFVBQXFDQSxDQUFBQyxJQUFBLEVBS3JDO0VBQUEsSUFKSkMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7SUFDTEMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFDUkMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFDVEMsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87RUFFUCxvQkFDRVIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFFQTtFQUFVLGdCQUN4QlAsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQTBFLEdBQ3RGLGVBQWUsZUFDaEJQLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBO0lBQVFILFNBQVMsRUFBQyxPQUFPO0lBQUNJLE9BQU8sRUFBRUg7RUFBUSxnQkFDekNSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGVBQU0sTUFBYSxDQUNiLENBQ0wsQ0FBQyxlQUNOVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSwyQkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQWlCLGdCQUM5QlAsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQVksZ0JBQ3pCUCxNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsT0FBZ0IsQ0FBQyxLQUFDLEVBQUNMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFTyxJQUNsQyxDQUFDLGVBQ0paLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxjQUF1QixDQUFDLEtBQUMsRUFBQ0wsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVRLFdBQ3pDLENBQUMsZUFDSmIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEseUJBQ0VWLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlCQUFTLFlBQXFCLENBQUMsS0FBQyxFQUFDLENBQUFMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFUyxVQUFVLElBQUcsS0FBSyxHQUFHLElBQzVELENBQUMsZUFDSmQsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEseUJBQ0VWLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlCQUFTLGdCQUF5QixDQUFDLEVBQUMsR0FBRyxFQUN0QyxDQUFBTCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRVUsYUFBYSxNQUFLLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFDN0MsQ0FBQyxlQUNKZixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsU0FBa0IsQ0FBQyxLQUFDLEVBQUNMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFVyxLQUFLLENBQUNDLFdBQzFDLENBQUMsZUFDSmpCLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxPQUFnQixDQUFDLEtBQUMsRUFBQ0wsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVXLEtBQUssQ0FBQ0UsSUFBSSxDQUFDQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMxRCxDQUFDLGVBQ0puQixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsa0JBQTJCLENBQUMsRUFBQyxHQUFHLEVBQ3hDTCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRVcsS0FBSyxDQUFDSSxlQUNiLENBQUMsZUFDSnBCLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxXQUFvQixDQUFDLEtBQUMsRUFBQ0osUUFDL0IsQ0FDQSxDQUNGLENBQ0YsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDLElBQUFlLFFBQUEsR0FFYWxCLFVBQVU7QUFBQW1CLE9BQUEsQ0FBQWIsT0FBQSxHQUFBWSxRQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.395-alpha.2",
3
+ "version": "1.2.395-alpha.4",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Map = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _useMap = require("./useMap");
11
- var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
12
- 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); }
13
- 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; }
14
- var Map = function Map(_ref) {
15
- var points = _ref.points,
16
- edges = _ref.edges,
17
- selectedPoint = _ref.selectedPoint,
18
- updateSelectedPoint = _ref.updateSelectedPoint;
19
- var mapRef = (0, _react.useRef)(null);
20
- (0, _useMap.useMap)(mapRef, points, edges, selectedPoint, updateSelectedPoint);
21
- return /*#__PURE__*/_react.default.createElement("div", {
22
- className: "map-container"
23
- }, /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement("div", {
24
- ref: mapRef,
25
- className: "map-heights"
26
- })));
27
- };
28
- exports.Map = Map;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlTWFwIiwiX0Vycm9yQm91bmRhcnkiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwicG9pbnRzIiwiZWRnZXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIm1hcFJlZiIsInVzZVJlZiIsInVzZU1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJyZWYiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1hcCB9IGZyb20gJy4vdXNlTWFwJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgZWRnZXM6IElFZGdlW107XG4gIHNlbGVjdGVkUG9pbnQ6IElQb2ludCB8IG51bGw7XG4gIHVwZGF0ZVNlbGVjdGVkUG9pbnQ6IChwb2ludDogSVBvaW50KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBwb2ludHMsXG4gIGVkZ2VzLFxuICBzZWxlY3RlZFBvaW50LFxuICB1cGRhdGVTZWxlY3RlZFBvaW50LFxufSkgPT4ge1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VNYXAobWFwUmVmLCBwb2ludHMsIGVkZ2VzLCBzZWxlY3RlZFBvaW50LCB1cGRhdGVTZWxlY3RlZFBvaW50KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWFwLWNvbnRhaW5lclwiPlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxkaXYgcmVmPXttYXBSZWZ9IGNsYXNzTmFtZT1cIm1hcC1oZWlnaHRzXCIgLz5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQXdELFNBQUFJLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQVdqRCxJQUFNVyxHQUF1QixHQUFHLFNBQTFCQSxHQUF1QkEsQ0FBQUMsSUFBQSxFQUs5QjtFQUFBLElBSkpDLE1BQU0sR0FBQUQsSUFBQSxDQUFOQyxNQUFNO0lBQ05DLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0lBQ0xDLGFBQWEsR0FBQUgsSUFBQSxDQUFiRyxhQUFhO0lBQ2JDLG1CQUFtQixHQUFBSixJQUFBLENBQW5CSSxtQkFBbUI7RUFFbkIsSUFBTUMsTUFBTSxHQUFHLElBQUFDLGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBQzNDLElBQUFDLGNBQU0sRUFBQ0YsTUFBTSxFQUFFSixNQUFNLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxtQkFBbUIsQ0FBQztFQUVqRSxvQkFDRWxDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBd0IsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZSxnQkFDNUJ2QyxNQUFBLENBQUFjLE9BQUEsQ0FBQXdCLGFBQUEsQ0FBQ2xDLGNBQUEsQ0FBQVUsT0FBYSxxQkFDWmQsTUFBQSxDQUFBYyxPQUFBLENBQUF3QixhQUFBO0lBQUtFLEdBQUcsRUFBRUwsTUFBTztJQUFDSSxTQUFTLEVBQUM7RUFBYSxDQUFFLENBQzlCLENBQ1osQ0FBQztBQUVWLENBQUM7QUFBQ0UsT0FBQSxDQUFBWixHQUFBLEdBQUFBLEdBQUEifQ==
@@ -1,170 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useMap = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
- var _leaflet = _interopRequireDefault(require("leaflet"));
10
- var _react = require("react");
11
- var _PointIcon = require("Widgets/Map/points/PointIcon");
12
- var _theme = require("styles/theme/theme");
13
- var _MapUtils = require("Widgets/Map/MapUtils");
14
- var useMap = function useMap(mapRef, points, edges, selectedPoint, updateSelectedPoint) {
15
- var _useState = (0, _react.useState)(),
16
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
17
- map = _useState2[0],
18
- setMap = _useState2[1];
19
- var _useState3 = (0, _react.useState)(null),
20
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
21
- focusedMarker = _useState4[0],
22
- setFocusedMarker = _useState4[1];
23
- var pointsLayerRef = (0, _react.useRef)();
24
- var edgesLayerRef = (0, _react.useRef)();
25
- (0, _react.useEffect)(function () {
26
- if (!mapRef.current) {
27
- return;
28
- }
29
- var mapTypes = (0, _MapUtils.baseMaps)(_theme.leafletMap.mapDefault, _theme.leafletMap.satellite);
30
- var mapTemp = _leaflet.default.map(mapRef.current, {
31
- renderer: _leaflet.default.canvas()
32
- });
33
- Object.values(mapTypes)[0].addTo(mapTemp);
34
- _leaflet.default.control.layers(mapTypes, {}, {
35
- position: 'bottomright'
36
- }).addTo(mapTemp);
37
- setMap(mapTemp);
38
- return function () {
39
- if (!mapTemp) {
40
- return;
41
- }
42
- mapTemp.off();
43
- mapTemp.remove();
44
- };
45
- }, []);
46
- (0, _react.useEffect)(function () {
47
- var _pointsLayerRef$curre;
48
- if (focusedMarker) {
49
- focusedMarker.fire('mouseout');
50
- }
51
- (_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(function (marker) {
52
- if (selectedPoint && marker.options.kando_object_id === (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id)) {
53
- marker.fire('mouseover');
54
- setFocusedMarker(marker);
55
- return;
56
- }
57
- });
58
- }, [selectedPoint]);
59
- var handleMarkerClick = function handleMarkerClick(point) {
60
- updateSelectedPoint(point);
61
- };
62
- var addMarkers = function addMarkers() {
63
- if (!map || !points) {
64
- return;
65
- }
66
- if (pointsLayerRef.current) {
67
- if (map.hasLayer(pointsLayerRef.current)) {
68
- map.removeLayer(pointsLayerRef.current);
69
- }
70
- }
71
- pointsLayerRef.current = _leaflet.default.featureGroup();
72
- pointsLayerRef.current.addTo(map);
73
- if (!pointsLayerRef.current.getLayers().length) {
74
- points.forEach(function (point) {
75
- var _pointsLayerRef$curre2;
76
- var icon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', false, true);
77
- var focusedIcon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', true, false);
78
- var marker = getMarker(point);
79
- if (point.has_device) {
80
- marker.setIcon(icon);
81
- // The use of marker._isInside is to overcome the issue that mouseover is endlessly triggered
82
- // and we need it onley once
83
- marker.on('mouseover', function () {
84
- if (!marker._isInside) {
85
- marker._isInside = true;
86
- marker.setIcon(focusedIcon);
87
- }
88
- });
89
- marker.on('mouseout', function () {
90
- marker._isInside = false;
91
- marker.setIcon(icon);
92
- });
93
- }
94
- marker.on('click', function () {
95
- handleMarkerClick(point);
96
- });
97
- (_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.addLayer(marker);
98
- });
99
- }
100
- if (pointsLayerRef.current.getLayers().length) {
101
- map.fitBounds(pointsLayerRef.current.getBounds());
102
- } else {
103
- map.setView([32.219157, 34.982481], 12);
104
- }
105
- };
106
- var getMarker = function getMarker(point) {
107
- if (point.has_device === true) {
108
- return _leaflet.default.marker([point.latitude, point.longitude], {
109
- kando_object_id: point.id
110
- });
111
- } else {
112
- return _leaflet.default.circleMarker([point.latitude, point.longitude], {
113
- radius: 4,
114
- // circle radius in pixels
115
- color: '#000000',
116
- // border (stroke) color
117
- weight: 1,
118
- // border (stroke) width
119
- fillColor: '#ffffff',
120
- // fill color (white)
121
- fillOpacity: 1,
122
- // fully opaque
123
- kando_object_id: point.id
124
- });
125
- }
126
- };
127
- var addEdges = function addEdges() {
128
- // console.log('edges', edges);
129
- if (!map || !edges) {
130
- return;
131
- }
132
- if (edgesLayerRef.current) {
133
- if (map.hasLayer(edgesLayerRef.current)) {
134
- map.removeLayer(edgesLayerRef.current);
135
- }
136
- }
137
- edgesLayerRef.current = _leaflet.default.featureGroup();
138
- edgesLayerRef.current.addTo(map);
139
- edges.forEach(function (edge) {
140
- var _edgesLayerRef$curren;
141
- var sourcePoint = points.find(function (point) {
142
- return point.id === edge.source_point_id;
143
- });
144
- var targetPoint = points.find(function (point) {
145
- return point.id === edge.target_point_id;
146
- });
147
- // console.log('sourcePoint', sourcePoint);
148
- // console.log('targetPoint', targetPoint);
149
-
150
- if (!sourcePoint || !targetPoint) {
151
- return;
152
- }
153
- var latlngs = [[sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.latitude, sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.longitude], [targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.latitude, targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.longitude]];
154
- var polyline = _leaflet.default.polyline(latlngs, {
155
- color: 'black',
156
- weight: 1,
157
- opacity: 0.5,
158
- smoothFactor: 1
159
- });
160
- (_edgesLayerRef$curren = edgesLayerRef.current) === null || _edgesLayerRef$curren === void 0 ? void 0 : _edgesLayerRef$curren.addLayer(polyline);
161
- });
162
- };
163
- (0, _react.useEffect)(function () {
164
- addMarkers();
165
- addEdges();
166
- }, [points, map]);
167
- return map;
168
- };
169
- exports.useMap = useMap;
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwic2VsZWN0ZWRQb2ludCIsInVwZGF0ZVNlbGVjdGVkUG9pbnQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwibWFwIiwic2V0TWFwIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJmb2N1c2VkTWFya2VyIiwic2V0Rm9jdXNlZE1hcmtlciIsInBvaW50c0xheWVyUmVmIiwidXNlUmVmIiwiZWRnZXNMYXllclJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJmaXJlIiwiZWFjaExheWVyIiwibWFya2VyIiwib3B0aW9ucyIsImthbmRvX29iamVjdF9pZCIsImlkIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJwb2ludCIsImFkZE1hcmtlcnMiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiZmVhdHVyZUdyb3VwIiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9wb2ludHNMYXllclJlZiRjdXJyZTIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwiZ3JvdXAiLCJ0eXBlIiwibmFtZSIsImZvY3VzZWRJY29uIiwiZ2V0TWFya2VyIiwiaGFzX2RldmljZSIsInNldEljb24iLCJvbiIsIl9pc0luc2lkZSIsImFkZExheWVyIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwic2V0VmlldyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2lyY2xlTWFya2VyIiwicmFkaXVzIiwiY29sb3IiLCJ3ZWlnaHQiLCJmaWxsQ29sb3IiLCJmaWxsT3BhY2l0eSIsImFkZEVkZ2VzIiwiZWRnZSIsIl9lZGdlc0xheWVyUmVmJGN1cnJlbiIsInNvdXJjZVBvaW50IiwiZmluZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwibGF0bG5ncyIsInBvbHlsaW5lIiwib3BhY2l0eSIsInNtb290aEZhY3RvciIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvdXNlTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBNYXJrZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50SWNvbic7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBiYXNlTWFwcyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcblxuZXhwb3J0IGNvbnN0IHVzZU1hcCA9IChcbiAgbWFwUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbCxcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQsXG4pOiBMLk1hcCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFttYXAsIHNldE1hcF0gPSB1c2VTdGF0ZTxMLk1hcD4oKTtcbiAgY29uc3QgW2ZvY3VzZWRNYXJrZXIsIHNldEZvY3VzZWRNYXJrZXJdID0gdXNlU3RhdGU8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBlZGdlc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobGVhZmxldE1hcC5tYXBEZWZhdWx0LCBsZWFmbGV0TWFwLnNhdGVsbGl0ZSk7XG4gICAgY29uc3QgbWFwVGVtcCA9IEwubWFwKG1hcFJlZi5jdXJyZW50LCB7IHJlbmRlcmVyOiBMLmNhbnZhcygpIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIHNldE1hcChtYXBUZW1wKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIW1hcFRlbXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwVGVtcC5vZmYoKTtcbiAgICAgIG1hcFRlbXAucmVtb3ZlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRNYXJrZXIpIHtcbiAgICAgIGZvY3VzZWRNYXJrZXIuZmlyZSgnbW91c2VvdXQnKTtcbiAgICB9XG5cbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzZWxlY3RlZFBvaW50ICYmXG4gICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRQb2ludD8uaWRcbiAgICAgICkge1xuICAgICAgICBtYXJrZXIuZmlyZSgnbW91c2VvdmVyJyk7XG4gICAgICAgIHNldEZvY3VzZWRNYXJrZXIobWFya2VyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKHBvaW50KSA9PiB7XG4gICAgdXBkYXRlU2VsZWN0ZWRQb2ludChwb2ludCk7XG4gIH07XG5cbiAgY29uc3QgYWRkTWFya2VycyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhcG9pbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGlmICghcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGgpIHtcbiAgICAgIHBvaW50cy5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBpY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBtYXJrZXIgPSBnZXRNYXJrZXIocG9pbnQpO1xuXG4gICAgICAgIGlmIChwb2ludC5oYXNfZGV2aWNlKSB7XG4gICAgICAgICAgbWFya2VyLnNldEljb24oaWNvbik7XG4gICAgICAgICAgLy8gVGhlIHVzZSBvZiBtYXJrZXIuX2lzSW5zaWRlIGlzIHRvIG92ZXJjb21lIHRoZSBpc3N1ZSB0aGF0IG1vdXNlb3ZlciBpcyBlbmRsZXNzbHkgdHJpZ2dlcmVkXG4gICAgICAgICAgLy8gYW5kIHdlIG5lZWQgaXQgb25sZXkgb25jZVxuICAgICAgICAgIG1hcmtlci5vbignbW91c2VvdmVyJywgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFtYXJrZXIuX2lzSW5zaWRlKSB7XG4gICAgICAgICAgICAgIG1hcmtlci5faXNJbnNpZGUgPSB0cnVlO1xuICAgICAgICAgICAgICBtYXJrZXIuc2V0SWNvbihmb2N1c2VkSWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbWFya2VyLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICAgICAgICAgIG1hcmtlci5faXNJbnNpZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFya2VyLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVNYXJrZXJDbGljayhwb2ludCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKG1hcmtlcik7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGgpIHtcbiAgICAgIG1hcC5maXRCb3VuZHMocG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRCb3VuZHMoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1hcC5zZXRWaWV3KFszMi4yMTkxNTcsIDM0Ljk4MjQ4MV0sIDEyKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0TWFya2VyID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICBpZiAocG9pbnQuaGFzX2RldmljZSA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIEwubWFya2VyKFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwge1xuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IHBvaW50LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMLmNpcmNsZU1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgICAgcmFkaXVzOiA0LCAvLyBjaXJjbGUgcmFkaXVzIGluIHBpeGVsc1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLCAvLyBib3JkZXIgKHN0cm9rZSkgY29sb3JcbiAgICAgICAgd2VpZ2h0OiAxLCAvLyBib3JkZXIgKHN0cm9rZSkgd2lkdGhcbiAgICAgICAgZmlsbENvbG9yOiAnI2ZmZmZmZicsIC8vIGZpbGwgY29sb3IgKHdoaXRlKVxuICAgICAgICBmaWxsT3BhY2l0eTogMSwgLy8gZnVsbHkgb3BhcXVlXG4gICAgICAgIGthbmRvX29iamVjdF9pZDogcG9pbnQuaWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkRWRnZXMgPSAoKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coJ2VkZ2VzJywgZWRnZXMpO1xuICAgIGlmICghbWFwIHx8ICFlZGdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlZGdlc0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIoZWRnZXNMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIoZWRnZXNMYXllclJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudC5hZGRUbyhtYXApO1xuXG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2coJ3NvdXJjZVBvaW50Jywgc291cmNlUG9pbnQpO1xuICAgICAgLy8gY29uc29sZS5sb2coJ3RhcmdldFBvaW50JywgdGFyZ2V0UG9pbnQpO1xuXG4gICAgICBpZiAoIXNvdXJjZVBvaW50IHx8ICF0YXJnZXRQb2ludCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxhdGxuZ3MgPSBbXG4gICAgICAgIFtzb3VyY2VQb2ludD8ubGF0aXR1ZGUsIHNvdXJjZVBvaW50Py5sb25naXR1ZGVdLFxuICAgICAgICBbdGFyZ2V0UG9pbnQ/LmxhdGl0dWRlLCB0YXJnZXRQb2ludD8ubG9uZ2l0dWRlXSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IHBvbHlsaW5lID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgc21vb3RoRmFjdG9yOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudD8uYWRkTGF5ZXIocG9seWxpbmUpO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWRkTWFya2VycygpO1xuICAgIGFkZEVkZ2VzKCk7XG4gIH0sIFtwb2ludHMsIG1hcF0pO1xuXG4gIHJldHVybiBtYXA7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUlPLElBQU1LLE1BQU0sR0FBRyxTQUFUQSxNQUFNQSxDQUNqQkMsTUFBdUMsRUFDdkNDLE1BQWdCLEVBQ2hCQyxLQUFjLEVBQ2RDLGFBQTRCLEVBQzVCQyxtQkFBNEMsRUFDdEI7RUFDdEIsSUFBQUMsU0FBQSxHQUFzQixJQUFBQyxlQUFRLEVBQVEsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQWhDSyxHQUFHLEdBQUFILFVBQUE7SUFBRUksTUFBTSxHQUFBSixVQUFBO0VBQ2xCLElBQUFLLFVBQUEsR0FBMEMsSUFBQU4sZUFBUSxFQUFnQixJQUFJLENBQUM7SUFBQU8sVUFBQSxPQUFBTCxlQUFBLENBQUFDLE9BQUEsRUFBQUcsVUFBQTtJQUFoRUUsYUFBYSxHQUFBRCxVQUFBO0lBQUVFLGdCQUFnQixHQUFBRixVQUFBO0VBQ3RDLElBQU1HLGNBQWMsR0FBRyxJQUFBQyxhQUFNLEVBQWlCLENBQUM7RUFDL0MsSUFBTUMsYUFBYSxHQUFH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