@nokecy/qc-ui-components 2.0.0-beta.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/cjs/ConfirmPro/index.d.ts +12 -9
  2. package/dist/cjs/ConfirmPro/index.js +11 -34
  3. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +422 -156
  4. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
  5. package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
  6. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
  7. package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
  8. package/dist/cjs/ag-grid-plus/density.js +52 -0
  9. package/dist/cjs/ag-grid-plus/index.less +36 -0
  10. package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
  11. package/dist/cjs/ag-grid-plus/interface.js +1 -1
  12. package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
  13. package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
  14. package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
  15. package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
  16. package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
  17. package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
  18. package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
  19. package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
  20. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
  21. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
  22. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
  23. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
  24. package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
  25. package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
  26. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
  27. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
  28. package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
  29. package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
  30. package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
  31. package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
  32. package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
  33. package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
  34. package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
  35. package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
  36. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
  37. package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
  38. package/dist/cjs/ag-grid-plus/theme.js +31 -6
  39. package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
  40. package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
  41. package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
  42. package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
  43. package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
  44. package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
  45. package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
  46. package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
  47. package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
  48. package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
  49. package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
  50. package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
  51. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
  52. package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
  53. package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
  54. package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
  55. package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
  56. package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
  57. package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
  58. package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
  59. package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
  60. package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
  61. package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
  62. package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
  63. package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
  64. package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
  65. package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
  66. package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
  67. package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
  68. package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
  69. package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
  70. package/dist/cjs/ag-grid-plus/utils.js +3 -2
  71. package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
  72. package/dist/cjs/array-table/arrayAddBtn.js +2 -2
  73. package/dist/cjs/array-table/autoHeight.d.ts +18 -0
  74. package/dist/cjs/array-table/autoHeight.js +30 -0
  75. package/dist/cjs/array-table/batchRemove.d.ts +2 -2
  76. package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
  77. package/dist/cjs/array-table/cellEditorMarker.js +92 -0
  78. package/dist/cjs/array-table/errorLocator.d.ts +29 -0
  79. package/dist/cjs/array-table/errorLocator.js +101 -0
  80. package/dist/cjs/array-table/hooks.d.ts +52 -4
  81. package/dist/cjs/array-table/hooks.js +251 -18
  82. package/dist/cjs/array-table/index.d.ts +6 -0
  83. package/dist/cjs/array-table/index.js +167 -23
  84. package/dist/cjs/array-table/interface.d.ts +22 -0
  85. package/dist/cjs/array-table/preview.js +39 -5
  86. package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
  87. package/dist/cjs/array-table/rowFeedback.js +8 -8
  88. package/dist/cjs/array-table/summary.d.ts +25 -0
  89. package/dist/cjs/array-table/summary.js +70 -0
  90. package/dist/cjs/array-table/theme.d.ts +35 -5
  91. package/dist/cjs/array-table/theme.js +49 -12
  92. package/dist/cjs/array-table/title.d.ts +3 -0
  93. package/dist/cjs/array-table/title.js +29 -0
  94. package/dist/cjs/array-table/utils.d.ts +2 -1
  95. package/dist/cjs/array-table/utils.js +94 -23
  96. package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
  97. package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
  98. package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
  99. package/dist/cjs/deleteConfirm/index.d.ts +14 -0
  100. package/dist/cjs/deleteConfirm/index.js +73 -12
  101. package/dist/cjs/dialogSelect/index.d.ts +19 -0
  102. package/dist/cjs/dialogSelect/index.js +189 -15
  103. package/dist/cjs/dialogSelect/index.less +18 -0
  104. package/dist/cjs/documentPage/documentPage.d.ts +6 -3
  105. package/dist/cjs/documentPage/documentPage.js +23 -8
  106. package/dist/cjs/documentPage/index.d.ts +2 -0
  107. package/dist/cjs/documentPage/index.js +19 -0
  108. package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
  109. package/dist/cjs/documentPage/leaveGuard.js +91 -0
  110. package/dist/cjs/draggableModal/index.d.ts +24 -1
  111. package/dist/cjs/draggableModal/index.js +36 -6
  112. package/dist/cjs/fullScreenAlert/index.less +10 -10
  113. package/dist/cjs/index.d.ts +2 -0
  114. package/dist/cjs/index.js +15 -0
  115. package/dist/cjs/readPretty/arrayTable.js +5 -1
  116. package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
  117. package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
  118. package/dist/cjs/scanCollect/index.d.ts +4 -0
  119. package/dist/cjs/scanCollect/index.js +14 -0
  120. package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
  121. package/dist/cjs/scanCollect/scanSound.js +91 -0
  122. package/dist/esm/ConfirmPro/index.d.ts +12 -9
  123. package/dist/esm/ConfirmPro/index.js +11 -34
  124. package/dist/esm/ag-grid-plus/ag-gridPlus.js +423 -156
  125. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
  126. package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
  127. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
  128. package/dist/esm/ag-grid-plus/density.d.ts +25 -0
  129. package/dist/esm/ag-grid-plus/density.js +45 -0
  130. package/dist/esm/ag-grid-plus/index.less +36 -0
  131. package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
  132. package/dist/esm/ag-grid-plus/interface.js +2 -0
  133. package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
  134. package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
  135. package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
  136. package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
  137. package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
  138. package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
  139. package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
  140. package/dist/esm/ag-grid-plus/rowColors.js +50 -0
  141. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
  142. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
  143. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
  144. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
  145. package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
  146. package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
  147. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
  148. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
  149. package/dist/esm/ag-grid-plus/setting/index.js +6 -15
  150. package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
  151. package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
  152. package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
  153. package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
  154. package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
  155. package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
  156. package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
  157. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
  158. package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
  159. package/dist/esm/ag-grid-plus/theme.js +31 -6
  160. package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
  161. package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
  162. package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
  163. package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
  164. package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
  165. package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
  166. package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
  167. package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
  168. package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
  169. package/dist/esm/ag-grid-plus/types.d.ts +6 -0
  170. package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
  171. package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
  172. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
  173. package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
  174. package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
  175. package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
  176. package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
  177. package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
  178. package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
  179. package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
  180. package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
  181. package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
  182. package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
  183. package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
  184. package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
  185. package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
  186. package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
  187. package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
  188. package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
  189. package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
  190. package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
  191. package/dist/esm/ag-grid-plus/utils.js +3 -2
  192. package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
  193. package/dist/esm/array-table/arrayAddBtn.js +1 -1
  194. package/dist/esm/array-table/autoHeight.d.ts +18 -0
  195. package/dist/esm/array-table/autoHeight.js +25 -0
  196. package/dist/esm/array-table/batchRemove.d.ts +2 -2
  197. package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
  198. package/dist/esm/array-table/cellEditorMarker.js +84 -0
  199. package/dist/esm/array-table/errorLocator.d.ts +29 -0
  200. package/dist/esm/array-table/errorLocator.js +95 -0
  201. package/dist/esm/array-table/hooks.d.ts +52 -4
  202. package/dist/esm/array-table/hooks.js +251 -17
  203. package/dist/esm/array-table/index.d.ts +6 -0
  204. package/dist/esm/array-table/index.js +170 -25
  205. package/dist/esm/array-table/interface.d.ts +22 -0
  206. package/dist/esm/array-table/preview.js +43 -7
  207. package/dist/esm/array-table/rowFeedback.d.ts +2 -2
  208. package/dist/esm/array-table/rowFeedback.js +8 -8
  209. package/dist/esm/array-table/summary.d.ts +25 -0
  210. package/dist/esm/array-table/summary.js +66 -0
  211. package/dist/esm/array-table/theme.d.ts +35 -5
  212. package/dist/esm/array-table/theme.js +47 -12
  213. package/dist/esm/array-table/title.d.ts +3 -0
  214. package/dist/esm/array-table/title.js +24 -0
  215. package/dist/esm/array-table/utils.d.ts +2 -1
  216. package/dist/esm/array-table/utils.js +93 -22
  217. package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
  218. package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
  219. package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
  220. package/dist/esm/deleteConfirm/index.d.ts +14 -0
  221. package/dist/esm/deleteConfirm/index.js +72 -12
  222. package/dist/esm/dialogSelect/index.d.ts +19 -0
  223. package/dist/esm/dialogSelect/index.js +190 -16
  224. package/dist/esm/dialogSelect/index.less +18 -0
  225. package/dist/esm/documentPage/documentPage.d.ts +6 -3
  226. package/dist/esm/documentPage/documentPage.js +23 -8
  227. package/dist/esm/documentPage/index.d.ts +2 -0
  228. package/dist/esm/documentPage/index.js +1 -0
  229. package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
  230. package/dist/esm/documentPage/leaveGuard.js +86 -0
  231. package/dist/esm/draggableModal/index.d.ts +24 -1
  232. package/dist/esm/draggableModal/index.js +35 -5
  233. package/dist/esm/fullScreenAlert/index.less +10 -10
  234. package/dist/esm/index.d.ts +2 -0
  235. package/dist/esm/index.js +1 -0
  236. package/dist/esm/readPretty/arrayTable.js +6 -2
  237. package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
  238. package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
  239. package/dist/esm/scanCollect/index.d.ts +4 -0
  240. package/dist/esm/scanCollect/index.js +2 -0
  241. package/dist/esm/scanCollect/scanSound.d.ts +15 -0
  242. package/dist/esm/scanCollect/scanSound.js +84 -0
  243. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ /** 主色占 percent%,其余为白。 */
