@riil-frontend/component-topology 6.0.0-alpha.21 → 6.0.0-alpha.22
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/build/index.css +1 -1
- package/build/index.js +32 -32
- package/es/core/components/AlarmListPanel/components/AlarmListItem.js +3 -1
- package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +6 -3
- package/es/core/components/TopoView/topoView.js +19 -53
- package/es/core/components/titlebar/TitleBar.module.scss +1 -1
- package/es/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +16 -2
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +8 -3
- package/es/core/editor/hooks/useKeyboardShortcut.js +42 -0
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/store/models/topoBizMod.js +0 -3
- package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +3 -1
- package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +6 -3
- package/lib/core/components/TopoView/topoView.js +20 -54
- package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
- package/lib/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +16 -2
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +10 -3
- package/lib/core/editor/hooks/useKeyboardShortcut.js +52 -0
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/store/models/topoBizMod.js +0 -3
- package/package.json +2 -2
|
@@ -16,7 +16,9 @@ var getNode = function getNode(topo, alarmInfo) {
|
|
|
16
16
|
var ele = getNodeParents(node);
|
|
17
17
|
topo.getHtTopo().getGraphView().fitData(ele, true, 20, true);
|
|
18
18
|
topo.getHtTopo().getGraphView().dm().getSelectionModel().setSelection(ele);
|
|
19
|
-
|
|
19
|
+
setTimeout(function () {
|
|
20
|
+
topo.getHtTopo().getGraphView().setZoom(1.5);
|
|
21
|
+
}, 1000);
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
var getNodeParents = function getNodeParents(node) {
|
|
@@ -62,6 +62,7 @@ export default (function (props) {
|
|
|
62
62
|
while (1) {
|
|
63
63
|
switch (_context2.prev = _context2.next) {
|
|
64
64
|
case 0:
|
|
65
|
+
topo.historyManager.beginTransaction();
|
|
65
66
|
values = settingRef.current.getValues(); // console.info('保存显示配置', values)
|
|
66
67
|
// 保存配置
|
|
67
68
|
|
|
@@ -69,17 +70,19 @@ export default (function (props) {
|
|
|
69
70
|
displayConfig = _extends({}, prevDisplayConfig, values); // 刷新指标配置
|
|
70
71
|
|
|
71
72
|
displayConfigDispatchers = topo.store.getModelDispatchers('displayConfig');
|
|
72
|
-
_context2.next =
|
|
73
|
+
_context2.next = 7;
|
|
73
74
|
return displayConfigDispatchers.update(displayConfig);
|
|
74
75
|
|
|
75
|
-
case
|
|
76
|
+
case 7:
|
|
76
77
|
extraOnOk = displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onOk;
|
|
77
78
|
|
|
78
79
|
if (extraOnOk) {
|
|
79
80
|
extraOnOk(displayConfig);
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
topo.historyManager.endTransaction();
|
|
84
|
+
|
|
85
|
+
case 10:
|
|
83
86
|
case "end":
|
|
84
87
|
return _context2.stop();
|
|
85
88
|
}
|
|
@@ -24,7 +24,7 @@ import HistoryManager from "../../models/HistoryManager";
|
|
|
24
24
|
import TopoGraphViewPanel from "./TopoGraphViewPanel";
|
|
25
25
|
import styles from "./TopoView.module.scss";
|
|
26
26
|
import editorStyles from "./editor.module.scss";
|
|
27
|
-
|
|
27
|
+
import useKeyboardShortcut from "../../editor/hooks/useKeyboardShortcut";
|
|
28
28
|
|
|
29
29
|
var Topology = function Topology(props) {
|
|
30
30
|
var _classnames;
|
|
@@ -57,11 +57,6 @@ var Topology = function Topology(props) {
|
|
|
57
57
|
topoState = _store$useModel[0],
|
|
58
58
|
topoDispatchers = _store$useModel[1];
|
|
59
59
|
|
|
60
|
-
var bizDispatchers = store.useModelDispatchers('topoBizMod');
|
|
61
|
-
|
|
62
|
-
var _store$useModelState = store.useModelState('topoEdit'),
|
|
63
|
-
viewMouseMode = _store$useModelState.viewMouseMode;
|
|
64
|
-
|
|
65
60
|
var topoId = topoState.topoId,
|
|
66
61
|
viewState = topoState.viewState,
|
|
67
62
|
topoData = topoState.topoData,
|
|
@@ -72,11 +67,16 @@ var Topology = function Topology(props) {
|
|
|
72
67
|
|
|
73
68
|
var _useState = useState(buildLoadOptions ? buildLoadOptions(topoData) : topoData),
|
|
74
69
|
tData = _useState[0],
|
|
75
|
-
setTData = _useState[1];
|
|
76
|
-
|
|
70
|
+
setTData = _useState[1];
|
|
77
71
|
|
|
78
|
-
var selectionManager = topo.selectionManager;
|
|
79
72
|
useRouterAdapter(props);
|
|
73
|
+
useAlarm({
|
|
74
|
+
topo: topo
|
|
75
|
+
});
|
|
76
|
+
useManageStatus({
|
|
77
|
+
topo: topo
|
|
78
|
+
}); // 编辑模式----
|
|
79
|
+
|
|
80
80
|
var topoEdit = useTopoEdit({
|
|
81
81
|
topo: topo,
|
|
82
82
|
topoId: topoId,
|
|
@@ -93,21 +93,16 @@ var Topology = function Topology(props) {
|
|
|
93
93
|
onBindData = topoEdit.onBindData,
|
|
94
94
|
onDeleteElement = topoEdit.onDeleteElement,
|
|
95
95
|
onSaveTopo = topoEdit.onSaveTopo;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
useManageStatus({
|
|
101
|
-
topo: topo
|
|
96
|
+
useKeyboardShortcut({
|
|
97
|
+
topo: topo,
|
|
98
|
+
topoEdit: topoEdit,
|
|
99
|
+
isEditMode: isEditMode
|
|
102
100
|
});
|
|
103
101
|
useEffect(function () {
|
|
104
102
|
if (viewState === 'view' && topoId) {
|
|
105
103
|
// TODO 移到模型中
|
|
106
104
|
// rlog.debug('useEffect-viewState', topoId, viewState);
|
|
107
105
|
setTData(null);
|
|
108
|
-
bizDispatchers.update({
|
|
109
|
-
setConfig: null
|
|
110
|
-
});
|
|
111
106
|
}
|
|
112
107
|
}, [topoId, viewState]);
|
|
113
108
|
useEffect(function () {
|
|
@@ -117,7 +112,7 @@ var Topology = function Topology(props) {
|
|
|
117
112
|
useEffect(function () {
|
|
118
113
|
// 拓扑退出注销
|
|
119
114
|
return function () {
|
|
120
|
-
selectionManager.destroy();
|
|
115
|
+
topo.selectionManager.destroy();
|
|
121
116
|
topoDispatchers.reset();
|
|
122
117
|
};
|
|
123
118
|
}, []);
|
|
@@ -145,7 +140,7 @@ var Topology = function Topology(props) {
|
|
|
145
140
|
topo.historyManager = new HistoryManager(topo, htHistoryManager);
|
|
146
141
|
}
|
|
147
142
|
|
|
148
|
-
selectionManager.init();
|
|
143
|
+
topo.selectionManager.init();
|
|
149
144
|
topoDispatchers.update({
|
|
150
145
|
graphLoaded2: true
|
|
151
146
|
});
|
|
@@ -164,7 +159,7 @@ var Topology = function Topology(props) {
|
|
|
164
159
|
fixLink(topo);
|
|
165
160
|
handleClusterNoPermission(topo);
|
|
166
161
|
updateEdgeExpanded(topo);
|
|
167
|
-
selectionManager.init();
|
|
162
|
+
topo.selectionManager.init();
|
|
168
163
|
topoDispatchers.update({
|
|
169
164
|
graphLoaded: true
|
|
170
165
|
});
|
|
@@ -176,7 +171,7 @@ var Topology = function Topology(props) {
|
|
|
176
171
|
if (onLoad) {
|
|
177
172
|
onLoad();
|
|
178
173
|
}
|
|
179
|
-
}, [topoData]);
|
|
174
|
+
}, [topoData]);
|
|
180
175
|
|
|
181
176
|
var rightEventHandle = function rightEventHandle(event) {
|
|
182
177
|
rlog.debug('右键事件', event);
|
|
@@ -241,32 +236,6 @@ var Topology = function Topology(props) {
|
|
|
241
236
|
}
|
|
242
237
|
};
|
|
243
238
|
|
|
244
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
245
|
-
if (isEditMode) {
|
|
246
|
-
var isCtrlDown = ht.Default.isCtrlDown;
|
|
247
|
-
|
|
248
|
-
if (isCtrlDown(e)) {
|
|
249
|
-
if (e.keyCode === 90) {
|
|
250
|
-
// ctrl+z 撤销
|
|
251
|
-
topo.historyManager.undo();
|
|
252
|
-
} // else if (e.keyCode == 89) {//ctrl+y 重做
|
|
253
|
-
// this.redo();
|
|
254
|
-
// }
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
if (e.keyCode === 32) {
|
|
259
|
-
console.log('e.keyCode-viewMouseMode', e.keyCode, viewMouseMode);
|
|
260
|
-
|
|
261
|
-
if (viewMouseMode === 'select') {
|
|
262
|
-
topoEdit.setViewMouseMode('move');
|
|
263
|
-
} else {
|
|
264
|
-
topoEdit.setViewMouseMode('select');
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
|
|
270
239
|
var renderPropertyView = function renderPropertyView() {
|
|
271
240
|
return isEditMode && /*#__PURE__*/React.createElement(PropertyView, {
|
|
272
241
|
topo: topo,
|
|
@@ -302,8 +271,7 @@ var Topology = function Topology(props) {
|
|
|
302
271
|
|
|
303
272
|
return /*#__PURE__*/React.createElement("div", {
|
|
304
273
|
className: styles.topoView,
|
|
305
|
-
"data-version": topo.version
|
|
306
|
-
onKeyDown: handleKeyDown
|
|
274
|
+
"data-version": topo.version
|
|
307
275
|
}, titleBar !== false && (titleBar || /*#__PURE__*/React.createElement(TitleBar, {
|
|
308
276
|
topo: topo,
|
|
309
277
|
viewerProps: viewerProps,
|
|
@@ -315,8 +283,7 @@ var Topology = function Topology(props) {
|
|
|
315
283
|
topoContext: {
|
|
316
284
|
urlParams: urlParams
|
|
317
285
|
},
|
|
318
|
-
editorProps: editorProps
|
|
319
|
-
onKeyDown: handleKeyDown
|
|
286
|
+
editorProps: editorProps
|
|
320
287
|
}), /*#__PURE__*/React.createElement(_Box, {
|
|
321
288
|
direction: "row",
|
|
322
289
|
flex: 1,
|
|
@@ -335,7 +302,6 @@ var Topology = function Topology(props) {
|
|
|
335
302
|
}), isEditMode && /*#__PURE__*/React.createElement(EditorPlugin, {
|
|
336
303
|
topo: topo,
|
|
337
304
|
topoEdit: topoEdit,
|
|
338
|
-
titleBarRef: titleBarRef,
|
|
339
305
|
topoContext: {
|
|
340
306
|
urlParams: urlParams
|
|
341
307
|
},
|
|
@@ -10,15 +10,29 @@ function CanvasMoveWidget(props) {
|
|
|
10
10
|
var _topo$store$useModelS = topo.store.useModelState('topoEdit'),
|
|
11
11
|
viewMouseMode = _topo$store$useModelS.viewMouseMode;
|
|
12
12
|
|
|
13
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
14
|
+
if (e.keyCode === 32) {
|
|
15
|
+
console.log('e.keyCode-viewMouseMode', e.keyCode, viewMouseMode);
|
|
16
|
+
|
|
17
|
+
if (viewMouseMode === 'select') {
|
|
18
|
+
topoEdit.setViewMouseMode('move');
|
|
19
|
+
} else {
|
|
20
|
+
topoEdit.setViewMouseMode('select');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
13
25
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
|
14
26
|
label: "\u79FB\u52A8",
|
|
15
27
|
tooltip: "\u79FB\u52A8",
|
|
16
|
-
showLabel: showLabel
|
|
28
|
+
showLabel: showLabel,
|
|
29
|
+
onKeyDown: handleKeyDown
|
|
17
30
|
}, /*#__PURE__*/React.createElement(ButtonBox, {
|
|
18
31
|
active: viewMouseMode === 'move',
|
|
19
32
|
onClick: function onClick() {
|
|
20
33
|
topoEdit.setViewMouseMode('move');
|
|
21
|
-
}
|
|
34
|
+
},
|
|
35
|
+
onKeyDown: handleKeyDown
|
|
22
36
|
}, /*#__PURE__*/React.createElement("img", {
|
|
23
37
|
src: "/img/topo/editor/toolbar/drag/Normal.svg",
|
|
24
38
|
alt: ""
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import _Balloon from "@alifd/next/es/balloon";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
|
4
|
+
var _excluded = ["label", "showLabel", "tooltip", "disabled", "children"];
|
|
2
5
|
import React from 'react';
|
|
3
6
|
import classnames from 'classnames';
|
|
4
7
|
import ButtonBox from "./components/ButtonBox";
|
|
@@ -9,11 +12,13 @@ function WidgetBox(props) {
|
|
|
9
12
|
showLabel = props.showLabel,
|
|
10
13
|
tooltip = props.tooltip,
|
|
11
14
|
disabled = props.disabled,
|
|
12
|
-
children = props.children
|
|
13
|
-
|
|
15
|
+
children = props.children,
|
|
16
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
|
17
|
+
|
|
18
|
+
var button = /*#__PURE__*/React.createElement("div", _extends({
|
|
14
19
|
disabled: disabled,
|
|
15
20
|
className: styles.container
|
|
16
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
17
22
|
className: styles.content
|
|
18
23
|
}, children), showLabel !== false && /*#__PURE__*/React.createElement("div", {
|
|
19
24
|
className: classnames(styles.label, disabled ? styles.disabledLabel : styles.normalLabel)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
var ht = window.ht; // 快捷键
|
|
3
|
+
|
|
4
|
+
export default function useKeyboardShortcut(props) {
|
|
5
|
+
var topo = props.topo,
|
|
6
|
+
topoEdit = props.topoEdit,
|
|
7
|
+
isEditMode = props.isEditMode;
|
|
8
|
+
useEffect(function () {
|
|
9
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
10
|
+
if (e.target.tagName === 'INPUT') {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
var isCtrlDown = ht.Default.isCtrlDown;
|
|
15
|
+
|
|
16
|
+
if (isCtrlDown(e)) {
|
|
17
|
+
if (e.keyCode === 90) {
|
|
18
|
+
// ctrl+z 撤销
|
|
19
|
+
topo.historyManager.undo();
|
|
20
|
+
} // else if (e.keyCode == 89) {//ctrl+y 重做
|
|
21
|
+
// this.redo();
|
|
22
|
+
// }
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (e.keyCode === 32) {
|
|
27
|
+
var _topo$store$getModelS = topo.store.getModelState('topoEdit'),
|
|
28
|
+
viewMouseMode = _topo$store$getModelS.viewMouseMode;
|
|
29
|
+
|
|
30
|
+
topoEdit.setViewMouseMode(viewMouseMode === 'select' ? 'move' : 'select');
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
if (isEditMode) {
|
|
35
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return function () {
|
|
39
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
40
|
+
};
|
|
41
|
+
}, [isEditMode]);
|
|
42
|
+
}
|
|
@@ -22,7 +22,7 @@ import topoFactory from "./topoFactory";
|
|
|
22
22
|
import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
|
|
23
23
|
import SelectionManager from "./SelectionManager"; // eslint-disable-next-line no-undef
|
|
24
24
|
|
|
25
|
-
var version = typeof "6.0.0-alpha.
|
|
25
|
+
var version = typeof "6.0.0-alpha.22" === 'string' ? "6.0.0-alpha.22" : null;
|
|
26
26
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
27
27
|
/**
|
|
28
28
|
* 拓扑显示和编辑
|
|
@@ -32,7 +32,9 @@ var getNode = function getNode(topo, alarmInfo) {
|
|
|
32
32
|
var ele = getNodeParents(node);
|
|
33
33
|
topo.getHtTopo().getGraphView().fitData(ele, true, 20, true);
|
|
34
34
|
topo.getHtTopo().getGraphView().dm().getSelectionModel().setSelection(ele);
|
|
35
|
-
|
|
35
|
+
setTimeout(function () {
|
|
36
|
+
topo.getHtTopo().getGraphView().setZoom(1.5);
|
|
37
|
+
}, 1000);
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
var getNodeParents = function getNodeParents(node) {
|
|
@@ -73,6 +73,7 @@ var _default = function _default(props) {
|
|
|
73
73
|
while (1) {
|
|
74
74
|
switch (_context2.prev = _context2.next) {
|
|
75
75
|
case 0:
|
|
76
|
+
topo.historyManager.beginTransaction();
|
|
76
77
|
values = settingRef.current.getValues(); // console.info('保存显示配置', values)
|
|
77
78
|
// 保存配置
|
|
78
79
|
|
|
@@ -80,17 +81,19 @@ var _default = function _default(props) {
|
|
|
80
81
|
displayConfig = (0, _extends2["default"])({}, prevDisplayConfig, values); // 刷新指标配置
|
|
81
82
|
|
|
82
83
|
displayConfigDispatchers = topo.store.getModelDispatchers('displayConfig');
|
|
83
|
-
_context2.next =
|
|
84
|
+
_context2.next = 7;
|
|
84
85
|
return displayConfigDispatchers.update(displayConfig);
|
|
85
86
|
|
|
86
|
-
case
|
|
87
|
+
case 7:
|
|
87
88
|
extraOnOk = displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onOk;
|
|
88
89
|
|
|
89
90
|
if (extraOnOk) {
|
|
90
91
|
extraOnOk(displayConfig);
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
topo.historyManager.endTransaction();
|
|
95
|
+
|
|
96
|
+
case 10:
|
|
94
97
|
case "end":
|
|
95
98
|
return _context2.stop();
|
|
96
99
|
}
|
|
@@ -57,12 +57,12 @@ var _TopoViewModule = _interopRequireDefault(require("./TopoView.module.scss"));
|
|
|
57
57
|
|
|
58
58
|
var _editorModule = _interopRequireDefault(require("./editor.module.scss"));
|
|
59
59
|
|
|
60
|
+
var _useKeyboardShortcut = _interopRequireDefault(require("../../editor/hooks/useKeyboardShortcut"));
|
|
61
|
+
|
|
60
62
|
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); }
|
|
61
63
|
|
|
62
64
|
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; }
|
|
63
65
|
|
|
64
|
-
var ht = window.ht;
|
|
65
|
-
|
|
66
66
|
var Topology = function Topology(props) {
|
|
67
67
|
var _classnames;
|
|
68
68
|
|
|
@@ -94,11 +94,6 @@ var Topology = function Topology(props) {
|
|
|
94
94
|
topoState = _store$useModel[0],
|
|
95
95
|
topoDispatchers = _store$useModel[1];
|
|
96
96
|
|
|
97
|
-
var bizDispatchers = store.useModelDispatchers('topoBizMod');
|
|
98
|
-
|
|
99
|
-
var _store$useModelState = store.useModelState('topoEdit'),
|
|
100
|
-
viewMouseMode = _store$useModelState.viewMouseMode;
|
|
101
|
-
|
|
102
97
|
var topoId = topoState.topoId,
|
|
103
98
|
viewState = topoState.viewState,
|
|
104
99
|
topoData = topoState.topoData,
|
|
@@ -109,11 +104,16 @@ var Topology = function Topology(props) {
|
|
|
109
104
|
|
|
110
105
|
var _useState = (0, _react.useState)(buildLoadOptions ? buildLoadOptions(topoData) : topoData),
|
|
111
106
|
tData = _useState[0],
|
|
112
|
-
setTData = _useState[1];
|
|
113
|
-
|
|
107
|
+
setTData = _useState[1];
|
|
114
108
|
|
|
115
|
-
var selectionManager = topo.selectionManager;
|
|
116
109
|
(0, _useRouterAdapter["default"])(props);
|
|
110
|
+
(0, _useAlarm["default"])({
|
|
111
|
+
topo: topo
|
|
112
|
+
});
|
|
113
|
+
(0, _useManageStatus["default"])({
|
|
114
|
+
topo: topo
|
|
115
|
+
}); // 编辑模式----
|
|
116
|
+
|
|
117
117
|
var topoEdit = (0, _useTopoEdit["default"])({
|
|
118
118
|
topo: topo,
|
|
119
119
|
topoId: topoId,
|
|
@@ -130,21 +130,16 @@ var Topology = function Topology(props) {
|
|
|
130
130
|
onBindData = topoEdit.onBindData,
|
|
131
131
|
onDeleteElement = topoEdit.onDeleteElement,
|
|
132
132
|
onSaveTopo = topoEdit.onSaveTopo;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
(0, _useManageStatus["default"])({
|
|
138
|
-
topo: topo
|
|
133
|
+
(0, _useKeyboardShortcut["default"])({
|
|
134
|
+
topo: topo,
|
|
135
|
+
topoEdit: topoEdit,
|
|
136
|
+
isEditMode: isEditMode
|
|
139
137
|
});
|
|
140
138
|
(0, _react.useEffect)(function () {
|
|
141
139
|
if (viewState === 'view' && topoId) {
|
|
142
140
|
// TODO 移到模型中
|
|
143
141
|
// rlog.debug('useEffect-viewState', topoId, viewState);
|
|
144
142
|
setTData(null);
|
|
145
|
-
bizDispatchers.update({
|
|
146
|
-
setConfig: null
|
|
147
|
-
});
|
|
148
143
|
}
|
|
149
144
|
}, [topoId, viewState]);
|
|
150
145
|
(0, _react.useEffect)(function () {
|
|
@@ -154,7 +149,7 @@ var Topology = function Topology(props) {
|
|
|
154
149
|
(0, _react.useEffect)(function () {
|
|
155
150
|
// 拓扑退出注销
|
|
156
151
|
return function () {
|
|
157
|
-
selectionManager.destroy();
|
|
152
|
+
topo.selectionManager.destroy();
|
|
158
153
|
topoDispatchers.reset();
|
|
159
154
|
};
|
|
160
155
|
}, []);
|
|
@@ -184,7 +179,7 @@ var Topology = function Topology(props) {
|
|
|
184
179
|
topo.historyManager = new _HistoryManager["default"](topo, htHistoryManager);
|
|
185
180
|
}
|
|
186
181
|
|
|
187
|
-
selectionManager.init();
|
|
182
|
+
topo.selectionManager.init();
|
|
188
183
|
topoDispatchers.update({
|
|
189
184
|
graphLoaded2: true
|
|
190
185
|
});
|
|
@@ -204,7 +199,7 @@ var Topology = function Topology(props) {
|
|
|
204
199
|
(0, _graphLinkUtil.fixLink)(topo);
|
|
205
200
|
(0, _clusterUtil.handleClusterNoPermission)(topo);
|
|
206
201
|
(0, _edgeUtil.updateEdgeExpanded)(topo);
|
|
207
|
-
selectionManager.init();
|
|
202
|
+
topo.selectionManager.init();
|
|
208
203
|
topoDispatchers.update({
|
|
209
204
|
graphLoaded: true
|
|
210
205
|
});
|
|
@@ -216,7 +211,7 @@ var Topology = function Topology(props) {
|
|
|
216
211
|
if (onLoad) {
|
|
217
212
|
onLoad();
|
|
218
213
|
}
|
|
219
|
-
}, [topoData]);
|
|
214
|
+
}, [topoData]);
|
|
220
215
|
|
|
221
216
|
var rightEventHandle = function rightEventHandle(event) {
|
|
222
217
|
_rlog["default"].debug('右键事件', event);
|
|
@@ -285,32 +280,6 @@ var Topology = function Topology(props) {
|
|
|
285
280
|
}
|
|
286
281
|
};
|
|
287
282
|
|
|
288
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
289
|
-
if (isEditMode) {
|
|
290
|
-
var isCtrlDown = ht.Default.isCtrlDown;
|
|
291
|
-
|
|
292
|
-
if (isCtrlDown(e)) {
|
|
293
|
-
if (e.keyCode === 90) {
|
|
294
|
-
// ctrl+z 撤销
|
|
295
|
-
topo.historyManager.undo();
|
|
296
|
-
} // else if (e.keyCode == 89) {//ctrl+y 重做
|
|
297
|
-
// this.redo();
|
|
298
|
-
// }
|
|
299
|
-
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
if (e.keyCode === 32) {
|
|
303
|
-
console.log('e.keyCode-viewMouseMode', e.keyCode, viewMouseMode);
|
|
304
|
-
|
|
305
|
-
if (viewMouseMode === 'select') {
|
|
306
|
-
topoEdit.setViewMouseMode('move');
|
|
307
|
-
} else {
|
|
308
|
-
topoEdit.setViewMouseMode('select');
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
};
|
|
313
|
-
|
|
314
283
|
var renderPropertyView = function renderPropertyView() {
|
|
315
284
|
return isEditMode && /*#__PURE__*/_react["default"].createElement(_PropertyView["default"], {
|
|
316
285
|
topo: topo,
|
|
@@ -346,8 +315,7 @@ var Topology = function Topology(props) {
|
|
|
346
315
|
|
|
347
316
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
348
317
|
className: _TopoViewModule["default"].topoView,
|
|
349
|
-
"data-version": topo.version
|
|
350
|
-
onKeyDown: handleKeyDown
|
|
318
|
+
"data-version": topo.version
|
|
351
319
|
}, titleBar !== false && (titleBar || /*#__PURE__*/_react["default"].createElement(_TitleBar["default"], {
|
|
352
320
|
topo: topo,
|
|
353
321
|
viewerProps: viewerProps,
|
|
@@ -359,8 +327,7 @@ var Topology = function Topology(props) {
|
|
|
359
327
|
topoContext: {
|
|
360
328
|
urlParams: urlParams
|
|
361
329
|
},
|
|
362
|
-
editorProps: editorProps
|
|
363
|
-
onKeyDown: handleKeyDown
|
|
330
|
+
editorProps: editorProps
|
|
364
331
|
}), /*#__PURE__*/_react["default"].createElement(_box["default"], {
|
|
365
332
|
direction: "row",
|
|
366
333
|
flex: 1,
|
|
@@ -379,7 +346,6 @@ var Topology = function Topology(props) {
|
|
|
379
346
|
}), isEditMode && /*#__PURE__*/_react["default"].createElement(_EditorPlugin["default"], {
|
|
380
347
|
topo: topo,
|
|
381
348
|
topoEdit: topoEdit,
|
|
382
|
-
titleBarRef: titleBarRef,
|
|
383
349
|
topoContext: {
|
|
384
350
|
urlParams: urlParams
|
|
385
351
|
},
|
|
@@ -19,15 +19,29 @@ function CanvasMoveWidget(props) {
|
|
|
19
19
|
var _topo$store$useModelS = topo.store.useModelState('topoEdit'),
|
|
20
20
|
viewMouseMode = _topo$store$useModelS.viewMouseMode;
|
|
21
21
|
|
|
22
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
23
|
+
if (e.keyCode === 32) {
|
|
24
|
+
console.log('e.keyCode-viewMouseMode', e.keyCode, viewMouseMode);
|
|
25
|
+
|
|
26
|
+
if (viewMouseMode === 'select') {
|
|
27
|
+
topoEdit.setViewMouseMode('move');
|
|
28
|
+
} else {
|
|
29
|
+
topoEdit.setViewMouseMode('select');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
22
34
|
return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
|
|
23
35
|
label: "\u79FB\u52A8",
|
|
24
36
|
tooltip: "\u79FB\u52A8",
|
|
25
|
-
showLabel: showLabel
|
|
37
|
+
showLabel: showLabel,
|
|
38
|
+
onKeyDown: handleKeyDown
|
|
26
39
|
}, /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], {
|
|
27
40
|
active: viewMouseMode === 'move',
|
|
28
41
|
onClick: function onClick() {
|
|
29
42
|
topoEdit.setViewMouseMode('move');
|
|
30
|
-
}
|
|
43
|
+
},
|
|
44
|
+
onKeyDown: handleKeyDown
|
|
31
45
|
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
32
46
|
src: "/img/topo/editor/toolbar/drag/Normal.svg",
|
|
33
47
|
alt: ""
|
|
@@ -7,6 +7,10 @@ exports["default"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
|
|
9
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
|
+
|
|
10
14
|
var _react = _interopRequireDefault(require("react"));
|
|
11
15
|
|
|
12
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -15,17 +19,20 @@ var _ButtonBox = _interopRequireDefault(require("./components/ButtonBox"));
|
|
|
15
19
|
|
|
16
20
|
var _WidgetBoxModule = _interopRequireDefault(require("./WidgetBox.module.scss"));
|
|
17
21
|
|
|
22
|
+
var _excluded = ["label", "showLabel", "tooltip", "disabled", "children"];
|
|
23
|
+
|
|
18
24
|
function WidgetBox(props) {
|
|
19
25
|
var label = props.label,
|
|
20
26
|
showLabel = props.showLabel,
|
|
21
27
|
tooltip = props.tooltip,
|
|
22
28
|
disabled = props.disabled,
|
|
23
|
-
children = props.children
|
|
29
|
+
children = props.children,
|
|
30
|
+
otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
|
|
24
31
|
|
|
25
|
-
var button = /*#__PURE__*/_react["default"].createElement("div", {
|
|
32
|
+
var button = /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
|
|
26
33
|
disabled: disabled,
|
|
27
34
|
className: _WidgetBoxModule["default"].container
|
|
28
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
35
|
+
}, otherProps), /*#__PURE__*/_react["default"].createElement("div", {
|
|
29
36
|
className: _WidgetBoxModule["default"].content
|
|
30
37
|
}, children), showLabel !== false && /*#__PURE__*/_react["default"].createElement("div", {
|
|
31
38
|
className: (0, _classnames["default"])(_WidgetBoxModule["default"].label, disabled ? _WidgetBoxModule["default"].disabledLabel : _WidgetBoxModule["default"].normalLabel)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = useKeyboardShortcut;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
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); }
|
|
9
|
+
|
|
10
|
+
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; }
|
|
11
|
+
|
|
12
|
+
var ht = window.ht; // 快捷键
|
|
13
|
+
|
|
14
|
+
function useKeyboardShortcut(props) {
|
|
15
|
+
var topo = props.topo,
|
|
16
|
+
topoEdit = props.topoEdit,
|
|
17
|
+
isEditMode = props.isEditMode;
|
|
18
|
+
(0, _react.useEffect)(function () {
|
|
19
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
20
|
+
if (e.target.tagName === 'INPUT') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var isCtrlDown = ht.Default.isCtrlDown;
|
|
25
|
+
|
|
26
|
+
if (isCtrlDown(e)) {
|
|
27
|
+
if (e.keyCode === 90) {
|
|
28
|
+
// ctrl+z 撤销
|
|
29
|
+
topo.historyManager.undo();
|
|
30
|
+
} // else if (e.keyCode == 89) {//ctrl+y 重做
|
|
31
|
+
// this.redo();
|
|
32
|
+
// }
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (e.keyCode === 32) {
|
|
37
|
+
var _topo$store$getModelS = topo.store.getModelState('topoEdit'),
|
|
38
|
+
viewMouseMode = _topo$store$getModelS.viewMouseMode;
|
|
39
|
+
|
|
40
|
+
topoEdit.setViewMouseMode(viewMouseMode === 'select' ? 'move' : 'select');
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
if (isEditMode) {
|
|
45
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return function () {
|
|
49
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
50
|
+
};
|
|
51
|
+
}, [isEditMode]);
|
|
52
|
+
}
|