@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.
@@ -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
- topo.getHtTopo().getGraphView().setZoom(1.5);
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 = 6;
73
+ _context2.next = 7;
73
74
  return displayConfigDispatchers.update(displayConfig);
74
75
 
75
- case 6:
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
- case 8:
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
- var ht = window.ht;
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]; // TODO 临时放这里,当前监听内容较多
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
- var titleBarRef = useRef();
97
- useAlarm({
98
- topo: topo
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]); // TODO 之后把事件方法都转移出去
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
  },
@@ -12,7 +12,7 @@
12
12
  }
13
13
 
14
14
  &.titlebarViewMode {
15
- padding: 16px 16px 0 16px;
15
+ padding: 16px;
16
16
  }
17
17
 
18
18
  &.titlebarEditMode {
@@ -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
- var button = /*#__PURE__*/React.createElement("div", {
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.21" === 'string' ? "6.0.0-alpha.21" : null;
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
  * 拓扑显示和编辑
@@ -13,9 +13,6 @@ export default function (engine) {
13
13
  allCiSet: {},
14
14
  ciSetDoc: {},
15
15
  pollingSwitch: false,
16
- // alarmDoc: {},
17
- // alarmRecord: [],
18
- setConfig: null,
19
16
 
20
17
  /**
21
18
  * 资源和链路的属性、指标,格式见:https://shimo.im/docs/VKt3HCKHYgJ9kvGP#anchor-PFq4
@@ -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
- topo.getHtTopo().getGraphView().setZoom(1.5);
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 = 6;
84
+ _context2.next = 7;
84
85
  return displayConfigDispatchers.update(displayConfig);
85
86
 
86
- case 6:
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
- case 8:
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]; // TODO 临时放这里,当前监听内容较多
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
- var titleBarRef = (0, _react.useRef)();
134
- (0, _useAlarm["default"])({
135
- topo: topo
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]); // TODO 之后把事件方法都转移出去
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
  },
@@ -12,7 +12,7 @@
12
12
  }
13
13
 
14
14
  &.titlebarViewMode {
15
- padding: 16px 16px 0 16px;
15
+ padding: 16px;
16
16
  }
17
17
 
18
18
  &.titlebarEditMode {
@@ -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
+ }