@nokecy/qc-ui 1.0.93 → 1.0.94

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 (75) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +24 -18
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +6 -0
  3. package/dist/cjs/ag-grid-plus/index.d.ts +2 -4
  4. package/dist/cjs/ag-grid-plus/index.js +18 -79
  5. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +134 -117
  6. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +2 -0
  7. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +7 -0
  8. package/dist/cjs/ag-grid-plus/schemes/index.js +40 -0
  9. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.d.ts +10 -0
  10. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.js +34 -0
  11. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +17 -2
  12. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +27 -7
  13. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +122 -0
  14. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +476 -0
  15. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +139 -0
  16. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +746 -0
  17. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +29 -0
  18. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.js +45 -0
  19. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +154 -270
  20. package/dist/cjs/ag-grid-plus/storage/index.d.ts +10 -5
  21. package/dist/cjs/ag-grid-plus/storage/index.js +0 -44
  22. package/dist/cjs/array-table/index.js +5 -3
  23. package/dist/cjs/draggableModal/index.d.ts +1 -1
  24. package/dist/cjs/draggableModal/index.js +23 -93
  25. package/dist/cjs/draggableModal/style.less +0 -73
  26. package/dist/cjs/index.d.ts +2 -3
  27. package/dist/cjs/index.js +8 -80
  28. package/dist/esm/ag-grid-plus/ag-gridPlus.js +24 -18
  29. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +6 -0
  30. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +1 -1
  31. package/dist/esm/ag-grid-plus/index.d.ts +2 -4
  32. package/dist/esm/ag-grid-plus/index.js +5 -3
  33. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +135 -118
  34. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +2 -0
  35. package/dist/esm/ag-grid-plus/schemes/index.d.ts +7 -0
  36. package/dist/esm/ag-grid-plus/schemes/index.js +5 -0
  37. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.d.ts +10 -0
  38. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.js +28 -0
  39. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +17 -2
  40. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +29 -7
  41. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +122 -0
  42. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +471 -0
  43. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +139 -0
  44. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +746 -0
  45. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +29 -0
  46. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.js +40 -0
  47. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +156 -272
  48. package/dist/esm/ag-grid-plus/storage/index.d.ts +10 -5
  49. package/dist/esm/ag-grid-plus/storage/index.js +13 -5
  50. package/dist/esm/array-table/index.js +6 -2
  51. package/dist/esm/draggableModal/index.d.ts +1 -1
  52. package/dist/esm/draggableModal/index.js +24 -93
  53. package/dist/esm/draggableModal/style.less +0 -73
  54. package/dist/esm/index.d.ts +2 -3
  55. package/dist/esm/index.js +10 -7
  56. package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +1 -1
  57. package/dist/umd/qc-ui.min.css +1 -1
  58. package/dist/umd/qc-ui.min.js +1 -1
  59. package/package.json +1 -1
  60. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
  61. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.js +0 -276
  62. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
  63. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +0 -902
  64. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
  65. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +0 -364
  66. package/dist/cjs/ag-grid-plus/storage/types.d.ts +0 -150
  67. package/dist/cjs/ag-grid-plus/storage/types.js +0 -5
  68. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
  69. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.js +0 -273
  70. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
  71. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +0 -896
  72. package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
  73. package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +0 -350
  74. package/dist/esm/ag-grid-plus/storage/types.d.ts +0 -150
  75. package/dist/esm/ag-grid-plus/storage/types.js +0 -1
