@riil-frontend/component-topology 2.1.5-dev.3 → 2.1.9

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 (135) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/1.js +2 -2
  3. package/build/2.js +1 -1
  4. package/build/index.css +1 -1
  5. package/build/index.js +37 -37
  6. package/demo/1/345/237/272/346/234/254/usage.md +4 -0
  7. package/demo/1/345/237/272/346/234/254//345/221/212/350/255/246/346/216/250/351/200/201.md +1 -1
  8. package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/233/276/346/240/207.md +1 -1
  9. package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +1 -1
  10. package/demo/2/347/274/226/350/276/221/346/250/241/345/274/217//345/210/206/345/261/202/346/267/273/345/212/240/350/265/204/346/272/220.md +11 -0
  11. package/demo/2/347/274/226/350/276/221/346/250/241/345/274/217//346/226/260/345/273/272/350/277/233/345/205/245/347/274/226/350/276/221/346/250/241/345/274/217.md +11 -0
  12. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//346/233/277/346/215/242/350/212/202/347/202/271.md +1 -1
  13. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//347/246/201/347/224/250/345/205/263/350/201/224/350/265/204/346/272/220.md +1 -1
  14. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//347/274/226/350/276/221/346/250/241/345/274/217/345/217/263/351/224/256/350/217/234/345/215/225.md +1 -1
  15. package/demo/2/347/274/226/350/276/221/346/250/241/345/274/217//350/207/252/345/256/232/344/271/211/345/210/206/345/261/202/346/267/273/345/212/240/350/265/204/346/272/220.md +11 -0
  16. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoFull.jsx +1 -2
  17. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoViewer.jsx +0 -0
  18. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/authorization/v1/api/authority/check/checkFuncAuthentication +0 -0
  19. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/authorization/v1/api/authority/check/checkFuncAuthentication.json +0 -0
  20. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/model/v1/api/getAllDict +0 -0
  21. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/topo/v1/api/alarm.json → 346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/alarm} +0 -0
  22. package/demo/3/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/alarm.json +0 -0
  23. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/once +0 -0
  24. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/once.json +0 -0
  25. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/polling +0 -0
  26. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/polling.json +0 -0
  27. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/auth/permission/2 +0 -0
  28. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/auth/permission/2.json +0 -0
  29. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/menu +0 -0
  30. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/menu.json +0 -0
  31. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/shape +0 -0
  32. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/shape.json +0 -0
  33. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/both/2 +0 -0
  34. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/both/2.json +0 -0
  35. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/relationList +0 -0
  36. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/relationList.json +0 -0
  37. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/webUrl/list +0 -0
  38. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/webUrl/list.json +0 -0
  39. package/demo/3/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +7 -0
  40. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203//345/256/214/346/225/264/346/250/241/345/274/217.md +0 -0
  41. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203//346/230/276/347/244/272/346/250/241/345/274/217.md +0 -0
  42. package/demo/{3 → 4}/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221//345/272/224/347/224/250/351/203/250/347/275/262/346/213/223/346/211/221.md +1 -1
  43. package/demo/{3 → 4}/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221//346/225/260/346/215/256/346/265/201/346/213/223/346/211/221.md +1 -1
  44. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//351/200/211/346/213/251/350/265/204/346/272/220/346/214/211/351/222/256.md +12 -0
  45. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//351/200/211/346/213/251/350/265/204/346/272/220/347/273/204/344/273/266.md +12 -0
  46. package/demo/API/API.md +32 -13
  47. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/cmdb/v1/api/authority/ci/commonQuery +0 -0
  48. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/model/v1/api/getAllDict +0 -0
  49. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/model/v1/api/modelTree +0 -0
  50. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/alarm +0 -0
  51. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/alarm.json +0 -0
  52. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/once +0 -0
  53. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/once.json +0 -0
  54. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/polling +0 -0
  55. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/polling.json +0 -0
  56. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/auth/permission/2 +0 -0
  57. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/auth/permission/2.json +0 -0
  58. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/a.js → demo-mock/basic/topo/v1/api/config} +0 -0
  59. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/menu +0 -0
  60. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/menu.json +0 -0
  61. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/shape +0 -0
  62. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/shape.json +0 -0
  63. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/topo/v1/api/alarm → demo-mock/basic/topo/v1/api/structure/1} +0 -0
  64. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/1 +0 -0
  65. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/2 +0 -0
  66. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/3 +0 -0
  67. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/byCondition/2 +0 -0
  68. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/relationList +0 -0
  69. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/webUrl/list +0 -0
  70. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/webUrl/list.json +0 -0
  71. package/es/common/components/ResourceTable/ResourceTable.js +31 -0
  72. package/es/common/components/ResourceTable/ResourceTable.module.scss +9 -0
  73. package/es/components/ResourceList/ResourceSelect.js +200 -0
  74. package/es/components/ResourceList/ResourceSelectConnect.js +29 -0
  75. package/es/components/ResourceList/index.js +2 -203
  76. package/es/components/ResourceSelect/DefaultResourceSelectDrawer.js +5 -0
  77. package/es/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.js +0 -0
  78. package/es/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.module.scss +0 -0
  79. package/es/components/ResourceSelect/ResourceSelectDrawer.js +51 -0
  80. package/es/components/TopoView/settings/GroupNodeList/ResourceList.js +0 -23
  81. package/es/components/TopoView/settings/GroupNodeList/ResourceSelectButton.js +37 -0
  82. package/es/components/TopoView/settings/LayerSettingsForm.js +11 -5
  83. package/es/components/TopoView/settings/Settings.js +13 -5
  84. package/es/components/TopoView/topoView.js +2 -1
  85. package/es/core/models/TopoApp.js +193 -98
  86. package/es/core/models/TopoGraphView.js +12 -7
  87. package/es/core/models/cache/CiTyeCache.js +6 -4
  88. package/es/models/topoBizMod.js +6 -2
  89. package/es/models/topoMod.js +27 -13
  90. package/es/style.js +0 -2
  91. package/es/utils/htElementUtils.js +18 -1
  92. package/es/utils/topoData.js +2 -0
  93. package/lib/common/components/ResourceTable/ResourceTable.js +48 -0
  94. package/lib/common/components/ResourceTable/ResourceTable.module.scss +9 -0
  95. package/lib/components/ResourceList/ResourceSelect.js +228 -0
  96. package/lib/components/ResourceList/ResourceSelectConnect.js +47 -0
  97. package/lib/components/ResourceList/index.js +2 -222
  98. package/lib/components/ResourceSelect/DefaultResourceSelectDrawer.js +16 -0
  99. package/lib/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.js +0 -0
  100. package/lib/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.module.scss +0 -0
  101. package/lib/components/ResourceSelect/ResourceSelectDrawer.js +68 -0
  102. package/lib/components/TopoView/settings/GroupNodeList/ResourceList.js +0 -25
  103. package/lib/components/TopoView/settings/GroupNodeList/ResourceSelectButton.js +52 -0
  104. package/lib/components/TopoView/settings/LayerSettingsForm.js +12 -8
  105. package/lib/components/TopoView/settings/Settings.js +13 -5
  106. package/lib/components/TopoView/topoView.js +2 -1
  107. package/lib/core/models/TopoApp.js +192 -97
  108. package/lib/core/models/TopoGraphView.js +12 -7
  109. package/lib/core/models/cache/CiTyeCache.js +6 -4
  110. package/lib/models/topoBizMod.js +6 -2
  111. package/lib/models/topoMod.js +27 -13
  112. package/lib/style.js +0 -2
  113. package/lib/utils/htElementUtils.js +20 -1
  114. package/lib/utils/topoData.js +2 -0
  115. package/package.json +3 -3
  116. package/demo/1/345/237/272/346/234/254//346/226/260/345/273/272/350/277/233/345/205/245/347/274/226/350/276/221/346/250/241/345/274/217.md +0 -11
  117. package/demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +0 -7
  118. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/AppInstallTopo.jsx +0 -228
  119. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CreateTopo.jsx +0 -88
  120. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomAlarm.jsx +0 -110
  121. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomAttrAndMetric.jsx +0 -303
  122. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomNodeIcon.jsx +0 -124
  123. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/DataStreamTopo.jsx +0 -188
  124. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/DisableNodeRelateResource.jsx +0 -74
  125. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/EditorContextMenu.jsx +0 -106
  126. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/Metric.jsx +0 -106
  127. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/data1.json +0 -140
  128. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/data2.json +0 -240
  129. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/icon.js +0 -6
  130. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/index.js +0 -19
  131. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/data1.json +0 -145
  132. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/data2.json +0 -106
  133. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/icon.js +0 -6
  134. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/index.js +0 -19
  135. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/request.js +0 -7
