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

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 (32) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.css +1 -1
  3. package/build/index.js +13 -13
  4. package/es/core/components/TopoView/topoView.js +14 -8
  5. package/es/core/components/titlebar/index.js +2 -1
  6. package/es/core/models/TopoApp.js +1 -1
  7. package/es/core/store/coreModels.js +2 -0
  8. package/es/core/store/models/selection.js +3 -1
  9. package/es/core/store/models/viewer/resourceDetail.js +31 -0
  10. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +2 -5
  11. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +72 -43
  12. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +136 -0
  13. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +9 -16
  14. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +1 -1
  15. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +119 -117
  16. package/es/networkTopo/store/topoCenter.js +27 -4
  17. package/es/style.js +22 -22
  18. package/lib/core/components/TopoView/topoView.js +14 -9
  19. package/lib/core/components/titlebar/index.js +5 -1
  20. package/lib/core/models/TopoApp.js +1 -1
  21. package/lib/core/store/coreModels.js +3 -0
  22. package/lib/core/store/models/selection.js +3 -1
  23. package/lib/core/store/models/viewer/resourceDetail.js +40 -0
  24. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +2 -5
  25. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +71 -46
  26. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +156 -0
  27. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +9 -16
  28. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +1 -1
  29. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +119 -117
  30. package/lib/networkTopo/store/topoCenter.js +27 -4
  31. package/lib/style.js +22 -22
  32. package/package.json +2 -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
 
@@ -99,22 +99,45 @@ export default {
99
99
  });
100
100
 
101
101
  case 22:
102
- _context.next = 26;
102
+ _context.next = 29;
103
103
  break;
104
104
 
105
105
  case 24:
106
- _context.next = 26;
106
+ if (!params.selectedElementTag) {
107
+ _context.next = 27;
108
+ break;
109
+ }
110
+
111
+ _context.next = 27;
112
+ return dispatch.selection.update({
113
+ initSelectionId: params.selectedElementTag
114
+ });
115
+
116
+ case 27:
117
+ _context.next = 29;
107
118
  return dispatch.topoMod.initData(_extends({}, params, {
108
119
  type: params.type,
109
120
  id: id
110
121
  }));
111
122
 
112
- case 26:
123
+ case 29:
113
124
  _this.update({
114
125
  loading: false
126
+ }); // 是否打开概览
127
+
128
+
129
+ if (!params.openResourceOverview) {
130
+ _context.next = 33;
131
+ break;
132
+ }
133
+
134
+ _context.next = 33;
135
+ return dispatch.resourceDetail.update({
136
+ visible: true,
137
+ id: params.openResourceOverview
115
138
  });
116
139
 
117
- case 27:
140
+ case 33:
118
141
  case "end":
119
142
  return _context.stop();
120
143
  }
package/es/style.js CHANGED
@@ -1,45 +1,45 @@
1
1
  import '@riil-frontend/component-topology-graph/es/style';
2
2
  import '@alifd/next/es/box/style';
3
3
  import '@alifd/next/es/message/style';
4
- import '@alifd/next/es/button/style';
5
- import '@alifd/next/es/icon/style';
6
- import '@alifd/next/es/overlay/style';
7
- import '@alifd/next/es/list/style';
8
- import '@alifd/next/es/card/style';
9
- import '@riil-frontend/component-no-data-page/es/style';
10
- import '@alifd/next/es/drawer/style';
11
- import '@alifd/next/es/form/style';
12
- import '@alifd/next/es/field/style';
13
- import '@alifd/next/es/radio/style';
14
- import '@alifd/next/es/checkbox/style';
15
- import '@alifd/next/es/table/style';
16
- import '@alifd/next/es/search/style';
17
- import '@alifd/next/es/grid/style';
18
- import '@riil-frontend/component-action-tree/es/style';
19
- import '@riil-frontend/component-table-layout/es/style';
20
- import '@riil-frontend/hooks/es/style';
21
- import '@alifd/next/es/balloon/style';
22
4
  import '@riil-frontend/component-topology-utils/es/style';
23
- import '@alifd/next/es/dropdown/style';
24
- import '@alifd/next/es/menu/style';
25
- import '@alifd/next/es/dialog/style';
26
5
  import '@riil-frontend/utils/es/style';
27
6
  import '@riil-frontend/component-riil-event-emitter/es/style';
