@nokecy/qc-ui 1.0.67 → 1.0.69

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.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 使用 GridPlusContext 的 Hook
3
+ * 用于访问列状态管理相关的方法和数据
4
+ */
5
+ export declare const useGridPlusColumnState: () => {
6
+ extensibleColumns: any;
7
+ columnState: any;
8
+ onSaveColumnState: (gridKey: string, columnState: any[]) => void;
9
+ applyToGlobal: (gridKey: string) => void;
10
+ resetCurrent: (gridKey: string) => void;
11
+ resetAll: (gridKey: string) => void;
12
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useGridPlusColumnState = void 0;
7
+ var _react = require("react");
8
+ var _gridContext = require("../context/gridContext");
9
+ /**
10
+ * 使用 GridPlusContext 的 Hook
11
+ * 用于访问列状态管理相关的方法和数据
12
+ */
13
+ var useGridPlusColumnState = exports.useGridPlusColumnState = function useGridPlusColumnState() {
14
+ return (0, _react.useContext)(_gridContext.GridPlusContext);
15
+ };
@@ -1,14 +1,7 @@
1
1
  import AgGridPlus from "./ag-gridPlus";
2
2
  import { AgGridColumn } from "./interface";
3
3
  import { GridPlusContext } from "./context/gridContext";
4
+ import { useGridPlusColumnState } from "./hooks/useGridPlusColumnState";
4
5
  import "./ag-grid-theme-builder.css";
5
- export declare const useGridPlusColumnState: () => {
6
- extensibleColumns: any;
7
- columnState: any;
8
- onSaveColumnState: (gridKey: string, columnState: any[]) => void;
9
- applyToGlobal: (gridKey: string) => void;
10
- resetCurrent: (gridKey: string) => void;
11
- resetAll: (gridKey: string) => void;
12
- };
13
- export { AgGridPlus, AgGridColumn, GridPlusContext };
6
+ export { AgGridPlus, AgGridColumn, GridPlusContext, useGridPlusColumnState };
14
7
  export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
@@ -63,14 +63,16 @@ Object.defineProperty(exports, "toTree", {
63
63
  return _utils.toTree;
64
64
  }
65
65
  });
66
- exports.useGridPlusColumnState = void 0;
67
- var _react = _interopRequireDefault(require("react"));
66
+ Object.defineProperty(exports, "useGridPlusColumnState", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _useGridPlusColumnState.useGridPlusColumnState;
70
+ }
71
+ });
68
72
  var _agGridPlus = _interopRequireDefault(require("./ag-gridPlus"));
69
73
  var _interface = require("./interface");
70
74
  var _gridContext = require("./context/gridContext");
75
+ var _useGridPlusColumnState = require("./hooks/useGridPlusColumnState");
71
76
  require("./ag-grid-theme-builder.css");
72
77
  var _utils = require("./utils");
73
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
74
- var useGridPlusColumnState = exports.useGridPlusColumnState = function useGridPlusColumnState() {
75
- return _react.default.useContext(_gridContext.GridPlusContext);
76
- };
78
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -13,7 +13,7 @@ var _icons = require("@ant-design/icons");
13
13
  var _arrayTable = _interopRequireDefault(require("../../array-table"));
14
14
  var _antd = require("antd");
15
15
  var _diySetting = _interopRequireDefault(require("./diySetting"));
