@riil-frontend/component-topology 5.0.16 → 5.0.18

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.
@@ -0,0 +1,149 @@
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
+ var SelectionManager = /*#__PURE__*/function () {
13
+ function SelectionManager(topo) {
14
+ var _this = this;
15
+
16
+ this.topo = null;
17
+ this.inited = false;
18
+
19
+ this.setSelection = function (selection) {
20
+ var selectionDispatchers = _this.topo.store.getModelDispatchers('selection');
21
+
22
+ selectionDispatchers.update({
23
+ selection: selection
24
+ });
25
+ };
26
+
27
+ this.updateSelection = function () {
28
+ try {
29
+ var selectionModel = _this.topo.getSelectionModel();
30
+
31
+ var htSelection = selectionModel.getSelection().getArray(); // TODO 对比变更更新
32
+
33
+ var selectionArr = htSelection.map(getElementData); // rlog.info("updateSelection", selectionArr.map((element) => element.id));
34
+
35
+ _this.setSelection(selectionArr);
36
+ } catch (e) {
37
+ _rlog["default"].error('updateSelection error', e);
38
+ }
39
+ };
40
+
41
+ this.topo = topo;
42
+ this.handleSelectionChange = this.handleSelectionChange.bind(this);
43
+ this.handleDataPropertyChange = this.handleDataPropertyChange.bind(this);
44
+ }
45
+
46
+ var _proto = SelectionManager.prototype;
47
+
48
+ _proto.init = function init() {
49
+ if (this.inited) {
50
+ this.removeListener();
51
+ }
52
+
53
+ this.updateSelection();
54
+ this.initListener();
55
+ this.inited = true;
56
+ };
57
+
58
+ _proto.destroy = function destroy() {
59
+ this.removeListener();
60
+ };
61
+
62
+ _proto.handleSelectionChange = function handleSelectionChange(e) {
63
+ _rlog["default"].info('Selection handleSelectionChange', e);
64
+
65
+ this.updateSelection();
66
+ };
67
+
68
+ _proto.handleDataPropertyChange = function handleDataPropertyChange(e) {
69
+ var property = e.property,
70
+ data = e.data;
71
+
72
+ if (['position', 'childChange', 'a:scale'].indexOf(property) !== -1) {
73
+ return;
74
+ }
75
+
76
+ var selectionModel = this.topo.getSelectionModel();
77
+ var selectionIds = selectionModel.getSelection().getArray().map(function (item) {
78
+ return item.getId();
79
+ });
80
+
81
+ if (selectionIds.indexOf(data.getId()) > -1) {
82
+ // console.info('PropertyChangeListener', e);
83
+ this.updateSelection();
84
+ }
85
+ };
86
+
87
+ _proto.initListener = function initListener() {
88
+ _rlog["default"].info('Selection initListener');
89
+
90
+ var dataModel = this.topo.getDataModel();
91
+ var selectionModel = this.topo.getSelectionModel();
92
+ selectionModel.addSelectionChangeListener(this.handleSelectionChange);
93
+ dataModel.addDataPropertyChangeListener(this.handleDataPropertyChange);
94
+ };
95
+
96
+ _proto.removeListener = function removeListener() {
97
+ if (!this.inited) {
98
+ return;
99
+ }
100
+
101
+ _rlog["default"].info('Selection removeListener');
102
+
103
+ var dataModel = this.topo.getDataModel();
104
+ var selectionModel = this.topo.getSelectionModel();
105
+ selectionModel.removeSelectionChangeListener(this.handleSelectionChange);
106
+ dataModel.removeDataPropertyChangeListener(this.handleDataPropertyChange);
107
+ };
108
+
109
+ return SelectionManager;
110
+ }();
111
+
112
+ exports["default"] = SelectionManager;
113
+ ; // 构造元素数据
114
+
115
+ var map = {
116
+ common: function common(element) {
117
+ var className = element.getClassName();
118
+ return {
119
+ className: className,
120
+ id: element.getId(),
121
+ tag: element.getTag(),
122
+ // 业务id
123
+ name: element.getName(),
124
+ attrObject: JSON.parse(JSON.stringify(element.getAttrObject() || {})),
125
+ styleMap: JSON.parse(JSON.stringify(element.getStyleMap() || {}))
126
+ };
127
+ },
128
+ 'ht.Edge': function htEdge(element) {
129
+ return (0, _extends2["default"])({}, map.common(element));
130
+ },
131
+ 'ht.Group': function htGroup(element) {
132
+ return (0, _extends2["default"])({}, map['ht.Node'](element), {
133
+ expanded: element.isExpanded()
134
+ });
135
+ },
136
+ 'ht.Node': function htNode(element) {
137
+ return (0, _extends2["default"])({}, map.common(element), {
138
+ image: element.getImage(),
139
+ width: element.getWidth(),
140
+ height: element.getHeight(),
141
+ position: element.getPosition()
142
+ });
143
+ }
144
+ };
145
+
146
+ function getElementData(element) {
147
+ var className = element.getClassName();
148
+ return (map[className] || map.common)(element);
149
+ }
@@ -50,7 +50,7 @@ var _topoFactory = _interopRequireDefault(require("./topoFactory"));
50
50
  var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTagTipConfig"));
