@bit-sun/business-component 2.3.21 → 2.3.22

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 (270) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/docs/index.md +21 -21
  9. package/lib/assets/drag.svg +17 -17
  10. package/lib/assets/exportFail.svg +37 -37
  11. package/lib/assets/exportProcessing.svg +28 -28
  12. package/lib/assets/exportSuccess.svg +34 -34
  13. package/lib/assets/label_icon_bottom.svg +25 -25
  14. package/lib/assets/upExport.svg +22 -22
  15. package/package.json +78 -78
  16. package/src/assets/32.svg +27 -27
  17. package/src/assets/addIcon.svg +17 -17
  18. package/src/assets/allfunc.svg +27 -27
  19. package/src/assets/arrowRight.svg +24 -24
  20. package/src/assets/btn-delete.svg +29 -29
  21. package/src/assets/btn-edit.svg +19 -19
  22. package/src/assets/btn-more.svg +17 -17
  23. package/src/assets/btn-submit.svg +19 -19
  24. package/src/assets/caidan.svg +11 -11
  25. package/src/assets/close.svg +26 -26
  26. package/src/assets/drag.svg +17 -17
  27. package/src/assets/exportFail.svg +37 -37
  28. package/src/assets/exportProcessing.svg +28 -28
  29. package/src/assets/exportSuccess.svg +34 -34
  30. package/src/assets/fixed-left-active.svg +11 -11
  31. package/src/assets/fixed-left.svg +15 -15
  32. package/src/assets/fixed-right-active.svg +11 -11
  33. package/src/assets/fixed-right.svg +15 -15
  34. package/src/assets/guanbi.svg +15 -15
  35. package/src/assets/icon-quanping.svg +15 -15
  36. package/src/assets/icon-shezhi.svg +17 -17
  37. package/src/assets/label_icon_bottom.svg +25 -25
  38. package/src/assets/list-no-img.svg +21 -21
  39. package/src/assets/morentouxiang-32.svg +23 -23
  40. package/src/assets/scanning.svg +24 -24
  41. package/src/assets/upExport.svg +22 -22
  42. package/src/common/ENUM.ts +41 -41
  43. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  44. package/src/components/Business/AddSelectBusiness/index.tsx +1060 -895
  45. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  46. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  47. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  48. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  49. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  50. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  51. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  57. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  58. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  59. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  60. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  61. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  62. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  63. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  64. package/src/components/Business/BsLayouts/index.less +79 -79
  65. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  66. package/src/components/Business/BsLayouts/service.ts +10 -10
  67. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  68. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +564 -564
  69. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  70. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -535
  71. package/src/components/Business/BsSulaQueryTable/setting.tsx +852 -852
  72. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  73. package/src/components/Business/BsSulaQueryTable/utils.tsx +690 -690
  74. package/src/components/Business/CommodityEntry/index.md +70 -70
  75. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  76. package/src/components/Business/CommonAlert/index.tsx +23 -23
  77. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  78. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  79. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  80. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  81. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  82. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  83. package/src/components/Business/HomePageWrapper/index.less +33 -33
  84. package/src/components/Business/HomePageWrapper/index.md +45 -45
  85. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  86. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  87. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  88. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  89. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  90. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  91. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  92. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  93. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  94. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  95. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  96. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  97. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  98. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  99. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  100. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  101. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  102. package/src/components/Business/JsonQueryTable/index.less +16 -16
  103. package/src/components/Business/JsonQueryTable/index.md +328 -328
  104. package/src/components/Business/JsonQueryTable/index.tsx +535 -535
  105. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  106. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  107. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  108. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  109. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  110. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  111. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  112. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  113. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  114. package/src/components/Business/SearchSelect/BusinessUtils.ts +1762 -1762
  115. package/src/components/Business/SearchSelect/common.ts +75 -75
  116. package/src/components/Business/SearchSelect/index.md +1329 -1329
  117. package/src/components/Business/SearchSelect/index.tsx +55 -55
  118. package/src/components/Business/SearchSelect/utils.ts +100 -100
  119. package/src/components/Business/StateFlow/index.less +130 -130
  120. package/src/components/Business/StateFlow/index.md +60 -60
  121. package/src/components/Business/StateFlow/index.tsx +29 -29
  122. package/src/components/Business/TreeSearchSelect/index.md +156 -156
  123. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  124. package/src/components/Business/TreeSearchSelect/utils.ts +75 -75
  125. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  126. package/src/components/Business/columnSettingTable/index.less +247 -247
  127. package/src/components/Business/columnSettingTable/index.md +357 -357
  128. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  129. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  130. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  131. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  132. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  133. package/src/components/Business/moreTreeTable/index.less +99 -99
  134. package/src/components/Business/moreTreeTable/index.md +448 -448
  135. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  136. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  137. package/src/components/Functional/AddSelect/helps.ts +79 -14
  138. package/src/components/Functional/AddSelect/index.less +367 -367
  139. package/src/components/Functional/AddSelect/index.md +155 -155
  140. package/src/components/Functional/AddSelect/index.tsx +1170 -1282
  141. package/src/components/Functional/BillEntry/index.less +371 -371
  142. package/src/components/Functional/BillEntry/index.md +39 -39
  143. package/src/components/Functional/BillEntry/index.tsx +772 -772
  144. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  145. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  146. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  147. package/src/components/Functional/DataImport/index.less +63 -63
  148. package/src/components/Functional/DataImport/index.md +44 -44
  149. package/src/components/Functional/DataImport/index.tsx +695 -695
  150. package/src/components/Functional/DataValidation/index.less +63 -63
  151. package/src/components/Functional/DataValidation/index.md +39 -39
  152. package/src/components/Functional/DataValidation/index.tsx +687 -687
  153. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  154. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  155. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  156. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  157. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  158. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  159. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  160. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  161. package/src/components/Functional/SearchSelect/index.less +115 -115
  162. package/src/components/Functional/SearchSelect/index.md +141 -141
  163. package/src/components/Functional/SearchSelect/index.tsx +879 -879
  164. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  165. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  166. package/src/components/Functional/TreeSearchSelect/index.tsx +199 -199
  167. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  168. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  169. package/src/components/Solution/RuleComponent/index.js +2032 -2032
  170. package/src/components/Solution/RuleComponent/index.less +230 -230
  171. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  172. package/src/components/Solution/RuleComponent/ruleFiled.js +2107 -2107
  173. package/src/components/Solution/RuleComponent/services.ts +13 -13
  174. package/src/components/Solution/RuleComponent/util.js +139 -139
  175. package/src/index.ts +38 -38
  176. package/src/plugin/TableColumnSetting/index.less +247 -247
  177. package/src/plugin/TableColumnSetting/index.md +50 -50
  178. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  179. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  180. package/src/styles/bsDefault.less +1912 -1912
  181. package/src/utils/CheckOneUser/index.md +39 -39
  182. package/src/utils/CheckOneUser/index.ts +51 -51
  183. package/src/utils/LocalstorageUtils.ts +95 -95
  184. package/src/utils/TableUtils.tsx +18 -18
  185. package/src/utils/checkUtils.ts +39 -39
  186. package/src/utils/enumConfig.ts +11 -11
  187. package/src/utils/getFormMode.js +12 -12
  188. package/src/utils/index.ts +4 -4
  189. package/src/utils/requestUtils.ts +34 -34
  190. package/src/utils/serialize.js +7 -7
  191. package/src/utils/utils.ts +212 -212
  192. package/tsconfig.json +29 -29
  193. package/typings.d.ts +4 -4
  194. package/dist/common/ENUM.d.ts +0 -40
  195. package/dist/components/Business/AddSelectBusiness/index.d.ts +0 -3
  196. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +0 -4
  197. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +0 -4
  198. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +0 -4
  199. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +0 -17
  200. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +0 -30
  201. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +0 -3
  202. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +0 -2
  203. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +0 -4
  204. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +0 -4
  205. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +0 -2
  206. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +0 -8
  207. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +0 -8
  208. package/dist/components/Business/BsLayouts/index.d.ts +0 -18
  209. package/dist/components/Business/BsLayouts/service.d.ts +0 -1
  210. package/dist/components/Business/BsLayouts/utils.d.ts +0 -10
  211. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +0 -60
  212. package/dist/components/Business/BsSulaQueryTable/index.d.ts +0 -2
  213. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +0 -60
  214. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +0 -98
  215. package/dist/components/Business/CommodityEntry/index.d.ts +0 -2
  216. package/dist/components/Business/CommonAlert/index.d.ts +0 -3
  217. package/dist/components/Business/CommonGuideWrapper/index.d.ts +0 -6
  218. package/dist/components/Business/DetailPageWrapper/index.d.ts +0 -9
  219. package/dist/components/Business/DetailPageWrapper/utils.d.ts +0 -8
  220. package/dist/components/Business/HomePageWrapper/index.d.ts +0 -3
  221. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +0 -2
  222. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +0 -2
  223. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +0 -6
  224. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +0 -2
  225. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +0 -2
  226. package/dist/components/Business/JsonQueryTable/function.d.ts +0 -37
  227. package/dist/components/Business/JsonQueryTable/index.d.ts +0 -4
  228. package/dist/components/Business/JsonQueryTable/static.d.ts +0 -41
  229. package/dist/components/Business/SearchSelect/BusinessUtils.d.ts +0 -5
  230. package/dist/components/Business/SearchSelect/common.d.ts +0 -25
  231. package/dist/components/Business/SearchSelect/index.d.ts +0 -3
  232. package/dist/components/Business/SearchSelect/utils.d.ts +0 -5
  233. package/dist/components/Business/StateFlow/index.d.ts +0 -3
  234. package/dist/components/Business/TreeSearchSelect/index.d.ts +0 -3
  235. package/dist/components/Business/TreeSearchSelect/utils.d.ts +0 -4
  236. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +0 -54
  237. package/dist/components/Business/columnSettingTable/index.d.ts +0 -16
  238. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +0 -17
  239. package/dist/components/Business/columnSettingTable/utils.d.ts +0 -8
  240. package/dist/components/Business/moreTreeTable/FixedScrollBar.d.ts +0 -3
  241. package/dist/components/Business/moreTreeTable/hooks/useSticky.d.ts +0 -8
  242. package/dist/components/Business/moreTreeTable/index.d.ts +0 -4
  243. package/dist/components/Business/moreTreeTable/utils.d.ts +0 -9
  244. package/dist/components/Functional/AddSelect/helps.d.ts +0 -1
  245. package/dist/components/Functional/AddSelect/index.d.ts +0 -3
  246. package/dist/components/Functional/BillEntry/index.d.ts +0 -4
  247. package/dist/components/Functional/BsAntdSula/BsCascader/index.d.ts +0 -18
  248. package/dist/components/Functional/BsAntdSula/index.d.ts +0 -1
  249. package/dist/components/Functional/DataImport/index.d.ts +0 -144
  250. package/dist/components/Functional/DataValidation/index.d.ts +0 -144
  251. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +0 -12
  252. package/dist/components/Functional/QueryMutipleInput/index.d.ts +0 -5
  253. package/dist/components/Functional/SearchSelect/index.d.ts +0 -4
  254. package/dist/components/Functional/SearchSelect/utils.d.ts +0 -1
  255. package/dist/components/Functional/TreeSearchSelect/index.d.ts +0 -2
  256. package/dist/components/Solution/RuleComponent/Formula.d.ts +0 -8
  257. package/dist/components/Solution/RuleComponent/services.d.ts +0 -1
  258. package/dist/index.d.ts +0 -28
  259. package/dist/index.esm.js +0 -30692
  260. package/dist/index.js +0 -30739
  261. package/dist/plugin/TableColumnSetting/index.d.ts +0 -64
  262. package/dist/plugin/TableColumnSetting/utils.d.ts +0 -1
  263. package/dist/utils/CheckOneUser/index.d.ts +0 -2
  264. package/dist/utils/LocalstorageUtils.d.ts +0 -17
  265. package/dist/utils/TableUtils.d.ts +0 -11
  266. package/dist/utils/checkUtils.d.ts +0 -3
  267. package/dist/utils/enumConfig.d.ts +0 -12
  268. package/dist/utils/index.d.ts +0 -4
  269. package/dist/utils/requestUtils.d.ts +0 -1
  270. package/dist/utils/utils.d.ts +0 -23