7
+ import '@alifd/next/es/drawer/style';
8
+ import '@alifd/next/es/menu-button/style';
9
+ import '@alifd/next/es/search/style';
28
10
  import '@alifd/next/es/tab/style';
11
+ import '@alifd/next/es/table/style';
12
+ import '@riil-frontend/component-table-layout/es/style';
29
13
  import '@riil-frontend/component-pager/es/style';
30
- import '@alifd/next/es/menu-button/style';
14
+ import '@alifd/next/es/button/style';
15
+ import '@alifd/next/es/icon/style';
31
16
  import '@alifd/next/es/loading/style';
32
17
  import '@alifd/next/es/divider/style';
18
+ import '@riil-frontend/component-no-data-page/es/style';
33
19
 
20
+ import '@alifd/next/es/overlay/style';
21
+ import '@alifd/next/es/checkbox/style';
34
22
  import '@riil-frontend/component-crucial-link-topo/es/style';
35
23
  import '@alifd/next/es/input/style';
24
+ import '@alifd/next/es/field/style';
25
+ import '@alifd/next/es/form/style';
26
+ import '@alifd/next/es/dialog/style';
36
27
  import '@alifd/next/es/upload/style';
37
28
  import '@alifd/next/es/config-provider/style';
38
29
  import '@riil-frontend/component-common-res-list/es/style';
30
+ import '@alifd/next/es/balloon/style';
31
+ import '@alifd/next/es/menu/style';
32
+ import '@alifd/next/es/dropdown/style';
39
33
  import '@alifd/next/es/range/style';
34
+ import '@alifd/next/es/radio/style';
40
35
  import '@alifd/next/es/tag/style';
41
36
  import '@alifd/next/es/number-picker/style';
42
37
  import '@alifd/next/es/select/style';
43
38
  import '@alifd/next/es/collapse/style';
39
+ import '@alifd/next/es/list/style';
44
40
 
41
+ import '@alifd/next/es/grid/style';
42
+ import '@riil-frontend/component-action-tree/es/style';
43
+ import '@riil-frontend/hooks/es/style';
44
+ import '@alifd/next/es/card/style';
45
45
  import './index.scss';
@@ -21,8 +21,6 @@ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-ut
21
21
 
22
22
  var _showMessage = _interopRequireDefault(require("../../utils/showMessage"));
23
23
 
24
- var _TitleBar = _interopRequireDefault(require("../titlebar/TitleBar"));
25
-
26
24
  var _template = require("../../../utils/template");
27
25
 
28
26
  var _edgeUtil = require("../../utils/edgeUtil");
@@ -187,7 +185,19 @@ var Topology = function Topology(props) {
187
185
  topo.selectionModel.init();
188
186
  topoDispatchers.update({
189
187
  graphLoaded: true
190
- });
188
+ }); // url选中元素
189
+
190
+ var _topo$store$getModelS = topo.store.getModelState('selection'),
191
+ initSelectionId = _topo$store$getModelS.initSelectionId;
192
+
193
+ if (initSelectionId) {
194
+ var ele = topo.getHtTopo().getGraphView().dm().getDataByTag(initSelectionId);
195
+ topo.getHtTopo().getGraphView().sm().setSelection([ele]);
196
+ var selectionDispatchers = topo.store.getModelDispatchers('selection');
197
+ selectionDispatchers.update({
198
+ initSelectionId: null
199
+ });
200
+ }
191
201
 
