@riil-frontend/component-topology 7.0.0-dev.1 → 7.0.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.css +1 -1
  3. package/build/index.js +12 -12
  4. package/es/core/components/TopoView/topoView.js +13 -1
  5. package/es/core/models/TopoApp.js +1 -1
  6. package/es/core/store/coreModels.js +2 -0
  7. package/es/core/store/models/selection.js +3 -1
  8. package/es/core/store/models/viewer/resourceDetail.js +31 -0
  9. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +2 -5
  10. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +61 -43
  11. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +136 -0
  12. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +9 -16
  13. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +1 -1
  14. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +119 -117
  15. package/es/networkTopo/store/topoCenter.js +27 -4
  16. package/es/style.js +1 -1
  17. package/lib/core/components/TopoView/topoView.js +13 -1
  18. package/lib/core/models/TopoApp.js +1 -1
  19. package/lib/core/store/coreModels.js +3 -0
  20. package/lib/core/store/models/selection.js +3 -1
  21. package/lib/core/store/models/viewer/resourceDetail.js +40 -0
  22. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +2 -5
  23. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +60 -46
  24. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +156 -0
  25. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +9 -16
  26. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +1 -1
  27. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +119 -117
  28. package/lib/networkTopo/store/topoCenter.js +27 -4
  29. package/lib/style.js +1 -1
  30. package/package.json +2 -2
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
11
+
12
+ var _table = _interopRequireDefault(require("@alifd/next/lib/table"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
17
+
18
+ var _icon = _interopRequireDefault(require("@alifd/next/lib/icon"));
19
+
20
+ var _react = _interopRequireDefault(require("react"));
21
+
22
+ var _moment = _interopRequireDefault(require("moment"));
23
+
24
+ var _BlockBox = _interopRequireDefault(require("./BlockBox"));
25
+
26
+ var _Link = _interopRequireDefault(require("../../../../../../../components/Link"));
27
+
28
+ var _overview = _interopRequireDefault(require("../../../../../../services/overview"));
29
+
30
+ var _indexModule = _interopRequireDefault(require("./index.module.scss"));
31
+
32
+ // url 处理,UICBB 的地址需截取前缀
33
+ function formatUrl(url) {
34
+ var _window, _window$location;
35
+
36
+ var prefix = '/default/pagecenter';
37
+
38
+ if (((_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : _window$location.pathname.indexOf(prefix)) === 0 && (url === null || url === void 0 ? void 0 : url.indexOf(prefix)) === 0) {
39
+ return url.split(prefix)[1];
40
+ } else {
41
+ return url;
42
+ }
43
+ }
44
+
45
+ function EventsCard(props) {
46
+ var alarmRiskList = props.alarmRiskList,
47
+ closeDetailDrawer = props.closeDetailDrawer,
48
+ onHandleAlarm = props.onHandleAlarm; // 告警table列配置
49
+
50
+ var columns = [{
51
+ title: '描述',
52
+ dataIndex: 'title',
53
+ key: 'title',
54
+ cell: function cell(value, index, record) {
55
+ return /*#__PURE__*/_react["default"].createElement("div", {
56
+ className: _indexModule["default"]['alarm-title'],
57
+ title: value,
58
+ onClick: closeDetailDrawer
59
+ }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
60
+ type: record.icon,
61
+ size: "xs",
62
+ className: _indexModule["default"]['alarm-color-icon'] + " " + record.className
63
+ }), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
64
+ className: _indexModule["default"].link,
65
+ to: formatUrl(record.link)
66
+ }, value));
67
+ }
68
+ }, {
69
+ title: '时间',
70
+ dataIndex: 'time',
71
+ key: 'time',
72
+ width: 144,
73
+ cell: function cell(value, index, record) {
74
+ return /*#__PURE__*/_react["default"].createElement("div", {
75
+ title: (0, _moment["default"])(value).format('YYYY-MM-DD HH:mm:ss')
76
+ }, (0, _moment["default"])(value).format('YYYY-MM-DD HH:mm:ss'));
77
+ }
78
+ }, {
79
+ title: '操作',
80
+ dataIndex: 'status',
81
+ key: 'status',
82
+ width: 64,
83
+ cell: function cell(status, index, record) {
84
+ if (record.type === 'alarm') {
85
+ return status === 'toDeal' ? /*#__PURE__*/_react["default"].createElement(_button["default"], {
86
+ text: true,
87
+ type: "primary",
88
+ onClick: function onClick() {
89
+ return alarmRiskOperation(record.type, record.params);
90
+ }
91
+ }, "\u53D7\u7406") : /*#__PURE__*/_react["default"].createElement(_button["default"], {
92
+ disabled: true,
93
+ text: true,
94
+ type: "primary"
95
+ }, "\u5DF2\u53D7\u7406");
96
+ } else {
97
+ // return <Button text type="primary" onClick={() => alarmRiskOperation(record.type, record)}>受理</Button>
98
+ return '';
99
+ }
100
+ }
101
+ }]; // 告警/风险 操作 (受理)
102
+
103
+ function alarmRiskOperation(_x, _x2) {
104
+ return _alarmRiskOperation.apply(this, arguments);
105
+ }
106
+
107
+ function _alarmRiskOperation() {
108
+ _alarmRiskOperation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(type, params) {
109
+ var res;
110
+ return _regenerator["default"].wrap(function _callee$(_context) {
111
+ while (1) {
112
+ switch (_context.prev = _context.next) {
113
+ case 0:
114
+ if (!(type === 'alarm')) {
115
+ _context.next = 6;
116
+ break;
117
+ }
118
+
119
+ _context.next = 3;
120
+ return _overview["default"].handleAlarm(params);
121
+
122
+ case 3:
123
+ res = _context.sent;
124
+
125
+ _message["default"].success('受理成功');
126
+
127
+ onHandleAlarm();
128
+
129
+ case 6:
130
+ case "end":
131
+ return _context.stop();
132
+ }
133
+ }
134
+ }, _callee);
135
+ }));
136
+ return _alarmRiskOperation.apply(this, arguments);
137
+ }
138
+
139
+ return /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
140
+ headerTitle: "\u6700\u8FD1\u7684\u544A\u8B66\u548C\u98CE\u9669"
141
+ }, /*#__PURE__*/_react["default"].createElement("div", {
142
+ className: _indexModule["default"].alarm
143
+ }, /*#__PURE__*/_react["default"].createElement(_table["default"], {
144
+ hasBorder: false,
145
+ fixedHeader: true,
146
+ columns: columns,
147
+ maxBodyHeight: "auto",
148
+ dataSource: alarmRiskList,
149
+ emptyContent: /*#__PURE__*/_react["default"].createElement("div", {
150
+ className: _indexModule["default"]['no-data']
151
+ }, "\u6682\u65E0\u6570\u636E")
152
+ })));
153
+ }
154
+
155
+ var _default = EventsCard;
156
+ exports["default"] = _default;
@@ -9,8 +9,6 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
 