2
+ export declare const mixWithWhite: (hex: string, percent: number) => string;
3
+ export interface GridRowColors {
4
+ hover: string;
5
+ selected: string;
6
+ selectedHover: string;
7
+ }
8
+ /**
9
+ * @param primary 主色,非 6 位 hex 时返回 undefined,由调用方退回 antd token
10
+ * @param linkText 浅底文字(链接色),缺省按主色
11
+ */
12
+ export declare function deriveRowColors(primary: string, linkText?: string): GridRowColors | undefined;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deriveRowColors = deriveRowColors;
7
+ exports.mixWithWhite = void 0;
8
+ var _contrast = require("../shared/contrast");
9
+ /**
10
+ * 悬浮行 / 选中行 / 选中且悬浮行底色(DESIGN.md §3.5):主色朝白混合,
11
+ * 浅底文字(链接色)压其上必须 ≥ 4.5:1,不达标就逐步变浅。
12
+ * 不直接用 antd 的 colorPrimaryBg 系列:那是对主色的通用派生,绿主题下链接压其上只有 2.3~2.9。
13
+ * @author nokecy
14
+ */
15
+
16
+ var HEX = /^#[0-9a-f]{6}$/i;
17
+ var toHexRgb = function toHexRgb(hex) {
18
+ var v = parseInt(hex.slice(1), 16);
19
+ return [v >> 16 & 255, v >> 8 & 255, v & 255];
20
+ };
21
+
22
+ /** 主色占 percent%,其余为白。 */
23
+ var mixWithWhite = exports.mixWithWhite = function mixWithWhite(hex, percent) {
24
+ var rgb = toHexRgb(hex);
25
+ var out = rgb.map(function (c) {
26
+ return Math.round(255 - (255 - c) * (percent / 100));
27
+ });
28
+ return "#".concat(out.map(function (c) {
29
+ return c.toString(16).padStart(2, '0');
30
+ }).join(''));
31
+ };
32
+
33
+ /** 悬浮 6% / 选中 9% / 选中且悬浮 14%(对应规范的 94% / 91% / 86% 起混白)。 */
34
+ var START = {
35
+ hover: 6,
36
+ selected: 9,
37
+ selectedHover: 14
38
+ };
39
+ /**
40
+ * @param primary 主色,非 6 位 hex 时返回 undefined,由调用方退回 antd token
41
+ * @param linkText 浅底文字(链接色),缺省按主色
42
+ */
43
+ function deriveRowColors(primary, linkText) {
44
+ if (!HEX.test(primary)) return undefined;
45
+ var text = linkText && HEX.test(linkText) ? linkText : primary;
46
+ var pick = function pick(start) {
47
+ for (var p = start; p > 0; p--) {
48
+ var bg = mixWithWhite(primary, p);
49
+ if ((0, _contrast.contrastRatio)(text, bg) >= 4.5) return bg;
50
+ }
51
+ return '#ffffff';
52
+ };
53
+ return {
54
+ hover: pick(START.hover),
55
+ selected: pick(START.selected),
56
+ selectedHover: pick(START.selectedHover)
57
+ };
58
+ }
@@ -3,12 +3,17 @@
3
3
  * 使用 AG-Grid 替代 Ant Design Table,性能更优