@@ -0,0 +1,29 @@
1
+ import { RemoteStorageAdapter, RemoteStorageConfig } from './remoteStorageAdapter';
2
+ /**
3
+ * 使用全局配置创建 RemoteStorageAdapter
4
+ * 自动从 GridPlusContext 获取全局配置并与局部配置合并
5
+ *
6
+ * @param localConfig 局部配置,会覆盖全局配置
7
+ * @returns RemoteStorageAdapter 实例
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // 1. 在顶层提供全局配置
12
+ * <GridPlusContext.Provider value={{
13
+ * remoteStorageConfig: {
14
+ * apiBaseUrl: 'https://api.example.com',
15
+ * getToken: () => localStorage.getItem('token'),
16
+ * getUserId: () => localStorage.getItem('userId'),
17
+ * }
18
+ * }}>
19
+ * <AgGridPlus ... />
20
+ * </GridPlusContext.Provider>
21
+ *
22
+ * // 2. 在组件中使用(会自动合并全局配置)
23
+ * const adapter = useRemoteStorage({
24
+ * // 仅需提供差异配置,其他从全局继承
25
+ * apiVersion: 'v2', // 覆盖全局的 apiVersion
26
+ * });
27
+ * ```
28
+ */
29
+ export declare function useRemoteStorage(localConfig?: Partial<RemoteStorageConfig>): RemoteStorageAdapter;
@@ -0,0 +1,40 @@
1
+ import { useContext, useMemo } from 'react';
2
+ import { GridPlusContext } from "../../context/gridContext";
3
+ import { RemoteStorageAdapter } from "./remoteStorageAdapter";
4
+ import { mergeRemoteStorageConfig } from "./configMerger";
5
+
6
+ /**
7
+ * 使用全局配置创建 RemoteStorageAdapter
8
+ * 自动从 GridPlusContext 获取全局配置并与局部配置合并
9
+ *
10
+ * @param localConfig 局部配置,会覆盖全局配置
11
+ * @returns RemoteStorageAdapter 实例
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // 1. 在顶层提供全局配置
16
+ * <GridPlusContext.Provider value={{
17
+ * remoteStorageConfig: {
18
+ * apiBaseUrl: 'https://api.example.com',
19
+ * getToken: () => localStorage.getItem('token'),
20
+ * getUserId: () => localStorage.getItem('userId'),
21
+ * }
22
+ * }}>
23
+ * <AgGridPlus ... />
24
+ * </GridPlusContext.Provider>
25
+ *
26
+ * // 2. 在组件中使用(会自动合并全局配置)
27
+ * const adapter = useRemoteStorage({
28
+ * // 仅需提供差异配置,其他从全局继承
29
+ * apiVersion: 'v2', // 覆盖全局的 apiVersion
30
+ * });
31
+ * ```
32
+ */
33
+ export function useRemoteStorage(localConfig) {
34
+ var context = useContext(GridPlusContext);
35
+ return useMemo(function () {
36
+ // 合并全局配置和局部配置
37
+ var mergedConfig = mergeRemoteStorageConfig(context.remoteStorageConfig, localConfig);
38
+ return new RemoteStorageAdapter(mergedConfig);
39
+ }, [context.remoteStorageConfig, localConfig]);
40
+ }
@@ -14,8 +14,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
16
  import React, { useState, useCallback, useMemo, useEffect, useContext } from 'react';
17
- import { Modal, Tabs, Space, Button, Input, message, Popconfirm, Table, Tag, Tooltip, Card, Row, Col, Empty, Radio } from 'antd';
18
- import { SaveOutlined, ReloadOutlined, EditOutlined, DeleteOutlined, StarOutlined, StarFilled, AppstoreOutlined, UnorderedListOutlined, SearchOutlined } from '@ant-design/icons';
17
+ import { Modal, Tabs, Space, Button, Input, message, Popconfirm, Tag, Tooltip, Empty } from 'antd';
18
+ import { SaveOutlined, ReloadOutlined, EditOutlined, DeleteOutlined, StarOutlined, StarFilled, SearchOutlined } from '@ant-design/icons';
19
+ import { AgGridReact } from 'ag-grid-react';
20
+ import { agGridTheme } from "../theme";
21
+ import { localeText } from "../locale";
19
22
  import { createForm, onFormInit } from '@formily/core';
20
23
  import { gridStateToFlatConfig, flatConfigToGridState, isOldSchemeData, migrateOldScheme } from "./columnGroupUtils";
21
24
  import ColumnConfigTable from "./ColumnConfigTable";
@@ -28,6 +31,7 @@ var TextArea = Input.TextArea;
28
31
  * 列方案管理组件 - 集成列配置和列方案管理
29
32
  */