@@ -0,0 +1,29 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["store"];
4
+ import React, { useState, useEffect, useRef, useCallback, useImperativeHandle } from 'react';
5
+ import { isAvailableArray } from "@riil-frontend/utils";
6
+ import ResourceList from "./ResourceSelect";
7
+
8
+ function ResourceSelectConnect(props, ref) {
9
+ var pageStore = props.store,
10
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
11
+
12
+ var _pageStore$useModel = pageStore.useModel('ciModel'),
13
+ pageState = _pageStore$useModel[0],
14
+ pageDispatchers = _pageStore$useModel[1];
15
+
16
+ var typeDicts = pageState.typeDicts;
17
+ useEffect(function () {
18
+ if (!isAvailableArray(typeDicts)) {
19
+ pageDispatchers.getTypeDicts();
20
+ }
21
+ }, []);
22
+ return /*#__PURE__*/React.createElement(ResourceList, _extends({
23
+ ref: ref
24
+ }, otherProps, {
25
+ typeDicts: typeDicts
26
+ }));
27
+ }
28
+
29
+ export default /*#__PURE__*/React.forwardRef(ResourceSelectConnect);
@@ -1,203 +1,2 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import React, { useEffect, useImperativeHandle } from 'react';
4
- import _ from 'lodash';
5
- import { isAvailableArray } from '@riil-frontend/utils';
6
- import useNextFormTable from '@ahooksjs/next-form-table';
7
- import useFilterPlugin from '@ahooksjs/use-filter-plugin';
8
- import useSortablePlugin from '@ahooksjs/use-sortable-plugin';
9
- import useSelectionPlugin from '@riil-frontend/component-topology-utils/es/plugins/useSelectionPlugin';
10
- import { fetchCommonQuery } from '@riil-frontend/component-topology-utils/es/services/cmdb';
11
- import { getTitleCell } from '@riil-frontend/component-topology-utils/es/utils/table';
12
- import { DICT } from '@riil-frontend/component-topology-utils/es/utils/storage';
13
- import { formatDataForTable, getIp } from '../../utils/format';
14
- import RiilTable from '../FormTable';
15
- var PRIMARY_KEY = 'ciId';
16
-
17
- var getTableData = /*#__PURE__*/function () {
18
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
19
- var _params$current, current, _params$pageSize, pageSize, _params$sortBy, sortBy, _params$sortOrder, sortOrder, like, typeCode, condition, ciType, data, dataSource;
20
-
21
- return _regeneratorRuntime.wrap(function _callee$(_context) {
22
- while (1) {
23
- switch (_context.prev = _context.next) {
24
- case 0:
25
- _params$current = params.current, current = _params$current === void 0 ? 1 : _params$current, _params$pageSize = params.pageSize, pageSize = _params$pageSize === void 0 ? 20 : _params$pageSize, _params$sortBy = params.sortBy, sortBy = _params$sortBy === void 0 ? 'displayName' : _params$sortBy, _params$sortOrder = params.sortOrder, sortOrder = _params$sortOrder === void 0 ? 'asc' : _params$sortOrder, like = params.like, typeCode = params.typeCode;
26
- condition = 'category(\'resource\')';
27
-
28
- if (like) {
29
- condition = {
30
- conditions: condition,
31
- searchValue: like,
32
- searchIndexArray: ['displayName', 'ipAddress']
33
- };
34
- }
35
-
36
- if (typeCode) {
37
- ciType = typeCode.split(',');
38
-
39
- if (typeof condition === 'string') {
40
- condition = {
41
- conditions: condition,
42
- ciType: ciType
43
- };
44
- } else {
45
- condition.ciType = ciType;
46
- }
47
- }
48
-
49
- _context.next = 6;
50
- return fetchCommonQuery(condition, sortBy, sortOrder, current, pageSize, '', {
51
- usingExtraConditions: false // 绕过权限过滤
52
-
53
- });
54
-
55
- case 6:
56
- data = _context.sent;
57
- dataSource = data.content && data.content.map(function (item) {
58
- var _item$operation;
59
-
60
- return {
61
- ciId: item.id,
62
- displayName: item.attributes.displayName,
63
- ipAddress: item.attributes.ipAddress,
64
- company: item.attributes.company,
65
- typeCode: item.typeCode,
66
- operation: (_item$operation = item.operation) !== null && _item$operation !== void 0 ? _item$operation : null // 权限字段
67
-
68
- };
69
- });
70
- return _context.abrupt("return", formatDataForTable(dataSource, data.total, data.page, data.pageSize));
71
-
72
- case 9:
73
- case "end":
74
- return _context.stop();
75
- }
76
- }
77
- }, _callee);
78
- }));
79
-
80
- return function getTableData(_x) {
81
- return _ref.apply(this, arguments);
82
- };
83
- }();
84
-
85
- var ResourceList = function ResourceList(props, ref) {
86
- var pageStore = props.store;
87
-
88
- var _pageStore$useModel = pageStore.useModel('ciModel'),
89
- pageState = _pageStore$useModel[0],
90
- pageDispatchers = _pageStore$useModel[1];
91
-
92
- var typeDicts = pageState.typeDicts;
93
- useEffect(function () {
94
- if (!isAvailableArray(typeDicts)) {
95
- pageDispatchers.getTypeDicts();
96
- }
97
- }, []);
98
- var initialData = props.initialData,
99
- selectionMode = props.selectionMode,
100
- className = props.className,
101
- children = props.children;
102
- var _initialData$selected = initialData.selected,
103
- selectedByMe = _initialData$selected === void 0 ? [] : _initialData$selected,
104
- _initialData$total = initialData.total,
105
- total = _initialData$total === void 0 ? selectedByMe : _initialData$total;
106
-
107
- var disabledKeys = _.difference(total, selectedByMe);
108
-
109
- var plugins = [useSortablePlugin({
110
- resetWhenQuery: false,
111
- defaultValue: {
112
- displayName: 'asc'
113
- }
114
- }), useFilterPlugin(), useSelectionPlugin({
115
- primaryKey: PRIMARY_KEY,
116
- mode: selectionMode,
117
- checkIsNeedReset: function checkIsNeedReset() {
118
- return false;
119
- },
120
- checkIsDisabled: function checkIsDisabled(record) {
121
- return disabledKeys.some(function (item) {
122
- return item === record[PRIMARY_KEY];
123
- });
124
- }
125
- })];
126
-
127
- var _useNextFormTable = useNextFormTable(getTableData, {
128
- plugins: plugins
129
- }),
130
- formProps = _useNextFormTable.formProps,
131
- tableProps = _useNextFormTable.tableProps,
132
- paginationProps = _useNextFormTable.paginationProps,
133
- getSelectedRowKeys = _useNextFormTable.getSelectedRowKeys,
134
- setSelectedRowKeys = _useNextFormTable.setSelectedRowKeys;
135
-
136
- useEffect(function () {
137
- if (setSelectedRowKeys) {
138
- setSelectedRowKeys(selectedByMe);
139
- }
140
- }, [selectedByMe]);
141
- var selectedKeys = getSelectedRowKeys && getSelectedRowKeys();
142
- useImperativeHandle(ref, function () {
143
- return {
144
- getSelectedData: function getSelectedData() {
145
- return selectedKeys;
146
- }
147
- };
148
- });
149
-
150
- if (selectedKeys) {
151
- paginationProps.checkedLen = selectedKeys.length;
152
- }
153
-
154
- var filters = {
155
- typeCode: typeDicts // company: [],
156
-
157
- };
158
- var columns = [{
159
- title: '设备名称',
160
- dataIndex: 'displayName',
161
- sortable: true,
162
- cell: getTitleCell
163
- }, {
164
- title: 'IP地址',
165
- dataIndex: 'ipAddress',
166
- sortable: true,
167
- cell: function cell(ip) {
168
- return getTitleCell(getIp(ip));
169
- }
170
- }, {
171
- title: '类型',
172
- dataIndex: 'typeCode',
173
- filters: filters.typeCode,
174
- cell: function cell(code) {
175
- var dict = typeDicts && typeDicts.find(function (item) {
176
- return item.value === code;
177
- });
178
- var name = dict && dict.label || code;
179
- return getTitleCell(name);
180
- }
181
- }, {
182
- title: '厂商',
183
- sortable: true,
184
- dataIndex: 'company',
185
- cell: function cell(code) {
186
- var dict = DICT.get(code);
187
- var name = dict && dict.name || code;
188
- return getTitleCell(name);
189
- }
190
- }];
191
- return /*#__PURE__*/React.createElement(RiilTable, {
192
- className: className,
193
- formProps: formProps,
194
- tableProps: tableProps,
195
- paginationProps: paginationProps,
196
- filters: filters,
197
- columns: columns,
198
- showChecked: !!selectionMode,
199
- showPageSizeSelector: true
200
- }, children);
201
- };
202
-
203
- export default /*#__PURE__*/React.forwardRef(ResourceList);
1
+ import ResourceSelectConnect from './ResourceSelectConnect';
2
+ export default ResourceSelectConnect;
@@ -0,0 +1,5 @@
1
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
2
+ export default function DefaultResourceSelectDrawer(props) {
3
+ return /*#__PURE__*/React.createElement("div", null);
4
+ }
5
+ ;
@@ -0,0 +1,51 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["visible", "setVisible", "onAdd", "getTableData", "onOk"];
4
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
5
+ import ResourceTable from "../../common/components/ResourceTable/ResourceTable";
6
+ import Drawer from "../Drawer";
7
+ export default function ResourceSelectDrawer(props) {
8
+ var visible = props.visible,
9
+ setVisible = props.setVisible,
10
+ onAdd = props.onAdd,
11
+ getTableData = props.getTableData,
12
+ onOk = props.onOk,
13
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
14
+
15
+ var tableRef = useRef(); // TODO 默认处理
16
+
17
+ var defaultAddResource = function defaultAddResource() {
18
+ setVisible(false);
19
+ };
20
+
21
+ var handleOk = function handleOk() {
22
+ var selected = tableRef.current.getSelectedData();
23
+
24
+ if (onOk) {
25
+ onOk(selected);
26
+ return;
27
+ }
28
+
29
+ defaultAddResource(selected);
30
+ };
31
+
32
+ var onClose = function onClose() {
33
+ setVisible(false);
34
+ };
35
+
36
+ return /*#__PURE__*/React.createElement(Drawer, {
37
+ title: "\u6DFB\u52A0\u8D44\u6E90",
38
+ visible: visible,
39
+ onSave: handleOk,
40
+ onClose: onClose,
41
+ drawerProps: {
42
+ width: '840px'
43
+ }
44
+ }, /*#__PURE__*/React.createElement(ResourceTable, _extends({
45
+ ref: tableRef,
46
+ typeDicts: []
47
+ }, otherProps, {
48
+ getTableData: getTableData
49
+ })));
50
+ }
51
+ ;
@@ -1,8 +1,6 @@
1
- import _Button from "@alifd/next/es/button";
2
1
  import _List from "@alifd/next/es/list";