4
4
  */
5
5
  import React from 'react';
6
+ import type { ICellRendererParams } from 'ag-grid-community';
6
7
  import type { FlatColumnItem } from './columnGroupTypes';
7
8
  interface ColumnConfigTableAGProps {
8
9
  items: FlatColumnItem[];
9
10
  onChange: (items: FlatColumnItem[]) => void;
10
11
  simple?: boolean;
11
12
  scrollY?: number;
13
+ /** 不可隐藏的业务列标识(列定义声明 lockVisible),其「隐藏」开关禁用且恒为显示 */
14
+ lockedColumnIds?: string[];
12
15
  }
16
+ /** Switch 渲染器工厂 */
17
+ export declare const createSwitchRenderer: (field: keyof FlatColumnItem) => (props: ICellRendererParams<FlatColumnItem>) => React.JSX.Element;
13
18
  declare const ColumnConfigTable: React.FC<ColumnConfigTableAGProps>;
14
19
  export default ColumnConfigTable;
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports.default = exports.createSwitchRenderer = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _antd = require("antd");
10
10
  var _icons = require("@ant-design/icons");
@@ -79,8 +79,9 @@ var WidthCellRenderer = function WidthCellRenderer(props) {
79
79
  };
80
80
 
81
81
  /** Switch 渲染器工厂 */
