@riil-frontend/component-topology 2.9.0 → 2.10.0-alpha-2

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.
@@ -4,13 +4,14 @@ import Icons from "./assets";
4
4
  var Icon = function Icon(props) {
5
5
  var _props$alt = props.alt,
6
6
  alt = _props$alt === void 0 ? '' : _props$alt,
7
+ img = props.img,
7
8
  type = props.type,
8
9
  className = props.className,
9
10
  rotate = props.rotate;
10
11
  var style = rotate ? {
11
12
  transform: "rotate(" + rotate + "deg)"
12
13
  } : null;
13
- var src = Icons[type];
14
+ var src = img || Icons[type];
14
15
  return /*#__PURE__*/React.createElement("img", {
15
16
  className: className,
16
17
  style: style,
@@ -1,12 +1,8 @@
1
- import IconTplBlank from "./topo_tpl_blank.svg";
2
- import IconTplRegion from "./topo_tpl_region.svg"; // import IconTplLayeredRing from './topo_tpl_layered_ring.svg';
3
-
1
+ // import IconTplLayeredRing from './topo_tpl_layered_ring.svg';
4
2
  import IconLayoutCircular from "./topo_layout_circular.svg";
5
3
  import IconLayoutHierarchical from "./topo_layout_hierarchical.svg";
6
4
  import IconLayoutToward from "./topo_layout_toward.svg";
7
5
  export default {
8
- 'tpl_blank': IconTplBlank,
9
- 'tpl_region': IconTplRegion,
10
6
  // 'tpl_layered_ring': IconTplLayeredRing,
11
7
  'layout_circular': IconLayoutCircular,
12
8
  'layout_hierarchical': IconLayoutHierarchical,
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
- var _excluded = ["className", "children", "icon", "id", "selected", "onSelect", "iconClassName", "textClassName"];
3
+ var _excluded = ["className", "children", "icon", "id", "selected", "onSelect", "img", "iconClassName", "textClassName"];
4
4
  import React from 'react';
5
5
  import classnames from 'classnames';
6
6
  import Icon from "./Icon";
@@ -14,6 +14,7 @@ var TemplateButton = function TemplateButton(props) {
14
14
  selected = props.selected,
15
15
  _props$onSelect = props.onSelect,
16
16
  onSelect = _props$onSelect === void 0 ? function () {} : _props$onSelect,
17
+ img = props.img,
17
18
  iconClassName = props.iconClassName,
18
19
  textClassName = props.textClassName,
19
20
  rest = _objectWithoutPropertiesLoose(props, _excluded);
@@ -29,6 +30,7 @@ var TemplateButton = function TemplateButton(props) {
29
30
  className: styles.iconWrapper
30
31
  }, /*#__PURE__*/React.createElement(Icon, _extends({
31
32
  className: classnames(styles.icon, iconClassName),
33
+ img: img,
32
34
  type: icon
33
35
  }, rest))), /*#__PURE__*/React.createElement("div", {
34
36
  className: classnames(styles.text, textClassName)
@@ -7,8 +7,8 @@ export function mergeLinksData(links, relationDetails) {
7
7
  return links.map(function (link) {
8
8
  var relation = findItem(relationDetails, 'id', link.id);
9
9
  return _extends({}, link, {
10
- ciType: relation.typeCode,
11
- name: relation.attributes.name,
10
+ ciType: relation === null || relation === void 0 ? void 0 : relation.typeCode,
11
+ name: relation === null || relation === void 0 ? void 0 : relation.attributes.name,
12
12
  detail: relation
13
13
  });
14
14
  });
@@ -6,10 +6,14 @@ import _extends from "@babel/runtime/helpers/extends";
6
6
  import React, { useState, useEffect, useRef, useCallback } from 'react';
7
7
  import styles from "../../../components/titlebar/TitleBar.module.scss";
8
8
  import EditButton from "./widgets/EditButton";
9
+ import useSetDefaultTopo from "./useSetDefaultTopo";
9
10
  export default function ViewerTools(props) {
10
11
  var topo = props.topo,
11
12
  _props$showEditButton = props.showEditButton,
12
13
  showEditButton = _props$showEditButton === void 0 ? true : _props$showEditButton;
14
+ var setDefaultTopo = useSetDefaultTopo({
15
+ topo: topo
16
+ });
13
17
  return /*#__PURE__*/React.createElement("div", null, showEditButton && /*#__PURE__*/React.createElement(EditButton, _extends({
14
18
  topo: topo
15
19
  }, props)), /*#__PURE__*/React.createElement(_Dropdown, {
@@ -19,7 +23,7 @@ export default function ViewerTools(props) {
19
23
  type: "ellipsis-vertical"
20
24
  })),
21
25
  triggerType: "click"
22
- }, /*#__PURE__*/React.createElement(_Menu, null, /*#__PURE__*/React.createElement(_Menu.Item, {
26
+ }, /*#__PURE__*/React.createElement(_Menu, null, setDefaultTopo.renderMenuItem(), /*#__PURE__*/React.createElement(_Menu.Item, {
23
27
  onClick: function onClick() {
24
28
  topo.exportImage();
25
29
  }
@@ -0,0 +1,30 @@
1
+ import _Menu from "@alifd/next/lib/menu";
2
+ import React from 'react';
3
+ import { findNodeById } from "../../../../utils/tree";
4
+ export default function useSetDefaultTopo(props) {
5
+ var _findNodeById;
6
+
7
+ var topo = props.topo;
8
+ var store = topo.store;
9
+ var functionAuthState = store.useModelState('functionAuth');
10
+ var topoModState = store.useModelState('topoMod');
11
+
12
+ var _store$useModel = store.useModel('topoTreeMod'),
13
+ topoTreeState = _store$useModel[0],
14
+ topoTreeDispatchers = _store$useModel[1];
15
+
16
+ var isDefault = (_findNodeById = findNodeById(topoTreeState.treeData, topoModState.topoId)) === null || _findNodeById === void 0 ? void 0 : _findNodeById.showDefault;
17
+ var showButton = !!functionAuthState.permissions.manageNavTree && !isDefault;
18
+
19
+ var setDefault = function setDefault() {
20
+ topoTreeDispatchers.setDefTopoOnTree(topoModState.topoId);
21
+ };
22
+
23
+ return {
24
+ renderMenuItem: function renderMenuItem() {
25
+ return showButton && /*#__PURE__*/React.createElement(_Menu.Item, {
26
+ onClick: setDefault
27
+ }, "\u8BBE\u4E3A\u9ED8\u8BA4\u62D3\u6251");
28
+ }
29
+ };
30
+ }
@@ -21,6 +21,7 @@ export default function (topoApp) {
21
21
  topoLoadError: false,
22
22
  viewState: 'view',
23
23
  // view, create, 2种模式
24
+ id: undefined,
24
25
  topoId: '',
25
26
  topoName: '',
26
27
  topoData: null,
@@ -35,9 +36,9 @@ export default function (topoApp) {
35
36
  topoAlarmIsOpen: false,
36
37
  // 拓扑通道是否打开
37
38
  alarmData: null,
38
- // 概览抽屉中告警列表相关数据
39
+ // 概览抽屉中告警列表相关数据 TODO 抽取
39
40
  currentCiInfo: null,
40
- // 概览抽屉当前CI元数据
41
+ // 概览抽屉当前CI元数据 TODO 抽取
41
42
  resAndMetrics: {
42
43
  res: [],
43
44
  metrics: [],
package/es/utils/tree.js CHANGED
@@ -93,6 +93,11 @@ export function findNodeById(tree, id) {
93
93
 
94
94
  export function findParentIdsById(tree, id) {
95
95
  var node = findNodeById(tree, id);
96
+
97
+ if (!node) {
98
+ return [];
99
+ }
100
+
96
101
  var parentId = "" + node.parentId;
97
102
 
98
103
  if (parentId === '-1') {
@@ -12,13 +12,14 @@ var _assets = _interopRequireDefault(require("./assets"));
12
12
  var Icon = function Icon(props) {
13
13
  var _props$alt = props.alt,
14
14
  alt = _props$alt === void 0 ? '' : _props$alt,
15
+ img = props.img,
15
16
  type = props.type,
16
17
  className = props.className,
17
18
  rotate = props.rotate;
18
19
  var style = rotate ? {
19
20
  transform: "rotate(" + rotate + "deg)"
20
21
  } : null;
21
- var src = _assets["default"][type];
22
+ var src = img || _assets["default"][type];
22
23
  return /*#__PURE__*/_react["default"].createElement("img", {
23
24
  className: className,
24
25
  style: style,
@@ -5,10 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _topo_tpl_blank = _interopRequireDefault(require("./topo_tpl_blank.svg"));
9
-
10
- var _topo_tpl_region = _interopRequireDefault(require("./topo_tpl_region.svg"));
11
-
12
8
  var _topo_layout_circular = _interopRequireDefault(require("./topo_layout_circular.svg"));
13
9
 
14
10
  var _topo_layout_hierarchical = _interopRequireDefault(require("./topo_layout_hierarchical.svg"));
@@ -17,8 +13,6 @@ var _topo_layout_toward = _interopRequireDefault(require("./topo_layout_toward.s
17
13
 
18
14
  // import IconTplLayeredRing from './topo_tpl_layered_ring.svg';
19
15
  var _default = {
20
- 'tpl_blank': _topo_tpl_blank["default"],
21
- 'tpl_region': _topo_tpl_region["default"],
22
16
  // 'tpl_layered_ring': IconTplLayeredRing,
23
17
  'layout_circular': _topo_layout_circular["default"],
24
18
  'layout_hierarchical': _topo_layout_hierarchical["default"],
@@ -17,7 +17,7 @@ var _Icon = _interopRequireDefault(require("./Icon"));
17
17
 
18
18
  var _indexModule = _interopRequireDefault(require("./index.module.scss"));
19
19
 
20
- var _excluded = ["className", "children", "icon", "id", "selected", "onSelect", "iconClassName", "textClassName"];
20
+ var _excluded = ["className", "children", "icon", "id", "selected", "onSelect", "img", "iconClassName", "textClassName"];
21
21
 
22
22
  var TemplateButton = function TemplateButton(props) {
23
23
  var className = props.className,
@@ -27,6 +27,7 @@ var TemplateButton = function TemplateButton(props) {
27
27
  selected = props.selected,
28
28
  _props$onSelect = props.onSelect,
29
29
  onSelect = _props$onSelect === void 0 ? function () {} : _props$onSelect,
30
+ img = props.img,
30
31
  iconClassName = props.iconClassName,
31
32
  textClassName = props.textClassName,
32
33
  rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
@@ -42,6 +43,7 @@ var TemplateButton = function TemplateButton(props) {
42
43
  className: _indexModule["default"].iconWrapper
43
44
  }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], (0, _extends2["default"])({
44
45
  className: (0, _classnames["default"])(_indexModule["default"].icon, iconClassName),
46
+ img: img,
45
47
  type: icon
46
48
  }, rest))), /*#__PURE__*/_react["default"].createElement("div", {
47
49
  className: (0, _classnames["default"])(_indexModule["default"].text, textClassName)
@@ -21,8 +21,8 @@ function mergeLinksData(links, relationDetails) {
21
21
  return links.map(function (link) {
22
22
  var relation = (0, _topoData.findItem)(relationDetails, 'id', link.id);
23
23
  return (0, _extends2["default"])({}, link, {
24
- ciType: relation.typeCode,
25
- name: relation.attributes.name,
24
+ ciType: relation === null || relation === void 0 ? void 0 : relation.typeCode,
25
+ name: relation === null || relation === void 0 ? void 0 : relation.attributes.name,
26
26
  detail: relation
27
27
  });
28
28
  });
@@ -23,10 +23,15 @@ var _TitleBarModule = _interopRequireDefault(require("../../../components/titleb
23
23
 
24
24
  var _EditButton = _interopRequireDefault(require("./widgets/EditButton"));
25
25
 
26
+ var _useSetDefaultTopo = _interopRequireDefault(require("./useSetDefaultTopo"));
27
+
26
28
  function ViewerTools(props) {
27
29
  var topo = props.topo,
28
30
  _props$showEditButton = props.showEditButton,
29
31
  showEditButton = _props$showEditButton === void 0 ? true : _props$showEditButton;
32
+ var setDefaultTopo = (0, _useSetDefaultTopo["default"])({
33
+ topo: topo
34
+ });
30
35
  return /*#__PURE__*/_react["default"].createElement("div", null, showEditButton && /*#__PURE__*/_react["default"].createElement(_EditButton["default"], (0, _extends2["default"])({
31
36
  topo: topo
32
37
  }, props)), /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
@@ -36,7 +41,7 @@ function ViewerTools(props) {
36
41
  type: "ellipsis-vertical"
37
42
  })),
38
43
  triggerType: "click"
39
- }, /*#__PURE__*/_react["default"].createElement(_menu["default"], null, /*#__PURE__*/_react["default"].createElement(_menu["default"].Item, {
44
+ }, /*#__PURE__*/_react["default"].createElement(_menu["default"], null, setDefaultTopo.renderMenuItem(), /*#__PURE__*/_react["default"].createElement(_menu["default"].Item, {
40
45
  onClick: function onClick() {
41
46
  topo.exportImage();
42
47
  }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = useSetDefaultTopo;
7
+
8
+ var _menu = _interopRequireDefault(require("@alifd/next/lib/menu"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _tree = require("../../../../utils/tree");
13
+
14
+ function useSetDefaultTopo(props) {
15
+ var _findNodeById;
16
+
17
+ var topo = props.topo;
18
+ var store = topo.store;
19
+ var functionAuthState = store.useModelState('functionAuth');
20
+ var topoModState = store.useModelState('topoMod');
21
+
22
+ var _store$useModel = store.useModel('topoTreeMod'),
23
+ topoTreeState = _store$useModel[0],
24
+ topoTreeDispatchers = _store$useModel[1];
25
+
26
+ var isDefault = (_findNodeById = (0, _tree.findNodeById)(topoTreeState.treeData, topoModState.topoId)) === null || _findNodeById === void 0 ? void 0 : _findNodeById.showDefault;
27
+ var showButton = !!functionAuthState.permissions.manageNavTree && !isDefault;
28
+
29
+ var setDefault = function setDefault() {
30
+ topoTreeDispatchers.setDefTopoOnTree(topoModState.topoId);
31
+ };
32
+
33
+ return {
34
+ renderMenuItem: function renderMenuItem() {
35
+ return showButton && /*#__PURE__*/_react["default"].createElement(_menu["default"].Item, {
36
+ onClick: setDefault
37
+ }, "\u8BBE\u4E3A\u9ED8\u8BA4\u62D3\u6251");
38
+ }
39
+ };
40
+ }
@@ -40,6 +40,7 @@ function _default(topoApp) {
40
40
  topoLoadError: false,
41
41
  viewState: 'view',
42
42
  // view, create, 2种模式
43
+ id: undefined,
43
44
  topoId: '',
44
45
  topoName: '',
45
46
  topoData: null,
@@ -54,9 +55,9 @@ function _default(topoApp) {
54
55
  topoAlarmIsOpen: false,
55
56
  // 拓扑通道是否打开
56
57
  alarmData: null,
57
- // 概览抽屉中告警列表相关数据
58
+ // 概览抽屉中告警列表相关数据 TODO 抽取
58
59
  currentCiInfo: null,
59
- // 概览抽屉当前CI元数据
60
+ // 概览抽屉当前CI元数据 TODO 抽取
60
61
  resAndMetrics: {
61
62
  res: [],
62
63
  metrics: [],
package/lib/utils/tree.js CHANGED
@@ -111,6 +111,11 @@ function findNodeById(tree, id) {
111
111
 
112
112
  function findParentIdsById(tree, id) {
113
113
  var node = findNodeById(tree, id);
114
+
115
+ if (!node) {
116
+ return [];
117
+ }
118
+
114
119
  var parentId = "" + node.parentId;
115
120
 
116
121
  if (parentId === '-1') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "2.9.0",
3
+ "version": "2.10.0-alpha-2",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -43,7 +43,7 @@
43
43
  "@alifd/biz-anchor": "^1.1.7",
44
44
  "@ice/store": "^1.4.2",
45
45
  "@riil-frontend/component-topo-icon-select": "^1.0.3",
46
- "@riil-frontend/component-topology-common": "^1.0.0",
46
+ "@riil-frontend/component-topology-common": "^1.0.1",
47
47
  "@riil-frontend/component-topology-utils": "^2.0.18",
48
48
  "classnames": "^2.2.3",
49
49
  "prop-types": "^15.5.8",
@@ -67,7 +67,7 @@
67
67
  "@riil-frontend/component-row-delete-ballon": "^1.0.2",
68
68
  "@riil-frontend/component-table-filter-tags": "latest",
69
69
  "@riil-frontend/component-table-layout": "^2.0.2",
70
- "@riil-frontend/component-topology-graph": "^2.2.5",
70
+ "@riil-frontend/component-topology-graph": "^2.3.0",
71
71
  "@riil-frontend/css": "^2.0.2",
72
72
  "@riil-frontend/hooks": "latest",
73
73
  "@riil-frontend/next-collapse": "^1.0.1-a.0",
@@ -83,6 +83,7 @@
83
83
  "enzyme-adapter-react-16": "^1.14.0",
84
84
  "eslint": "^6.0.1",
85
85
  "html2canvas": "^1.3.2",
86
+ "lnk-cli": "^1.0.1",
86
87
  "jspdf": "^2.3.1",
87
88
  "react": "^17.0.2",
88
89
  "react-dom": "^17.0.2",
@@ -102,6 +103,6 @@
102
103
  "access": "public"
103
104
  },
104
105
  "license": "MIT",
105
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.9.0/build/index.html",
106
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.10.0-alpha-2/build/index.html",
106
107
  "gitHead": "62eadeca07c85ed047f2e933676f62015eff98cc"
107
108
  }
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
4
- <title>空白布局</title>
5
- <desc>Created with Sketch.</desc>
6
- <g id="空白布局" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
- <path d="M37,26 L37,35 L46,35 L46,37 L36.999,37 L37,46 L35,46 L34.999,37 L26,37 L26,35 L35,35 L35,26 L37,26 Z" id="形状结合" fill="#BACCE7"></path>
8
- </g>
9
- </svg>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
4
- <title>分区模板</title>
5
- <desc>Created with Sketch.</desc>
6
- <g id="分区模板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
- <path d="M37.4108219,46 L56.7414238,54.2053537 L56.3506927,55.1258586 L37.0200908,46.9205049 L37.4108219,46 Z M22.871829,36.753946 L23.7628355,37.2079365 L15.5910065,53.246054 L14.7,52.7920635 L22.871829,36.753946 Z M28.1986355,36 L33.0131557,42.3890841 L32.2145202,42.9908991 L27.4,36.601815 L28.1986355,36 Z M39.8203046,35.3138118 L40.6774719,35.8288498 L36.5571673,42.6861882 L35.7,42.1711502 L39.8203046,35.3138118 Z M38.4052184,30.9378651 L38.5270878,31.9304113 L29.5941724,33.0272354 L29.4723031,32.0346892 L38.4052184,30.9378651 Z M36.8480481,18.1026075 L42.1472407,26.5830885 L41.2991926,27.1130077 L36,18.6325268 L36.8480481,18.1026075 Z" id="形状结合" fill="#BACCE7"></path>
8
- <path d="M34.5,42 C35.8807119,42 37,43.1192881 37,44.5 C37,45.8807119 35.8807119,47 34.5,47 C33.1192881,47 32,45.8807119 32,44.5 C32,43.1192881 33.1192881,42 34.5,42 Z M25.5,30 C27.4329966,30 29,31.5670034 29,33.5 C29,35.4329966 27.4329966,37 25.5,37 C23.5670034,37 22,35.4329966 22,33.5 C22,31.5670034 23.5670034,30 25.5,30 Z" id="形状结合" fill="#DAE4F0"></path>
9
- <path d="M34.5,41 C36.4329966,41 38,42.5670034 38,44.5 C38,46.4329966 36.4329966,48 34.5,48 C32.5670034,48 31,46.4329966 31,44.5 C31,42.5670034 32.5670034,41 34.5,41 Z M34.5,42.0208333 C33.1307941,42.0208333 32.0208333,43.1307941 32.0208333,44.5 C32.0208333,45.8692059 33.1307941,46.9791667 34.5,46.9791667 C35.8692059,46.9791667 36.9791667,45.8692059 36.9791667,44.5 C36.9791667,43.1307941 35.8692059,42.0208333 34.5,42.0208333 Z M25.5,29 C27.9852814,29 30,31.0147186 30,33.5 C30,35.9852814 27.9852814,38 25.5,38 C23.0147186,38 21,35.9852814 21,33.5 C21,31.0147186 23.0147186,29 25.5,29 Z M43.5,26 C46.5375661,26 49,28.4624339 49,31.5 C49,34.5375661 46.5375661,37 43.5,37 C40.4624339,37 38,34.5375661 38,31.5 C38,28.4624339 40.4624339,26 43.5,26 Z M25.5,30.3125 C23.7395924,30.3125 22.3125,31.7395924 22.3125,33.5 C22.3125,35.2604076 23.7395924,36.6875 25.5,36.6875 C27.2604076,36.6875 28.6875,35.2604076 28.6875,33.5 C28.6875,31.7395924 27.2604076,30.3125 25.5,30.3125 Z M43.5,27.6041667 C41.3483907,27.6041667 39.6041667,29.3483907 39.6041667,31.5 C39.6041667,33.6516093 41.3483907,35.3958333 43.5,35.3958333 C45.6516093,35.3958333 47.3958333,33.6516093 47.3958333,31.5 C47.3958333,29.3483907 45.6516093,27.6041667 43.5,27.6041667 Z" id="形状结合" fill="#BACCE7"></path>
10
- <path d="M19.9740011,55.3291419 L11.9977407,59.2665035 L4.02151551,55.3291419 C3.58277372,55.0973834 3.61203021,54.5461528 4.04964675,54.3447927 L11.4138769,51.1307663 C11.7738864,50.9564112 12.1934989,50.9564112 12.5523832,51.1307663 L19.9155057,54.3144119 C20.4150109,54.5461528 20.4150109,55.0973834 19.9740011,55.3291419 Z M10.3912537,68.8489288 L3.64125153,65.2018014 C3.23399914,64.9993161 3,64.6505708 3,64.2467253 L3,56.9209471 C3,56.4867209 3.55575015,56.2245993 3.96525304,56.4574654 L11.4689965,60.2486023 L11.4689965,68.4281875 C11.4948773,68.8343186 10.9020115,69.1661681 10.3912537,68.8489288 Z M13.6357523,68.8489288 L20.3857545,65.2018014 C20.7660009,64.9993161 21,64.6505708 21,64.2467077 L21,56.9209471 C21,56.4867209 20.4442498,56.2245993 20.034747,56.4574654 L12.4702576,60.2441014 L12.4702576,68.4225791 C12.4702576,68.8556801 13.0800021,69.213427 13.6323765,68.850054 L13.6357523,68.850054 L13.6357523,68.8489288 Z" id="形状" fill="#BACCE7"></path>
11
- <path d="M42.9740011,5.32914186 L34.9977407,9.26650349 L27.0215155,5.32914186 C26.5827737,5.09738343 26.6120302,4.5461528 27.0496467,4.34479266 L34.4138769,1.13076629 C34.7738864,0.956411235 35.1934989,0.956411235 35.5523832,1.13076629 L42.9155057,4.31441195 C43.4150109,4.5461528 43.4150109,5.09738343 42.9740011,5.32914186 Z M33.3912537,18.8489288 L26.6412515,15.2018014 C26.2339991,14.9993161 26,14.6505708 26,14.2467253 L26,6.9209471 C26,6.4867209 26.5557502,6.22459934 26.965253,6.4574654 L34.4689965,10.2486023 L34.4689965,18.4281875 C34.4948773,18.8343186 33.9020115,19.1661681 33.3912537,18.8489288 Z M36.6357523,18.8489288 L43.3857545,15.2018014 C43.7660009,14.9993161 44,14.6505708 44,14.2467077 L44,6.9209471 C44,6.4867209 43.4442498,6.22459934 43.034747,6.4574654 L35.4702576,10.2441014 L35.4702576,18.4225791 C35.4702576,18.8556801 36.0800021,19.213427 36.6323765,18.850054 L36.6357523,18.850054 L36.6357523,18.8489288 Z" id="形状" fill="#BACCE7"></path>
12
- <path d="M68.9740011,56.3291419 L60.9977407,60.2665035 L53.0215155,56.3291419 C52.5827737,56.0973834 52.6120302,55.5461528 53.0496467,55.3447927 L60.4138769,52.1307663 C60.7738864,51.9564112 61.1934989,51.9564112 61.5523832,52.1307663 L68.9155057,55.3144119 C69.4150109,55.5461528 69.4150109,56.0973834 68.9740011,56.3291419 Z M59.3912537,69.8489288 L52.6412515,66.2018014 C52.2339991,65.9993161 52,65.6505708 52,65.2467253 L52,57.9209471 C52,57.4867209 52.5557502,57.2245993 52.965253,57.4574654 L60.4689965,61.2486023 L60.4689965,69.4281875 C60.4948773,69.8343186 59.9020115,70.1661681 59.3912537,69.8489288 Z M62.6357523,69.8489288 L69.3857545,66.2018014 C69.7660009,65.9993161 70,65.6505708 70,65.2467077 L70,57.9209471 C70,57.4867209 69.4442498,57.2245993 69.034747,57.4574654 L61.4702576,61.2441014 L61.4702576,69.4225791 C61.4702576,69.8556801 62.0800021,70.213427 62.6323765,69.850054 L62.6357523,69.850054 L62.6357523,69.8489288 Z" id="形状" fill="#BACCE7"></path>
13
- </g>
14
- </svg>
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
4
- <title>空白布局</title>
5
- <desc>Created with Sketch.</desc>
6
- <g id="空白布局" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
- <path d="M37,26 L37,35 L46,35 L46,37 L36.999,37 L37,46 L35,46 L34.999,37 L26,37 L26,35 L35,35 L35,26 L37,26 Z" id="形状结合" fill="#BACCE7"></path>
8
- </g>
9
- </svg>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
4
- <title>分区模板</title>
5
- <desc>Created with Sketch.</desc>
6
- <g id="分区模板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
- <path d="M37.4108219,46 L56.7414238,54.2053537 L56.3506927,55.1258586 L37.0200908,46.9205049 L37.4108219,46 Z M22.871829,36.753946 L23.7628355,37.2079365 L15.5910065,53.246054 L14.7,52.7920635 L22.871829,36.753946 Z M28.1986355,36 L33.0131557,42.3890841 L32.2145202,42.9908991 L27.4,36.601815 L28.1986355,36 Z M39.8203046,35.3138118 L40.6774719,35.8288498 L36.5571673,42.6861882 L35.7,42.1711502 L39.8203046,35.3138118 Z M38.4052184,30.9378651 L38.5270878,31.9304113 L29.5941724,33.0272354 L29.4723031,32.0346892 L38.4052184,30.9378651 Z M36.8480481,18.1026075 L42.1472407,26.5830885 L41.2991926,27.1130077 L36,18.6325268 L36.8480481,18.1026075 Z" id="形状结合" fill="#BACCE7"></path>
8
- <path d="M34.5,42 C35.8807119,42 37,43.1192881 37,44.5 C37,45.8807119 35.8807119,47 34.5,47 C33.1192881,47 32,45.8807119 32,44.5 C32,43.1192881 33.1192881,42 34.5,42 Z M25.5,30 C27.4329966,30 29,31.5670034 29,33.5 C29,35.4329966 27.4329966,37 25.5,37 C23.5670034,37 22,35.4329966 22,33.5 C22,31.5670034 23.5670034,30 25.5,30 Z" id="形状结合" fill="#DAE4F0"></path>
9
- <path d="M34.5,41 C36.4329966,41 38,42.5670034 38,44.5 C38,46.4329966 36.4329966,48 34.5,48 C32.5670034,48 31,46.4329966 31,44.5 C31,42.5670034 32.5670034,41 34.5,41 Z M34.5,42.0208333 C33.1307941,42.0208333 32.0208333,43.1307941 32.0208333,44.5 C32.0208333,45.8692059 33.1307941,46.9791667 34.5,46.9791667 C35.8692059,46.9791667 36.9791667,45.8692059 36.9791667,44.5 C36.9791667,43.1307941 35.8692059,42.0208333 34.5,42.0208333 Z M25.5,29 C27.9852814,29 30,31.0147186 30,33.5 C30,35.9852814 27.9852814,38 25.5,38 C23.0147186,38 21,35.9852814 21,33.5 C21,31.0147186 23.0147186,29 25.5,29 Z M43.5,26 C46.5375661,26 49,28.4624339 49,31.5 C49,34.5375661 46.5375661,37 43.5,37 C40.4624339,37 38,34.5375661 38,31.5 C38,28.4624339 40.4624339,26 43.5,26 Z M25.5,30.3125 C23.7395924,30.3125 22.3125,31.7395924 22.3125,33.5 C22.3125,35.2604076 23.7395924,36.6875 25.5,36.6875 C27.2604076,36.6875 28.6875,35.2604076 28.6875,33.5 C28.6875,31.7395924 27.2604076,30.3125 25.5,30.3125 Z M43.5,27.6041667 C41.3483907,27.6041667 39.6041667,29.3483907 39.6041667,31.5 C39.6041667,33.6516093 41.3483907,35.3958333 43.5,35.3958333 C45.6516093,35.3958333 47.3958333,33.6516093 47.3958333,31.5 C47.3958333,29.3483907 45.6516093,27.6041667 43.5,27.6041667 Z" id="形状结合" fill="#BACCE7"></path>
10
- <path d="M19.9740011,55.3291419 L11.9977407,59.2665035 L4.02151551,55.3291419 C3.58277372,55.0973834 3.61203021,54.5461528 4.04964675,54.3447927 L11.4138769,51.1307663 C11.7738864,50.9564112 12.1934989,50.9564112 12.5523832,51.1307663 L19.9155057,54.3144119 C20.4150109,54.5461528 20.4150109,55.0973834 19.9740011,55.3291419 Z M10.3912537,68.8489288 L3.64125153,65.2018014 C3.23399914,64.9993161 3,64.6505708 3,64.2467253 L3,56.9209471 C3,56.4867209 3.55575015,56.2245993 3.96525304,56.4574654 L11.4689965,60.2486023 L11.4689965,68.4281875 C11.4948773,68.8343186 10.9020115,69.1661681 10.3912537,68.8489288 Z M13.6357523,68.8489288 L20.3857545,65.2018014 C20.7660009,64.9993161 21,64.6505708 21,64.2467077 L21,56.9209471 C21,56.4867209 20.4442498,56.2245993 20.034747,56.4574654 L12.4702576,60.2441014 L12.4702576,68.4225791 C12.4702576,68.8556801 13.0800021,69.213427 13.6323765,68.850054 L13.6357523,68.850054 L13.6357523,68.8489288 Z" id="形状" fill="#BACCE7"></path>
11
- <path d="M42.9740011,5.32914186 L34.9977407,9.26650349 L27.0215155,5.32914186 C26.5827737,5.09738343 26.6120302,4.5461528 27.0496467,4.34479266 L34.4138769,1.13076629 C34.7738864,0.956411235 35.1934989,0.956411235 35.5523832,1.13076629 L42.9155057,4.31441195 C43.4150109,4.5461528 43.4150109,5.09738343 42.9740011,5.32914186 Z M33.3912537,18.8489288 L26.6412515,15.2018014 C26.2339991,14.9993161 26,14.6505708 26,14.2467253 L26,6.9209471 C26,6.4867209 26.5557502,6.22459934 26.965253,6.4574654 L34.4689965,10.2486023 L34.4689965,18.4281875 C34.4948773,18.8343186 33.9020115,19.1661681 33.3912537,18.8489288 Z M36.6357523,18.8489288 L43.3857545,15.2018014 C43.7660009,14.9993161 44,14.6505708 44,14.2467077 L44,6.9209471 C44,6.4867209 43.4442498,6.22459934 43.034747,6.4574654 L35.4702576,10.2441014 L35.4702576,18.4225791 C35.4702576,18.8556801 36.0800021,19.213427 36.6323765,18.850054 L36.6357523,18.850054 L36.6357523,18.8489288 Z" id="形状" fill="#BACCE7"></path>
12
- <path d="M68.9740011,56.3291419 L60.9977407,60.2665035 L53.0215155,56.3291419 C52.5827737,56.0973834 52.6120302,55.5461528 53.0496467,55.3447927 L60.4138769,52.1307663 C60.7738864,51.9564112 61.1934989,51.9564112 61.5523832,52.1307663 L68.9155057,55.3144119 C69.4150109,55.5461528 69.4150109,56.0973834 68.9740011,56.3291419 Z M59.3912537,69.8489288 L52.6412515,66.2018014 C52.2339991,65.9993161 52,65.6505708 52,65.2467253 L52,57.9209471 C52,57.4867209 52.5557502,57.2245993 52.965253,57.4574654 L60.4689965,61.2486023 L60.4689965,69.4281875 C60.4948773,69.8343186 59.9020115,70.1661681 59.3912537,69.8489288 Z M62.6357523,69.8489288 L69.3857545,66.2018014 C69.7660009,65.9993161 70,65.6505708 70,65.2467077 L70,57.9209471 C70,57.4867209 69.4442498,57.2245993 69.034747,57.4574654 L61.4702576,61.2441014 L61.4702576,69.4225791 C61.4702576,69.8556801 62.0800021,70.213427 62.6323765,69.850054 L62.6357523,69.850054 L62.6357523,69.8489288 Z" id="形状" fill="#BACCE7"></path>
13
- </g>
14
- </svg>