192
202
  if (onLoaded) {
193
203
  onLoaded(topoData);
@@ -294,12 +304,7 @@ var Topology = function Topology(props) {
294
304
  return /*#__PURE__*/_react["default"].createElement("div", {
295
305
  className: _TopoViewModule["default"].topoView,
296
306
  "data-version": topo.version
297
- }, titleBar !== false && (titleBar || /*#__PURE__*/_react["default"].createElement(_TitleBar["default"], {
298
- topo: topo,
299
- viewerProps: viewerProps,
300
- onEnterEdit: onEnterEdit,
301
- topoEditApi: topoEdit
302
- })), isEditMode && /*#__PURE__*/_react["default"].createElement(_EditorToolbar["default"], {
307
+ }, titleBar !== false && titleBar, isEditMode && /*#__PURE__*/_react["default"].createElement(_EditorToolbar["default"], {
303
308
  topo: topo,
304
309
  topoEdit: topoEdit,
305
310
  topoContext: {
@@ -30,4 +30,8 @@ exports.TitleWidget = _TitleWidget["default"];
30
30
 
31
31
  var _ViewerTools = _interopRequireDefault(require("../../viewer/components/titlebar/ViewerTools"));
32
32
 
33
- exports.ViewerTools = _ViewerTools["default"];
33
+ exports.ViewerTools = _ViewerTools["default"];
34
+
35
+ var _DebugTools = _interopRequireDefault(require("../../editor/components/titlebar/widgets/DebugTools"));
36
+
37
+ exports.DebugTools = _DebugTools["default"];
@@ -54,7 +54,7 @@ var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTag
54
54
  var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "7.0.0-dev.1" === 'string' ? "7.0.0-dev.1" : null;
57
+ var version = typeof "7.0.0-dev.3" === 'string' ? "7.0.0-dev.3" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -27,6 +27,8 @@ var _topoAlarm = _interopRequireDefault(require("./models/topoAlarm"));
27
27
 
28
28
  var _displayConfig = _interopRequireDefault(require("./models/displayConfig"));
29
29
 
30
+ var _resourceDetail = _interopRequireDefault(require("./models/viewer/resourceDetail"));
31
+
30
32
  var _topoBaseInfoOverview = _interopRequireDefault(require("./models/topoBaseInfoOverview"));
31
33
 
32
34
  var _lock = _interopRequireDefault(require("./models/viewer/lock"));
@@ -46,6 +48,7 @@ var _default = {
46
48
  // 显示模式
47
49
  topoAlarm: _topoAlarm["default"],
48
50
  displayConfig: _displayConfig["default"],
51
+ resourceDetail: _resourceDetail["default"],
49
52
  topoBaseInfoOverview: _topoBaseInfoOverview["default"],
50
53
  lock: _lock["default"]
51
54
  };
@@ -20,7 +20,9 @@ var _default = {
20
20
  // 定义 model 的初始 state
21
21
  state: {
22
22
  selection: [],
23
- selectionIds: []
23
+ selectionIds: [],
24
+ initSelectionId: null // 初始化选中元素
25
+
24
26
  },
25
27
  // 定义改变该模型状态的纯函数
26
28
  reducers: {
@@ -0,0 +1,40 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
11
+
12
+ /**
13
+ * 资源概览
14
+ */
15
+ var _default = {
16
+ // 定义 model 的初始 state
17
+ state: {
18
+ visible: false,
19
+ id: null // 资源id
20
+
21
+ },
22
+ // 定义改变该模型状态的纯函数
23
+ reducers: {
24
+ update: function update(prevState, payload) {
25
+ return (0, _extends2["default"])({}, prevState, payload);
26
+ },
27
+ reset: function reset(prevState, payload) {
28
+ return {
29
+ visible: false,
30
+ id: null // 资源id
31
+
32
+ };
33
+ }
34
+ },
35
+ // 定义处理该模型副作用的函数
36
+ effects: function effects(dispatch) {
37
+ return {};
38
+ }
39
+ };
40
+ exports["default"] = _default;
@@ -25,10 +25,7 @@ function ResourceDetail(props) {
25
25
  var topo = props.topo,
26
26
  userId = props.userId,
27
27
  activeData = props.activeData,
28
- resourceData = props.resourceData; // {/* <Tab.Item title="操作" key="2">操作</Tab.Item>
29
- // <Tab.Item title="网络信息表" key="3">网络信息表</Tab.Item>
30
- // <Tab.Item title="Web工作台" key="4">Web工作台</Tab.Item> */}
31
-
28
+ resourceData = props.resourceData;
32
29
  var tabBodys = [{
33
30
  title: '资源概览',
34
31
  content: /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
@@ -47,7 +44,7 @@ function ResourceDetail(props) {
47
44
  data: resourceData,
48
45
  topo: topo
49
46
  }),
50
- visible: activeData.type === 'node' && !!((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && (_topo$viewProps$topoC = _topo$viewProps.topoContext) !== null && _topo$viewProps$topoC !== void 0 && _topo$viewProps$topoC.isNetworkTopo)
47
+ visible: resourceData.type === 'node' && !!((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && (_topo$viewProps$topoC = _topo$viewProps.topoContext) !== null && _topo$viewProps$topoC !== void 0 && _topo$viewProps$topoC.isNetworkTopo)
51
48
  }].filter(function (item) {
52
49
  return item.visible !== false;
53
50
  });