82
- var createSwitchRenderer = function createSwitchRenderer(field) {
82
+ var createSwitchRenderer = exports.createSwitchRenderer = function createSwitchRenderer(field) {
83
83
  return function (props) {
84
+ var _lockedIds;
84
85
  var item = props.data;
85
86
  if (!item || item.type !== 'column') return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
86
87
  children: "-"
@@ -89,10 +90,14 @@ var createSwitchRenderer = function createSwitchRenderer(field) {
89
90
  // 获取字段值
90
91
  var fieldValue = item[field];
91
92
 
93
+ // 业务列不可被隐藏:开关禁用,恒为显示
94
+ var locked = field === 'hide' && ((_lockedIds = props.lockedIds) === null || _lockedIds === void 0 ? void 0 : _lockedIds.includes((0, _columnGroupUtils.getColumnIdentity)(item)));
95
+
92
96
  // 只检查布尔值
93
- var isChecked = fieldValue === true;
97
+ var isChecked = locked ? false : fieldValue === true;
94
98
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Switch, {
95
99
  checked: isChecked,
100
+ disabled: locked,
96
101
  onChange: function onChange(checked) {
97
102
  if (props.node) {
98
103
  // 保存时统一为布尔值
@@ -262,7 +267,8 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
262
267
  _ref2$simple = _ref2.simple,
263
268
  simple = _ref2$simple === void 0 ? false : _ref2$simple,
264
269
  _ref2$scrollY = _ref2.scrollY,
265
- scrollY = _ref2$scrollY === void 0 ? 480 : _ref2$scrollY;
270
+ scrollY = _ref2$scrollY === void 0 ? 480 : _ref2$scrollY,
271
+ lockedColumnIds = _ref2.lockedColumnIds;
266
272
  var gridTheme = (0, _theme.useAgGridTheme)();
267
273
  var _theme$useToken = _antd.theme.useToken(),
268
274
  token = _theme$useToken.token; // 颜色取主题 token,跟随亮/暗主题 @author nokecy
@@ -662,6 +668,9 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
662
668
  headerName: '隐藏',
663
669
  width: 80,
664
670
  cellRenderer: createSwitchRenderer('hide'),
671
+ cellRendererParams: {
672
+ lockedIds: lockedColumnIds
673
+ },
665
674
  cellStyle: commonCellStyle
666
675
  }, {
667
676
  field: 'suppressHeaderFilterButton',
@@ -682,7 +691,7 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
682
691
  cellStyle: commonCellStyle
683
692
  }];
684
693
  return cols;
685
- }, [handleDelete, handleAddChildGroup, simple, expandedKeys, toggleExpand, localItems]);
694
+ }, [handleDelete, handleAddChildGroup, simple, expandedKeys, toggleExpand, localItems, lockedColumnIds]);
686
695
 
687
696
  // 根据展开状态过滤数据
688
697
  var visibleItems = (0, _react.useMemo)(function () {
@@ -20,8 +20,8 @@ var _index = _interopRequireDefault(require("../../draggableModal/index"));
20
20
  var _useSchemeManager = require("../context/useSchemeManager");
21
21
  var _uuid = require("uuid");
22
22
  var _jsxRuntime = require("react/jsx-runtime");
23
- var _excluded = ["createdAt", "updatedAt"],
24
- _excluded2 = ["createdAt", "updatedAt"],
23
+ var _excluded = ["createdAt", "updatedAt", "filterModel"],
24
+ _excluded2 = ["createdAt", "updatedAt", "filterModel"],
25
25
  _excluded3 = ["createdAt", "updatedAt"];
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -75,7 +75,9 @@ var ColumnSetting = function ColumnSetting(_ref) {
75
75
  resetToGlobal = _useGridSchemes.resetToGlobal,
76
76
  resetAllUsers = _useGridSchemes.resetAllUsers,
77
77
  globalConfigPermissions = _useGridSchemes.globalConfigPermissions,
78
- isUsingGlobalFallback = _useGridSchemes.isUsingGlobalFallback;
78
+ isUsingGlobalFallback = _useGridSchemes.isUsingGlobalFallback,
79
+ density = _useGridSchemes.density,
80
+ onDensityChange = _useGridSchemes.onDensityChange;
79
81
 
80
82
  // 调用方传入的列定义优先:Context 里的属于外层 AgGridPlus 或为空 @author nokecy
81
83
  var allColDefs = allColDefsProp !== null && allColDefsProp !== void 0 ? allColDefsProp : contextAllColDefs;
@@ -133,6 +135,11 @@ var ColumnSetting = function ColumnSetting(_ref) {
133
135
  // allColDefs 包含自定义属性(cellRenderer 等),用于方案应用时保留这些属性
134
136
  var originalColumnDefs = initialColumnDefs || allColDefs || undefined;
135
137
 
138
+ // 业务列(序号等 lockVisible)不可隐藏
139
+ var lockedColumnIds = (0, _react.useMemo)(function () {
140
+ return (0, _columnGroupUtils.getLockedColumnIds)(originalColumnDefs);
141
+ }, [originalColumnDefs]);
142
+
136
143
  // 【修复】保存快照用于取消时恢复(改名避免与Context的originalColumnDefs冲突)
137
144
  var _useState17 = (0, _react.useState)(null),
138
145
  _useState18 = _slicedToArray(_useState17, 2),
@@ -375,6 +382,18 @@ var ColumnSetting = function ColumnSetting(_ref) {
375
382
  });
376
383
  }, [form, gridApi, allColDefs]);
377
384
 
385
+ /**
386
+ * 恢复默认:列配置还原为列定义里写的初始值(宽度、显隐、固定、顺序),先在表格上预览,保存后才落到方案。
387
+ * 只动列配置,密度偏好不受影响。
388
+ */
389
+ var handleRestoreDefault = (0, _react.useCallback)(function () {
390
+ var _excludeQueryOnlyColu;
391
+ var defaults = (_excludeQueryOnlyColu = (0, _columnGroupUtils.excludeQueryOnlyColumns)(originalColumnDefs !== null && originalColumnDefs !== void 0 ? originalColumnDefs : [])) !== null && _excludeQueryOnlyColu !== void 0 ? _excludeQueryOnlyColu : [];
392
+ if (defaults.length === 0) return;
393
+ handleColumnChange((0, _columnGroupUtils.normalizeColumnConfig)((0, _columnGroupUtils.gridStateToFlatConfig)(defaults, originalColumnDefs), originalColumnDefs));
394
+ _antd.message.info('已恢复为默认列配置,点击「保存配置」后生效');
395
+ }, [originalColumnDefs, handleColumnChange]);
396
+
378
397
  /**
379
398
  * 关闭弹窗处理 - 取消时恢复原始状态
380
399
  * 如果用户取消操作,恢复到打开弹窗前的列定义状态
@@ -406,7 +425,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
406
425
  return s.id === schemeId;
407
426
  });
408
427
  if (!(scheme && gridApi)) {
409
- _context.next = 13;
428
+ _context.next = 12;
410
429
  break;
411
430
  }
412
431
  // 【关键修复】先更新 columnDefs(处理分组结构),使用 allColDefs 保留自定义属性
@@ -426,12 +445,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
426
445
  state: columnState,
427
446
  applyOrder: true // 强制应用列顺序
428
447
  });
429
-
430
- // 应用过滤器
431
- if (scheme.filterModel) {
432
- gridApi.setFilterModel(scheme.filterModel);
433
- }
434
- case 13:
448
+ case 12:
435
449
  _antd.message.success('方案已加载');
436
450
 
437
451
  // 等待Grid状态更新后再刷新表单
@@ -446,17 +460,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
446
460
 
447
461
  // 自动关闭弹窗,让用户看到Grid的变化
448
462
  onClose();
449
- _context.next = 21;
463
+ _context.next = 20;
450
464
  break;
451
- case 18:
452
- _context.prev = 18;
465
+ case 17:
466
+ _context.prev = 17;
453
467
  _context.t0 = _context["catch"](0);
454
468
  _antd.message.error(_context.t0.message || '加载方案失败');
455
- case 21:
469
+ case 20:
456
470
  case "end":
457
471
  return _context.stop();
458
472
  }
459
- }, _callee, null, [[0, 18]]);
473
+ }, _callee, null, [[0, 17]]);
460
474
  }));
461
475
  return function (_x) {
462
476
  return _ref2.apply(this, arguments);
@@ -468,7 +482,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
468
482
  * 优化逻辑:先保存配置到存储,再直接应用到 Grid,不依赖 handleLoadScheme
469
483
  */
470
484
  var handleSaveColumns = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
471
- var values, flatConfig, configToSave, invalidColumns, filterModel, savedScheme, createdAt, updatedAt, schemeWithoutTimestamps, defaultScheme, _createdAt, _updatedAt, _schemeWithoutTimestamps, gridColumnDefs, columnState;
485
+ var values, flatConfig, configToSave, invalidColumns, savedScheme, createdAt, updatedAt, _legacyFilter, schemeWithoutTimestamps, defaultScheme, _createdAt, _updatedAt, _legacyFilter2, _schemeWithoutTimestamps, gridColumnDefs, columnState;
472
486
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
473
487
  while (1) switch (_context2.prev = _context2.next) {
474
488
  case 0:
@@ -499,82 +513,79 @@ var ColumnSetting = function ColumnSetting(_ref) {
499
513
  });
500
514
  }
501
515
  _context2.prev = 9;
502
- filterModel = gridApi.getFilterModel();
503
516
  if (!currentScheme) {
504
- _context2.next = 22;
517
+ _context2.next = 21;
505
518
  break;
506
519
  }
507
520
  if (!(currentScheme.isGlobal && !canApplyToGlobal)) {
508
- _context2.next = 15;
521
+ _context2.next = 14;
509
522
  break;
510
523
  }
511
524
  _antd.message.error('没有权限修改全局方案');
512
525
  return _context2.abrupt("return");
513
- case 15:
526
+ case 14:
514
527
  // 如果有激活的方案,更新该方案
515
- createdAt = currentScheme.createdAt, updatedAt = currentScheme.updatedAt, schemeWithoutTimestamps = _objectWithoutProperties(currentScheme, _excluded);
528
+ // 列头筛选属于数据而非视图偏好,不随方案保存;同时丢弃旧方案里遗留的 filterModel
529
+ createdAt = currentScheme.createdAt, updatedAt = currentScheme.updatedAt, _legacyFilter = currentScheme.filterModel, schemeWithoutTimestamps = _objectWithoutProperties(currentScheme, _excluded);
516
530
  savedScheme = _objectSpread(_objectSpread({}, schemeWithoutTimestamps), {}, {
517
- columnConfig: configToSave,
518
- filterModel: filterModel
531
+ columnConfig: configToSave
519
532
  // createdAt 和 updatedAt 由存储适配器自动生成
520
533
  });
521
- _context2.next = 19;
534
+ _context2.next = 18;
522
535
  return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
523
- case 19:
536
+ case 18:
524
537
  _antd.message.success('列配置已保存到方案');
525
- _context2.next = 38;
538
+ _context2.next = 37;
526
539
  break;
527
- case 22:
540
+ case 21:
528
541
  // 如果没有激活的方案,自动创建或更新默认方案
529
542
  defaultScheme = schemes.find(function (s) {
530
543
  return s.isDefault;
531
544
  });
532
545
  if (!defaultScheme) {
533
- _context2.next = 34;
546
+ _context2.next = 33;
534
547
  break;
535
548
  }
536
549
  if (!(defaultScheme.isGlobal && !canApplyToGlobal)) {
537
- _context2.next = 27;
550
+ _context2.next = 26;
538
551
  break;
539
552
  }
540
553
  _antd.message.error('没有权限修改全局方案');
541
554
  return _context2.abrupt("return");
542
- case 27:
555
+ case 26:
543
556
  // 更新默认方案
544
- _createdAt = defaultScheme.createdAt, _updatedAt = defaultScheme.updatedAt, _schemeWithoutTimestamps = _objectWithoutProperties(defaultScheme, _excluded2);
557
+ _createdAt = defaultScheme.createdAt, _updatedAt = defaultScheme.updatedAt, _legacyFilter2 = defaultScheme.filterModel, _schemeWithoutTimestamps = _objectWithoutProperties(defaultScheme, _excluded2);
545
558
  savedScheme = _objectSpread(_objectSpread({}, _schemeWithoutTimestamps), {}, {
546
- columnConfig: configToSave,
547
- filterModel: filterModel
559
+ columnConfig: configToSave
548
560
  // createdAt 和 updatedAt 由存储适配器自动生成
549
561
  });
550
- _context2.next = 31;
562
+ _context2.next = 30;
551
563
  return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
552
- case 31:
564
+ case 30:
553
565
  _antd.message.success('列配置已保存到默认方案');
554
- _context2.next = 38;
566
+ _context2.next = 37;
555
567
  break;
556
- case 34:
568
+ case 33:
557
569
  // 创建新的默认方案
558
570
  savedScheme = {
559
571
  id: (0, _uuid.v4)(),
560
572
  name: '默认配置',
561
573
  description: '自动创建的默认列配置',
562
574
  columnConfig: configToSave,
563
- filterModel: filterModel,
564
575
  isDefault: true,
565
576
  isSystem: false
566
577
  // createdAt 和 updatedAt 由存储适配器自动生成
567
578
  };
568
- _context2.next = 37;
579
+ _context2.next = 36;
569
580
  return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
570
- case 37:
581
+ case 36:
571
582
  _antd.message.success('已创建并保存到默认方案');
572
- case 38:
573
- _context2.next = 40;
583
+ case 37:
584
+ _context2.next = 39;
574
585
  return new Promise(function (resolve) {
575
586
  return setTimeout(resolve, 100);
576
587
  });
577
- case 40:
588
+ case 39:
578
589
  // 【关键修复】直接应用方案到 Grid,不通过 handleLoadScheme
579
590
  // 这样可以避免依赖 Context 状态更新的时序问题
580
591
  _logger.logger.debug('[ColumnSetting] 保存后直接应用方案到 Grid');
@@ -586,11 +597,11 @@ var ColumnSetting = function ColumnSetting(_ref) {
586
597
  gridApi.setGridOption('columnDefs', (0, _agGridCompat.sanitizeColDefs)(gridColumnDefs));
587
598
 
588
599
  // 等待 columnDefs 更新完成
589
- _context2.next = 46;
600
+ _context2.next = 45;
590
601
  return new Promise(function (resolve) {
591
602
  return setTimeout(resolve, 100);
592
603
  });
593
- case 46:
604
+ case 45:
594
605
  // 2. 应用列状态(列顺序、宽度、隐藏、固定等)
595
606
  _logger.logger.debug('[ColumnSetting] 应用列状态');
596
607
  columnState = (0, _columnGroupUtils.flatConfigToColumnState)(savedScheme.columnConfig, allColDefs);
@@ -599,44 +610,38 @@ var ColumnSetting = function ColumnSetting(_ref) {
599
610
  applyOrder: true
600
611
  });
601
612
 
602
- // 3. 应用过滤器
603
- if (savedScheme.filterModel) {
604
- _logger.logger.debug('[ColumnSetting] 应用 filterModel');
605
- gridApi.setFilterModel(savedScheme.filterModel);
606
- }
607
-
608
613
  // 4. 设置为当前方案(如果不是当前方案)
609
614
  if (!(!currentScheme || savedScheme.id !== currentScheme.id)) {
610
- _context2.next = 53;
615
+ _context2.next = 51;
611
616
  break;
612
617
  }
613
- _context2.next = 53;
618
+ _context2.next = 51;
614
619
  return setCurrentColumnScheme === null || setCurrentColumnScheme === void 0 ? void 0 : setCurrentColumnScheme(gridKey, savedScheme.id);
615
- case 53:
616
- _context2.next = 55;
620
+ case 51:
621
+ _context2.next = 53;
617
622
  return new Promise(function (resolve) {
618
623
  return setTimeout(resolve, 50);
619
624
  });
620
- case 55:
625
+ case 53:
621
626
  // 5. 关闭弹窗
622
627
  onClose();
623
- _context2.next = 62;
628
+ _context2.next = 60;
624
629
  break;
625
- case 58:
626
- _context2.prev = 58;
630
+ case 56:
631
+ _context2.prev = 56;
627
632
  _context2.t0 = _context2["catch"](9);
628
633
  console.error('保存列配置到方案失败:', _context2.t0);
629
634
  _antd.message.error('保存列配置失败');
630
- case 62:
635
+ case 60:
631
636
  case "end":
632
637
  return _context2.stop();
633
638
  }
