@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.
- package/dist/cjs/ConfirmPro/index.d.ts +12 -9
- package/dist/cjs/ConfirmPro/index.js +11 -34
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +422 -156
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/density.js +52 -0
- package/dist/cjs/ag-grid-plus/index.less +36 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
- package/dist/cjs/ag-grid-plus/interface.js +1 -1
- package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
- package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
- package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
- package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
- package/dist/cjs/ag-grid-plus/theme.js +31 -6
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
- package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
- package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
- package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
- package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
- package/dist/cjs/ag-grid-plus/utils.js +3 -2
- package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/cjs/array-table/arrayAddBtn.js +2 -2
- package/dist/cjs/array-table/autoHeight.d.ts +18 -0
- package/dist/cjs/array-table/autoHeight.js +30 -0
- package/dist/cjs/array-table/batchRemove.d.ts +2 -2
- package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/cjs/array-table/cellEditorMarker.js +92 -0
- package/dist/cjs/array-table/errorLocator.d.ts +29 -0
- package/dist/cjs/array-table/errorLocator.js +101 -0
- package/dist/cjs/array-table/hooks.d.ts +52 -4
- package/dist/cjs/array-table/hooks.js +251 -18
- package/dist/cjs/array-table/index.d.ts +6 -0
- package/dist/cjs/array-table/index.js +167 -23
- package/dist/cjs/array-table/interface.d.ts +22 -0
- package/dist/cjs/array-table/preview.js +39 -5
- package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
- package/dist/cjs/array-table/rowFeedback.js +8 -8
- package/dist/cjs/array-table/summary.d.ts +25 -0
- package/dist/cjs/array-table/summary.js +70 -0
- package/dist/cjs/array-table/theme.d.ts +35 -5
- package/dist/cjs/array-table/theme.js +49 -12
- package/dist/cjs/array-table/title.d.ts +3 -0
- package/dist/cjs/array-table/title.js +29 -0
- package/dist/cjs/array-table/utils.d.ts +2 -1
- package/dist/cjs/array-table/utils.js +94 -23
- package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/cjs/deleteConfirm/index.d.ts +14 -0
- package/dist/cjs/deleteConfirm/index.js +73 -12
- package/dist/cjs/dialogSelect/index.d.ts +19 -0
- package/dist/cjs/dialogSelect/index.js +189 -15
- package/dist/cjs/dialogSelect/index.less +18 -0
- package/dist/cjs/documentPage/documentPage.d.ts +6 -3
- package/dist/cjs/documentPage/documentPage.js +23 -8
- package/dist/cjs/documentPage/index.d.ts +2 -0
- package/dist/cjs/documentPage/index.js +19 -0
- package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
- package/dist/cjs/documentPage/leaveGuard.js +91 -0
- package/dist/cjs/draggableModal/index.d.ts +24 -1
- package/dist/cjs/draggableModal/index.js +36 -6
- package/dist/cjs/fullScreenAlert/index.less +10 -10
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/readPretty/arrayTable.js +5 -1
- package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
- package/dist/cjs/scanCollect/index.d.ts +4 -0
- package/dist/cjs/scanCollect/index.js +14 -0
- package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
- package/dist/cjs/scanCollect/scanSound.js +91 -0
- package/dist/esm/ConfirmPro/index.d.ts +12 -9
- package/dist/esm/ConfirmPro/index.js +11 -34
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +423 -156
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/esm/ag-grid-plus/density.d.ts +25 -0
- package/dist/esm/ag-grid-plus/density.js +45 -0
- package/dist/esm/ag-grid-plus/index.less +36 -0
- package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
- package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
- package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/esm/ag-grid-plus/rowColors.js +50 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
- package/dist/esm/ag-grid-plus/setting/index.js +6 -15
- package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
- package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
- package/dist/esm/ag-grid-plus/theme.js +31 -6
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
- package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
- package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/esm/ag-grid-plus/types.d.ts +6 -0
- package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
- package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
- package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
- package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
- package/dist/esm/ag-grid-plus/utils.js +3 -2
- package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/esm/array-table/arrayAddBtn.js +1 -1
- package/dist/esm/array-table/autoHeight.d.ts +18 -0
- package/dist/esm/array-table/autoHeight.js +25 -0
- package/dist/esm/array-table/batchRemove.d.ts +2 -2
- package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/esm/array-table/cellEditorMarker.js +84 -0
- package/dist/esm/array-table/errorLocator.d.ts +29 -0
- package/dist/esm/array-table/errorLocator.js +95 -0
- package/dist/esm/array-table/hooks.d.ts +52 -4
- package/dist/esm/array-table/hooks.js +251 -17
- package/dist/esm/array-table/index.d.ts +6 -0
- package/dist/esm/array-table/index.js +170 -25
- package/dist/esm/array-table/interface.d.ts +22 -0
- package/dist/esm/array-table/preview.js +43 -7
- package/dist/esm/array-table/rowFeedback.d.ts +2 -2
- package/dist/esm/array-table/rowFeedback.js +8 -8
- package/dist/esm/array-table/summary.d.ts +25 -0
- package/dist/esm/array-table/summary.js +66 -0
- package/dist/esm/array-table/theme.d.ts +35 -5
- package/dist/esm/array-table/theme.js +47 -12
- package/dist/esm/array-table/title.d.ts +3 -0
- package/dist/esm/array-table/title.js +24 -0
- package/dist/esm/array-table/utils.d.ts +2 -1
- package/dist/esm/array-table/utils.js +93 -22
- package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/esm/deleteConfirm/index.d.ts +14 -0
- package/dist/esm/deleteConfirm/index.js +72 -12
- package/dist/esm/dialogSelect/index.d.ts +19 -0
- package/dist/esm/dialogSelect/index.js +190 -16
- package/dist/esm/dialogSelect/index.less +18 -0
- package/dist/esm/documentPage/documentPage.d.ts +6 -3
- package/dist/esm/documentPage/documentPage.js +23 -8
- package/dist/esm/documentPage/index.d.ts +2 -0
- package/dist/esm/documentPage/index.js +1 -0
- package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
- package/dist/esm/documentPage/leaveGuard.js +86 -0
- package/dist/esm/draggableModal/index.d.ts +24 -1
- package/dist/esm/draggableModal/index.js +35 -5
- package/dist/esm/fullScreenAlert/index.less +10 -10
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/readPretty/arrayTable.js +6 -2
- package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
- package/dist/esm/scanCollect/index.d.ts +4 -0
- package/dist/esm/scanCollect/index.js +2 -0
- package/dist/esm/scanCollect/scanSound.d.ts +15 -0
- package/dist/esm/scanCollect/scanSound.js +84 -0
- package/package.json +2 -2
|
@@ -244,6 +244,7 @@ function resolveLegacySelectionOptions(input) {
|
|
|
244
244
|
};
|
|
245
245
|
}
|
|
246
246
|
var isMultiRow = rowSelection.mode === 'multiRow';
|
|
247
|
+
var hasRowSelection = !!propsRowSelection;
|
|
247
248
|
var fill = function fill(key, value) {
|
|
248
249
|
if (value !== undefined && rowSelection[key] === undefined) rowSelection[key] = value;
|
|
249
250
|
};
|
|
@@ -292,9 +293,16 @@ function resolveLegacySelectionOptions(input) {
|
|
|
292
293
|
}
|
|
293
294
|
}
|
|
294
295
|
|
|
296
|
+
// 页面没声明 rowSelection 也没写旧复选框标志时不带选择列(需要时页面显式声明);
|
|
297
|
+
// 点击选行仍可用,只是不再凭空多出一列复选框。
|
|
298
|
+
if (!hasRowSelection && rowSelection.checkboxes === undefined) {
|
|
299
|
+
rowSelection.checkboxes = false;
|
|
300
|
+
}
|
|
301
|
+
|
|
295
302
|
// ---- 单元格范围选择 ----
|
|
296
|
-
//
|
|
297
|
-
|
|
303
|
+
// 默认关闭:开启后 Shift+↑↓ / Ctrl+A 在 AG Grid 里变成单元格范围选择,与列表键盘模型(DESIGN.md §7.9)冲突。
|
|
304
|
+
// 页面显式写 enableRangeSelection / 填充柄 / 范围柄,或直接传 cellSelection 时才开启。
|
|
305
|
+
var cellSelection = !!legacy.enableRangeSelection;
|
|
298
306
|
var cell = {};
|
|
299
307
|
if (legacy.suppressMultiRangeSelection) cell.suppressMultiRanges = true;
|
|
300
308
|
if (legacy.enableFillHandle) {
|
|
@@ -312,7 +320,8 @@ function resolveLegacySelectionOptions(input) {
|
|
|
312
320
|
mode: 'range'
|
|
313
321
|
};
|
|
314
322
|
}
|
|
315
|
-
|
|
323
|
+
// 只有范围选择开关或柄存在时才带上细项;单写 suppressMultiRangeSelection 不会把范围选择打开
|
|
324
|
+
if (Object.keys(cell).length > 0 && (cellSelection || cell.handle)) cellSelection = cell;
|
|
316
325
|
|
|
317
326
|
// ---- 旧事件名 ----
|
|
318
327
|
var eventHandlers = {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ColDef, ICellRendererParams } from 'ag-grid-community';
|
|
2
|
+
import { type StatusKey } from './statusPill';
|
|
2
3
|
/**
|
|
3
4
|
* 扩展的列状态接口
|
|
4
5
|
*/
|
|
@@ -24,6 +25,8 @@ export interface ValueEnumItem {
|
|
|
24
25
|
value: any;
|
|
25
26
|
label: string;
|
|
26
27
|
color?: string;
|
|
28
|
+
/** 状态语义,配置后渲染为状态胶囊,优先于 color */
|
|
29
|
+
status?: StatusKey;
|
|
27
30
|
default?: boolean;
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
@@ -21,6 +21,7 @@ var _formilyAntd = require("@nokecy/formily-antd");
|
|
|
21
21
|
var _lodash = require("lodash");
|
|
22
22
|
var _constants = require("./constants");
|
|
23
23
|
var _valueEnumColor = require("./valueEnumColor");
|
|
24
|
+
var _statusPill = require("./statusPill");
|
|
24
25
|
var _optionValue = require("../../shared/optionValue");
|
|
25
26
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -155,7 +156,7 @@ function mergeInferredColumnType(column, dataType) {
|
|
|
155
156
|
* @author nokecy
|
|
156
157
|
*/
|
|
157
158
|
function processEnumColumn(col, dataType, background) {
|
|
158
|
-
var _defaultItems$0$value, _defaultItems
|
|
159
|
+
var _defaultItems$0$value, _defaultItems$, _col$cellRenderer;
|
|
159
160
|
var valueEnum = col === null || col === void 0 ? void 0 : col.valueEnum;
|
|
160
161
|
if (!valueEnum || !Array.isArray(valueEnum)) {
|
|
161
162
|
return col;
|
|
@@ -179,11 +180,21 @@ function processEnumColumn(col, dataType, background) {
|
|
|
179
180
|
};
|
|
180
181
|
var fallbackRenderer = col.enumFallbackRenderer;
|
|
181
182
|
return _objectSpread(_objectSpread(_objectSpread({}, toColumnType(dataType)), col), {}, {
|
|
182
|
-
|
|
183
|
+
// 页面显式传了 cellRenderer 就用页面的,valueEnum 仍负责筛选与查询表单
|
|
184
|
+
cellRenderer: (_col$cellRenderer = col.cellRenderer) !== null && _col$cellRenderer !== void 0 ? _col$cellRenderer : function (params) {
|
|
183
185
|
var match = (0, _optionValue.findOptionByValue)(valueEnum, params.value, function (item) {
|
|
184
186
|
return item.value;
|
|
185
187
|
});
|
|
186
188
|
if (match) {
|
|
189
|
+
// 配了 status 的枚举项走状态胶囊(形状 + 文字 + 底色),不再看 color
|
|
190
|
+
if ((0, _statusPill.isStatusKey)(match.status)) {
|
|
191
|
+
// 传了 background(valueEnumContrast)且是深色表面时用深色版
|
|
192
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_statusPill.StatusPill, {
|
|
193
|
+
status: match.status,
|
|
194
|
+
dark: (0, _valueEnumColor.isDarkSurface)(background),
|
|
195
|
+
children: match.label
|
|
196
|
+
});
|
|
197
|
+
}
|
|
187
198
|
// 没配颜色的枚举项曾经默认成 '#ffffff'——白底白字,那一列直接看不见。
|
|
188
199
|
// 消费端为此在 global.less 里加了一整套 [style*="color: white"] → 紫色 的覆盖来擦屁股,
|
|
189
200
|
// 顺带把别的颜色也一起改了。这里改成 inherit,跟着单元格的正文色走。@author nokecy
|
|
@@ -22,9 +22,10 @@ export declare const DEFAULT_SEARCH_SORT_ORDER = 999;
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const DEFAULT_PAGE_SIZE_OPTIONS: number[];
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* 默认分页大小:DESIGN.md §7.3 规定每页默认 100(全量渲染的表格最大每页 100)。
|
|
26
|
+
* 页面可用 pageSize 覆盖。
|
|
26
27
|
*/
|
|
27
|
-
export declare const DEFAULT_PAGE_SIZE =
|
|
28
|
+
export declare const DEFAULT_PAGE_SIZE = 100;
|
|
28
29
|
/**
|
|
29
30
|
* 隐藏分页时的默认分页大小
|
|
30
31
|
*/
|
|
@@ -32,9 +32,10 @@ var DEFAULT_SEARCH_SORT_ORDER = exports.DEFAULT_SEARCH_SORT_ORDER = 999;
|
|
|
32
32
|
var DEFAULT_PAGE_SIZE_OPTIONS = exports.DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100, 200, 500, 1000];
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* 默认分页大小:DESIGN.md §7.3 规定每页默认 100(全量渲染的表格最大每页 100)。
|
|
36
|
+
* 页面可用 pageSize 覆盖。
|
|
36
37
|
*/
|
|
37
|
-
var DEFAULT_PAGE_SIZE = exports.DEFAULT_PAGE_SIZE =
|
|
38
|
+
var DEFAULT_PAGE_SIZE = exports.DEFAULT_PAGE_SIZE = 100;
|
|
38
39
|
|
|
39
40
|
/**
|
|
40
41
|
* 隐藏分页时的默认分页大小
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 跨页勾选(DESIGN.md §7.4):服务端分页时翻页会换掉整批 rowData,AG Grid 的选中随之丢失。
|
|
3
|
+
* 这里按行 ID 记住所有已勾选的行,翻页回来后把当前页里命中的行重新勾上。
|
|
4
|
+
* 纯逻辑,不依赖 React,便于单测。
|
|
5
|
+
* @author nokecy
|
|
6
|
+
*/
|
|
7
|
+
import type { GridApi, IRowNode } from 'ag-grid-community';
|
|
8
|
+
export interface CrossPageSelection<T = any> {
|
|
9
|
+
/** 行勾选状态变化时调用(来自 rowSelected 事件) */
|
|
10
|
+
track: (node: IRowNode<T>) => void;
|
|
11
|
+
/** 换页后把当前页里命中的行重新勾上,并用最新数据刷新记录;返回是否有改动 */
|
|
12
|
+
restore: (api: GridApi) => boolean;
|
|
13
|
+
/** 所有已勾选的行(含不在当前页的) */
|
|
14
|
+
rows: () => T[];
|
|
15
|
+
size: () => number;
|
|
16
|
+
/** 清空记录(不动网格,网格由调用方 deselectAll) */
|
|
17
|
+
clear: () => void;
|
|
18
|
+
/** 恢复勾选期间产生的事件不应改写记录 */
|
|
19
|
+
isRestoring: () => boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function createCrossPageSelection<T = any>(getId: (data: T) => string): CrossPageSelection<T>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createCrossPageSelection = createCrossPageSelection;
|
|
7
|
+
/**
|
|
8
|
+
* 跨页勾选(DESIGN.md §7.4):服务端分页时翻页会换掉整批 rowData,AG Grid 的选中随之丢失。
|
|
9
|
+
* 这里按行 ID 记住所有已勾选的行,翻页回来后把当前页里命中的行重新勾上。
|
|
10
|
+
* 纯逻辑,不依赖 React,便于单测。
|
|
11
|
+
* @author nokecy
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function createCrossPageSelection(getId) {
|
|
15
|
+
var picked = new Map();
|
|
16
|
+
var restoring = false;
|
|
17
|
+
return {
|
|
18
|
+
track: function track(node) {
|
|
19
|
+
if (restoring || !node.data) return;
|
|
20
|
+
var id = getId(node.data);
|
|
21
|
+
if (!id) return;
|
|
22
|
+
if (node.isSelected()) picked.set(id, node.data);else picked.delete(id);
|
|
23
|
+
},
|
|
24
|
+
restore: function restore(api) {
|
|
25
|
+
if (picked.size === 0) return false;
|
|
26
|
+
var changed = false;
|
|
27
|
+
restoring = true;
|
|
28
|
+
try {
|
|
29
|
+
api.forEachNode(function (node) {
|
|
30
|
+
if (!node.data) return;
|
|
31
|
+
var id = getId(node.data);
|
|
32
|
+
if (!picked.has(id)) return;
|
|
33
|
+
// 记录里的行数据换成最新一页的(审核等操作后列表刷新,业务拿到的应是新数据)
|
|
34
|
+
picked.set(id, node.data);
|
|
35
|
+
if (!node.isSelected()) {
|
|
36
|
+
node.setSelected(true, false, 'api');
|
|
37
|
+
changed = true;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
} finally {
|
|
41
|
+
restoring = false;
|
|
42
|
+
}
|
|
43
|
+
return changed;
|
|
44
|
+
},
|
|
45
|
+
rows: function rows() {
|
|
46
|
+
return Array.from(picked.values());
|
|
47
|
+
},
|
|
48
|
+
size: function size() {
|
|
49
|
+
return picked.size;
|
|
50
|
+
},
|
|
51
|
+
clear: function clear() {
|
|
52
|
+
return picked.clear();
|
|
53
|
+
},
|
|
54
|
+
isRestoring: function isRestoring() {
|
|
55
|
+
return restoring;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -33,9 +33,10 @@ var DEFAULT_EMPTY_TEXTS = exports.DEFAULT_EMPTY_TEXTS = {
|
|
|
33
33
|
// 不写方位:重试按钮就渲染在这句话正下方(见 shared/NoRowsOverlay)。
|
|
34
34
|
// 原文写的是「请点上方「重试」」,方位指错了。@author nokecy
|
|
35
35
|
error: '数据加载失败,可点下方按钮重试',
|
|
36
|
-
noPermission: '
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
noPermission: '没有查看权限,请联系管理员开通',
|
|
37
|
+
// 「试试调整筛选条件」只能出现在这一支(DESIGN.md §10.1)
|
|
38
|
+
noResult: '没有符合条件的结果,试试调整筛选条件',
|
|
39
|
+
noData: '还没有数据'
|
|
39
40
|
};
|
|
40
41
|
var isBlank = function isBlank(value) {
|
|
41
42
|
if (value === undefined || value === null || value === '') return true;
|
|
@@ -76,10 +77,13 @@ function resolveEmptyBranch(state) {
|
|
|
76
77
|
* `override` 是调用方原来就在用的 `overlayNoRowsTemplateText`,保持最高优先级,向后兼容。
|
|
77
78
|
*/
|
|
78
79
|
function resolveEmptyText(state) {
|
|
79
|
-
var _state$texts
|
|
80
|
+
var _state$texts;
|
|
80
81
|
if (state.override) return state.override;
|
|
81
82
|
var branch = resolveEmptyBranch(state);
|
|
82
|
-
|
|
83
|
+
var custom = (_state$texts = state.texts) === null || _state$texts === void 0 ? void 0 : _state$texts[branch];
|
|
84
|
+
if (custom) return custom;
|
|
85
|
+
if (branch === 'error' && state.reason) return "\u52A0\u8F7D\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A".concat(state.reason);
|
|
86
|
+
return DEFAULT_EMPTY_TEXTS[branch];
|
|
83
87
|
}
|
|
84
88
|
|
|
85
89
|
/**
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列表页表格区键盘模型(DESIGN.md §7.9)里需要基座接管的键位。
|
|
3
|
+
* ↑↓、Home/End、PageUp/PageDown、Space 沿用 AG Grid 自带行为,这里只补它没有的:
|
|
4
|
+
*
|
|
5
|
+
* - Alt+Shift+↑/↓:从活动行起连续勾选 / 取消(不用 Shift+↑↓,那是单元格范围选择)
|
|
6
|
+
* - Alt+A:全选当前页(不用 Ctrl/⌘+A,同上)
|
|
7
|
+
* - Ctrl/⌘+←/→:上一页 / 下一页
|
|
8
|
+
* - Esc:先清除勾选,再取消活动行
|
|
9
|
+
*
|
|
10
|
+
* 焦点在输入框、下拉、文本域内时一律不拦截。纯函数,便于单测。
|
|
11
|
+
* @author nokecy
|
|
12
|
+
*/
|
|
13
|
+
import type { GridApi } from 'ag-grid-community';
|
|
14
|
+
export interface ListKeyboardOptions {
|
|
15
|
+
getApi: () => GridApi | undefined;
|
|
16
|
+
/** 翻页:-1 上一页,1 下一页;不传则不处理 Ctrl/⌘+←/→ */
|
|
17
|
+
onPage?: (delta: -1 | 1) => void;
|
|
18
|
+
}
|
|
19
|
+
type KeyLike = Pick<KeyboardEvent, 'key' | 'code' | 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey' | 'preventDefault'> & {
|
|
20
|
+
target: EventTarget | null;
|
|
21
|
+
};
|
|
22
|
+
/** 返回 true 表示已处理(已 preventDefault) */
|
|
23
|
+
export declare function createListKeyHandler({ getApi, onPage }: ListKeyboardOptions): (e: KeyLike) => boolean;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createListKeyHandler = createListKeyHandler;
|
|
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
|
+
/**
|
|
9
|
+
* 列表页表格区键盘模型(DESIGN.md §7.9)里需要基座接管的键位。
|
|
10
|
+
* ↑↓、Home/End、PageUp/PageDown、Space 沿用 AG Grid 自带行为,这里只补它没有的:
|
|
11
|
+
*
|
|
12
|
+
* - Alt+Shift+↑/↓:从活动行起连续勾选 / 取消(不用 Shift+↑↓,那是单元格范围选择)
|
|
13
|
+
* - Alt+A:全选当前页(不用 Ctrl/⌘+A,同上)
|
|
14
|
+
* - Ctrl/⌘+←/→:上一页 / 下一页
|
|
15
|
+
* - Esc:先清除勾选,再取消活动行
|
|
16
|
+
*
|
|
17
|
+
* 焦点在输入框、下拉、文本域内时一律不拦截。纯函数,便于单测。
|
|
18
|
+
* @author nokecy
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var EDITABLE = 'input, textarea, select, [contenteditable=""], [contenteditable="true"], .ag-cell-inline-editing';
|
|
22
|
+
var isEditableTarget = function isEditableTarget(target) {
|
|
23
|
+
return !!target && typeof target.closest === 'function' && !!target.closest(EDITABLE);
|
|
24
|
+
};
|
|
25
|
+
var isMultiRow = function isMultiRow(api) {
|
|
26
|
+
var selection = api.getGridOption('rowSelection');
|
|
27
|
+
return !!selection && _typeof(selection) === 'object' && selection.mode === 'multiRow';
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/** 返回 true 表示已处理(已 preventDefault) */
|
|
31
|
+
function createListKeyHandler(_ref) {
|
|
32
|
+
var getApi = _ref.getApi,
|
|
33
|
+
onPage = _ref.onPage;
|
|
34
|
+
return function (e) {
|
|
35
|
+
var _api$isDestroyed;
|
|
36
|
+
var api = getApi();
|
|
37
|
+
if (!api || (_api$isDestroyed = api.isDestroyed) !== null && _api$isDestroyed !== void 0 && _api$isDestroyed.call(api) || isEditableTarget(e.target)) return false;
|
|
38
|
+
|
|
39
|
+
// Mac 上 Alt+A 的 key 是 å,用物理键位判断
|
|
40
|
+
if (e.altKey && !e.shiftKey && !e.ctrlKey && !e.metaKey && e.code === 'KeyA') {
|
|
41
|
+
if (!isMultiRow(api)) return false;
|
|
42
|
+
e.preventDefault();
|
|
43
|
+
api.selectAllFiltered();
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
if (e.altKey && e.shiftKey && !e.ctrlKey && !e.metaKey && (e.key === 'ArrowUp' || e.key === 'ArrowDown')) {
|
|
47
|
+
if (!isMultiRow(api)) return false;
|
|
48
|
+
var focused = api.getFocusedCell();
|
|
49
|
+
if (!focused) return false;
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
var step = e.key === 'ArrowDown' ? 1 : -1;
|
|
52
|
+
var current = api.getDisplayedRowAtIndex(focused.rowIndex);
|
|
53
|
+
var next = api.getDisplayedRowAtIndex(focused.rowIndex + step);
|
|
54
|
+
if (!current || !next) return true; // 到头不循环
|
|
55
|
+
// 下一行已勾选:说明在回收这段连续勾选,取消活动行;否则连同活动行一起勾上
|
|
56
|
+
if (next.isSelected()) {
|
|
57
|
+
current.setSelected(false);
|
|
58
|
+
} else {
|
|
59
|
+
current.setSelected(true);
|
|
60
|
+
next.setSelected(true);
|
|
61
|
+
}
|
|
62
|
+
api.setFocusedCell(focused.rowIndex + step, focused.column);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if ((e.ctrlKey || e.metaKey) && !e.altKey && !e.shiftKey && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {
|
|
66
|
+
if (!onPage) return false;
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
onPage(e.key === 'ArrowRight' ? 1 : -1);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
if (e.key === 'Escape' && !e.altKey && !e.ctrlKey && !e.metaKey && !e.shiftKey) {
|
|
72
|
+
if (api.getSelectedNodes().length > 0) {
|
|
73
|
+
api.deselectAll();
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
if (api.getFocusedCell()) {
|
|
77
|
+
api.clearFocusedCell();
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ColDef } from 'ag-grid-community';
|
|
2
|
+
/**
|
|
3
|
+
* 分页与默认列定义的纯函数,便于单测。
|
|
4
|
+
* @author nokecy
|
|
5
|
+
*/
|
|
6
|
+
/** 页面没传 pageSize 时的取值:分页默认 100(DESIGN.md §7.3),隐藏分页时一次取全。 */
|
|
7
|
+
export declare function resolveInitialPageSize(pageSize?: number, hidePagination?: boolean): number;
|
|
8
|
+
/**
|
|
9
|
+
* 把页码收进 [1, 末页]。total 未知(<=0,首次请求前)时只保证不小于 1,
|
|
10
|
+
* 否则首次加载前调用 goToPage(3) 会被无条件打回第 1 页。
|
|
11
|
+
*/
|
|
12
|
+
export declare function clampPage(page: number, total: number, pageSize: number): number;
|
|
13
|
+
/** dataSource(本地数据)模式的真正分页:只把当前页的行交给表格。 */
|
|
14
|
+
export declare function sliceRowsByPage<T>(rows: readonly T[], current: number, pageSize: number): T[];
|
|
15
|
+
/** 分页左侧的总条数文案:第 a-b 条/总共 n 条。 */
|
|
16
|
+
export declare function formatPaginationTotal(total: number, current: number, pageSize: number): string;
|
|
17
|
+
/**
|
|
18
|
+
* 合并默认列定义:内置 < 页面传入的 defaultColDef。
|
|
19
|
+
* 此前内置对象写在透传 props 之后,页面传的 defaultColDef 被整体覆盖,只能逐列配置。
|
|
20
|
+
* `headerFilter === false` 时把列头筛选按钮收起(suppressHeaderFilterButton),
|
|
21
|
+
* 不动 `filter`:列的 `filter` 还决定它是否出现在查询区。页面 defaultColDef 里显式写的同名项优先。
|
|
22
|
+
* headerComponentParams 逐键合并,页面只改模板以外的参数时不丢内置表头模板。
|
|
23
|
+
*/
|
|
24
|
+
export declare function mergeDefaultColDef(builtIn: ColDef<any>, custom: ColDef<any> | undefined, options?: {
|
|
25
|
+
headerFilter?: boolean;
|
|
26
|
+
}): ColDef<any>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clampPage = clampPage;
|
|
7
|
+
exports.formatPaginationTotal = formatPaginationTotal;
|
|
8
|
+
exports.mergeDefaultColDef = mergeDefaultColDef;
|
|
9
|
+
exports.resolveInitialPageSize = resolveInitialPageSize;
|
|
10
|
+
exports.sliceRowsByPage = sliceRowsByPage;
|
|
11
|
+
var _constants = require("./constants");
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
17
|
+
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); }
|
|
18
|
+
/**
|
|
19
|
+
* 分页与默认列定义的纯函数,便于单测。
|
|
20
|
+
* @author nokecy
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/** 页面没传 pageSize 时的取值:分页默认 100(DESIGN.md §7.3),隐藏分页时一次取全。 */
|
|
24
|
+
function resolveInitialPageSize(pageSize, hidePagination) {
|
|
25
|
+
if (pageSize !== undefined) return pageSize;
|
|
26
|
+
return hidePagination ? _constants.DEFAULT_PAGE_SIZE_WHEN_HIDDEN : _constants.DEFAULT_PAGE_SIZE;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 把页码收进 [1, 末页]。total 未知(<=0,首次请求前)时只保证不小于 1,
|
|
31
|
+
* 否则首次加载前调用 goToPage(3) 会被无条件打回第 1 页。
|
|
32
|
+
*/
|
|
33
|
+
function clampPage(page, total, pageSize) {
|
|
34
|
+
var target = Number.isFinite(page) ? Math.max(1, Math.floor(page)) : 1;
|
|
35
|
+
if (!(total > 0) || !(pageSize > 0)) return target;
|
|
36
|
+
return Math.min(target, Math.max(1, Math.ceil(total / pageSize)));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** dataSource(本地数据)模式的真正分页:只把当前页的行交给表格。 */
|
|
40
|
+
function sliceRowsByPage(rows, current, pageSize) {
|
|
41
|
+
var start = (current - 1) * pageSize;
|
|
42
|
+
return rows.slice(start, start + pageSize);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** 分页左侧的总条数文案:第 a-b 条/总共 n 条。 */
|
|
46
|
+
function formatPaginationTotal(total, current, pageSize) {
|
|
47
|
+
if (total <= 0) return '第 0-0 条/总共 0 条';
|
|
48
|
+
var start = (current - 1) * pageSize + 1;
|
|
49
|
+
var end = Math.min(current * pageSize, total);
|
|
50
|
+
return "\u7B2C ".concat(start, "-").concat(end, " \u6761/\u603B\u5171 ").concat(total, " \u6761");
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 合并默认列定义:内置 < 页面传入的 defaultColDef。
|
|
55
|
+
* 此前内置对象写在透传 props 之后,页面传的 defaultColDef 被整体覆盖,只能逐列配置。
|
|
56
|
+
* `headerFilter === false` 时把列头筛选按钮收起(suppressHeaderFilterButton),
|
|
57
|
+
* 不动 `filter`:列的 `filter` 还决定它是否出现在查询区。页面 defaultColDef 里显式写的同名项优先。
|
|
58
|
+
* headerComponentParams 逐键合并,页面只改模板以外的参数时不丢内置表头模板。
|
|
59
|
+
*/
|
|
60
|
+
function mergeDefaultColDef(builtIn, custom) {
|
|
61
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
62
|
+
var base = options.headerFilter === false ? _objectSpread(_objectSpread({}, builtIn), {}, {
|
|
63
|
+
suppressHeaderFilterButton: true
|
|
64
|
+
}) : builtIn;
|
|
65
|
+
if (!custom) return base;
|
|
66
|
+
return _objectSpread(_objectSpread(_objectSpread({}, base), custom), {}, {
|
|
67
|
+
headerComponentParams: _objectSpread(_objectSpread({}, base.headerComponentParams), custom.headerComponentParams)
|
|
68
|
+
});
|
|
69
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 内置查询(查询/重置/高级搜索)只发一次请求。
|
|
3
|
+
*
|
|
4
|
+
* 条件或页码变了,状态更新会让「条件/分页变化」的 effect 请求一次,此时不能再手动请求;
|
|
5
|
+
* 条件与页码都没变(用户点「查询」想重新取数),effect 不会触发,才需要手动请求。@author nokecy
|
|
6
|
+
*/
|
|
7
|
+
export declare function needsDirectRequest(prevFilter: unknown, nextFilter: unknown, currentPage: number): boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.needsDirectRequest = needsDirectRequest;
|
|
7
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
/**
|
|
10
|
+
* 内置查询(查询/重置/高级搜索)只发一次请求。
|
|
11
|
+
*
|
|
12
|
+
* 条件或页码变了,状态更新会让「条件/分页变化」的 effect 请求一次,此时不能再手动请求;
|
|
13
|
+
* 条件与页码都没变(用户点「查询」想重新取数),effect 不会触发,才需要手动请求。@author nokecy
|
|
14
|
+
*/
|
|
15
|
+
function needsDirectRequest(prevFilter, nextFilter, currentPage) {
|
|
16
|
+
return currentPage === 1 && (0, _isEqual.default)(prevFilter, nextFilter);
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `valueEnum` 的状态胶囊:形状 + 文字 + 底色三重编码,去掉颜色后仍可凭形状与文字区分。
|
|
3
|
+
*
|
|
4
|
+
* 状态语义色属于语义层,不随主题变化,所以色值写在这里;
|
|
5
|
+
* 文字色对底色 ≥ 4.5:1,图标色对底色 ≥ 3:1。
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
export type StatusKey = 'wait' | 'running' | 'done' | 'warning' | 'alarm' | 'closed';
|
|
9
|
+
type StatusIcon = 'ring' | 'half' | 'check' | 'warn' | 'cross' | 'dash';
|
|
10
|
+
export declare const STATUS_PILL: Record<StatusKey, {
|
|
11
|
+
icon: StatusIcon;
|
|
12
|
+
fg: string;
|
|
13
|
+
bg: string;
|
|
14
|
+
mark: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** 深色表面上的六态:底色压暗、文字与图标提亮,文字对底色 ≥ 4.5:1,图标 ≥ 3:1 */
|
|
17
|
+
export declare const STATUS_PILL_DARK: typeof STATUS_PILL;
|
|
18
|
+
export declare const isStatusKey: (v: unknown) => v is StatusKey;
|
|
19
|
+
/** 表格单元格内的状态胶囊,高 18px,适配紧凑行高 */
|
|
20
|
+
export declare const StatusPill: React.FC<{
|
|
21
|
+
status: StatusKey;
|
|
22
|
+
dark?: boolean;
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
}>;
|
|
25
|
+
export {};
|