10
10
  var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
11
11
 
12
- var _table = _interopRequireDefault(require("@alifd/next/lib/table"));
13
-
14
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
13
 
16
14
  var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
@@ -51,6 +49,8 @@ var _LinkTopoCard = _interopRequireDefault(require("./components/LinkTopo/LinkTo
51
49
 
52
50
  var _rlog = require("@riil-frontend/component-topology-utils/lib/rlog");
53
51
 
52
+ var _EventsCard = _interopRequireDefault(require("./EventsCard"));
53
+
54
54
  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); }
55
55
 
56
56
  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; }
@@ -978,18 +978,11 @@ function ResourceOverview(props) {
978
978
  },
979
979
  data: metric,
980
980
  loading: metricInitLoading
981
- })), /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
982
- headerTitle: "\u6700\u8FD1\u7684\u544A\u8B66\u548C\u98CE\u9669"
983
- }, /*#__PURE__*/_react["default"].createElement("div", {
984
- className: _indexModule["default"].alarm
985
- }, /*#__PURE__*/_react["default"].createElement(_table["default"], {
986
- hasBorder: false,
987
- fixedHeader: true,
988
- columns: columns,
989
- maxBodyHeight: "auto",
990
- dataSource: alarmRiskList,
991
- emptyContent: /*#__PURE__*/_react["default"].createElement("div", {
992
- className: _indexModule["default"]['no-data']
993
- }, "\u6682\u65E0\u6570\u636E")
994
- }))));
981
+ })), /*#__PURE__*/_react["default"].createElement(_EventsCard["default"], {
982
+ alarmRiskList: alarmRiskList,
983
+ closeDetailDrawer: onClose,
984
+ onHandleAlarm: function onHandleAlarm() {
985
+ getAlarmRiskData(id);
986
+ }
987
+ }));
995
988
  }