634
- }, _callee2, null, [[9, 58]]);
639
+ }, _callee2, null, [[9, 56]]);
635
640
  })), [form, gridApi, saveColumnScheme, setCurrentColumnScheme, currentScheme, schemes, gridKey, allColDefs, onClose]);
636
641
 
637
642
  // 保存为新方案
638
643
  var handleSaveScheme = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
639
- var columnConfigToSave, values, gridColumnDefs, columnState, _values, filterModel, newScheme;
644
+ var columnConfigToSave, values, gridColumnDefs, columnState, _values, newScheme;
640
645
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
641
646
  while (1) switch (_context3.prev = _context3.next) {
642
647
  case 0:
@@ -685,21 +690,18 @@ var ColumnSetting = function ColumnSetting(_ref) {
685
690
  _values = form === null || form === void 0 ? void 0 : form.values;
686
691
  columnConfigToSave = (_values === null || _values === void 0 ? void 0 : _values.items) || [];
687
692
  case 20:
688
- // 获取过滤器模型
689
- filterModel = gridApi.getFilterModel();
690
693
  newScheme = {
691
694
  id: (0, _uuid.v4)(),
692
695
  name: schemeName.trim(),
693
696
  description: schemeDescription.trim() || "\u521B\u5EFA\u4E8E ".concat(new Date().toLocaleString()),
694
697
  columnConfig: columnConfigToSave,
695
- filterModel: filterModel,
696
698
  isDefault: false,
697
699
  isSystem: false
698
700
  // createdAt 和 updatedAt 由存储适配器自动生成
699
701
  };
700
- _context3.next = 24;
702
+ _context3.next = 23;
701
703
  return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, newScheme);
702
- case 24:
704
+ case 23:
703
705
  _antd.message.success('方案保存成功');
704
706
  setSaveSchemeVisible(false);
705
707
  setSchemeName('');
@@ -707,17 +709,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
707
709
 
708
710
  // 切换到方案管理标签页,显示新创建的方案
709
711
  setActiveTab('schemes');
710
- _context3.next = 34;
712
+ _context3.next = 33;
711
713
  break;
712
- case 31:
713
- _context3.prev = 31;
714
+ case 30:
715
+ _context3.prev = 30;
714
716
  _context3.t0 = _context3["catch"](3);
715
717
  _antd.message.error(_context3.t0.message || '保存方案失败');
716
- case 34:
718
+ case 33:
717
719
  case "end":
718
720
  return _context3.stop();
719
721
  }
