@lingxiteam/ebe-utils 0.0.25 → 0.0.29

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 (96) hide show
  1. package/es/constants.js +0 -1
  2. package/es/index.js +57 -38
  3. package/es/node/move.d.ts +1 -0
  4. package/es/node/move.js +7 -4
  5. package/es/requestQueue.d.ts +9 -0
  6. package/es/requestQueue.js +59 -0
  7. package/lib/h5public/src/components/common/PreviewFile/index.tsx +3 -7
  8. package/lib/h5public/src/components/factory/package.json +1 -1
  9. package/lib/h5public/src/components/factory/src/BlockSelect/components/CheckBox/index.tsx +14 -4
  10. package/lib/h5public/src/components/factory/src/BlockSelect/components/Icon/index.tsx +4 -4
  11. package/lib/h5public/src/components/factory/src/BlockSelect/index.tsx +13 -21
  12. package/lib/h5public/src/components/factory/src/Button/index.tsx +1 -0
  13. package/lib/h5public/src/components/factory/src/Card/index.less +11 -24
  14. package/lib/h5public/src/components/factory/src/Card/index.tsx +61 -22
  15. package/lib/h5public/src/components/factory/src/DGroup/index.less +7 -3
  16. package/lib/h5public/src/components/factory/src/DformFile/FormFile.tsx +17 -4
  17. package/lib/h5public/src/components/factory/src/DformFile/assets/closeIcon.png +0 -0
  18. package/lib/h5public/src/components/factory/src/DformFile/assets/default.png +0 -0
  19. package/lib/h5public/src/components/factory/src/DformFile/assets/fileName.png +0 -0
  20. package/lib/h5public/src/components/factory/src/DformFile/assets/img.png +0 -0
  21. package/lib/h5public/src/components/factory/src/DformFile/assets/js.png +0 -0
  22. package/lib/h5public/src/components/factory/src/DformFile/assets/pdf.png +0 -0
  23. package/lib/h5public/src/components/factory/src/DformFile/assets/ppt.png +0 -0
  24. package/lib/h5public/src/components/factory/src/DformFile/assets/txt.png +0 -0
  25. package/lib/h5public/src/components/factory/src/DformFile/assets/word.png +0 -0
  26. package/lib/h5public/src/components/factory/src/DformFile/assets/xls.png +0 -0
  27. package/lib/h5public/src/components/factory/src/DformFile/assets/zip.png +0 -0
  28. package/lib/h5public/src/components/factory/src/DynamicDataContainer/YieldMethod.ts +33 -0
  29. package/lib/h5public/src/components/factory/src/DynamicDataContainer/index.less +41 -5
  30. package/lib/h5public/src/components/factory/src/DynamicDataContainer/index.tsx +18 -3
  31. package/lib/h5public/src/components/factory/src/DynamicDataContainer/useDynamicDataContainer.ts +14 -1
  32. package/lib/h5public/src/components/factory/src/DynamicList/index.tsx +4 -2
  33. package/lib/h5public/src/components/factory/src/DynamicTable/Table.tsx +3 -1
  34. package/lib/h5public/src/components/factory/src/Image/BasicImage/index.tsx +36 -1
  35. package/lib/h5public/src/components/factory/src/StackColumn/loader.tsx +1 -1
  36. package/lib/h5public/src/components/factory/src/StaticTabs/index.tsx +1 -1
  37. package/lib/h5public/src/components/factory/src/VerificationCode/index.tsx +14 -3
  38. package/lib/h5public/src/components/factory/src/VideoPlayer/loader.ts +1 -1
  39. package/lib/h5public/src/components/factory/src/utils/CustomModule.tsx +3 -0
  40. package/lib/h5public/src/components/factory/src/utils/hooks/useFormItem.ts +3 -0
  41. package/lib/h5public/src/hooks/usePageForm.ts +29 -3
  42. package/lib/h5public/src/utils/native.ts +94 -0
  43. package/lib/h5public/yarn.lock +19383 -0
  44. package/lib/node/move.d.ts +1 -0
  45. package/lib/node/move.js +6 -3
  46. package/lib/pcpublic/src/components/common/PreviewFile/index.tsx +8 -0
  47. package/lib/pcpublic/src/components/common/PreviewFile/utils.ts +45 -0
  48. package/lib/pcpublic/src/components/pcfactory/package.json +1 -1
  49. package/lib/pcpublic/src/components/pcfactory/src/CollapsePanel/index.tsx +6 -4
  50. package/lib/pcpublic/src/components/pcfactory/src/DynamicDataContainer/YieldMethod.ts +33 -0
  51. package/lib/pcpublic/src/components/pcfactory/src/DynamicDataContainer/index.tsx +18 -3
  52. package/lib/pcpublic/src/components/pcfactory/src/DynamicDataContainer/useDynamicDataContainer.ts +14 -1
  53. package/lib/pcpublic/src/components/pcfactory/src/Img/index.tsx +34 -2
  54. package/lib/pcpublic/src/components/pcfactory/src/LoopList/index.tsx +9 -4
  55. package/lib/pcpublic/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +8 -1
  56. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/index.tsx +39 -13
  57. package/lib/pcpublic/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +22 -14
  58. package/lib/pcpublic/src/components/pcfactory/src/Table/FormatCell/index.tsx +12 -1
  59. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +54 -12
  60. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useColumns.tsx +516 -485
  61. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useCommon.ts +40 -2
  62. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useDataSource.ts +3 -34
  63. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +1 -1
  64. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/usePagination.ts +30 -3
  65. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +37 -13
  66. package/lib/pcpublic/src/components/pcfactory/src/Table/index.tsx +15 -4
  67. package/lib/pcpublic/src/components/pcfactory/src/Tabs/index.tsx +2 -0
  68. package/lib/pcpublic/src/components/pcfactory/src/Tag/index.tsx +2 -2
  69. package/lib/pcpublic/src/components/pcfactory/src/TreeTable/index.tsx +13 -2
  70. package/lib/pcpublic/src/components/pcfactory/src/styles/components/Card.less +1 -1
  71. package/lib/pcpublic/src/components/pcfactory/src/styles/components/FormGroup.less +8 -4
  72. package/lib/pcpublic/src/components/pcfactory/src/styles/components/Icon.less +4 -0
  73. package/lib/pcpublic/src/components/pcfactory/src/styles/components/StdUpload.less +3 -3
  74. package/lib/pcpublic/src/components/pcfactory/src/utils/CustomModule.tsx +3 -0
  75. package/lib/pcpublic/src/components/pcfactory/src/utils/common.ts +15 -0
  76. package/lib/pcpublic/src/hooks/usePageForm.ts +4 -3
  77. package/lib/pcpublic/src/utils/exportCustomData/index.tsx +723 -0
  78. package/lib/pcpublic/src/utils/exportCustomData/tool.ts +399 -0
  79. package/lib/pcpublic/src/utils/messageApi.ts +25 -20
  80. package/lib/pcpublic/yarn.lock +11441 -0
  81. package/lib/public/src/components/ProgressComp/index.tsx +4 -14
  82. package/lib/public/src/hooks/useBaseDataSource.ts +2 -1
  83. package/lib/public/src/hooks/useExportCustomDataFile.ts +4 -0
  84. package/lib/public/src/services/api/engine.ts +19 -0
  85. package/lib/public/src/services/api/index.ts +12 -0
  86. package/lib/public/src/utils/Context/context.tsx +1 -0
  87. package/lib/public/src/utils/cmd.ts +455 -0
  88. package/lib/public/src/utils/historytool.ts +3 -0
  89. package/lib/public/src/utils/lcdpBaseApi.ts +2 -2
  90. package/lib/public/src/utils/platform/utils/fileUtils.ts +12 -11
  91. package/lib/public/src/utils/polyfills.ts +4 -0
  92. package/lib/public/src/utils/popoverUtils.ts +56 -0
  93. package/lib/public/src/utils/service/baseRequest.ts +8 -8
  94. package/lib/public/src/utils/service/urlHelper.ts +2 -0
  95. package/lib/public/src/utils/useComponentHoc.ts +6 -3
  96. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