3
2
  import _Avatar from "@alifd/next/es/avatar";
4
3
  import React, { useState, useEffect, useRef, useCallback } from 'react';
5
- import SelectResource from './SelectResource';
6
4
  import styles from './ResourceList.module.scss';
7
5
 
8
6
  function ResourceList(props) {
@@ -26,25 +24,4 @@ function ResourceList(props) {
26
24
  }));
27
25
  }
28
26
 
29
- ResourceList.Select = function Select(props) {
30
- var _useState = useState(false),
31
- isSelectResource = _useState[0],
32
- setIsSelectResource = _useState[1];
33
-
34
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, {
35
- text: true,
36
- type: "primary",
37
- onClick: function onClick(e) {
38
- e.stopPropagation();
39
- setIsSelectResource(true);
40
- }
41
- }, "\u9009\u62E9"), /*#__PURE__*/React.createElement(SelectResource // mode="single"
42
- , {
43
- visible: isSelectResource,
44
- onVisibleChange: function onVisibleChange(visible) {
45
- return setIsSelectResource(visible);
46
- }
47
- }));
48
- };
49
-
50
27
  export default ResourceList;
@@ -0,0 +1,37 @@
1
+ import _Button from "@alifd/next/es/button";
2
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
3
+ import ResourceSelectDrawer from "../../../ResourceSelect/ResourceSelectDrawer";
4
+ export default function ResourceSelectButton(props) {
5
+ var topo = props.topo,
6
+ layer = props.layer,
7
+ resourceSelectComponent = props.resourceSelectComponent,
8
+ onAdd = props.onAdd;
9
+
10
+ var _useState = useState(false),
11
+ isSelectResource = _useState[0],
12
+ setIsSelectResource = _useState[1];
13
+
14
+ var ResourceSelectComponent = resourceSelectComponent || ResourceSelectDrawer; // const ResourceSelectComponent = ResourceSelectDrawer;
15
+ // TODO
16
+
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ onClick: function onClick(e) {
19
+ return e.stopPropagation();
20
+ }
21
+ }, /*#__PURE__*/React.createElement(_Button, {
22
+ text: true,
23
+ type: "primary",
24
+ onClick: function onClick(e) {
25
+ e.stopPropagation();
26
+ setIsSelectResource(true);
27
+ }
28
+ }, "\u9009\u62E9"), /*#__PURE__*/React.createElement(ResourceSelectComponent, {
29
+ layer: layer,
30
+ visible: isSelectResource,
31
+ setVisible: setIsSelectResource,
32
+ topo: topo,
33
+ existedIds: [],
34
+ onAdd: onAdd
35
+ }));
36
+ }
37
+ ;
@@ -8,11 +8,9 @@ import _Select from "@alifd/next/es/select";
8
8
  import _Grid from "@alifd/next/es/grid";