720
- }, _callee3, null, [[3, 31]]);
722
+ }, _callee3, null, [[3, 30]]);
721
723
  })), [gridApi, saveColumnScheme, gridKey, schemeName, schemeDescription, activeTab, form, allColDefs]);
722
724
 
723
725
  // 设置默认方案
@@ -1233,12 +1235,42 @@ var ColumnSetting = function ColumnSetting(_ref) {
1233
1235
  items: [{
1234
1236
  key: 'columns',
1235
1237
  label: '列配置',
1236
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
1237
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColumnConfigTable.default, {
1238
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
1239
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
1240
+ style: {
1241
+ display: 'flex',
1242
+ alignItems: 'center',
1243
+ justifyContent: 'space-between',
1244
+ marginBottom: 12
1245
+ },
1246
+ children: [density && onDensityChange ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Segmented, {
1247
+ "aria-label": "\u8868\u683C\u5BC6\u5EA6",
1248
+ value: density,
1249
+ onChange: function onChange(value) {
1250
+ return onDensityChange(value);
1251
+ },
1252
+ options: [{
1253
+ label: '舒适',
1254
+ value: 'comfort'
1255
+ }, {
1256
+ label: '紧凑',
1257
+ value: 'compact'
1258
+ }, {
1259
+ label: '高密',
1260
+ value: 'dense'
1261
+ }]
1262
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Button, {
1263
+ type: "link",
1264
+ size: "small",
1265
+ onClick: handleRestoreDefault,
1266
+ children: "\u6062\u590D\u9ED8\u8BA4"
1267
+ })]
1268
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColumnConfigTable.default, {
1238
1269
  items: memoizedColumnData,
1239
1270
  onChange: handleColumnChange,
1240
- simple: false
1241
- })
1271
+ simple: false,
1272
+ lockedColumnIds: lockedColumnIds
1273
+ })]
1242
1274
  })