+ import { EngineApisType } from '@lingxiteam/types';
1
2
  import { useImperativeHandle, useState } from 'react';
2
3
  import { createEmptyRow, EMPTY_ROW_TEMP_KEY_ATTR } from '../utils';
3
4
 
@@ -18,6 +19,7 @@ interface UseCommonCMDAction {
18
19
  setInnerDataSource: Function;
19
20
  setOuterDataSource: Function;
20
21
  onRowSelected: Function;
22
+ engineApis?: EngineApisType;
21
23
  }
22
24
 
23
25
  interface UseCMDActionPropsType extends UseCommonCMDAction {
@@ -59,11 +61,15 @@ const useCMDAction = (props: UseCMDActionPropsType) => {
59
61
  pagination,
60
62
  onRowSaveClick,
61
63
  loadPrint,
64
+ engineApis,
62
65
  } = props;
63
66
 
64
67
  // 表格编辑格式为下拉框时,绑定的服务对应的数据
65
68
  const [colServiceDataForEdit, setColServiceDataForEdit] = useState({});
66
69
 
70
+ // 是否只更新内部数据源,从3.8.1开始只更新内部数据源
71
+ const { tableUpdateInnerDataSource } = engineApis?.compatConfig?.cmd || {};
72
+
67
73
  const { loading, colServiceData } = useCommonCMDAction(props);
68
74
 
69
75
  const validateFormAndScroll = (compId: string, callback: any = () => {}) => {
@@ -88,14 +94,25 @@ const useCMDAction = (props: UseCMDActionPropsType) => {
88
94
  * 加载表格数据(加载完之后,表格就脱离了数据源的控制了)
89
95
  */
90
96
  setTableData: (data: { dataSource: any[]; total: any; current: any }) => {
91
- /**
92
- * 注意,不是直接使用 setInnerDataSource
93
- * 而是通过 setOuterDataSource 间接驱动 -> setInnerDataSource
94
- * 因为需要对数据进行初始化
95
- */
96
- setOuterDataSource(data?.dataSource || []);
97
- setTotal?.(data?.total);
98
- setCurrent?.(data?.current);
97
+ if (tableUpdateInnerDataSource) {
98
+ setInnerDataSource(data?.dataSource || []);
99
+ } else {
100
+ /**
101
+ * 注意,不是直接使用 setInnerDataSource
102
+ * 而是通过 setOuterDataSource 间接驱动 -> setInnerDataSource
103
+ * 因为需要对数据进行初始化
104
+ */
105
+ setOuterDataSource(data?.dataSource || []);
106
+ }
107
+ const isNumber = (num: any) =>
108
+ typeof num === 'number' ||
109
+ (typeof num === 'string' && !isNaN(Number(num)));
110
+ if (isNumber(data?.total)) {
111
+ setTotal?.(data?.total);
112
+ }
113
+ if (isNumber(data?.current)) {
114
+ setCurrent?.(data?.current);
115
+ }
99
116
  },
100
117
 
101
118
  /**
@@ -123,7 +140,20 @@ const useCMDAction = (props: UseCMDActionPropsType) => {
123
140
  * 新增一行空白数据(绑定了数据源/没有绑定数据源通用)
124
141
  */
125
142
  addTableEmptyRow: (updateData: Function, inlineeditnow?: boolean) => {
126
- const newRowData = createEmptyRow();
143
+ const newRowData: any = createEmptyRow();
144
+ if (tableUpdateInnerDataSource) {
145
+ const newRowKey = newRowData[EMPTY_ROW_TEMP_KEY_ATTR];
146
+ newRowData[currentRowKey] = newRowKey;
147
+ delete newRowData[EMPTY_ROW_TEMP_KEY_ATTR];
148
+ setInnerDataSource([newRowData, ...innerDataSource]);
149
+ // 是否开启行编辑
150
+ if (inlineeditnow) {
151
+ // 设置当前行为编辑状态
152
+ setNowEditingData({ ...newRowData });
153
+ setNowInlineEditKey(newRowKey);
154
+ }
155
+ return;
156
+ }
127
157
 
128
158
  // TODO: 正是由于这里的历史需求,导致在表格初始化数据里,需要保留处理空白行的逻辑
129
159
  // 如果表格绑定了数据源,则添加空白数据行时,采用先在数据源中加入空白行的方式,再刷新该表格数据实现
@@ -178,13 +208,18 @@ const useCMDAction = (props: UseCMDActionPropsType) => {
178
208
  },
179
209
 
180
210
  /**
181
- * 新增一行数据(这里新增完后,表格就脱离了数据源的控制了)
211
+ * 新增一行数据
182
212
  */
183
213
  addTableRowData: (newRowData: any) => {
214
+ if (tableUpdateInnerDataSource) {
215
+ setInnerDataSource([newRowData, ...innerDataSource]);
216
+ return;
217
+ }
218
+
184
219
  /**
185
220
  * 注意,不是直接使用 setInnerDataSource
186
221
  * 而是通过 setOuterDataSource 间接驱动 -> setInnerDataSource
187
- * 因为需要对数据进行初始化
222
+ * 因为需要对数据进行初始化, 表格脱离了数据源的控制了
188
223
  */
189
224
  setOuterDataSource([newRowData, ...innerDataSource]);
190
225
  },
@@ -255,12 +290,16 @@ const useCommonCMDAction = (props: UseCommonCMDAction) => {
255
290
  innerDataSource,
256
291
  setInnerDataSource,
257
292
  setOuterDataSource,
293
+ engineApis,
258
294
  } = props;
259
295
 
260
296
  const [loading, setLoading] = useState(false);
261
297
  // 表格字段翻译绑定的服务对应的翻译数据
262
298
  const [colServiceData, setColServiceData] = useState({});
263
299
 
300
+ // 是否只更新内部数据源,从3.8.1开始只更新内部数据源
301
+ const { tableUpdateInnerDataSource } = engineApis?.compatConfig?.cmd || {};
302
+
264
303
  useImperativeHandle(ref, () => ({
265
304
  /**
266
305
  * 加载字段翻译数据
@@ -303,7 +342,10 @@ const useCommonCMDAction = (props: UseCommonCMDAction) => {
303
342
  },
304
343
  clearData: () => {
305
344
  setInnerDataSource([]);
306
- setOuterDataSource([]);
345
+ if (!tableUpdateInnerDataSource) {
346
+ // 3.8.1前,清空表格数据后,会脱离数据源控制
347
+ setOuterDataSource([]);
348
+ }
307
349
  setTotal?.(0);
308
350
  setCurrent?.(1);
309
351
  setCurrentPage?.(1);