9
9
  import _Form from "@alifd/next/es/form";
10
10
  import React, { useState, useEffect } from 'react';
11
- import isEqual from 'lodash/isEqual';
12
11
  import ColorPicker from '../../edit/LinkDynamicStyleSettingDrawer/rule/ColorPicker';
13
- import styles from '../../edit/LinkDynamicStyleSettingDrawer/rule/RuleStyle.module.scss';
14
- import ResourceList from './GroupNodeList/ResourceList';
15
12
  import GroupNodeList from "./GroupNodeList/GroupNodeList";
13
+ import ResourceSelectButton from "./GroupNodeList/ResourceSelectButton";
16
14
  var FormItem = _Form.Item;
17
15
  var Row = _Grid.Row,
18
16
  Col = _Grid.Col;
@@ -80,7 +78,8 @@ function parseValues(values) {
80
78
  export default function LayerSettingsForm(props) {
81
79
  var topo = props.topo,
82
80
  values = props.values,
83
- _onChange = props.onChange;
81
+ _onChange = props.onChange,
82
+ editorProps = props.editorProps;
84
83
 
85
84
  var field = _Field.useField({
86
85
  autoUnmount: false,
@@ -121,7 +120,14 @@ export default function LayerSettingsForm(props) {
121
120
  style: {
122
121
  flex: 1
123
122
  }
124
- }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/React.createElement(ResourceList.Select, null))
123
+ }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/React.createElement(ResourceSelectButton, {
124
+ topo: topo,
125
+ layer: values,
126
+ onAdd: function onAdd() {
127
+ /*TODO 刷新列表 refreshList*/
128
+ },
129
+ resourceSelectComponent: editorProps === null || editorProps === void 0 ? void 0 : editorProps.layerResourceSelectComponent
130
+ }))
125
131
  }, /*#__PURE__*/React.createElement(GroupNodeList, {
126
132
  topo: topo,
127
133
  group: values
@@ -4,16 +4,22 @@ import SettingsForm from './SettingsForm';
4
4
  import LayerSettingsForm from './LayerSettingsForm';
5
5
  import styles from './Settings.module.scss';
6
6
  export default function Settings(props) {
7
+ var _selection$;
8
+
7
9
  var topo = props.topo,
8
- selection = props.selection;
10
+ selection = props.selection,
11
+ editorProps = props.editorProps;
9
12
  var size = selection.length;
13
+ var selectionIds = selection.map(function (item) {
14
+ return item.id;
15
+ }).join(',');
10
16
  useEffect(function () {// const selectionModel = topo.getSelectionModel();
11
17
  // console.info('selection change', selection)
12
18
  }, [selection]);
13
19
  var attrTypes = ['attrObject', 'position', 'styleMap'];
14
20
  var updateElementProperty = useCallback(function (name, value) {
15
- // console.info('updateElementProperty', name, value)
16
- var element = topo.getDataModel().getDataById(selection[0].id);
21
+ // const element = topo.getDataModel().getDataById(selection[0].id);
22
+ var element = topo.getSelectionModel().getFirstData(); // console.info('updateElementProperty', {selection, element, name, value});
17
23
 
18
24
  if (name.startsWith('attrObject.')) {
19
25
  element.setAttr(name.replace('attrObject.', ''), value);
@@ -22,7 +28,7 @@ export default function Settings(props) {
22
28
  } else if (name.startsWith('styleMap.')) {
23
29
  element.setStyle(name.replace('styleMap.', ''), value);
24
30
  }
25
- }, [selection]);
31
+ }, [(_selection$ = selection[0]) === null || _selection$ === void 0 ? void 0 : _selection$.id]);
26
32
 
27
33
  if (!size) {
28
34
  // 未选择元素
@@ -65,8 +71,10 @@ export default function Settings(props) {
65
71
  className: styles.settings
66
72
  }, /*#__PURE__*/React.createElement(Component, {
67
73
  topo: topo,
74
+ selection: selection,
68
75
  values: values,
69
- onChange: updateElementProperty
76
+ onChange: updateElementProperty,
77
+ editorProps: editorProps
70
78
  })));
71
79
  }
72
80
  ;
@@ -214,7 +214,8 @@ var TopoView = function TopoView(props) {
214
214
  }
215
215
  }), isEditMode && /*#__PURE__*/React.createElement(Settings, {
216
216
  topo: topoApp,
217
- selection: selection
217
+ selection: selection,
218
+ editorProps: props.editorProps
218
219
  })), /*#__PURE__*/React.createElement(SingleResDrawer, {
219
220
  visible: showSingleResDrawer,
220
221
  loading: topoLoading,