@riil-frontend/component-topology 12.1.0-dev.8 → 13.0.0-dev.1

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 (53) hide show
  1. package/build/index.css +1 -1
  2. package/build/index.js +6 -6
  3. package/es/core/components/AlarmListPanel/components/AlarmListItem.js +2 -2
  4. package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +11 -3
  5. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
  6. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +15 -5
  7. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +27 -2
  8. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +28 -3
  9. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +52 -6
  10. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
  11. package/es/core/editor/utils/edgeTypeStyleUtil.js +32 -11
  12. package/es/core/hooks/useTopoEdit.js +4 -0
  13. package/es/core/models/Alarm.js +14 -15
  14. package/es/core/models/TopoApp.js +31 -23
  15. package/es/core/models/utils/linkUtils.js +28 -36
  16. package/es/core/utils/edgeUtil.js +1 -2
  17. package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +2 -2
  18. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +51 -13
  19. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +1 -1
  20. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +8 -0
  21. package/es/networkTopo/models/EdgeGroupTagTipBuilder.js +7 -7
  22. package/es/networkTopo/utils/edgeGroupTagUtil.js +2 -2
  23. package/es/utils/htElementUtils.js +4 -36
  24. package/es/utils/topoData.js +1 -1
  25. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +2 -2
  26. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +12 -3
  27. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
  28. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +14 -5
  29. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +28 -3
  30. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +28 -3
  31. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +56 -6
  32. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +1 -1
  33. package/lib/core/editor/utils/edgeTypeStyleUtil.js +33 -10
  34. package/lib/core/hooks/useTopoEdit.js +4 -0
  35. package/lib/core/models/Alarm.js +14 -15
  36. package/lib/core/models/TopoApp.js +29 -22
  37. package/lib/core/models/utils/linkUtils.js +27 -36
  38. package/lib/core/utils/edgeUtil.js +1 -3
  39. package/lib/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +2 -3
  40. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +52 -13
  41. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +1 -1
  42. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +8 -0
  43. package/lib/networkTopo/models/EdgeGroupTagTipBuilder.js +6 -6
  44. package/lib/networkTopo/utils/edgeGroupTagUtil.js +2 -2
  45. package/lib/utils/htElementUtils.js +4 -40
  46. package/lib/utils/topoData.js +1 -1
  47. package/package.json +2 -2
  48. package/es/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +0 -29
  49. package/es/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +0 -29
  50. package/es/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +0 -71
  51. package/lib/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +0 -38
  52. package/lib/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +0 -38
  53. package/lib/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +0 -83
@@ -9,32 +9,70 @@ import BlockBox from "./BlockBox";
9
9
  import Link from "../../../../../../../components/Link";
10
10
  import service from "../../../../../../services/overview";
11
11
  import styles from "./index.module.scss";
12
+ import { getHistory } from '@riil-frontend/component-topology-utils';
12
13
 