30
33
  var ColumnSetting = function ColumnSetting(_ref) {
34
+ var _schemeManager$curren3;
31
35
  var gridKey = _ref.gridKey,
32
36
  gridApi = _ref.gridApi,
33
37
  visible = _ref.visible,
@@ -66,25 +70,21 @@ var ColumnSetting = function ColumnSetting(_ref) {
66
70
  schemeDescription = _useState14[0],
67
71
  setSchemeDescription = _useState14[1];
68
72
 
69
- // 搜索和视图状态
73
+ // 搜索状态
70
74
  var _useState15 = useState(''),
71
75
  _useState16 = _slicedToArray(_useState15, 2),
72
76
  searchText = _useState16[0],
73
77
  setSearchText = _useState16[1];
74
- var _useState17 = useState('grid'),
75
- _useState18 = _slicedToArray(_useState17, 2),
76
- viewMode = _useState18[0],
77
- setViewMode = _useState18[1];
78
78
 
79
79
  // 【修复】从 Context 获取原始完整的列定义
80
80
  var gridPlusContext = useContext(GridPlusContext);
81
81
  var originalColumnDefs = (gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.allColDefs) || undefined;
82
82
 
83
83
  // 【修复】保存快照用于取消时恢复(改名避免与Context的originalColumnDefs冲突)
84
- var _useState19 = useState(null),
85
- _useState20 = _slicedToArray(_useState19, 2),
86
- snapshotColumnDefs = _useState20[0],
87
- setSnapshotColumnDefs = _useState20[1];
84
+ var _useState17 = useState(null),
85
+ _useState18 = _slicedToArray(_useState17, 2),
86
+ snapshotColumnDefs = _useState18[0],
87
+ setSnapshotColumnDefs = _useState18[1];
88
88
 
89
89
  /**
90
90
  * 获取列数据 - 将 Grid 的列定义转换为扁平化配置
@@ -532,114 +532,138 @@ var ColumnSetting = function ColumnSetting(_ref) {
532
532
  });
533
533
  }, [schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.schemes, searchText]);
534
534
 
535
- // 方案管理表格列定义
536
- var schemeColumns = [{
537
- title: '方案名称',
538
- dataIndex: 'name',
539
- key: 'name',
540
- render: function render(text, record) {
541
- var _schemeManager$curren2;
542
- if (editingId === record.id) {
543
- return /*#__PURE__*/React.createElement(Input, {
544
- value: editingName,
545
- onChange: function onChange(e) {
546
- return setEditingName(e.target.value);
547
- },
548
- onPressEnter: handleSaveEdit
549
- });
535
+ // AG-Grid 列定义
536
+ var schemeColumnDefs = useMemo(function () {
537
+ return [{
538
+ headerName: '方案名称',
539
+ field: 'name',
540
+ flex: 1,
541
+ minWidth: 200,
542
+ cellRenderer: function cellRenderer(params) {
543
+ var _schemeManager$curren2;
544
+ var record = params.data;
545
+ if (!record) return null;
546
+ if (editingId === record.id) {
547
+ return /*#__PURE__*/React.createElement(Input, {
548
+ value: editingName,
549
+ onChange: function onChange(e) {
550
+ return setEditingName(e.target.value);
551
+ },
552
+ onPressEnter: handleSaveEdit,
553
+ size: "small",
554
+ style: {
555
+ width: '100%'
556
+ }
557
+ });
558
+ }
559
+ return /*#__PURE__*/React.createElement(Space, {
560
+ size: "small"
561
+ }, /*#__PURE__*/React.createElement("span", null, record.name), record.isDefault && /*#__PURE__*/React.createElement(Tag, {
562
+ color: "blue"
563
+ }, "\u9ED8\u8BA4"), record.id === (schemeManager === null || schemeManager === void 0 || (_schemeManager$curren2 = schemeManager.currentScheme) === null || _schemeManager$curren2 === void 0 ? void 0 : _schemeManager$curren2.id) && /*#__PURE__*/React.createElement(Tag, {
564
+ color: "green"
565
+ }, "\u5F53\u524D"));
550
566
  }
551
- return /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("span", null, text), record.isDefault && /*#__PURE__*/React.createElement(Tag, {
552
- color: "blue"
553
- }, "\u9ED8\u8BA4"), record.id === (schemeManager === null || schemeManager === void 0 || (_schemeManager$curren2 = schemeManager.currentScheme) === null || _schemeManager$curren2 === void 0 ? void 0 : _schemeManager$curren2.id) && /*#__PURE__*/React.createElement(Tag, {
554
- color: "green"
555
- }, "\u5F53\u524D"));
556
- }
557
- }, {
558
- title: '描述',
559
- dataIndex: 'description',
560
- key: 'description',
561
- render: function render(text, record) {
562
- if (editingId === record.id) {
563
- return /*#__PURE__*/React.createElement(Input, {
564
- value: editingDescription,
565
- onChange: function onChange(e) {
566
- return setEditingDescription(e.target.value);
567
- },
568
- onPressEnter: handleSaveEdit
569
- });
567
+ }, {
568
+ headerName: '描述',
569
+ field: 'description',
570
+ flex: 1,
571
+ minWidth: 200,
572
+ cellRenderer: function cellRenderer(params) {
573
+ var record = params.data;
574
+ if (!record) return null;
575
+ if (editingId === record.id) {
576
+ return /*#__PURE__*/React.createElement(Input, {
577
+ value: editingDescription,
578
+ onChange: function onChange(e) {
579
+ return setEditingDescription(e.target.value);
580
+ },
581
+ onPressEnter: handleSaveEdit,
582
+ size: "small",
583
+ style: {
584
+ width: '100%'
585
+ }
586
+ });
587
+ }
588
+ return record.description || '-';
570
589
  }
571
- return text || '-';
572
- }
573
- }, {
574
- title: '更新时间',
575
- dataIndex: 'updatedAt',
576
- key: 'updatedAt',
577
- width: 180,
578
- render: function render(date) {
579
- return new Date(date).toLocaleString();
580
- }
581
- }, {
582
- title: '操作',
583
- key: 'actions',
584
- width: 200,
585
- render: function render(_, record) {
586
- if (editingId === record.id) {
587
- return /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
590
+ }, {
591
+ headerName: '更新时间',
592
+ field: 'updatedAt',
593
+ width: 180,
594
+ valueFormatter: function valueFormatter(params) {
595
+ if (!params.value) return '';
596
+ return new Date(params.value).toLocaleString();
597
+ }
598
+ }, {
599
+ headerName: '操作',
600
+ colId: 'actions',
601
+ width: 220,
602
+ cellRenderer: function cellRenderer(params) {
603
+ var record = params.data;
604
+ if (!record) return null;
605
+ if (editingId === record.id) {
606
+ return /*#__PURE__*/React.createElement(Space, {
607
+ size: "small"
608
+ }, /*#__PURE__*/React.createElement(Button, {
609
+ size: "small",
610
+ type: "link",
611
+ onClick: handleSaveEdit
612
+ }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
613
+ size: "small",
614
+ type: "link",
615
+ onClick: function onClick() {
616
+ return setEditingId(null);
617
+ }
618
+ }, "\u53D6\u6D88"));
619
+ }
620
+ return /*#__PURE__*/React.createElement(Space, {
621
+ size: "small"
622
+ }, /*#__PURE__*/React.createElement(Tooltip, {
623
+ title: "\u52A0\u8F7D\u65B9\u6848"
624
+ }, /*#__PURE__*/React.createElement(Button, {
625
+ type: "link",
588
626
  size: "small",
627
+ icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
628
+ onClick: function onClick() {
629
+ return handleLoadScheme(record.id);
630
+ }
631
+ }, "\u52A0\u8F7D")), /*#__PURE__*/React.createElement(Tooltip, {
632
+ title: record.isDefault ? '取消默认' : '设为默认'
633
+ }, /*#__PURE__*/React.createElement(Button, {
589
634
  type: "link",
590
- onClick: handleSaveEdit
591
- }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
592
635
  size: "small",
636
+ icon: record.isDefault ? /*#__PURE__*/React.createElement(StarFilled, null) : /*#__PURE__*/React.createElement(StarOutlined, null),
637
+ onClick: function onClick() {
638
+ return handleSetDefault(record.id);
639
+ }
640
+ })), /*#__PURE__*/React.createElement(Tooltip, {
641
+ title: "\u7F16\u8F91"
642
+ }, /*#__PURE__*/React.createElement(Button, {
593
643
  type: "link",
644
+ size: "small",
645
+ icon: /*#__PURE__*/React.createElement(EditOutlined, null),
594
646
  onClick: function onClick() {
595
- return setEditingId(null);
647
+ return handleEditScheme(record);
596
648
  }
597
- }, "\u53D6\u6D88"));
649
+ })), /*#__PURE__*/React.createElement(Popconfirm, {
650
+ title: "\u786E\u5B9A\u8981\u5220\u9664\u6B64\u65B9\u6848\u5417?",
651
+ onConfirm: function onConfirm() {
652
+ return handleDeleteScheme(record.id, record.name);
653
+ },
654
+ okText: "\u786E\u5B9A",
655
+ cancelText: "\u53D6\u6D88"
656
+ }, /*#__PURE__*/React.createElement(Tooltip, {
657
+ title: "\u5220\u9664"
658
+ }, /*#__PURE__*/React.createElement(Button, {
659
+ type: "link",
660
+ size: "small",
661
+ danger: true,
662
+ icon: /*#__PURE__*/React.createElement(DeleteOutlined, null)
663
+ }))));
598
664
  }
599
- return /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Tooltip, {
600
- title: "\u52A0\u8F7D\u65B9\u6848"
601
- }, /*#__PURE__*/React.createElement(Button, {
602
- type: "link",
603
- size: "small",
604
- icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
605
- onClick: function onClick() {
606
- return handleLoadScheme(record.id);
607
- }
608
- }, "\u52A0\u8F7D")), /*#__PURE__*/React.createElement(Tooltip, {
609
- title: record.isDefault ? '取消默认' : '设为默认'
610
- }, /*#__PURE__*/React.createElement(Button, {
611
- type: "link",
612
- size: "small",
613
- icon: record.isDefault ? /*#__PURE__*/React.createElement(StarFilled, null) : /*#__PURE__*/React.createElement(StarOutlined, null),
614
- onClick: function onClick() {
615
- return handleSetDefault(record.id);
616
- }
617
- })), /*#__PURE__*/React.createElement(Tooltip, {
618
- title: "\u7F16\u8F91"
619
- }, /*#__PURE__*/React.createElement(Button, {
620
- type: "link",
621
- size: "small",
622
- icon: /*#__PURE__*/React.createElement(EditOutlined, null),
623
- onClick: function onClick() {
624
- return handleEditScheme(record);
625
- }
626
- })), /*#__PURE__*/React.createElement(Popconfirm, {
627
- title: "\u786E\u5B9A\u8981\u5220\u9664\u6B64\u65B9\u6848\u5417?",
628
- onConfirm: function onConfirm() {
629
- return handleDeleteScheme(record.id, record.name);
630
- },
631
- okText: "\u786E\u5B9A",
632
- cancelText: "\u53D6\u6D88"
633
- }, /*#__PURE__*/React.createElement(Tooltip, {
634
- title: "\u5220\u9664"
635
- }, /*#__PURE__*/React.createElement(Button, {
636
- type: "link",
637
- size: "small",
638
- danger: true,
639
- icon: /*#__PURE__*/React.createElement(DeleteOutlined, null)
640
- }))));
641
- }
642
- }];
665
+ }];
666
+ }, [editingId, editingName, editingDescription, schemeManager === null || schemeManager === void 0 || (_schemeManager$curren3 = schemeManager.currentScheme) === null || _schemeManager$curren3 === void 0 ? void 0 : _schemeManager$curren3.id, handleSaveEdit, handleLoadScheme, handleSetDefault, handleEditScheme, handleDeleteScheme]);
643
667
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DraggableModal, {
644
668
  title: /*#__PURE__*/React.createElement("span", null, "\u5217\u65B9\u6848\u7BA1\u7406", (schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.currentScheme) && /*#__PURE__*/React.createElement("span", {
645
669
  style: {
@@ -686,10 +710,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
686
710
  key: "schemes"
687
711
  }, /*#__PURE__*/React.createElement("div", {
688
712
  style: {
689
- marginBottom: 16,
690
- display: 'flex',
691
- justifyContent: 'space-between',
692
- alignItems: 'center'
713
+ marginBottom: 16
693
714
  }
694
715
  }, /*#__PURE__*/React.createElement(Input, {
695
716
  placeholder: "\u641C\u7D22\u65B9\u6848\u540D\u79F0\u6216\u63CF\u8FF0...",
@@ -702,169 +723,32 @@ var ColumnSetting = function ColumnSetting(_ref) {
702
723
  width: 300
703
724
  },
704
725
  allowClear: true
705
- }), /*#__PURE__*/React.createElement(Radio.Group, {
706
- value: viewMode,
707
- onChange: function onChange(e) {
708
- return setViewMode(e.target.value);
709
- },
710
- buttonStyle: "solid"
711
- }, /*#__PURE__*/React.createElement(Radio.Button, {
712
- value: "grid"
713
- }, /*#__PURE__*/React.createElement(AppstoreOutlined, null), " \u7F51\u683C"), /*#__PURE__*/React.createElement(Radio.Button, {
714
- value: "list"
715
- }, /*#__PURE__*/React.createElement(UnorderedListOutlined, null), " \u5217\u8868"))), viewMode === 'grid' && /*#__PURE__*/React.createElement("div", {
726
+ })), /*#__PURE__*/React.createElement("div", {
716
727
  style: {
717
- maxHeight: 480,
718
- overflowY: 'auto'
728
+ height: 400,
729
+ width: '100%'
719
730
  }
720
731
  }, filteredSchemes.length === 0 ? /*#__PURE__*/React.createElement(Empty, {
721
- description: "\u6682\u65E0\u65B9\u6848,\u8BF7\u5148\u4FDD\u5B58\u4E00\u4E2A\u65B9\u6848"
722
- }) : /*#__PURE__*/React.createElement(Row, {
723
- gutter: [16, 16]
724
- }, filteredSchemes.map(function (scheme) {
725
- var _schemeManager$curren3, _schemeManager$curren4, _schemeManager$curren5;
726
- return /*#__PURE__*/React.createElement(Col, {
727
- span: 8,
728
- key: scheme.id
729
- }, /*#__PURE__*/React.createElement(Card, {
730
- hoverable: true,
731
- style: {
732
- height: '100%',
733
- borderColor: scheme.id === ((_schemeManager$curren3 = schemeManager.currentScheme) === null || _schemeManager$curren3 === void 0 ? void 0 : _schemeManager$curren3.id) ? '#1890ff' : undefined,
734
- borderWidth: scheme.id === ((_schemeManager$curren4 = schemeManager.currentScheme) === null || _schemeManager$curren4 === void 0 ? void 0 : _schemeManager$curren4.id) ? 2 : 1
735
- },
736
- actions: [/*#__PURE__*/React.createElement(Tooltip, {
737
- title: "\u52A0\u8F7D\u65B9\u6848"
738
- }, /*#__PURE__*/React.createElement(ReloadOutlined, {
739
- key: "load",
740
- onClick: function onClick() {
741
- return handleLoadScheme(scheme.id);
742
- },
743
- style: {
744
- fontSize: 16
745
- }
746
- })), /*#__PURE__*/React.createElement(Tooltip, {
747
- title: scheme.isDefault ? '取消默认' : '设为默认'
748
- }, scheme.isDefault ? /*#__PURE__*/React.createElement(StarFilled, {
749
- key: "default",
750
- onClick: function onClick() {
751
- return handleSetDefault(scheme.id);
752
- },
753
- style: {
754
- fontSize: 16,
755
- color: '#faad14'
756
- }
757
- }) : /*#__PURE__*/React.createElement(StarOutlined, {
758
- key: "default",
759
- onClick: function onClick() {
760
- return handleSetDefault(scheme.id);
761
- },
762
- style: {
763
- fontSize: 16
764
- }
765
- })), /*#__PURE__*/React.createElement(Tooltip, {
766
- title: "\u7F16\u8F91"
767
- }, /*#__PURE__*/React.createElement(EditOutlined, {
768
- key: "edit",
769
- onClick: function onClick() {
770
- return handleEditScheme(scheme);
771
- },
772
- style: {
773
- fontSize: 16
774
- }
775
- })), /*#__PURE__*/React.createElement(Popconfirm, {
776
- title: "\u786E\u5B9A\u8981\u5220\u9664\u6B64\u65B9\u6848\u5417?",
777
- onConfirm: function onConfirm() {
778
- return handleDeleteScheme(scheme.id, scheme.name);
779
- },
780
- okText: "\u786E\u5B9A",
781
- cancelText: "\u53D6\u6D88"
782
- }, /*#__PURE__*/React.createElement(Tooltip, {
783
- title: "\u5220\u9664"
784
- }, /*#__PURE__*/React.createElement(DeleteOutlined, {
785
- key: "delete",
786
- style: {
787
- fontSize: 16,
788
- color: '#ff4d4f'
789
- }
790
- })))]
791
- }, editingId === scheme.id ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
792
- style: {
793
- marginBottom: 8
794
- }
795
- }, /*#__PURE__*/React.createElement(Input, {
796
- value: editingName,
797
- onChange: function onChange(e) {
798
- return setEditingName(e.target.value);
799
- },
800
- onPressEnter: handleSaveEdit,
801
- placeholder: "\u65B9\u6848\u540D\u79F0"
802
- })), /*#__PURE__*/React.createElement("div", {
803
- style: {
804
- marginBottom: 8
805
- }
806
- }, /*#__PURE__*/React.createElement(Input.TextArea, {
807
- value: editingDescription,
808
- onChange: function onChange(e) {
809
- return setEditingDescription(e.target.value);
810
- },
811
- placeholder: "\u65B9\u6848\u63CF\u8FF0",
812
- rows: 2
813
- })), /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
814
- size: "small",
815
- type: "primary",
816
- onClick: handleSaveEdit
817
- }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
818
- size: "small",
819
- onClick: function onClick() {
820
- return setEditingId(null);
821
- }
822
- }, "\u53D6\u6D88"))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Card.Meta, {
823
- title: /*#__PURE__*/React.createElement("div", {
824
- style: {
825
- display: 'flex',
826
- alignItems: 'center',
827
- gap: 8
828
- }
829
- }, /*#__PURE__*/React.createElement("span", {
830
- style: {
831
- fontWeight: 600
832
- }
833
- }, scheme.name), scheme.isDefault && /*#__PURE__*/React.createElement(Tag, {
834
- color: "blue"
835
- }, "\u9ED8\u8BA4"), scheme.id === ((_schemeManager$curren5 = schemeManager.currentScheme) === null || _schemeManager$curren5 === void 0 ? void 0 : _schemeManager$curren5.id) && /*#__PURE__*/React.createElement(Tag, {
836
- color: "green"
837
- }, "\u5F53\u524D")),
838
- description: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
839
- style: {
840
- fontSize: 12,
841
- color: '#666',
842
- marginBottom: 8,
843
- overflow: 'hidden',
844
- textOverflow: 'ellipsis',
845
- display: '-webkit-box',
846
- WebkitLineClamp: 2,
847
- WebkitBoxOrient: 'vertical'
848
- }
849
- }, scheme.description || '暂无描述'), /*#__PURE__*/React.createElement("div", {
850
- style: {
851
- fontSize: 12,
852
- color: '#999'
853
- }
854
- }, "\u66F4\u65B0\u4E8E ", new Date(scheme.updatedAt).toLocaleString()))
855
- }))));
856
- }))), viewMode === 'list' && /*#__PURE__*/React.createElement(Table, {
857
- dataSource: filteredSchemes,
858
- columns: schemeColumns,
859
- rowKey: "id",
860
- pagination: false,
861
- scroll: {
862
- y: 400
732
+ description: "\u6682\u65E0\u65B9\u6848,\u8BF7\u5148\u4FDD\u5B58\u4E00\u4E2A\u65B9\u6848",
733
+ style: {
734
+ marginTop: 100
735
+ }
736
+ }) : /*#__PURE__*/React.createElement(AgGridReact, {
737
+ theme: agGridTheme,
738
+ localeText: localeText,
739
+ rowData: filteredSchemes,
740
+ columnDefs: schemeColumnDefs,
741
+ defaultColDef: {
742
+ sortable: true,
743
+ resizable: true
863
744
  },
864
- locale: {
865
- emptyText: '暂无方案,请先保存一个方案'
745
+ rowSelection: "single",
746
+ animateRows: true,
747
+ suppressCellFocus: true,
748
+ getRowId: function getRowId(params) {
749
+ return params.data.id;
866
750
  }
867
- })))), /*#__PURE__*/React.createElement(Modal, {
751
+ }))))), /*#__PURE__*/React.createElement(Modal, {
868
752
  title: "\u4FDD\u5B58\u4E3A\u65B0\u65B9\u6848",
869
753
  open: saveSchemeVisible,
870
754
  onOk: handleSaveScheme,
@@ -1,8 +1,13 @@
1
1
  /**
2
2
  * 方案存储模块
3
- * 导出内存管理模式所需的所有类和类型
3
+ *
4
+ * @deprecated 整个 storage 模块已废弃
5
+ *
6
+ * SchemeSyncManager 和全局同步系统已被完全移除。
7
+ * 请使用 RemoteStorageAdapter 替代。
8
+ *
9
+ * @see RemoteStorageAdapter - 新的远程存储适配器
10
+ *
11
+ * 迁移指南: docs/ag-grid-plus/DEPRECATION-NOTICE.md
4
12
  */
5
- export * from './types';
6
- export * from './SchemeSyncManager';
7
- export * from './MemoryStorageAdapter';
8
- export * from './globalSyncManager';
13
+ export {};
@@ -1,9 +1,17 @@
1
1
  /**
2
2
  * 方案存储模块
3
- * 导出内存管理模式所需的所有类和类型
3
+ *
4
+ * @deprecated 整个 storage 模块已废弃
5
+ *
6
+ * SchemeSyncManager 和全局同步系统已被完全移除。
7
+ * 请使用 RemoteStorageAdapter 替代。
8
+ *
9
+ * @see RemoteStorageAdapter - 新的远程存储适配器
10
+ *
11
+ * 迁移指南: docs/ag-grid-plus/DEPRECATION-NOTICE.md
4
12
  */
5
13
 
6
- export * from "./types";
7
- export * from "./SchemeSyncManager";
8
- export * from "./MemoryStorageAdapter";
9
- export * from "./globalSyncManager";
14
+ // 此文件仅保留用于向后兼容性说明
15
+ // 所有实际代码已移除
16
+
17
+ export {};
@@ -27,6 +27,9 @@ import Setting from "../ag-grid-plus/setting";
27
27
  import { useGridPlusColumnState } from "../ag-grid-plus/hooks/useGridPlusColumnState";
28
28
  import { useColumnSchemes } from "../ag-grid-plus/schemes/hooks/useColumnSchemes";
29
29
 
30
+ // 导入 AG-Grid v33 主题
31
+ import { agGridTheme } from "../ag-grid-plus/theme";
32
+
30
33
  //@ts-ignore
31
34
  var ArrayTable = observer(function (props) {
32
35
  var height = props.height;
@@ -168,6 +171,7 @@ var ArrayTable = observer(function (props) {
168
171
  minHeight: 0
169
172
  }
170
173
  }, /*#__PURE__*/React.createElement(AgGridReact, {
174
+ theme: agGridTheme,
171
175
  onGridReady: function onGridReady(params) {
172
176
  params.api.hidePopupMenu();
173
177
  apiRef.current = params.api;
@@ -182,7 +186,8 @@ var ArrayTable = observer(function (props) {
182
186
  suppressCopyRowsToClipboard: true,
183
187
  suppressCopySingleCellRanges: true,
184
188
  enterNavigatesVertically: true,
185
- enterNavigatesVerticallyAfterEdit: true
189
+ enterNavigatesVerticallyAfterEdit: true,
190
+ columnHoverHighlight: true
186
191
  },
187
192
  onCellKeyDown: handleCellKeyDown,
188
193
  onCellClicked: function onCellClicked(event) {
@@ -209,7 +214,6 @@ var ArrayTable = observer(function (props) {
209
214
  suppressClipboardPaste: true,
210
215
  preventDefaultOnContextMenu: true,
211
216
  enableCellTextSelection: true,
212
- className: "ag-theme-alpine",
213
217
  defaultColDef: {
214
218
  resizable: true,
215
219
  headerComponentParams: {
@@ -2,7 +2,7 @@ import { ModalProps } from 'antd/lib/modal';
2
2
  import React from 'react';
3
3
  import "./style.less";
4
4
  /**
5
- * 可拖拽Modal - 支持拖拽、全屏切换和缩放
5
+ * 可拖拽Modal - 支持拖拽和调整大小
6
6
  * @param props
7
7
  * @returns
8
8
  */