1243
1275
  }, {
1244
1276
  key: 'schemes',
@@ -70,7 +70,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
70
70
  var _useQueryForm = (0, _queryFormContext.useQueryForm)(),
71
71
  queryFormItems = _useQueryForm.queryFormItems,
72
72
  currentQueryOrder = _useQueryForm.currentQueryOrder,
73
- updateQueryOrder = _useQueryForm.updateQueryOrder;
73
+ updateQueryOrder = _useQueryForm.updateQueryOrder,
74
+ getQueryValues = _useQueryForm.getQueryValues;
74
75
 
75
76
  // 获取当前表格的查询方案列表
76
77
  var schemes = (querySchemes === null || querySchemes === void 0 ? void 0 : querySchemes[gridKey]) || [];
@@ -201,7 +202,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
201
202
  * 应用当前顺序和隐藏设置
202
203
  */
203
204
  var handleApplyOrder = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
204
- var editingOrder, hiddenFields, queryConfig, createdAt, updatedAt, schemeWithoutTimestamps, newScheme;
205
+ var _getQueryValues, editingOrder, hiddenFields, queryConfig, createdAt, updatedAt, schemeWithoutTimestamps, newScheme;
205
206
  return _regeneratorRuntime().wrap(function _callee$(_context) {
206
207
  while (1) switch (_context.prev = _context.next) {
207
208
  case 0:
@@ -213,8 +214,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
213
214
  return item.hidden;
214
215
  }).map(function (item) {
215
216
  return item.field;
216
- }); // 构建新格式的配置
217
- queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields); // 如果有当前方案,更新方案
217
+ }); // 构建新格式的配置:查询区当前的条件值一并存入方案,应用方案时带回
218
+ queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields, (_getQueryValues = getQueryValues === null || getQueryValues === void 0 ? void 0 : getQueryValues()) !== null && _getQueryValues !== void 0 ? _getQueryValues : {}); // 如果有当前方案,更新方案
218
219
  if (!currentScheme) {
219
220
  _context.next = 11;
220
221
  break;
@@ -262,13 +263,13 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
262
263
  return _context.stop();
263
264
  }