51
51
 
52
52
  // eslint-disable-next-line no-undef
53
- var version = typeof "5.0.16" === 'string' ? "5.0.16" : null;
53
+ var version = typeof "5.0.18" === 'string' ? "5.0.18" : null;
54
54
  console.info("\u62D3\u6251\u7248\u672C: " + version);
55
55
  /**
56
56
  * 拓扑显示和编辑
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "5.0.16",
3
+ "version": "5.0.18",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -115,6 +115,6 @@
115
115
  "access": "public"
116
116
  },
117
117
  "license": "MIT",
118
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@5.0.16/build/index.html",
118
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@5.0.18/build/index.html",
119
119
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
120
120
  }
@@ -1,35 +0,0 @@
1
- import rlog from '@riil-frontend/component-topology-utils/es/rlog';
2
- import { useEffect } from 'react';
3
- import useSelection from "./useSelection";
4
- export default function useSelectionListener(props) {
5
- var topo = props.topo;
6
-
7
- var _topo$store$useModelS = topo.store.useModelState('topoMod'),
8
- graphLoaded = _topo$store$useModelS.graphLoaded,
9
- graphLoaded2 = _topo$store$useModelS.graphLoaded2,
10
- viewState = _topo$store$useModelS.viewState;
11
-
12
- var isEditMode = viewState === 'edit'; // TODO 临时放这里,当前监听内容较多
13
-
14
- var _useSelection = useSelection({
15
- topo: topo
16
- }),
17
- initSelection = _useSelection.initSelection,
18
- destroySelection = _useSelection.destroySelection;
19
-
20
- useEffect(function () {
21
- var inited = false;
22
- var loaded = graphLoaded || graphLoaded2;
23
-
24
- if (isEditMode && loaded) {
25
- initSelection();
26
- inited = true;
27
- }
28
-
29
- return function () {
30
- if (inited) {
31
- destroySelection();
32
- }
33
- };
34
- }, [graphLoaded, graphLoaded2, isEditMode]);
35
- }
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = useSelectionListener;
7
-
8
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
9
-
10
- var _react = require("react");
11
-
12
- var _useSelection2 = _interopRequireDefault(require("./useSelection"));
13
-
14
- function useSelectionListener(props) {
15
- var topo = props.topo;
16
-
17
- var _topo$store$useModelS = topo.store.useModelState('topoMod'),
18
- graphLoaded = _topo$store$useModelS.graphLoaded,
19
- graphLoaded2 = _topo$store$useModelS.graphLoaded2,
20
- viewState = _topo$store$useModelS.viewState;
21
-
22
- var isEditMode = viewState === 'edit'; // TODO 临时放这里,当前监听内容较多
23
-
24
- var _useSelection = (0, _useSelection2["default"])({
25
- topo: topo
26
- }),
27
- initSelection = _useSelection.initSelection,
28
- destroySelection = _useSelection.destroySelection;
29
-
30
- (0, _react.useEffect)(function () {
31
- var inited = false;
32
- var loaded = graphLoaded || graphLoaded2;
33
-
34
- if (isEditMode && loaded) {
35
- initSelection();
36
- inited = true;
37
- }
38
-
39
- return function () {
40
- if (inited) {
41
- destroySelection();
42
- }
43
- };
44
- }, [graphLoaded, graphLoaded2, isEditMode]);
45
- }