@riil-frontend/component-topology 12.0.0-dev.1 → 12.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.
@@ -1,11 +1,12 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { clipboard } from "../../../utils/clipboardUtil";
3
4
  export function handleCopyHotkey(event, options) {
4
5
  var target = event.target || event.srcElement;
5
6
  var tagName = target.tagName;
6
7
 
7
8
  if (tagName !== 'BODY') {
8
- copy(options);
9
+ copy(options.topo);
9
10
  }
10
11
  }
11
12
  export function handlePasteHotkey(event, options) {
@@ -17,8 +18,7 @@ export function handlePasteHotkey(event, options) {
17
18
  }
18
19
  }
19
20
 
20
- function copy(options) {
21
- var topo = options.topo;
21
+ function copy(topo) {
22
22
  var gv = topo.getHtTopo().getGraphView();
23
23
  var dm = gv.dm();
24
24
  var sm = dm.sm();
@@ -102,14 +102,14 @@ function doPaste(topo, clipboardText) {
102
102
  var parseDm = new ht.DataModel();
103
103
  var parseSerializer = new ht.JSONSerializer(parseDm);
104
104
  parseSerializer.deserialize(clipboardText);
105
- var elements = parseDm.getDatas().toArray(); // 添加到拓扑图
105
+ var elements = parseDm.getDatas().toArray();
106
+ parseDm.clear(); // 添加到拓扑图
106
107
 
107
108
  var gv = topo.getHtTopo().getGraphView();
108
109
  var dm = gv.dm();
109
110
  elements.forEach(function (d) {
110
111
  dm.add(d);
111
- });
112
- parseDm.clear(); // 粘贴之后进行处理
112
+ }); // 粘贴之后进行处理
113
113
 
114
114
  var sm = dm.sm();
115
115
  sm.cs();
@@ -123,6 +123,8 @@ function doPaste(topo, clipboardText) {
123
123
  // TODO
124
124
  // gv.translate(-60, -60)
125
125
 
126
+
127
+ copy(topo);
126
128
  }
127
129
 
128
130
  function isPasetToOriginTopo() {
@@ -139,9 +141,10 @@ function _writeClipboard() {
139
141
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
140
142
  while (1) switch (_context2.prev = _context2.next) {
141
143
  case 0:
142
- navigator.clipboard.writeText(text);
144
+ localStorage.setItem('topo.copy.text', text);
145
+ clipboard.writeText(text);
143
146
 
144
- case 1:
147
+ case 2:
145
148
  case "end":
146
149
  return _context2.stop();
147
150
  }
@@ -159,7 +162,7 @@ function _readClipboard() {
159
162
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
160
163
  while (1) switch (_context3.prev = _context3.next) {
161
164
  case 0:
162
- return _context3.abrupt("return", navigator.clipboard.readText());
165
+ return _context3.abrupt("return", localStorage.getItem('topo.copy.text'));
163
166
 
164
167
  case 1:
165
168
  case "end":
@@ -4,15 +4,18 @@ import CiCache from "../models/cache/CiCache";
4
4
  import useTopoEventListener from "./useTopoEventListener";
5
5
 
6
6
  function mergeData(cis, ciChangeData) {
7
- if (!cis.find(function (item) {
7
+ var matchData = function matchData(item) {
8
8
  return item.id === ciChangeData.id || item.ciId === ciChangeData.id;
9
- })) {
9
+ };
10
+
11
+ if (!cis.find(matchData)) {
10
12
  return cis;
11
13
  }
12
14
 
13
15
  return cis.map(function (ci) {
14
- if (ci.id === ciChangeData.id) {
16
+ if (matchData(ci)) {
15
17
  return _extends({}, ci, {
18
+ id: ci.id,
16
19
  attributes: _extends({}, ci.attributes, ciChangeData.attributes)
17
20
  });
18
21
  }
@@ -24,7 +24,7 @@ import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
24
24
  import SelectionModel from "./SelectionModel";
25
25
  import CiCache from "./cache/CiCache"; // eslint-disable-next-line no-undef
26
26
 
27
- var version = typeof "12.0.0-dev.1" === 'string' ? "12.0.0-dev.1" : null;
27
+ var version = typeof "12.0.0-dev.3" === 'string' ? "12.0.0-dev.3" : null;
28
28
  console.info("\u62D3\u6251\u7248\u672C: " + version);
29
29
  /**
30
30
  * 拓扑显示和编辑
@@ -13,11 +13,6 @@ export default function commonTransform(options) {
13
13
  if (ciData[attrType + "Map"][fieldCode + "_object"]) {
14
14
  fieldValue = ciData[attrType + "Map"][fieldCode + "_object"].displayName;
15
15
  }
16
- } // 分级字典特殊处理
17
-
18
-
19
- if (fieldMeta.dict) {
20
- fieldValue = fieldMeta.dict[fieldValue];
21
16
  }
22
17
 
23
18
  return {
@@ -13,6 +13,13 @@ export function formatMetric(val, metricModel) {
13
13
  }
14
14
 
15
15
  if (metricModel) {
16
+ var _result$value;
17
+
18
+ // 分级字典特殊处理
19
+ if (metricModel.dict && !DictCache.getDictObject()[metricModel.code]) {
20
+ val = metricModel.dict[val];
21
+ }
22
+
16
23
  var result = metricValueFormat({
17
24
  value: val,
18
25
  dataType: metricModel.dataType,
@@ -21,7 +28,7 @@ export function formatMetric(val, metricModel) {
21
28
  unit: metricModel.unit,
22
29
  code: metricModel.code
23
30
  });
24
- return result.value + " " + (result.value === '-' ? '' : result.unit);
31
+ return ((_result$value = result.value) !== null && _result$value !== void 0 ? _result$value : '') + " " + (result.value === '-' ? '' : result.unit);
25
32
  } else {
26
33
  return "" + val;
27
34
  }
@@ -0,0 +1,7 @@
1
+ declare function writeText(text: string): Promise<void>;
2
+ declare function readText(): Promise<string>;
3
+ export declare const clipboard: {
4
+ readText: typeof readText;
5
+ writeText: typeof writeText;
6
+ };
7
+ export {};
@@ -0,0 +1,104 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+
4
+ function writeText(_x) {
5
+ return _writeText.apply(this, arguments);
6
+ }
7
+
8
+ function _writeText() {
9
+ _writeText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(text) {
10
+ var success, textArea;
11
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
12
+ while (1) switch (_context.prev = _context.next) {
13
+ case 0:
14
+ success = false;
15
+ _context.prev = 1;
16
+
17
+ if (!navigator.clipboard) {
18
+ _context.next = 5;
19
+ break;
20
+ }
21
+
22
+ _context.next = 5;
23
+ return navigator.clipboard.writeText(text);
24
+
25
+ case 5:
26
+ success = true;
27
+ _context.next = 10;
28
+ break;
29
+
30
+ case 8:
31
+ _context.prev = 8;
32
+ _context.t0 = _context["catch"](1);
33
+
34
+ case 10:
35
+ if (!success) {
36
+ // 创建text area
37
+ textArea = document.createElement('textarea');
38
+ textArea.value = text; // 使text area不在viewport,同时设置不可见
39
+
40
+ document.body.appendChild(textArea);
41
+ textArea.focus();
42
+ textArea.select();
43
+ document.execCommand('copy');
44
+ textArea.remove();
45
+ }
46
+
47
+ case 11:
48
+ case "end":
49
+ return _context.stop();
50
+ }
51
+ }, _callee, null, [[1, 8]]);
52
+ }));
53
+ return _writeText.apply(this, arguments);
54
+ }
55
+
56
+ function readText() {
57
+ return _readText.apply(this, arguments);
58
+ }
59
+
60
+ function _readText() {
61
+ _readText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
62
+ var text, textareaElement, _text;
63
+
64
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ if (!navigator.clipboard) {
68
+ _context2.next = 7;
69
+ break;
70
+ }
71
+
72
+ _context2.next = 3;
73
+ return navigator.clipboard.readText();
74
+
75
+ case 3:
76
+ text = _context2.sent;
77
+ return _context2.abrupt("return", text);
78
+
79
+ case 7:
80
+ textareaElement = document.createElement('textarea');
81
+ document.body.appendChild(textareaElement);
82
+ textareaElement.innerText = '';
83
+ textareaElement.focus();
84
+ textareaElement.select();
85
+ document.execCommand('paste');
86
+ _text = textareaElement.innerText; // 从该元素中读取内容
87
+
88
+ document.body.removeChild(textareaElement); // 移除元素
89
+
90
+ return _context2.abrupt("return", _text);
91
+
92
+ case 16:
93
+ case "end":
94
+ return _context2.stop();
95
+ }
96
+ }, _callee2);
97
+ }));
98
+ return _readText.apply(this, arguments);
99
+ }
100
+
101
+ export var clipboard = {
102
+ readText: readText,
103
+ writeText: writeText
104
+ };
@@ -10,12 +10,14 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
10
10
 
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
12
 
13
+ var _clipboardUtil = require("../../../utils/clipboardUtil");
14
+
13
15
  function handleCopyHotkey(event, options) {
14
16
  var target = event.target || event.srcElement;
15
17
  var tagName = target.tagName;
16
18
 
17
19
  if (tagName !== 'BODY') {
18
- copy(options);
20
+ copy(options.topo);
19
21
  }
20
22
  }
21
23
 
@@ -28,8 +30,7 @@ function handlePasteHotkey(event, options) {
28
30
  }
29
31
  }
30
32
 
31
- function copy(options) {
32
- var topo = options.topo;
33
+ function copy(topo) {
33
34
  var gv = topo.getHtTopo().getGraphView();
34
35
  var dm = gv.dm();
35
36
  var sm = dm.sm();
@@ -113,14 +114,14 @@ function doPaste(topo, clipboardText) {
113
114
  var parseDm = new ht.DataModel();
114
115
  var parseSerializer = new ht.JSONSerializer(parseDm);
115
116
  parseSerializer.deserialize(clipboardText);
116
- var elements = parseDm.getDatas().toArray(); // 添加到拓扑图
117
+ var elements = parseDm.getDatas().toArray();
118
+ parseDm.clear(); // 添加到拓扑图
117
119
 
118
120
  var gv = topo.getHtTopo().getGraphView();
119
121
  var dm = gv.dm();
120
122
  elements.forEach(function (d) {
121
123
  dm.add(d);
122
- });
123
- parseDm.clear(); // 粘贴之后进行处理
124
+ }); // 粘贴之后进行处理
124
125
 
125
126
  var sm = dm.sm();
126
127
  sm.cs();
@@ -134,6 +135,8 @@ function doPaste(topo, clipboardText) {
134
135
  // TODO
135
136
  // gv.translate(-60, -60)
136
137
 
138
+
139
+ copy(topo);
137
140
  }
138
141
 
139
142
  function isPasetToOriginTopo() {
@@ -150,9 +153,11 @@ function _writeClipboard() {
150
153
  return _regenerator["default"].wrap(function _callee2$(_context2) {
151
154
  while (1) switch (_context2.prev = _context2.next) {
152
155
  case 0:
153
- navigator.clipboard.writeText(text);
156
+ localStorage.setItem('topo.copy.text', text);
154
157
 
155
- case 1:
158
+ _clipboardUtil.clipboard.writeText(text);
159
+
160
+ case 2:
156
161
  case "end":
157
162
  return _context2.stop();
158
163
  }
@@ -170,7 +175,7 @@ function _readClipboard() {
170
175
  return _regenerator["default"].wrap(function _callee3$(_context3) {
171
176
  while (1) switch (_context3.prev = _context3.next) {
172
177
  case 0:
173
- return _context3.abrupt("return", navigator.clipboard.readText());
178
+ return _context3.abrupt("return", localStorage.getItem('topo.copy.text'));
174
179
 
175
180
  case 1:
176
181
  case "end":
@@ -14,15 +14,18 @@ var _CiCache = _interopRequireDefault(require("../models/cache/CiCache"));
14
14
  var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
15
15
 
16
16
  function mergeData(cis, ciChangeData) {
17
- if (!cis.find(function (item) {
17
+ var matchData = function matchData(item) {
18
18
  return item.id === ciChangeData.id || item.ciId === ciChangeData.id;
19
- })) {
19
+ };
20
+
21
+ if (!cis.find(matchData)) {
20
22
  return cis;
21
23
  }
22
24
 
23
25
  return cis.map(function (ci) {
24
- if (ci.id === ciChangeData.id) {
26
+ if (matchData(ci)) {
25
27
  return (0, _extends2["default"])({}, ci, {
28
+ id: ci.id,
26
29
  attributes: (0, _extends2["default"])({}, ci.attributes, ciChangeData.attributes)
27
30
  });
28
31
  }
@@ -56,7 +56,7 @@ var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
56
56
  var _CiCache = _interopRequireDefault(require("./cache/CiCache"));
57
57
 
58
58
  // eslint-disable-next-line no-undef
59
- var version = typeof "12.0.0-dev.1" === 'string' ? "12.0.0-dev.1" : null;
59
+ var version = typeof "12.0.0-dev.3" === 'string' ? "12.0.0-dev.3" : null;
60
60
  console.info("\u62D3\u6251\u7248\u672C: " + version);
61
61
  /**
62
62
  * 拓扑显示和编辑
@@ -19,11 +19,6 @@ function commonTransform(options) {
19
19
  if (ciData[attrType + "Map"][fieldCode + "_object"]) {
20
20
  fieldValue = ciData[attrType + "Map"][fieldCode + "_object"].displayName;
21
21
  }
22
- } // 分级字典特殊处理
23
-
24
-
25
- if (fieldMeta.dict) {
26
- fieldValue = fieldMeta.dict[fieldValue];
27
22
  }
28
23
 
29
24
  return {
@@ -21,6 +21,13 @@ function formatMetric(val, metricModel) {
21
21
  }
22
22
 
23
23
  if (metricModel) {
24
+ var _result$value;
25
+
26
+ // 分级字典特殊处理
27
+ if (metricModel.dict && !_DictCache["default"].getDictObject()[metricModel.code]) {
28
+ val = metricModel.dict[val];
29
+ }
30
+
24
31
  var result = (0, _utils.metricValueFormat)({
25
32
  value: val,
26
33
  dataType: metricModel.dataType,
@@ -29,7 +36,7 @@ function formatMetric(val, metricModel) {
29
36
  unit: metricModel.unit,
30
37
  code: metricModel.code
31
38
  });
32
- return result.value + " " + (result.value === '-' ? '' : result.unit);
39
+ return ((_result$value = result.value) !== null && _result$value !== void 0 ? _result$value : '') + " " + (result.value === '-' ? '' : result.unit);
33
40
  } else {
34
41
  return "" + val;
35
42
  }
@@ -0,0 +1,7 @@
1
+ declare function writeText(text: string): Promise<void>;
2
+ declare function readText(): Promise<string>;
3
+ export declare const clipboard: {
4
+ readText: typeof readText;
5
+ writeText: typeof writeText;
6
+ };
7
+ export {};
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.clipboard = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ function writeText(_x) {
13
+ return _writeText.apply(this, arguments);
14
+ }
15
+
16
+ function _writeText() {
17
+ _writeText = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
18
+ var success, textArea;
19
+ return _regenerator["default"].wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ success = false;
23
+ _context.prev = 1;
24
+
25
+ if (!navigator.clipboard) {
26
+ _context.next = 5;
27
+ break;
28
+ }
29
+
30
+ _context.next = 5;
31
+ return navigator.clipboard.writeText(text);
32
+
33
+ case 5:
34
+ success = true;
35
+ _context.next = 10;
36
+ break;
37
+
38
+ case 8:
39
+ _context.prev = 8;
40
+ _context.t0 = _context["catch"](1);
41
+
42
+ case 10:
43
+ if (!success) {
44
+ // 创建text area
45
+ textArea = document.createElement('textarea');
46
+ textArea.value = text; // 使text area不在viewport,同时设置不可见
47
+
48
+ document.body.appendChild(textArea);
49
+ textArea.focus();
50
+ textArea.select();
51
+ document.execCommand('copy');
52
+ textArea.remove();
53
+ }
54
+
55
+ case 11:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }, _callee, null, [[1, 8]]);
60
+ }));
61
+ return _writeText.apply(this, arguments);
62
+ }
63
+
64
+ function readText() {
65
+ return _readText.apply(this, arguments);
66
+ }
67
+
68
+ function _readText() {
69
+ _readText = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
70
+ var text, textareaElement, _text;
71
+
72
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
73
+ while (1) switch (_context2.prev = _context2.next) {
74
+ case 0:
75
+ if (!navigator.clipboard) {
76
+ _context2.next = 7;
77
+ break;
78
+ }
79
+
80
+ _context2.next = 3;
81
+ return navigator.clipboard.readText();
82
+
83
+ case 3:
84
+ text = _context2.sent;
85
+ return _context2.abrupt("return", text);
86
+
87
+ case 7:
88
+ textareaElement = document.createElement('textarea');
89
+ document.body.appendChild(textareaElement);
90
+ textareaElement.innerText = '';
91
+ textareaElement.focus();
92
+ textareaElement.select();
93
+ document.execCommand('paste');
94
+ _text = textareaElement.innerText; // 从该元素中读取内容
95
+
96
+ document.body.removeChild(textareaElement); // 移除元素
97
+
98
+ return _context2.abrupt("return", _text);
99
+
100
+ case 16:
101
+ case "end":
102
+ return _context2.stop();
103
+ }
104
+ }, _callee2);
105
+ }));
106
+ return _readText.apply(this, arguments);
107
+ }
108
+
109
+ var clipboard = {
110
+ readText: readText,
111
+ writeText: writeText
112
+ };
113
+ exports.clipboard = clipboard;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "12.0.0-dev.1",
3
+ "version": "12.0.0-dev.3",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -123,6 +123,6 @@
123
123
  "access": "public"
124
124
  },
125
125
  "license": "MIT",
126
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@12.0.0-dev.1/build/index.html",
126
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@12.0.0-dev.3/build/index.html",
127
127
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
128
128
  }