264
265
  }, _callee, null, [[0, 21]]);
265
- })), [queryItemsData, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme]);
266
+ })), [queryItemsData, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme, getQueryValues]);
266
267
 
267
268
  /**
268
269
  * 保存为新方案
269
270
  */
270
271
  var handleSaveAsNew = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
271
- var editingOrder, hiddenFields, queryConfig, newScheme;
272
+ var _getQueryValues2, editingOrder, hiddenFields, queryConfig, newScheme;
272
273
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
273
274
  while (1) switch (_context2.prev = _context2.next) {
274
275
  case 0:
@@ -287,8 +288,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
287
288
  return item.hidden;
288
289
  }).map(function (item) {
289
290
  return item.field;
290
- }); // 构建新格式的配置
291
- queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields);
291
+ }); // 构建新格式的配置:查询区当前的条件值一并存入方案,应用方案时带回
292
+ queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields, (_getQueryValues2 = getQueryValues === null || getQueryValues === void 0 ? void 0 : getQueryValues()) !== null && _getQueryValues2 !== void 0 ? _getQueryValues2 : {});
292
293
  newScheme = {
293
294
  id: (0, _uuid.v4)(),
294
295
  name: schemeName.trim(),
@@ -314,7 +315,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
314
315
  return _context2.stop();
315
316
  }
316
317
  }, _callee2, null, [[3, 14]]);
317
- })), [schemeName, queryItemsData, saveQueryScheme, gridKey]);
318
+ })), [schemeName, queryItemsData, saveQueryScheme, gridKey, getQueryValues]);
318
319
 
319
320
  /**
320
321
  * 开始编辑方案
@@ -0,0 +1,37 @@
1
+ import type { GridApi } from 'ag-grid-community';
2
+ import type { ColumnScheme } from '../shared/storage/schemeStorageAdapter';
3
+ import type { FlatColumnItem } from './columnGroupTypes';
4
+ /** 表头上拖拽列宽、列序后,等这么久没有新的拖拽再自动保存(毫秒)。 */
5
+ export declare const AUTO_REMEMBER_DELAY = 600;
6
+ /** 自动记忆关心的 AG Grid 列状态字段。 */
7
+ export interface LayoutColumnState {
8
+ colId: string;
9
+ width?: number;
10
+ flex?: number | null;
11
+ hide?: boolean | null;
12
+ pinned?: boolean | 'left' | 'right' | null;
13
+ }
14
+ /**
15
+ * 把表格当前的列宽、列序、固定、显隐并入列方案配置,其余设置(标题、对齐、分组、过滤按钮)原样保留。
16
+ * 列序只重排列节点的 order 值,分组节点和层级不动。
17
+ */
18
+ export declare function mergeColumnLayout(config: FlatColumnItem[], state: LayoutColumnState[]): FlatColumnItem[];
19
+ /** 合并后的布局是否与原配置不同。 */
20
+ export declare function layoutChanged(before: FlatColumnItem[], after: FlatColumnItem[]): boolean;
21
+ export interface AutoColumnMemoryOptions {
22
+ /** 关闭后不监听表头拖拽,行为回到「必须进列方案管理保存」 */
23
+ enabled: boolean;
24
+ gridKey?: string;
25
+ ready: boolean;
26
+ api?: GridApi;
27
+ originalColumnDefs?: any[];
28
+ currentScheme?: ColumnScheme;
29
+ saveColumnScheme?: (gridKey: string, scheme: ColumnScheme) => Promise<void>;
30
+ setCurrentColumnScheme?: (gridKey: string, schemeId: string | null) => Promise<void>;
31
+ delay?: number;
32
+ }
33
+ /**
34
+ * 列宽、列序在表头上拖拽后自动记忆(DESIGN.md §7.5),不必再进「列方案管理」保存。
35
+ * 全局方案不会被改写:在个人方案上叠加布局,没有个人方案时新建一个。@author nokecy
36
+ */
37
+ export declare function useAutoColumnMemory(options: AutoColumnMemoryOptions): void;