@@ -1,124 +1,124 @@
1
- // @ts-nocheck
2
- import { parse } from '@babel/parser';
3
- import { visit } from 'ast-types';
4
-
5
- function getConfigNode(data) {
6
- let configNode;
7
-
8
- visit(parse(data), {
9
- visitIdentifier: path => {
10
- if (configNode) {
11
- return false;
12
- }
13
- const name = path.getValueProperty('name');
14
- if (name === 'config') {
15
- const node = path.parentPath.getValueProperty('init');
16
- if (node) {
17
- configNode = node;
18
- }
19
- }
20
- return false;
21
- },
22
- });
23
-
24
- return configNode;
25
- }
26
-
27
- export { getConfigNode };
28
-
29
- function locToPositon(data) {
30
- const { start, end } = data;
31
- const { line: startLine, column: startCol } = start;
32
- const { line: endLine, column: endCol } = end;
33
- const position = [startLine, startCol + 1, endLine, endCol + 1];
34
- return position;
35
- }
36
-
37
- export default function createTreeData(data) {
38
- if (!data) return;
39
-
40
- const { loc, properties = [] } = data;
41
- const astTree = properties.map(node => {
42
- if (!node) return;
43
- const { key, value, loc, type } = node;
44
- // 直接使用value类型 字符串 数值 布尔值
45
- const valueType = [
46
- 'StringLiteral',
47
- 'NumericLiteral',
48
- 'BooleanLiteral',
49
- 'ConditionalExpression',
50
- 'MemberExpression',
51
- ];
52
- const objectType = ['ObjectExpression'];
53
- const arrayType = ['ArrayExpression'];
54
- const funcType = ['ArrowFunctionExpression', 'FunctionExpression'];
55
- const paramsType = ['Identifier', 'ThisExpression'];
56
-
57
- const position = locToPositon(loc);
58
-
59
- const name = key?.name || key?.value;
60
-
61
- // 方法的快捷表示法
62
- if (type === 'ObjectMethod') {
63
- return {
64
- name,
65
- value: null,
66
- loc: position,
67
- };
68
- }
69
-
70
- if (valueType.includes(value.type)) {
71
- return {
72
- name,
73
- value: value.value,
74
- loc: position,
75
- };
76
- }
77
-
78
- if (objectType.includes(value.type)) {
79
- return {
80
- name,
81
- value: null,
82
- loc: position,
83
- children: createTreeData(value),
84
- type: 'object',
85
- };
86
- }
87
-
88
- if (arrayType.includes(value.type)) {
89
- return {
90
- name,
91
- value: null,
92
- loc: position,
93
- children: value.elements.map((v, idx) => {
94
- return {
95
- name: idx,
96
- value: null,
97
- type: 'object',
98
- loc: locToPositon(v.loc),
99
- children: createTreeData(v),
100
- };
101
- }),
102
- type: 'array',
103
- };
104
- }
105
-
106
- if (funcType.includes(value.type)) {
107
- return {
108
- name,
109
- value: null,
110
- loc: position,
111
- };
112
- }
113
-
114
- if (paramsType.includes(value.type)) {
115
- return {
116
- name,
117
- value: null,
118
- loc: position,
119
- };
120
- }
121
- });
122
-
123
- return astTree;
124
- }
1
+ // @ts-nocheck
2
+ import { parse } from '@babel/parser';
3
+ import { visit } from 'ast-types';
4
+
5
+ function getConfigNode(data) {
6
+ let configNode;
7
+
8
+ visit(parse(data), {
9
+ visitIdentifier: path => {
10
+ if (configNode) {
11
+ return false;
12
+ }
13
+ const name = path.getValueProperty('name');
14
+ if (name === 'config') {
15
+ const node = path.parentPath.getValueProperty('init');
16
+ if (node) {
17
+ configNode = node;
18
+ }
19
+ }
20
+ return false;
21
+ },
22
+ });
23
+
24
+ return configNode;
25
+ }
26
+
27
+ export { getConfigNode };
28
+
29
+ function locToPositon(data) {
30
+ const { start, end } = data;
31
+ const { line: startLine, column: startCol } = start;
32
+ const { line: endLine, column: endCol } = end;
33
+ const position = [startLine, startCol + 1, endLine, endCol + 1];
34
+ return position;
35
+ }
36
+
37
+ export default function createTreeData(data) {
38
+ if (!data) return;
39
+
40
+ const { loc, properties = [] } = data;
41
+ const astTree = properties.map(node => {
42
+ if (!node) return;
43
+ const { key, value, loc, type } = node;
44
+ // 直接使用value类型 字符串 数值 布尔值
45
+ const valueType = [
46
+ 'StringLiteral',
47
+ 'NumericLiteral',
48
+ 'BooleanLiteral',
49
+ 'ConditionalExpression',
50
+ 'MemberExpression',
51
+ ];
52
+ const objectType = ['ObjectExpression'];
53
+ const arrayType = ['ArrayExpression'];
54
+ const funcType = ['ArrowFunctionExpression', 'FunctionExpression'];
55
+ const paramsType = ['Identifier', 'ThisExpression'];
56
+
57
+ const position = locToPositon(loc);
58
+
59
+ const name = key?.name || key?.value;
60
+
61
+ // 方法的快捷表示法
62
+ if (type === 'ObjectMethod') {
63
+ return {
64
+ name,
65
+ value: null,
66
+ loc: position,
67
+ };
68
+ }
69
+
70
+ if (valueType.includes(value.type)) {
71
+ return {
72
+ name,
73
+ value: value.value,
74
+ loc: position,
75
+ };
76
+ }
77
+
78
+ if (objectType.includes(value.type)) {
79
+ return {
80
+ name,
81
+ value: null,
82
+ loc: position,
83
+ children: createTreeData(value),
84
+ type: 'object',
85
+ };
86
+ }
87
+
88
+ if (arrayType.includes(value.type)) {
89
+ return {
90
+ name,
91
+ value: null,
92
+ loc: position,
93
+ children: value.elements.map((v, idx) => {
94
+ return {
95
+ name: idx,
96
+ value: null,
97
+ type: 'object',
98
+ loc: locToPositon(v.loc),
99
+ children: createTreeData(v),
100
+ };
101
+ }),
102
+ type: 'array',
103
+ };
104
+ }
105
+
106
+ if (funcType.includes(value.type)) {
107
+ return {
108
+ name,
109
+ value: null,
110
+ loc: position,
111
+ };
112
+ }
113
+
114
+ if (paramsType.includes(value.type)) {
115
+ return {
116
+ name,
117
+ value: null,
118
+ loc: position,
119
+ };
120
+ }
121
+ });
122
+
123
+ return astTree;
124
+ }
@@ -1,29 +1,29 @@
1
- import React from 'react';
2
- import CompactArrayView from '../component/compactArrayView';
3
- import CompactObjectView from '../component/compactObjectView';
4
-
5
- function iconRender(data) {
6
- const { name, type, children, toggled } = data;
7
- if (toggled) {
8
- return name;
9
- }
10
- if (type === 'array') {
11
- return (
12
- <div>
13
- <span>{name}</span>
14
- <CompactArrayView array={children} />
15
- </div>
16
- );
17
- }
18
- if (type === 'object') {
19
- return (
20
- <div>
21
- <span>{name}</span>
22
- <CompactObjectView object={children} />
23
- </div>
24
- );
25
- }
26
- return name;
27
- }
28
-
29
- export default iconRender;
1
+ import React from 'react';
2
+ import CompactArrayView from '../component/compactArrayView';
3
+ import CompactObjectView from '../component/compactObjectView';
4
+
5
+ function iconRender(data) {
6
+ const { name, type, children, toggled } = data;
7
+ if (toggled) {
8
+ return name;
9
+ }
10
+ if (type === 'array') {
11
+ return (
12
+ <div>
13
+ <span>{name}</span>
14
+ <CompactArrayView array={children} />
15
+ </div>
16
+ );
17
+ }
18
+ if (type === 'object') {
19
+ return (
20
+ <div>
21
+ <span>{name}</span>
22
+ <CompactObjectView object={children} />
23
+ </div>
24
+ );
25
+ }
26
+ return name;
27
+ }
28
+
29
+ export default iconRender;
@@ -1,22 +1,22 @@
1
- import React from 'react';
2
-
3
- export default data => {
4
- const { type, name } = data;
5
-
6
- const pluginTypes = ['render', 'action', 'type', 'container', 'validator'];
7
- if (pluginTypes.includes(name)) {
8
- return <div className="codicon codicon-symbol-method"></div>;
9
- }
10
-
11
- if (name === 'fields' || name === 'columns') {
12
- return (
13
- <div className="codicon codicon-color-gold-6 codicon-symbol-array"> </div>
14
- );
15
- }
16
-
17
- if (typeof name === 'number' && type === 'object') {
18
- return <div className="codicon codicon-symbol-variable"></div>;
19
- }
20
-
21
- return <div className="codicon codicon-symbol-property"> </div>;
22
- };
1
+ import React from 'react';
2
+
3
+ export default data => {
4
+ const { type, name } = data;
5
+
6
+ const pluginTypes = ['render', 'action', 'type', 'container', 'validator'];
7
+ if (pluginTypes.includes(name)) {
8
+ return <div className="codicon codicon-symbol-method"></div>;
9
+ }
10
+
11
+ if (name === 'fields' || name === 'columns') {
12
+ return (
13
+ <div className="codicon codicon-color-gold-6 codicon-symbol-array"> </div>
14
+ );
15
+ }
16
+
17
+ if (typeof name === 'number' && type === 'object') {
18
+ return <div className="codicon codicon-symbol-variable"></div>;
19
+ }
20
+
21
+ return <div className="codicon codicon-symbol-property"> </div>;
22
+ };
@@ -1,116 +1,116 @@
1
- import React, { useEffect, useState } from 'react';
2
- import isArray from 'lodash/isArray';
3
- import cx from 'classnames';
4
-
5
- function TreeNode(props) {
6
- const {
7
- data,
8
- nameRender,
9
- iconRender,
10
- level,
11
- contextMenuRender,
12
- activeLine,
13
- } = props;
14
- const [nodeData, setNodeData] = useState(data);
15
- const isDirectory = !!nodeData.children;
16
-
17
- const handleClick = () => {
18
- const { onToggle, onSelect } = props;
19
- const newNodeData = { ...nodeData };
20
- // newNodeData.active = true;
21
- if (newNodeData.children) {
22
- newNodeData.toggled = !nodeData.toggled;
23
- }
24
- setNodeData(newNodeData);
25
- if (onSelect) {
26
- onSelect(newNodeData, !!nodeData.children);
27
- }
28
- };
29
-
30
- useEffect(() => {
31
- setNodeData(data);
32
- }, [activeLine]);
33
-
34
- const renderChildren = level => {
35
- const {
36
- onToggle,
37
- onSelect,
38
- nameRender,
39
- iconRender,
40
- contextMenuRender,
41
- } = props;
42
-
43
- if (nodeData.loading) {
44
- return <span>loading...</span>;
45
- }
46
-
47
- let children = nodeData.children;
48
- if (!isArray(children)) {
49
- children = children ? [children] : [];
50
- }
51
-
52
- return (
53
- <div>
54
- {children.map((child, index) => (
55
- <TreeNode
56
- onToggle={onToggle}
57
- onSelect={onSelect}
58
- key={child.name || index}
59
- data={child}
60
- nameRender={nameRender}
61
- iconRender={iconRender}
62
- contextMenuRender={contextMenuRender}
63
- level={level}
64
- activeLine={activeLine}
65
- />
66
- ))}
67
- </div>
68
- );
69
- };
70
-
71
- let blockNode = (
72
- <div
73
- className={cx(
74
- 'si-tree-node-block',
75
- nodeData.active && 'si-tree-node-block-actived',
76
- )}
77
- onClick={handleClick}
78
- >
79
- <div
80
- style={{
81
- paddingLeft: `${isDirectory ? level : level + 1}em`,
82
- display: 'flex',
83
- }}
84
- ></div>
85
- {isDirectory ? (
86
- <div
87
- className={cx(
88
- 'si-tree-node-switcher codicon',
89
- nodeData.toggled ? 'codicon-chevron-down' : 'codicon-chevron-right',
90
- )}
91
- />
92
- ) : (
93
- <div style={{ paddingLeft: 4 }} />
94
- )}
95
- {iconRender ? (
96
- <div className="si-tree-node-icon">{iconRender(nodeData)}</div>
97
- ) : null}
98
- <div className="si-tree-node-name">
99
- {nameRender ? nameRender(nodeData) : nodeData.name}
100
- </div>
101
- </div>
102
- );
103
-
104
- if (contextMenuRender) {
105
- blockNode = contextMenuRender(nodeData, blockNode);
106
- }
107
-
108
- return (
109
- <div className="si-tree-node">
110
- {blockNode}
111
- {nodeData.toggled ? renderChildren(level + 1) : null}
112
- </div>
113
- );
114
- }
115
-
116
- export default TreeNode;
1
+ import React, { useEffect, useState } from 'react';
2
+ import isArray from 'lodash/isArray';
3
+ import cx from 'classnames';
4
+
5
+ function TreeNode(props) {
6
+ const {
7
+ data,
8
+ nameRender,
9
+ iconRender,
10
+ level,
11
+ contextMenuRender,
12
+ activeLine,
13
+ } = props;
14
+ const [nodeData, setNodeData] = useState(data);
15
+ const isDirectory = !!nodeData.children;
16
+
17
+ const handleClick = () => {
18
+ const { onToggle, onSelect } = props;
19
+ const newNodeData = { ...nodeData };
20
+ // newNodeData.active = true;
21
+ if (newNodeData.children) {
22
+ newNodeData.toggled = !nodeData.toggled;
23
+ }
24
+ setNodeData(newNodeData);
25
+ if (onSelect) {
26
+ onSelect(newNodeData, !!nodeData.children);
27
+ }
28
+ };
29
+
30
+ useEffect(() => {
31
+ setNodeData(data);
32
+ }, [activeLine]);
33
+
34
+ const renderChildren = level => {
35
+ const {
36
+ onToggle,
37
+ onSelect,
38
+ nameRender,
39
+ iconRender,
40
+ contextMenuRender,
41
+ } = props;
42
+
43
+ if (nodeData.loading) {
44
+ return <span>loading...</span>;
45
+ }
46
+
47
+ let children = nodeData.children;
48
+ if (!isArray(children)) {
49
+ children = children ? [children] : [];
50
+ }
51
+
52
+ return (
53
+ <div>
54
+ {children.map((child, index) => (
55
+ <TreeNode
56
+ onToggle={onToggle}
57
+ onSelect={onSelect}
58
+ key={child.name || index}
59
+ data={child}
60
+ nameRender={nameRender}
61
+ iconRender={iconRender}
62
+ contextMenuRender={contextMenuRender}
63
+ level={level}
64
+ activeLine={activeLine}
65
+ />
66
+ ))}
67
+ </div>
68
+ );
69
+ };
70
+
71
+ let blockNode = (
72
+ <div
73
+ className={cx(
74
+ 'si-tree-node-block',
75
+ nodeData.active && 'si-tree-node-block-actived',
76
+ )}
77
+ onClick={handleClick}
78
+ >
79
+ <div
80
+ style={{
81
+ paddingLeft: `${isDirectory ? level : level + 1}em`,
82
+ display: 'flex',
83
+ }}
84
+ ></div>
85
+ {isDirectory ? (
86
+ <div
87
+ className={cx(
88
+ 'si-tree-node-switcher codicon',
89
+ nodeData.toggled ? 'codicon-chevron-down' : 'codicon-chevron-right',
90
+ )}
91
+ />
92
+ ) : (
93
+ <div style={{ paddingLeft: 4 }} />
94
+ )}
95
+ {iconRender ? (
96
+ <div className="si-tree-node-icon">{iconRender(nodeData)}</div>
97
+ ) : null}
98
+ <div className="si-tree-node-name">
99
+ {nameRender ? nameRender(nodeData) : nodeData.name}
100
+ </div>
101
+ </div>
102
+ );
103
+
104
+ if (contextMenuRender) {
105
+ blockNode = contextMenuRender(nodeData, blockNode);
106
+ }
107
+
108
+ return (
109
+ <div className="si-tree-node">
110
+ {blockNode}
111
+ {nodeData.toggled ? renderChildren(level + 1) : null}
112
+ </div>
113
+ );
114
+ }
115
+
116
+ export default TreeNode;
@@ -1,12 +1,12 @@
1
- import React from 'react';
2
- import { Drawer } from 'antd';
3
-
4
- export default (props:any) => {
5
- const { children, ...restProps } = props;
6
-
7
- return (
8
- <Drawer mask closable={false} forceRender {...restProps}>
9
- {children}
10
- </Drawer>
11
- );
12
- };
1
+ import React from 'react';
2
+ import { Drawer } from 'antd';
3
+
4
+ export default (props:any) => {
5
+ const { children, ...restProps } = props;
6
+
7
+ return (
8
+ <Drawer mask closable={false} forceRender {...restProps}>
9
+ {children}
10
+ </Drawer>
11
+ );
12
+ };