13
14
  function formatUrl(url) {
14
- return url;
15
+ var _window, _window$location;
16
+
17
+ console.log(url);
18
+ var prefix = '/default/pagecenter';
19
+
20
+ if (((_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : _window$location.pathname.indexOf(prefix)) === 0 && (url === null || url === void 0 ? void 0 : url.indexOf(prefix)) === 0) {
21
+ return url.split(prefix)[1];
22
+ } else {
23
+ return url;
24
+ }
15
25
  }
16
26
 
17
27
  function EventsCard(props) {
18
28
  var alarmRiskList = props.alarmRiskList,
19
29
  closeDetailDrawer = props.closeDetailDrawer,
20
- onHandleAlarm = props.onHandleAlarm; // 告警table列配置
30
+ onHandleAlarm = props.onHandleAlarm;
31
+
32
+ var jumpTo = function jumpTo(url) {
33
+ closeDetailDrawer();
34
+
35
+ if (topo.viewProps.jumpto) {
36
+ topo.viewProps.jumpto(formatUrl(url));
37
+ } else {
38
+ getHistory().push(formatUrl(url));
39
+ }
40
+ }; // 告警table列配置
41
+
21
42
 
22
43
  var columns = [{
23
44
  title: "描述",
24
45
  dataIndex: "title",
25
46
  key: "title",
26
47
  cell: function cell(value, index, record) {
27
- return /*#__PURE__*/React.createElement("div", {
28
- className: styles["alarm-title"],
29
- title: value,
30
- onClick: closeDetailDrawer
31
- }, /*#__PURE__*/React.createElement(_Icon, {
32
- type: record.icon,
33
- size: "xs",
34
- className: styles["alarm-color-icon"] + " " + record.className
35
- }), /*#__PURE__*/React.createElement(Link, {
36
- to: formatUrl(record.link)
37
- }, value));
48
+ return (
49
+ /*#__PURE__*/
50
+ // <div
51
+ // className={styles["alarm-title"]}
52
+ // title={value}
53
+ // onClick={closeDetailDrawer}
54
+ // >
55
+ // <Icon
56
+ // type={record.icon}
57
+ // size="xs"
58
+ // className={`${styles["alarm-color-icon"]} ${record.className}`}
59
+ // />
60
+ // <Link to={formatUrl(record.link)}>{value}</Link>
61
+ // </div>
62
+ React.createElement("div", {
63
+ className: styles['alarm-title'],
64
+ title: value,
65
+ onClick: function onClick() {
66
+ jumpTo(record.link);
67
+ }
68
+ }, /*#__PURE__*/React.createElement(_Icon, {
69
+ type: record.icon,
70
+ size: "xs",
71
+ className: styles['alarm-color-icon'] + " " + record.className
72
+ }), /*#__PURE__*/React.createElement("span", {
73
+ className: styles.link
74
+ }, value))
75
+ );
38
76
  }
39
77
  }, {
40
78
  title: "时间",
@@ -1,7 +1,7 @@
1
1
  .container {
2
2
  width: 100%;
3
3
  height: 100%;
4
- min-height: 250px;
4
+ min-height: 260px;
5
5
  position: relative;
6
6
  .floatBox{
7
7
  position: absolute;
@@ -154,3 +154,11 @@
154
154
  background-color: transparent;
155
155
  border-color: transparent;
156
156
  }
157
+ .link{
158
+ width: 100%;
159
+ overflow: hidden;
160
+ text-overflow: ellipsis;
161
+ white-space: nowrap;
162
+ color: var(--color-link-1);
163
+ cursor: pointer;
164
+ }
@@ -1,4 +1,4 @@
1
- import { getEdgeGroupAgents, getEdgeGroups } from "../../utils/htElementUtils";
1
+ import { getEdgeGroups } from "../../utils/htElementUtils";
2
2
  import { getEdgeGroupLinkIdConfig } from "../utils/edgeGroupTagUtil";
3
3
 
4
4
  var EdgeGroupTagTipBuilder = /*#__PURE__*/function () {
@@ -16,11 +16,11 @@ var EdgeGroupTagTipBuilder = /*#__PURE__*/function () {
16
16
 
17
17
  var topo = this.topo;
18
18
  var dm = this.topo.getDataModel();
19
- var edgeGroupAgents = getEdgeGroupAgents(dm);
20
- var edgeGroupsTagsTips = edgeGroupAgents.map(function (edgeGroupAgent) {
21
- // 获取配置的链路
22
- var linkId = getEdgeGroupLinkIdConfig(edgeGroupAgent, topo);
23
- var edgeGroupId = [edgeGroupAgent.getSource().getId(), edgeGroupAgent.getTarget().getId()];
19
+ var edgeGroupsTagsTips = getEdgeGroups(dm).map(function (edgeGroup) {
20
+ var edge = edgeGroup.getEdges().getArray()[0]; // 获取配置的链路
21
+
22
+ var linkId = getEdgeGroupLinkIdConfig(edge, topo);
23
+ var edgeGroupId = [edge.getSourceAgent().getId(), edge.getTargetAgent().getId()];
24
24
  var data = {
25
25
  tags: [],
26
26
  tips: []
@@ -31,7 +31,7 @@ var EdgeGroupTagTipBuilder = /*#__PURE__*/function () {
31
31
  }
32
32
 
33
33
  return {
34
- htId: edgeGroupAgent.getId(),
34
+ htId: edge.getId(),
35
35
  edgeGroupId: edgeGroupId,
36
36
  tags: data.tags,
37
37
  tips: data.tips,
@@ -55,8 +55,8 @@ export function getEdgeGroupLinkIdConfig(edgeGroup, topo) {
55
55
  });
56
56
  }
57
57
  export function getEdgeGroupConfigId(edgeGroup) {
58
- var sourceNode = edgeGroup.getSource();
59
- var targetNode = edgeGroup.getTarget();
58
+ var sourceNode = edgeGroup.getSourceAgent();
59
+ var targetNode = edgeGroup.getTargetAgent();
60
60
  var sourceId = sourceNode.a('uuid');
61
61
  var targetId = targetNode.a('uuid');
62
62
  return [sourceId, targetId].sort().join(',');
@@ -115,14 +115,8 @@ export function getNodeData(element) {
115
115
  export function getEdges(dataModel) {
116
116
  return getElements(dataModel).filter(isValidEdge);
117
117
  }
118
- /**
119
- * 是否连线组
120
- * @param {ht.Edge} edge
121
- * @returns
122
- */
123
-
124
- export function isEdgeGroup(edge) {
125
- return isEdge(edge) && edge.a('x.edgegroup.isEdgeGroup');
118
+ export function isEdgeGroupExpanded(edge) {
119
+ return isEdge(edge) && edge.getEdgeGroup() && !!edge.s("edge.expanded");
126
120
  }
127
121
  /**
128
122
  * 是否连线组代理
@@ -131,19 +125,7 @@ export function isEdgeGroup(edge) {
131
125
  */
132
126
 
133
127
  export function isEdgeGroupAgent(edge) {
134
- return isEdgeGroup(edge);
135
- }
136
- /**
137
- * TODO
138
- * @param {*} edge
139
- * @returns
140
- */
141
-
142
- export function isEdgeGroupExpanded(edge) {
143
- return isEdge(edge) && edge.getEdgeGroup() && !!edge.s("edge.expanded");
144
- }
145
- export function isEdgeVisible(edge) {
146
- return edge.s('2d.visible') || edge.s('2d.visible') === undefined;
128
+ return isEdge(edge) && edge.getEdgeGroup() && edge.isEdgeGroupAgent();
147
129
  }
148
130
  /**
149
131
  * 获得两个节点间的连线列表
@@ -209,12 +191,6 @@ export function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
209
191
 
210
192
  return getEdgeGroupByNodes(node1, node2);
211
193
  }
212
- /**
213
- * 获得连线组连线列表
214
- * @param {*} dataModel
215
- * @returns
216
- */
217
-
218
194
  export function getEdgeGroups(dataModel) {
219
195
  var edgeGroups = [];
220
196
  getEdges(dataModel).forEach(function (edge) {
@@ -226,19 +202,11 @@ export function getEdgeGroups(dataModel) {
226
202
  });
227
203
  return edgeGroups;
228
204
  }
229
- /**
230
- * 获得连线组连线列表
231
- * @param {*} dataModel
232
- * @returns
233
- */
234
-
235
205
  export function getEdgeGroupAgents(dataModel) {
236
206
  return getEdges(dataModel).filter(isEdgeGroupAgent);
237
207
  }
238
208
  export function getEdgeDatas(dataModel) {
239
- return getEdges(dataModel).filter(function (edge) {
240
- return !isEdgeGroup(edge);
241
- }).map(function (element) {
209
+ return getEdges(dataModel).map(function (element) {
242
210
  var _element$getSource, _element$getTarget;
243
211
 
244
212
  return _extends({}, element.getAttrObject(), {
@@ -190,7 +190,7 @@ function buildGlobal(_ref2) {
190
190
  // 是否可编辑----控制[编辑]按钮
191
191
  moveable: true,
192
192
  // 节点是否可移动
193
- toggleGroupByDblClick: true
193
+ toggleGroupByDblClick: false
194
194
  }, (result === null || result === void 0 ? void 0 : (_result$global2 = result.global) === null || _result$global2 === void 0 ? void 0 : _result$global2.control) || {}, (result === null || result === void 0 ? void 0 : (_result$customGlobal = result.customGlobal) === null || _result$customGlobal === void 0 ? void 0 : _result$customGlobal.control) || {}),
195
195
  topoDisplayConfig: _extends({
196
196
  // alarmSwitch: (result.global || {}).alarmSwitch ?? true,
@@ -50,8 +50,8 @@ function AlarmListItem(props) {
50
50
  // 传入参数
51
51
  var topo = props.topo,
52
52
  alarmInfo = props.alarmInfo,
53
- onClick = props.onClick;
54
- console.log("AlarmListPanel", topo, alarmInfo);
53
+ onClick = props.onClick; // console.log("AlarmListPanel", topo, alarmInfo);
54
+
55
55
  return /*#__PURE__*/_react["default"].createElement(_list["default"].Item, {
56
56
  className: _indexModule["default"].AlarmListItem,
57
57
  media: /*#__PURE__*/_react["default"].createElement(_icon["default"], {
@@ -17,6 +17,8 @@ var _icon = _interopRequireDefault(require("@alifd/next/lib/icon"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
+ var _componentNoDataPage = _interopRequireDefault(require("@riil-frontend/component-no-data-page"));
21
+
20
22
  var _Collapse = _interopRequireDefault(require("../../../../../../components/collapse/Collapse"));
21
23
 
22
24
  var _CiTypeImagePanel = _interopRequireDefault(require("./CiTypeImagePanel"));
@@ -130,12 +132,16 @@ function ImagePanel(props) {
130
132
  }].filter(function (panel) {
131
133
  return !panel.hidden;
132
134
  });
135
+
136
+ if (!panels.length) {
137
+ return /*#__PURE__*/_react["default"].createElement(_componentNoDataPage["default"], null);
138
+ }
139
+
133
140
  return /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
134
141
  accordion: true,
135
142
  defaultExpandedKeys: ['资源图片'],
136
143
  style: {
137
- border: 'none',
138
- minWidth: '300px'
144
+ border: 'none'
139
145
  },
140
146
  fullheight: true,
141
147
  noContentPadding: true
@@ -164,6 +170,9 @@ function ImagePanel(props) {
164
170
  width: '100%'
165
171
  }
166
172
  })), /*#__PURE__*/_react["default"].createElement(_box["default"], {
167
- flex: 1
173
+ flex: 1,
174
+ style: {
175
+ minWidth: '300px'
176
+ }
168
177
  }, renderImageContent()));
169
178
  }
@@ -53,14 +53,14 @@ function EdgeColorButton(props) {
53
53
  });
54
54
  };
55
55
 
56
- var getCustomLines = function getCustomLines(list) {
56
+ var getLines = function getLines(list) {
57
57
  return list.filter(_edgeUtil.isCustomEdge);
58
58
  };
59
59
 
60
60
  (0, _react.useEffect)(function () {
61
61
  if (graphLoaded) {
62
62
  var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
63
- var list = getCustomLines(edges);
63
+ var list = getLines(edges);
64
64
  setLineWidth(1); // eslint-disable-next-line eqeqeq
65
65
 
66
66
  if (selection.length == 1 && list.length === 1) {
@@ -48,11 +48,20 @@ var LINE_TYPE_OPTIONS = [{
48
48
  value: 'doublearc',
49
49
  label: '双弧线',
50
50
  icon: 'topo_linear_icon_arcline'
51
- }, {
52
- value: 'points',
53
- label: '自由线形',
54
- icon: 'topo_linear_icon_pointsline'
55
- }];
51
+ } // {
52
+ // value: 'points',
53
+ // label: '自由线形',
54
+ // icon: 'topo_linear_icon_pointsline',
55
+ // },
56
+ ];
57
+
58
+ if (localStorage.getItem('topo.test.edge.customType') === 'true') {
59
+ LINE_TYPE_OPTIONS.push({
60
+ value: 'points',
61
+ label: '自由线形',
62
+ icon: 'topo_linear_icon_pointsline'
63
+ });
64
+ }
56
65
 
57
66
  var LineType = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
58
67
  var value = props.value,
@@ -7,9 +7,9 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _FontFamilySelect = _interopRequireDefault(require("./components/FontFamilySelect"));
10
+ var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
11
11
 
12
- var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter"));
12
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
13
13
 
14
14
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
15
 
@@ -17,6 +17,31 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
17
 
18
18
  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; }
19
19
 
20
+ function FontFamilySelect(props) {
21
+ var value = props.value,
22
+ onChange = props.onChange;
23
+ var items = ['宋体', '微软雅黑', '黑体', 'Arial'];
24
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
25
+ value: (items.includes(value) ? value : null) || '',
26
+ valueRender: function valueRender(val) {
27
+ return /*#__PURE__*/_react["default"].createElement("div", {
28
+ style: {
29
+ width: 48
30
+ }
31
+ }, val || '微软雅黑');
32
+ },
33
+ onSelect: onChange
34
+ }, items.map(function (item) {
35
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
36
+ key: item
37
+ }, /*#__PURE__*/_react["default"].createElement("div", {
38
+ style: {
39
+ fontFamily: item
40
+ }
41
+ }, item));
42
+ }));
43
+ }
44
+
20
45
  function FontFamilyWidget(props) {
21
46
  var topo = props.topo,
22
47
  showLabel = props.showLabel,
@@ -26,7 +51,7 @@ function FontFamilyWidget(props) {
26
51
  label: "\u5B57\u4F53",
27
52
  tooltip: "\u5B57\u4F53",
28
53
  showLabel: showLabel
29
- }, /*#__PURE__*/_react["default"].createElement(_FontFamilySelect["default"], {
54
+ }, /*#__PURE__*/_react["default"].createElement(FontFamilySelect, {
30
55
  value: style.fontFamily,
31
56
  onChange: function onChange(val) {
32
57
  topo.historyManager.beginTransaction();
@@ -7,9 +7,9 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _FontSizeSelect = _interopRequireDefault(require("./components/FontSizeSelect"));
10
+ var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
11
11
 
12
- var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter"));
12
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
13
13
 
14
14
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
15
 
@@ -17,6 +17,31 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
17
 
18
18
  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; }
19
19
 
20
+ function FontSizeSelect(props) {
21
+ var value = props.value,
22
+ disabled = props.disabled,
23
+ onChange = props.onChange;
24
+ var items = [12, 14, 16, 18, 20, 24, 30, 36, 48, 60, 80];
25
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
26
+ value: "" + (value || ''),
27
+ valueRender: function valueRender(val) {
28
+ return /*#__PURE__*/_react["default"].createElement("div", {
29
+ style: {
30
+ width: 18
31
+ }
32
+ }, val || 20);
33
+ },
34
+ disabled: disabled,
35
+ onSelect: function onSelect(val) {
36
+ return onChange(parseInt(val, 10));
37
+ }
38
+ }, items.map(function (item) {
39
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
40
+ key: item
41
+ }, item);
42
+ }));
43
+ }
44
+
20
45
  function FontSizeWidget(props) {
21
46
  var topo = props.topo,
22
47
  showLabel = props.showLabel,
@@ -32,7 +57,7 @@ function FontSizeWidget(props) {
32
57
  tooltip: "\u5B57\u53F7",
33
58
  showLabel: showLabel,
34
59
  disabled: disabled
35
- }, /*#__PURE__*/_react["default"].createElement(_FontSizeSelect["default"], {
60
+ }, /*#__PURE__*/_react["default"].createElement(FontSizeSelect, {
36
61
  value: style.fontSize,
37
62
  disabled: disabled,
38
63
  onChange: function onChange(val) {
@@ -7,16 +7,39 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _FontStyleSelect = _interopRequireDefault(require("./components/FontStyleSelect"));
10
+ var _variables = _interopRequireDefault(require("@alifd/theme-19926/variables.js"));
11
11
 
12
- var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter"));
12
+ var _htElementUtils = require("../../../../../utils/htElementUtils");
13
+
14
+ var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
15
+
16
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
13
17
 
14
18
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
19
 
20
+ var _Tooltip = _interopRequireDefault(require("../components/Tooltip"));
21
+
16
22
  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); }
17
23
 
18
24
  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; }
19
25
 
26
+ var items = [{
27
+ key: 'bold',
28
+ label: '加粗',
29
+ icon: 'bold',
30
+ tooltip: '加粗'
31
+ }, {
32
+ key: 'italic',
33
+ label: '斜体',
34
+ icon: 'Italics',
35
+ tooltip: '斜体'
36
+ }, {
37
+ key: 'underline',
38
+ label: '下划线',
39
+ icon: 'Underline',
40
+ tooltip: '下划线'
41
+ }];
42
+
20
43
  function buildValue(obj) {
21
44
  return Object.keys(obj).filter(function (key) {
22
45
  return !!obj[key];
@@ -84,12 +107,39 @@ function FontStyleButton(props) {
84
107
  tooltip: "\u6587\u5B57\u6837\u5F0F\uFF08\u52A0\u7C97\u3001\u659C\u4F53\u3001\u4E0B\u5212\u7EBF\uFF09",
85
108
  disabled: disabled,
86
109
  showLabel: showLabel
87
- }, /*#__PURE__*/_react["default"].createElement(_FontStyleSelect["default"], {
110
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
88
111
  value: value,
112
+ valueRender: function valueRender() {
113
+ return /*#__PURE__*/_react["default"].createElement("img", {
114
+ src: "/img/topo/editor/toolbar/bold/" + (disabled ? 'Disable' : 'Normal') + ".svg",
115
+ alt: ""
116
+ });
117
+ },
118
+ multiple: true,
89
119
  disabled: disabled,
90
- fieldDisabled: fieldDisabled,
91
- onChange: handleSelect
92
- }));
120
+ onSelect: handleSelect
121
+ }, items.map(function (item) {
122
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
123
+ key: item.key,
124
+ disabled: fieldDisabled[item.key]
125
+ }, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
126
+ trigger: /*#__PURE__*/_react["default"].createElement("div", {
127
+ style: {
128
+ display: 'flex',
129
+ alignItems: 'center'
130
+ }
131
+ }, /*#__PURE__*/_react["default"].createElement("img", {
132
+ src: "/img/topo/editor/toolbar/" + item.icon + "/" + (fieldDisabled[item.key] ? 'Disable' : 'Normal') + ".svg",
133
+ alt: ""
134
+ }), /*#__PURE__*/_react["default"].createElement("span", {
135
+ style: fieldDisabled[item.key] ? {} : {
136
+ color: _variables["default"]['$color-text1-4']
137
+ }
138
+ }, item.label)),
139
+ align: "r",
140
+ popupStyle: {}
141
+ }, item.tooltip));
142
+ })));
93
143
  }
94
144
 
95
145
  var _default = (0, _textStyleSettingRouter["default"])(FontStyleButton, {
@@ -162,7 +162,7 @@ function isLayoutEnabled(props) {
162
162
  } //中心节点布局,选中一个节点不是分层的情况下,按钮亮起
163
163
 
164
164
 
165
- if (topoShowType !== 'layers' && selection.length === 1) {
165
+ if (topoShowType !== 'layers' && selection.length === 1 && ((0, _htElementDataUtil.isNode)(selection[0]) || (0, _htElementDataUtil.isGroup)(selection[0]))) {
166
166
  return true;
167
167
  }
168
168
 
@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.getEdgesBySelection = getEdgesBySelection;
5
5
  exports.isNodeAllEdges = isNodeAllEdges;
6
+ exports.loopEdgesAndChildren = loopEdgesAndChildren;
6
7
  exports.setEdgesType = setEdgesType;
7
8
  exports.updateEdgesData = updateEdgesData;
8
9
 
@@ -24,14 +25,6 @@ function getEdgesBySelection(topo) {
24
25
  return nodeIds;
25
26
  };
26
27
 
27
- function getVisibleEdgesInNodes(gv, nodes) {
28
- var nodeIds = getChildrenNodeIds(nodes);
29
- var dm = gv.getDataModel();
30
- return (0, _htElementUtils.getEdges)(dm).filter(function (edge) {
31
- return nodeIds.includes(edge.getSource().getId()) && nodeIds.includes(edge.getTarget().getId());
32
- }).filter(_htElementUtils.isEdgeVisible);
33
- }
34
-
35
28
  var getSelectedEdges = function getSelectedEdges(gv) {
36
29
  var selection = gv.getSelectionModel().getSelection().toArray(); // 选中的连线
37
30
 
@@ -42,8 +35,14 @@ function getEdgesBySelection(topo) {
42
35
  var nodes = selection.filter(function (element) {
43
36
  return element instanceof ht.Node;
44
37
  });
45
- getVisibleEdgesInNodes(gv, nodes).forEach(function (edge) {
46
- if (!edges.find(function (item) {
38
+ var nodeIds = getChildrenNodeIds(nodes);
39
+ var dm = gv.getDataModel();
40
+ (0, _htElementUtils.getEdges)(dm).forEach(function (edge) {
41
+ if (nodeIds.find(function (nodeId) {
42
+ return nodeId === edge.getSource().getId();
43
+ }) && nodeIds.find(function (nodeId) {
44
+ return nodeId === edge.getTarget().getId();
45
+ }) && !edges.find(function (item) {
47
46
  return item === edge;
48
47
  })) {
49
48
  edges.push(edge);
@@ -90,6 +89,30 @@ function isNodeAllEdges(topo) {
90
89
  });
91
90
  return inEdges;
92
91
  }
92
+ /**
93
+ * 遍历连线及子连线
94
+ * @param {*} topo
95
+ * @param {*} edges
96
+ * @param {*} operateEdgeFn
97
+ */
98
+
99
+
100
+ function loopEdgesAndChildren(topo, edges, operateEdgeFn) {
101
+ var htTopo = topo.getHtTopo();
102
+ edges.forEach(function (edge) {
103
+ operateEdgeFn(edge);
104
+
105
+ if (edge.isEdgeGroupAgent()) {
106
+ // 连线组折叠时同时设置子连线
107
+ var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
108
+ htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
109
+ edgeChildren.forEach(function (edgeChild) {
110
+ operateEdgeFn(edgeChild);
111
+ });
112
+ htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
113
+ }
114
+ });
115
+ }
93
116
  /**
94
117
  * 设置连线及子连线。带回退事务控制
95
118
  * @param {*} topo
@@ -127,6 +127,10 @@ var useTopoEdit = function useTopoEdit(params) {
127
127
  return topoDispatchers.setTopoType(_template.TPL_TREE);
128
128
 
129
129
  case 7:
130
+ // 更新配置
131
+ // resourceConfig.updateConfig(config);
132
+ // 更新配置对应的资源、链路
133
+ // editDispatchers.fetchDataByConfig();
130
134
  topo.historyManager.endTransaction();
131
135
 
132
136
  case 8: