@kando-env/kando-ui 1.2.449-alpha.9 → 1.2.449
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +3 -3
- package/lib/Widgets/Map/MapUtils.js +1 -2
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +38 -20
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +1 -1
- package/lib/assets/icons/TopNavbar/index.js +1 -9
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +2 -2
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
- package/lib/components/Header/InfoBar/InfoBar.js +3 -20
- package/lib/i18n/en.json +2 -5
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/DashboardMap/AssessmentIcon.js +3 -3
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +22 -21
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +1 -1
- package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +1 -1
- package/lib/pages/OperationsPage/RightPanel.js +3 -3
- package/lib/store/permissions/permissionsSlice.js +1 -5
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/styles/theme/theme.js +2 -3
- package/lib/test/mocks/browser.js +1 -1
- package/lib/test/test-utils.js +1 -1
- package/lib/ui-kit/Dashboard/Dashboard.js +6 -14
- package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
- package/lib/utilities/scoreToData.test.js +1 -1
- package/package.json +2 -2
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryCard.js +0 -59
- package/lib/assets/icons/TopNavbar/GraphHierarchyIcon.js +0 -77
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +0 -142
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +0 -116
- package/lib/ui-kit/HierarchyGraph/Node.js +0 -77
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +0 -45
- package/lib/ui-kit/HierarchyGraph/OrientationSwitcher.js +0 -113
- package/lib/ui-kit/HierarchyGraph/index.js +0 -11
- package/lib/ui-kit/HierarchyGraph/utils.js +0 -101
|
@@ -1,101 +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.ActionsContainer = void 0;
|
|
8
|
-
exports.buildTree = buildTree;
|
|
9
|
-
exports.mapById = mapById;
|
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
12
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
13
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
|
-
var _excluded = ["name"],
|
|
15
|
-
_excluded2 = ["id", "name", "has_device", "group", "area_name"];
|
|
16
|
-
/**
|
|
17
|
-
* Convert edges to rows suitable for d3.stratify()
|
|
18
|
-
* Returns an array of { id, parentId, distance?, shape_data? }
|
|
19
|
-
* If multiple roots exist, you can optionally add a super root row.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
function buildTree(connections, point_data, utility_name) {
|
|
23
|
-
var nodes = {};
|
|
24
|
-
var children = new Set();
|
|
25
|
-
|
|
26
|
-
// Build map of nodes and track children
|
|
27
|
-
var _iterator = (0, _createForOfIteratorHelper2.default)(connections),
|
|
28
|
-
_step;
|
|
29
|
-
try {
|
|
30
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
31
|
-
var _step$value = _step.value,
|
|
32
|
-
source_point_id = _step$value.source_point_id,
|
|
33
|
-
target_point_id = _step$value.target_point_id,
|
|
34
|
-
distance = _step$value.distance;
|
|
35
|
-
var _ref = point_data[source_point_id] || {},
|
|
36
|
-
name = _ref.name,
|
|
37
|
-
sourceData = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
38
|
-
if (!nodes[source_point_id]) nodes[source_point_id] = {
|
|
39
|
-
name: name,
|
|
40
|
-
children: []
|
|
41
|
-
};
|
|
42
|
-
if (!nodes[target_point_id]) {
|
|
43
|
-
var target_data = point_data[target_point_id] || {};
|
|
44
|
-
nodes[target_point_id] = {
|
|
45
|
-
name: target_data.name,
|
|
46
|
-
attributes: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target_data), {}, {
|
|
47
|
-
point_id: target_point_id
|
|
48
|
-
}),
|
|
49
|
-
children: []
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
nodes[target_point_id].children.push(nodes[source_point_id]);
|
|
53
|
-
children.add(source_point_id);
|
|
54
|
-
nodes[source_point_id].attributes = (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
55
|
-
distance: distance
|
|
56
|
-
}, sourceData), {}, {
|
|
57
|
-
point_id: source_point_id
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Find root(s)
|
|
62
|
-
} catch (err) {
|
|
63
|
-
_iterator.e(err);
|
|
64
|
-
} finally {
|
|
65
|
-
_iterator.f();
|
|
66
|
-
}
|
|
67
|
-
var roots = Object.keys(nodes).filter(function (id) {
|
|
68
|
-
return !children.has(Number(id));
|
|
69
|
-
}).map(function (id) {
|
|
70
|
-
return nodes[id];
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
// If multiple roots exist, wrap in a super root
|
|
74
|
-
return roots.length === 1 ? roots[0] : {
|
|
75
|
-
name: utility_name,
|
|
76
|
-
children: roots
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function mapById(items) {
|
|
80
|
-
return items.reduce(function (acc, _ref2) {
|
|
81
|
-
var id = _ref2.id,
|
|
82
|
-
name = _ref2.name,
|
|
83
|
-
has_device = _ref2.has_device,
|
|
84
|
-
group = _ref2.group,
|
|
85
|
-
area_name = _ref2.area_name,
|
|
86
|
-
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
87
|
-
acc[id] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
88
|
-
name: name,
|
|
89
|
-
monitored: has_device,
|
|
90
|
-
type: area_name ? 'area' : group.type,
|
|
91
|
-
area_name: area_name
|
|
92
|
-
});
|
|
93
|
-
return acc;
|
|
94
|
-
}, {});
|
|
95
|
-
}
|
|
96
|
-
var ActionsContainer = _styledComponents.default.div.withConfig({
|
|
97
|
-
displayName: "utils__ActionsContainer",
|
|
98
|
-
componentId: "sc-21qmj9-0"
|
|
99
|
-
})(["{width:100%;text-align:center;margin-top:-10px;margin-inline-start:15px;}"]);
|
|
100
|
-
exports.ActionsContainer = ActionsContainer;
|
|
101
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZFRyZWUiLCJjb25uZWN0aW9ucyIsInBvaW50X2RhdGEiLCJ1dGlsaXR5X25hbWUiLCJub2RlcyIsImNoaWxkcmVuIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiZGVmYXVsdCIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldF9wb2ludF9pZCIsImRpc3RhbmNlIiwiX3JlZiIsIm5hbWUiLCJzb3VyY2VEYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIl9leGNsdWRlZCIsInRhcmdldF9kYXRhIiwiYXR0cmlidXRlcyIsIl9vYmplY3RTcHJlYWQyIiwicG9pbnRfaWQiLCJwdXNoIiwiYWRkIiwiZXJyIiwiZSIsImYiLCJyb290cyIsIk9iamVjdCIsImtleXMiLCJmaWx0ZXIiLCJpZCIsImhhcyIsIk51bWJlciIsIm1hcCIsImxlbmd0aCIsIm1hcEJ5SWQiLCJpdGVtcyIsInJlZHVjZSIsImFjYyIsIl9yZWYyIiwiaGFzX2RldmljZSIsImdyb3VwIiwiYXJlYV9uYW1lIiwicHJvcHMiLCJfZXhjbHVkZWQyIiwibW9uaXRvcmVkIiwidHlwZSIsIkFjdGlvbnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG4vKipcbiAqIENvbnZlcnQgZWRnZXMgdG8gcm93cyBzdWl0YWJsZSBmb3IgZDMuc3RyYXRpZnkoKVxuICogUmV0dXJucyBhbiBhcnJheSBvZiB7IGlkLCBwYXJlbnRJZCwgZGlzdGFuY2U/LCBzaGFwZV9kYXRhPyB9XG4gKiBJZiBtdWx0aXBsZSByb290cyBleGlzdCwgeW91IGNhbiBvcHRpb25hbGx5IGFkZCBhIHN1cGVyIHJvb3Qgcm93LlxuICovXG50eXBlIEVkZ2UgPSB7XG4gIHNvdXJjZV9wb2ludF9pZDogbnVtYmVyIHwgc3RyaW5nO1xuICB0YXJnZXRfcG9pbnRfaWQ6IG51bWJlciB8IHN0cmluZztcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG59O1xudHlwZSBUcmVlTm9kZSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlW107XG4gIGF0dHJpYnV0ZXM/OiB7IGRpc3RhbmNlOiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbW9uaXRvcmVkOiBib29sZWFuIH07XG59O1xudHlwZSBUcmVlRGF0YSA9IFRyZWVOb2RlIHwgeyBuYW1lOiBzdHJpbmc7IGNoaWxkcmVuOiBUcmVlTm9kZVtdIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRyZWUoXG4gIGNvbm5lY3Rpb25zOiBFZGdlW10sXG4gIHBvaW50X2RhdGEsXG4gIHV0aWxpdHlfbmFtZSxcbik6IFRyZWVEYXRhIHtcbiAgY29uc3Qgbm9kZXMgPSB7fTtcbiAgY29uc3QgY2hpbGRyZW4gPSBuZXcgU2V0KCk7XG5cbiAgLy8gQnVpbGQgbWFwIG9mIG5vZGVzIGFuZCB0cmFjayBjaGlsZHJlblxuICBmb3IgKGNvbnN0IHsgc291cmNlX3BvaW50X2lkLCB0YXJnZXRfcG9pbnRfaWQsIGRpc3RhbmNlIH0gb2YgY29ubmVjdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIC4uLnNvdXJjZURhdGEgfSA9IHBvaW50X2RhdGFbc291cmNlX3BvaW50X2lkXSB8fCB7fTtcbiAgICBpZiAoIW5vZGVzW3NvdXJjZV9wb2ludF9pZF0pXG4gICAgICBub2Rlc1tzb3VyY2VfcG9pbnRfaWRdID0ge1xuICAgICAgICBuYW1lLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICB9O1xuICAgIGlmICghbm9kZXNbdGFyZ2V0X3BvaW50X2lkXSkge1xuICAgICAgY29uc3QgdGFyZ2V0X2RhdGEgPSBwb2ludF9kYXRhW3RhcmdldF9wb2ludF9pZF0gfHwge307XG4gICAgICBub2Rlc1t0YXJnZXRfcG9pbnRfaWRdID0ge1xuICAgICAgICBuYW1lOiB0YXJnZXRfZGF0YS5uYW1lLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgLi4udGFyZ2V0X2RhdGEsXG4gICAgICAgICAgcG9pbnRfaWQ6IHRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfTtcbiAgICB9XG4gICAgbm9kZXNbdGFyZ2V0X3BvaW50X2lkXS5jaGlsZHJlbi5wdXNoKG5vZGVzW3NvdXJjZV9wb2ludF9pZF0pO1xuICAgIGNoaWxkcmVuLmFkZChzb3VyY2VfcG9pbnRfaWQpO1xuICAgIG5vZGVzW3NvdXJjZV9wb2ludF9pZF0uYXR0cmlidXRlcyA9IHtcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgLi4uc291cmNlRGF0YSxcbiAgICAgIHBvaW50X2lkOiBzb3VyY2VfcG9pbnRfaWQsXG4gICAgfTtcbiAgfVxuXG4gIC8vIEZpbmQgcm9vdChzKVxuICBjb25zdCByb290cyA9IE9iamVjdC5rZXlzKG5vZGVzKVxuICAgIC5maWx0ZXIoKGlkKSA9PiAhY2hpbGRyZW4uaGFzKE51bWJlcihpZCkpKVxuICAgIC5tYXAoKGlkKSA9PiBub2Rlc1tpZF0pO1xuXG4gIC8vIElmIG11bHRpcGxlIHJvb3RzIGV4aXN0LCB3cmFwIGluIGEgc3VwZXIgcm9vdFxuICByZXR1cm4gcm9vdHMubGVuZ3RoID09PSAxXG4gICAgPyByb290c1swXVxuICAgIDogeyBuYW1lOiB1dGlsaXR5X25hbWUsIGNoaWxkcmVuOiByb290cyB9O1xufVxudHlwZSBQb2ludERhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW9uaXRvcmVkOiBib29sZWFuO1xuICB0eXBlOiBzdHJpbmc7XG4gIGFyZWFfbmFtZT86IHN0cmluZztcbiAgc2NvcmU/OiBudW1iZXI7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIG1hcEJ5SWQoaXRlbXM6IElQb2ludFtdKTogUmVjb3JkPHN0cmluZyB8IG51bWJlciwgUG9pbnREYXRhPiB7XG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoXG4gICAgKGFjYywgeyBpZCwgbmFtZSwgaGFzX2RldmljZSwgZ3JvdXAsIGFyZWFfbmFtZSwgLi4ucHJvcHMgfSkgPT4ge1xuICAgICAgYWNjW2lkXSA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG1vbml0b3JlZDogaGFzX2RldmljZSxcbiAgICAgICAgdHlwZTogYXJlYV9uYW1lID8gJ2FyZWEnIDogZ3JvdXAudHlwZSxcbiAgICAgICAgYXJlYV9uYW1lLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBQb2ludERhdGE+LFxuICApO1xufVxuXG5leHBvcnQgY29uc3QgQWN0aW9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gICB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE1cHg7XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBYU8sU0FBU0EsU0FBU0EsQ0FDdkJDLFdBQW1CLEVBQ25CQyxVQUFVLEVBQ1ZDLFlBQVksRUFDRjtFQUNWLElBQU1DLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDaEIsSUFBTUMsUUFBUSxHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDOztFQUUxQjtFQUFBLElBQUFDLFNBQUEsT0FBQUMsMkJBQUEsQ0FBQUMsT0FBQSxFQUM2RFIs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
|