16
- var _ = require("..");
16
+ var _useGridPlusColumnState = require("../hooks/useGridPlusColumnState");
17
17
  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); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -31,7 +31,7 @@ var Setting = function Setting(props) {
31
31
  gridApi = props.gridApi,
32
32
  gridApiState = props.gridApiState,
33
33
  onSaveColumnState = props.onSaveColumnState;
34
- var _useGridPlusColumnSta = (0, _.useGridPlusColumnState)(),
34
+ var _useGridPlusColumnSta = (0, _useGridPlusColumnState.useGridPlusColumnState)(),
35
35
  extensibleColumns = _useGridPlusColumnSta.extensibleColumns,
36
36
  applyToGlobal = _useGridPlusColumnSta.applyToGlobal,
37
37
  resetCurrent = _useGridPlusColumnSta.resetCurrent,
@@ -0,0 +1,126 @@
1
+ import { ColDef } from 'ag-grid-community';
2
+ /**
3
+ * 列配置类型定义
4
+ */
5
+ export interface ColumnConfig {
6
+ /** 列标题 */
7
+ headerName: string;
8
+ /** 数据字段 */
9
+ dataIndex: string;
10
+ /** 列宽度 */
11
+ width?: number;
12
+ /** 最小宽度 */
13
+ minWidth?: number;
14
+ /** 最大宽度 */
15
+ maxWidth?: number;
16
+ /** 是否可调整大小 */
17
+ resizable?: boolean;
18
+ /** 是否可排序 */
19
+ sortable?: boolean;
20
+ /** 是否可筛选 */
21
+ filter?: boolean | string;
22
+ /** 对齐方式 */
23
+ align?: 'left' | 'center' | 'right';
24
+ /** 是否固定列 */
25
+ pinned?: 'left' | 'right' | null;
26
+ /** 是否隐藏 */
27
+ hide?: boolean;
28
+ /** 是否省略显示 */
29
+ ellipsis?: boolean;
30
+ /** 是否可编辑 */
31
+ editable?: boolean;
32
+ /** 自定义 AG-Grid 配置 */
33
+ agGridProps?: Partial<ColDef>;
34
+ }
35
+ /**
36
+ * 文本列配置
37
+ * 用于显示和编辑文本内容
38
+ */
39
+ export declare const createTextColumn: (config: ColumnConfig) => ColumnConfig;
40
+ /**
41
+ * 数字列配置
42
+ * 用于显示和编辑数字内容
43
+ */
44
+ export declare const createNumberColumn: (config: ColumnConfig) => ColumnConfig;
45
+ /**
46
+ * 日期列配置
47
+ * 用于显示和编辑日期内容
48
+ */
49
+ export declare const createDateColumn: (config: ColumnConfig) => ColumnConfig;
50
+ /**
51
+ * 选择列配置
52
+ * 用于下拉选择类型的列
53
+ */
54
+ export declare const createSelectColumn: (config: ColumnConfig) => ColumnConfig;
55
+ /**
56
+ * 操作列配置
57
+ * 用于行操作按钮列
58
+ */
59
+ export declare const createOperationColumn: (config: Omit<ColumnConfig, 'dataIndex'>) => ColumnConfig;
60
+ /**
61
+ * 序号列配置
62
+ * 用于显示行序号
63
+ */
64
+ export declare const createIndexColumn: (config?: Partial<ColumnConfig>) => ColumnConfig;
65
+ /**
66
+ * 只读列配置
67
+ * 用于显示不可编辑的内容
68
+ */
69
+ export declare const createReadOnlyColumn: (config: ColumnConfig) => ColumnConfig;
70
+ /**
71
+ * 固定左侧列配置
72
+ */
73
+ export declare const createPinnedLeftColumn: (config: ColumnConfig) => ColumnConfig;
74
+ /**
75
+ * 固定右侧列配置
76
+ */
77
+ export declare const createPinnedRightColumn: (config: ColumnConfig) => ColumnConfig;
78
+ /**
79
+ * 百分比列配置
80
+ * 用于显示百分比数值
81
+ */
82
+ export declare const createPercentColumn: (config: ColumnConfig) => ColumnConfig;
83
+ /**
84
+ * 货币列配置
85
+ * 用于显示货币金额
86
+ */
87
+ export declare const createCurrencyColumn: (config: ColumnConfig) => ColumnConfig;
88
+ /**
89
+ * 批量创建列配置
90
+ * @param columns 列配置数组
91
+ * @returns 标准化的列配置数组
92
+ */
93
+ export declare const createColumns: (columns: ColumnConfig[]) => ColumnConfig[];
94
+ /**
95
+ * 列配置预设
96
+ */
97
+ export declare const ColumnPresets: {
98
+ /** 文本列 */
99
+ text: (config: ColumnConfig) => ColumnConfig;
100
+ /** 数字列 */
101
+ number: (config: ColumnConfig) => ColumnConfig;
102
+ /** 日期列 */
103
+ date: (config: ColumnConfig) => ColumnConfig;
104
+ /** 选择列 */
105
+ select: (config: ColumnConfig) => ColumnConfig;
106
+ /** 操作列 */
107
+ operation: (config: Omit<ColumnConfig, 'dataIndex'>) => ColumnConfig;
108
+ /** 序号列 */
109
+ index: (config?: Partial<ColumnConfig>) => ColumnConfig;
110
+ /** 只读列 */
111
+ readOnly: (config: ColumnConfig) => ColumnConfig;
112
+ /** 固定左侧列 */
113
+ pinnedLeft: (config: ColumnConfig) => ColumnConfig;
114
+ /** 固定右侧列 */
115
+ pinnedRightColumn: (config: ColumnConfig) => ColumnConfig;
116
+ /** 百分比列 */
117
+ percent: (config: ColumnConfig) => ColumnConfig;
118
+ /** 货币列 */
119
+ currency: (config: ColumnConfig) => ColumnConfig;
120
+ };
121
+ /**
122
+ * 转换为 AG-Grid 列定义
123
+ * @param config 列配置
124
+ * @returns AG-Grid ColDef
125
+ */
126
+ export declare const toAgGridColDef: (config: ColumnConfig) => Partial<ColDef>;
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toAgGridColDef = exports.createTextColumn = exports.createSelectColumn = exports.createReadOnlyColumn = exports.createPinnedRightColumn = exports.createPinnedLeftColumn = exports.createPercentColumn = exports.createOperationColumn = exports.createNumberColumn = exports.createIndexColumn = exports.createDateColumn = exports.createCurrencyColumn = exports.createColumns = exports.ColumnPresets = void 0;
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ /**
14
+ * 列配置类型定义
15
+ */
16
+
17
+ /**
18
+ * 文本列配置
19
+ * 用于显示和编辑文本内容
20
+ */
21
+ var createTextColumn = exports.createTextColumn = function createTextColumn(config) {
22
+ return _objectSpread({
23
+ resizable: true,
24
+ sortable: true,
25
+ filter: 'agTextColumnFilter',
26
+ align: 'left',
27
+ editable: true,
28
+ ellipsis: true
29
+ }, config);
30
+ };
31
+
32
+ /**
33
+ * 数字列配置
34
+ * 用于显示和编辑数字内容
35
+ */
36
+ var createNumberColumn = exports.createNumberColumn = function createNumberColumn(config) {
37
+ return _objectSpread({
38
+ resizable: true,
39
+ sortable: true,
40
+ filter: 'agNumberColumnFilter',
41
+ align: 'right',
42
+ editable: true
43
+ }, config);
44
+ };
45
+
46
+ /**
47
+ * 日期列配置
48
+ * 用于显示和编辑日期内容
49
+ */
50
+ var createDateColumn = exports.createDateColumn = function createDateColumn(config) {
51
+ return _objectSpread({
52
+ resizable: true,
53
+ sortable: true,
54
+ filter: 'agDateColumnFilter',
55
+ align: 'center',
56
+ editable: true
57
+ }, config);
58
+ };
59
+
60
+ /**
61
+ * 选择列配置
62
+ * 用于下拉选择类型的列
63
+ */
64
+ var createSelectColumn = exports.createSelectColumn = function createSelectColumn(config) {
65
+ return _objectSpread({
66
+ resizable: true,
67
+ sortable: true,
68
+ filter: 'agSetColumnFilter',
69
+ align: 'left',
70
+ editable: true
71
+ }, config);
72
+ };
73
+
74
+ /**
75
+ * 操作列配置
76
+ * 用于行操作按钮列
77
+ */
78
+ var createOperationColumn = exports.createOperationColumn = function createOperationColumn(config) {
79
+ return _objectSpread({
80
+ dataIndex: 'operations',
81
+ resizable: false,
82
+ sortable: false,
83
+ filter: false,
84
+ pinned: 'right',
85
+ width: 120,
86
+ align: 'center'
87
+ }, config);
88
+ };
89
+
90
+ /**
91
+ * 序号列配置
92
+ * 用于显示行序号
93
+ */
94
+ var createIndexColumn = exports.createIndexColumn = function createIndexColumn(config) {
95
+ return _objectSpread({
96
+ headerName: '序号',
97
+ dataIndex: 'index',
98
+ width: 80,
99
+ resizable: false,
100
+ sortable: false,
101
+ filter: false,
102
+ align: 'center',
103
+ pinned: 'left'
104
+ }, config);
105
+ };
106
+
107
+ /**
108
+ * 只读列配置
109
+ * 用于显示不可编辑的内容
110
+ */
111
+ var createReadOnlyColumn = exports.createReadOnlyColumn = function createReadOnlyColumn(config) {
112
+ return _objectSpread({
113
+ resizable: true,
114
+ sortable: true,
115
+ editable: false
116
+ }, config);
117
+ };
118
+
119
+ /**
120
+ * 固定左侧列配置
121
+ */
122
+ var createPinnedLeftColumn = exports.createPinnedLeftColumn = function createPinnedLeftColumn(config) {
123
+ return _objectSpread(_objectSpread({}, config), {}, {
124
+ pinned: 'left'
125
+ });
126
+ };
127
+
128
+ /**
129
+ * 固定右侧列配置
130
+ */
131
+ var createPinnedRightColumn = exports.createPinnedRightColumn = function createPinnedRightColumn(config) {
132
+ return _objectSpread(_objectSpread({}, config), {}, {
133
+ pinned: 'right'
134
+ });
135
+ };
136
+
137
+ /**
138
+ * 百分比列配置
139
+ * 用于显示百分比数值
140
+ */
141
+ var createPercentColumn = exports.createPercentColumn = function createPercentColumn(config) {
142
+ return _objectSpread({
143
+ resizable: true,
144
+ sortable: true,
145
+ filter: 'agNumberColumnFilter',
146
+ align: 'right',
147
+ editable: true
148
+ }, config);
149
+ };
150
+
151
+ /**
152
+ * 货币列配置
153
+ * 用于显示货币金额
154
+ */
155
+ var createCurrencyColumn = exports.createCurrencyColumn = function createCurrencyColumn(config) {
156
+ return _objectSpread({
157
+ resizable: true,
158
+ sortable: true,
159
+ filter: 'agNumberColumnFilter',
160
+ align: 'right',
161
+ editable: true
162
+ }, config);
163
+ };
164
+
165
+ /**
166
+ * 批量创建列配置
167
+ * @param columns 列配置数组
168
+ * @returns 标准化的列配置数组
169
+ */
170
+ var createColumns = exports.createColumns = function createColumns(columns) {
171
+ return columns.map(function (col) {
172
+ return _objectSpread({
173
+ resizable: true,
174
+ sortable: false,
175
+ align: 'left'
176
+ }, col);
177
+ });
178
+ };
179
+
180
+ /**
181
+ * 列配置预设
182
+ */
183
+ var ColumnPresets = exports.ColumnPresets = {
184
+ /** 文本列 */
185
+ text: createTextColumn,
186
+ /** 数字列 */
187
+ number: createNumberColumn,
188
+ /** 日期列 */
189
+ date: createDateColumn,
190
+ /** 选择列 */
191
+ select: createSelectColumn,
192
+ /** 操作列 */
193
+ operation: createOperationColumn,
194
+ /** 序号列 */
195
+ index: createIndexColumn,
196
+ /** 只读列 */
197
+ readOnly: createReadOnlyColumn,
198
+ /** 固定左侧列 */
199
+ pinnedLeft: createPinnedLeftColumn,
200
+ /** 固定右侧列 */
201
+ pinnedRightColumn: createPinnedRightColumn,
202
+ /** 百分比列 */
203
+ percent: createPercentColumn,
204
+ /** 货币列 */
205
+ currency: createCurrencyColumn
206
+ };
207
+
208
+ /**
209
+ * 转换为 AG-Grid 列定义
210
+ * @param config 列配置
211
+ * @returns AG-Grid ColDef
212
+ */
213
+ var toAgGridColDef = exports.toAgGridColDef = function toAgGridColDef(config) {
214
+ var headerName = config.headerName,
215
+ dataIndex = config.dataIndex,
216
+ width = config.width,
217
+ minWidth = config.minWidth,
218
+ maxWidth = config.maxWidth,
219
+ resizable = config.resizable,
220
+ sortable = config.sortable,
221
+ filter = config.filter,
222
+ align = config.align,
223
+ pinned = config.pinned,
224
+ hide = config.hide,
225
+ editable = config.editable,
226
+ agGridProps = config.agGridProps;
227
+ return _objectSpread({
228
+ headerName: headerName,
229
+ field: dataIndex,
230
+ width: width,
231
+ minWidth: minWidth,
232
+ maxWidth: maxWidth,
233
+ resizable: resizable,
234
+ sortable: sortable,
235
+ filter: filter,
236
+ cellClass: align ? "ag-cell-".concat(align) : undefined,
237
+ pinned: pinned || undefined,
238
+ hide: hide,
239
+ editable: editable
240
+ }, agGridProps);
241
+ };
@@ -0,0 +1,23 @@
1
+ import { RefObject } from 'react';
2
+ import { ArrayField } from '@formily/core';
3
+ /**
4
+ * 单元格聚焦 Hook
5
+ * 处理 Editable 包装和普通输入框的聚焦逻辑
6
+ */
7
+ export declare const useCellFocus: () => {
8
+ focusInputInCell: (cell: Element) => void;
9
+ };
10
+ /**
11
+ * 键盘导航 Hook
12
+ * 处理方向键在表格单元格间的导航
13
+ */
14
+ export declare const useKeyboardNavigation: (ref: RefObject<any>, dataSource: any[], focusInputInCell: (cell: Element) => void) => {
15
+ handleCellKeyDown: (event: any) => void;
16
+ };
17
+ /**
18
+ * 行拖拽 Hook
19
+ * 处理行拖拽排序逻辑
20
+ */
21
+ export declare const useRowDrag: (field: ArrayField) => {
22
+ handleRowDragMove: (event: any) => void;
23
+ };