@@ -138,7 +138,7 @@ function ResourceOverviewMetric(props) {
138
138
  padding: 0,
139
139
  appendPadding: [2, 0],
140
140
  smooth: true,
141
- tooltip: false,
141
+ tooltip: true,
142
142
  line: {
143
143
  color: "l(0) 0:" + hexToRgb(rgbToHex(color).hex, 0.05).rgba + " 0.5:" + color + " 1:" + color,
144
144
  size: 2
@@ -1,135 +1,137 @@
1
1
  @import "~@alifd/next/variables.scss";
2
2
 
3
3
  .resource-overview {
4
- .base-info {
5
- margin-top: 16px;
6
- margin-right: -25px;
7
- overflow: hidden;
8
- .item {
9
- width: 220px;
10
- max-width: 100%;
11
- margin-right: 25px;
12
- margin-bottom: 8px;
13
- display: flex;
14
- float: left;
15
- .label {
16
- white-space: nowrap;
17
- }
18
- .content {
19
- flex: 1;
4
+
5
+ }
6
+
7
+ .base-info {
8
+ margin-top: 16px;
9
+ margin-right: -25px;
10
+ overflow: hidden;
11
+ .item {
12
+ width: 220px;
13
+ max-width: 100%;
14
+ margin-right: 25px;
15
+ margin-bottom: 8px;
16
+ display: flex;
17
+ float: left;
18
+ .label {
19
+ white-space: nowrap;
20
+ }
21
+ .content {
22
+ flex: 1;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ color: #4d6277;
27
+ .link {
28
+ width: 100%;
29
+ display: block;
20
30
  overflow: hidden;
21
31
  text-overflow: ellipsis;
22
32
  white-space: nowrap;
23
- color: #4d6277;
24
- .link {
25
- width: 100%;
26
- display: block;
27
- overflow: hidden;
28
- text-overflow: ellipsis;
29
- white-space: nowrap;
30
- }
31
33
  }
32
34
  }
33
35
  }
34
- .indicator {
35
- width: 525px;
36
- margin: 20px 0 12px;
37
- display: flex;
38
- flex-wrap: wrap;
39
- .no-data{
40
- width: 100%;
41
- height: 120px;
42
- line-height: 120px;
43
- text-align: center;
36
+ }
37
+ .indicator {
38
+ width: 525px;
39
+ margin: 20px 0 12px;
40
+ display: flex;
41
+ flex-wrap: wrap;
42
+ .no-data{
43
+ width: 100%;
44
+ height: 120px;
45
+ line-height: 120px;
46
+ text-align: center;
47
+ }
48
+ .item {
49
+ width: 240px;
50
+ margin-bottom: 24px;
51
+ &:nth-child(2n + 1) {
52
+ margin-right: 24px;
44
53
  }
45
- .item {
46
- width: 240px;
47
- margin-bottom: 24px;
48
- &:nth-child(2n + 1) {
49
- margin-right: 24px;
50
- }
51
- .title {
52
- font-size: 13px;
53
- color: #78849c;
54
- }
55
- .content {
56
- margin-top: 10px;
57
- font-size: 26px;
58
- color: #4d6277;
59
- }
60
- .chart {
61
- margin-top: 16px;
62
- }
54
+ .title {
55
+ font-size: 13px;
56
+ color: #78849c;
63
57
  }
64
- // .row {
65
- // display: flex;
66
- // border-bottom: 1px solid #f2f5fa;
67
- // &:last-child {
68
- // border: none;
69
- // }
70
- // .item {
71
- // width: 175px;
72
- // height: 100px;
73
- // box-sizing: border-box;
74
- // display: flex;
75
- // flex-direction: column;
76
- // text-align: center;
77
- // border-right: 1px solid #f2f5fa;
78
- // &:last-child {
79
- // border: none;
80
- // }
81
- // .content {
82
- // margin-top: 19px;
83
- // height: 32px;
84
- // line-height: 32px;
85
- // font-size: 32px;
86
- // color: #4d6277;
87
- // }
88
- // .label {
89
- // margin-top: 12px;
90
- // height: 20px;
91
- // font-size: 14px;
92
- // font-weight: 400;
93
- // color: #78849c;
94
- // line-height: 20px;
95
- // }
96
- // }
97
- // }
98
- }
99
- .alarm {
100
- margin-top: 12px;
101
- .alarm-title {
102
- overflow: hidden;
103
- text-overflow: ellipsis;
104
- white-space: nowrap;
58
+ .content {
59
+ margin-top: 10px;
60
+ font-size: 26px;
61
+ color: #4d6277;
105
62
  }
106
- .alarm-color-icon {
107
- width: 12px;
108
- height: 12px;
109
- font-size: 12px;
110
- margin-right: 4px;
63
+ .chart {
64
+ margin-top: 16px;
111
65
  }
112
- .no-data {
113
- font-size: 14px;
114
- text-align: center;
115
- color: var(--color-text1-4);
116
- height: 120px;
117
- line-height: 120px;
66
+ }
67
+ // .row {
68
+ // display: flex;
69
+ // border-bottom: 1px solid #f2f5fa;
70
+ // &:last-child {
71
+ // border: none;
72
+ // }
73
+ // .item {
74
+ // width: 175px;
75
+ // height: 100px;
76
+ // box-sizing: border-box;
77
+ // display: flex;
78
+ // flex-direction: column;
79
+ // text-align: center;
80
+ // border-right: 1px solid #f2f5fa;
81
+ // &:last-child {
82
+ // border: none;
83
+ // }
84
+ // .content {
85
+ // margin-top: 19px;
86
+ // height: 32px;
87
+ // line-height: 32px;
88
+ // font-size: 32px;
89
+ // color: #4d6277;
90
+ // }
91
+ // .label {
92
+ // margin-top: 12px;
93
+ // height: 20px;
94
+ // font-size: 14px;
95
+ // font-weight: 400;
96
+ // color: #78849c;
97
+ // line-height: 20px;
98
+ // }
99
+ // }
100
+ // }
101
+ }
102
+ .alarm {
103
+ margin-top: 12px;
104
+ .alarm-title {
105
+ overflow: hidden;
106
+ text-overflow: ellipsis;
107
+ white-space: nowrap;
108
+ }
109
+ .alarm-color-icon {
110
+ width: 12px;
111
+ height: 12px;
112
+ font-size: 12px;
113
+ margin-right: 4px;
114
+ }
115
+ .no-data {
116
+ font-size: 14px;
117
+ text-align: center;
118
+ color: var(--color-text1-4);
119
+ height: 120px;
120
+ line-height: 120px;
121
+ }
122
+ :global {
123
+ .#{$css-prefix}btn-helper {
124
+ vertical-align: baseline;
118
125
  }
119
- :global {
120
- .#{$css-prefix}btn-helper {
121
- vertical-align: baseline;
122
- }
123
- .risk-icon {
124
- color: #ff7843;
125
- }
126
- .#{$css-prefix}table .#{$css-prefix}table-body tr:last-child td {
127
- border-bottom: none;
128
- }
129
- // .#{$css-prefix}btn{
130
- // height: 28px !important;
131
- // }
126
+ .risk-icon {
127
+ color: #ff7843;
132
128
  }
129
+ .#{$css-prefix}table .#{$css-prefix}table-body tr:last-child td {
130
+ border-bottom: none;
131
+ }
132
+ // .#{$css-prefix}btn{
133
+ // height: 28px !important;
134
+ // }
133
135
  }
134
136
  }
135
137
 
@@ -110,22 +110,45 @@ var _default = {
110
110
  });
111
111
 
112
112
  case 22:
113
- _context.next = 26;
113
+ _context.next = 29;
114
114
  break;
115
115
 
116
116
  case 24:
117
- _context.next = 26;
117
+ if (!params.selectedElementTag) {
118
+ _context.next = 27;
119
+ break;
120
+ }
121
+
122
+ _context.next = 27;
123
+ return dispatch.selection.update({
124
+ initSelectionId: params.selectedElementTag
125
+ });
126
+
127
+ case 27:
128
+ _context.next = 29;
118
129
  return dispatch.topoMod.initData((0, _extends2["default"])({}, params, {
119
130
  type: params.type,
120
131
  id: id
121
132
  }));
122
133
 
123
- case 26:
134
+ case 29:
124
135
  _this.update({
125
136
  loading: false
137
+ }); // 是否打开概览
138
+
139
+
140
+ if (!params.openResourceOverview) {
141
+ _context.next = 33;
142
+ break;
143
+ }
144
+
145
+ _context.next = 33;
146
+ return dispatch.resourceDetail.update({
147
+ visible: true,
148
+ id: params.openResourceOverview
126
149
  });
127
150
 
128
- case 27:
151
+ case 33:
129
152
  case "end":
130
153
  return _context.stop();
131
154
  }
package/lib/style.js CHANGED
@@ -25,9 +25,9 @@ require('@alifd/next/lib/menu/style');
25
25
  require('@alifd/next/lib/dialog/style');
26
26
  require('@riil-frontend/utils/lib/style');
27
27
  require('@riil-frontend/component-riil-event-emitter/lib/style');
28
+ require('@alifd/next/lib/menu-button/style');
28
29
  require('@alifd/next/lib/tab/style');
29
30
  require('@riil-frontend/component-pager/lib/style');
30
- require('@alifd/next/lib/menu-button/style');
31
31
  require('@alifd/next/lib/loading/style');
32
32
  require('@alifd/next/lib/divider/style');
33
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "7.0.0-dev.1",
3
+ "version": "7.0.0-dev.2",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -116,6 +116,6 @@
116
116
  "access": "public"
117
117
  },
118
118
  "license": "MIT",
119
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@7.0.0-dev.1/build/index.html",
119
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@7.0.0-dev.2/build/index.html",
120
120
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
121
121
  }