@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
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isStatusKey = exports.StatusPill = exports.STATUS_PILL_DARK = exports.STATUS_PILL = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
15
|
+
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); } /**
|
|
16
|
+
* `valueEnum` 的状态胶囊:形状 + 文字 + 底色三重编码,去掉颜色后仍可凭形状与文字区分。
|
|
17
|
+
*
|
|
18
|
+
* 状态语义色属于语义层,不随主题变化,所以色值写在这里;
|
|
19
|
+
* 文字色对底色 ≥ 4.5:1,图标色对底色 ≥ 3:1。
|
|
20
|
+
*/
|
|
21
|
+
var STATUS_PILL = exports.STATUS_PILL = {
|
|
22
|
+
wait: {
|
|
23
|
+
icon: 'ring',
|
|
24
|
+
fg: '#55606e',
|
|
25
|
+
bg: '#eef1f5',
|
|
26
|
+
mark: '#55606e'
|
|
27
|
+
},
|
|
28
|
+
running: {
|
|
29
|
+
icon: 'half',
|
|
30
|
+
fg: '#1f5fbf',
|
|
31
|
+
bg: '#eaf1fb',
|
|
32
|
+
mark: '#1f5fbf'
|
|
33
|
+
},
|
|
34
|
+
done: {
|
|
35
|
+
icon: 'check',
|
|
36
|
+
fg: '#276a4e',
|
|
37
|
+
bg: '#eaf4ef',
|
|
38
|
+
mark: '#276a4e'
|
|
39
|
+
},
|
|
40
|
+
warning: {
|
|
41
|
+
icon: 'warn',
|
|
42
|
+
fg: '#8a5a12',
|
|
43
|
+
bg: '#fdf5e6',
|
|
44
|
+
mark: '#9a6200'
|
|
45
|
+
},
|
|
46
|
+
alarm: {
|
|
47
|
+
icon: 'cross',
|
|
48
|
+
fg: '#8c3b34',
|
|
49
|
+
bg: '#fbf0ef',
|
|
50
|
+
mark: '#b4453c'
|
|
51
|
+
},
|
|
52
|
+
closed: {
|
|
53
|
+
icon: 'dash',
|
|
54
|
+
fg: '#5f6b7a',
|
|
55
|
+
bg: '#f1f3f6',
|
|
56
|
+
mark: '#5f6b7a'
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/** 深色表面上的六态:底色压暗、文字与图标提亮,文字对底色 ≥ 4.5:1,图标 ≥ 3:1 */
|
|
61
|
+
var STATUS_PILL_DARK = exports.STATUS_PILL_DARK = {
|
|
62
|
+
wait: {
|
|
63
|
+
icon: 'ring',
|
|
64
|
+
fg: '#aab4c2',
|
|
65
|
+
bg: '#262b33',
|
|
66
|
+
mark: '#aab4c2'
|
|
67
|
+
},
|
|
68
|
+
running: {
|
|
69
|
+
icon: 'half',
|
|
70
|
+
fg: '#7fb0f5',
|
|
71
|
+
bg: '#14233d',
|
|
72
|
+
mark: '#7fb0f5'
|
|
73
|
+
},
|
|
74
|
+
done: {
|
|
75
|
+
icon: 'check',
|
|
76
|
+
fg: '#6fcf9f',
|
|
77
|
+
bg: '#12281f',
|
|
78
|
+
mark: '#6fcf9f'
|
|
79
|
+
},
|
|
80
|
+
warning: {
|
|
81
|
+
icon: 'warn',
|
|
82
|
+
fg: '#e8b75a',
|
|
83
|
+
bg: '#32250f',
|
|
84
|
+
mark: '#e8b75a'
|
|
85
|
+
},
|
|
86
|
+
alarm: {
|
|
87
|
+
icon: 'cross',
|
|
88
|
+
fg: '#f09a92',
|
|
89
|
+
bg: '#331a18',
|
|
90
|
+
mark: '#f09a92'
|
|
91
|
+
},
|
|
92
|
+
closed: {
|
|
93
|
+
icon: 'dash',
|
|
94
|
+
fg: '#9aa5b3',
|
|
95
|
+
bg: '#23272d',
|
|
96
|
+
mark: '#9aa5b3'
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var isStatusKey = exports.isStatusKey = function isStatusKey(v) {
|
|
100
|
+
return typeof v === 'string' && v in STATUS_PILL;
|
|
101
|
+
};
|
|
102
|
+
var Glyph = function Glyph(_ref) {
|
|
103
|
+
var icon = _ref.icon,
|
|
104
|
+
color = _ref.color;
|
|
105
|
+
var common = {
|
|
106
|
+
fill: 'none',
|
|
107
|
+
stroke: color,
|
|
108
|
+
strokeWidth: 1.5,
|
|
109
|
+
strokeLinecap: 'round',
|
|
110
|
+
strokeLinejoin: 'round'
|
|
111
|
+
};
|
|
112
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
|
113
|
+
width: 12,
|
|
114
|
+
height: 12,
|
|
115
|
+
viewBox: "0 0 12 12",
|
|
116
|
+
"aria-hidden": "true",
|
|
117
|
+
focusable: "false",
|
|
118
|
+
style: {
|
|
119
|
+
flex: 'none',
|
|
120
|
+
display: 'block'
|
|
121
|
+
},
|
|
122
|
+
children: [icon === 'ring' && /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", _objectSpread({
|
|
123
|
+
cx: "6",
|
|
124
|
+
cy: "6",
|
|
125
|
+
r: "4.25"
|
|
126
|
+
}, common)), icon === 'half' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
127
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", _objectSpread({
|
|
128
|
+
cx: "6",
|
|
129
|
+
cy: "6",
|
|
130
|
+
r: "4.25"
|
|
131
|
+
}, common)), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
132
|
+
d: "M6 1.75 A4.25 4.25 0 0 1 6 10.25 Z",
|
|
133
|
+
fill: color,
|
|
134
|
+
stroke: "none"
|
|
135
|
+
})]
|
|
136
|
+
}), icon === 'check' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
137
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", _objectSpread({
|
|
138
|
+
cx: "6",
|
|
139
|
+
cy: "6",
|
|
140
|
+
r: "4.25"
|
|
141
|
+
}, common)), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", _objectSpread({
|
|
142
|
+
d: "M3.9 6.2 5.3 7.6 8.2 4.5"
|
|
143
|
+
}, common))]
|
|
144
|
+
}), icon === 'warn' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
145
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", _objectSpread({
|
|
146
|
+
d: "M6 1.6 10.8 10 1.2 10Z"
|
|
147
|
+
}, common)), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", _objectSpread({
|
|
148
|
+
d: "M6 4.6V7M6 8.5V8.6"
|
|
149
|
+
}, common))]
|
|
150
|
+
}), icon === 'cross' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
151
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", _objectSpread({
|
|
152
|
+
cx: "6",
|
|
153
|
+
cy: "6",
|
|
154
|
+
r: "4.25"
|
|
155
|
+
}, common)), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", _objectSpread({
|
|
156
|
+
d: "M4.3 4.3 7.7 7.7M7.7 4.3 4.3 7.7"
|
|
157
|
+
}, common))]
|
|
158
|
+
}), icon === 'dash' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
159
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", _objectSpread({
|
|
160
|
+
cx: "6",
|
|
161
|
+
cy: "6",
|
|
162
|
+
r: "4.25"
|
|
163
|
+
}, common)), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", _objectSpread({
|
|
164
|
+
d: "M4 6H8"
|
|
165
|
+
}, common))]
|
|
166
|
+
})]
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/** 表格单元格内的状态胶囊,高 18px,适配紧凑行高 */
|
|
171
|
+
var StatusPill = exports.StatusPill = function StatusPill(_ref2) {
|
|
172
|
+
var status = _ref2.status,
|
|
173
|
+
dark = _ref2.dark,
|
|
174
|
+
children = _ref2.children;
|
|
175
|
+
var s = (dark ? STATUS_PILL_DARK : STATUS_PILL)[status];
|
|
176
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
177
|
+
style: {
|
|
178
|
+
display: 'inline-flex',
|
|
179
|
+
alignItems: 'center',
|
|
180
|
+
gap: 5,
|
|
181
|
+
height: 18,
|
|
182
|
+
paddingInline: 7,
|
|
183
|
+
borderRadius: 3,
|
|
184
|
+
fontSize: 12,
|
|
185
|
+
lineHeight: '18px',
|
|
186
|
+
color: s.fg,
|
|
187
|
+
background: s.bg,
|
|
188
|
+
whiteSpace: 'nowrap',
|
|
189
|
+
verticalAlign: 'middle'
|
|
190
|
+
},
|
|
191
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Glyph, {
|
|
192
|
+
icon: s.icon,
|
|
193
|
+
color: s.mark
|
|
194
|
+
}), children]
|
|
195
|
+
});
|
|
196
|
+
};
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
/** antd Tag 语义档名。 */
|
|
2
2
|
export type SemanticPreset = 'default' | 'processing' | 'success' | 'warning' | 'error';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* 语义档名 → 表格文字色,取状态胶囊六态的文字色(statusPill.ts,对各自底色 ≥4.5:1,白底同样达标),
|
|
5
|
+
* 没配 `status` 的枚举与配了 `status` 的列在同一页上色值一致(DESIGN.md §3.2)。
|
|
6
|
+
*/
|
|
4
7
|
export declare const semanticTextColors: Record<SemanticPreset, string>;
|
|
8
|
+
/** 底色是否为深色表面。 */
|
|
9
|
+
export declare const isDarkSurface: (background?: string) => boolean;
|
|
5
10
|
/**
|
|
6
11
|
* 把任意 valueEnum.color 收成表格可用的 CSS 色。
|
|
7
12
|
*
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.toGridTextColor = exports.semanticTextColors = exports.gridValueEnum = void 0;
|
|
6
|
+
exports.toGridTextColor = exports.semanticTextColors = exports.isDarkSurface = exports.gridValueEnum = void 0;
|
|
7
|
+
var _statusPill = require("./statusPill");
|
|
7
8
|
var _contrast = require("../../shared/contrast");
|
|
8
9
|
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); }
|
|
9
10
|
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; }
|
|
@@ -30,13 +31,16 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
30
31
|
|
|
31
32
|
var WHITE = '#ffffff';
|
|
32
33
|
|
|
33
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* 语义档名 → 表格文字色,取状态胶囊六态的文字色(statusPill.ts,对各自底色 ≥4.5:1,白底同样达标),
|
|
36
|
+
* 没配 `status` 的枚举与配了 `status` 的列在同一页上色值一致(DESIGN.md §3.2)。
|
|
37
|
+
*/
|
|
34
38
|
var semanticTextColors = exports.semanticTextColors = {
|
|
35
|
-
default:
|
|
36
|
-
processing:
|
|
37
|
-
success:
|
|
38
|
-
warning:
|
|
39
|
-
error:
|
|
39
|
+
default: _statusPill.STATUS_PILL.wait.fg,
|
|
40
|
+
processing: _statusPill.STATUS_PILL.running.fg,
|
|
41
|
+
success: _statusPill.STATUS_PILL.done.fg,
|
|
42
|
+
warning: _statusPill.STATUS_PILL.warning.fg,
|
|
43
|
+
error: _statusPill.STATUS_PILL.alarm.fg
|
|
40
44
|
};
|
|
41
45
|
|
|
42
46
|
/** antd Tag 预设名 / 常见 CSS 色名 → 起始 hex,再交给对比度压色。 */
|
|
@@ -66,8 +70,8 @@ var parseHex = function parseHex(color) {
|
|
|
66
70
|
};
|
|
67
71
|
|
|
68
72
|
/** 底色是否为深色表面。 */
|
|
69
|
-
var isDarkSurface = function isDarkSurface(background) {
|
|
70
|
-
return (0, _contrast.relativeLuminance)(background) < 0.18;
|
|
73
|
+
var isDarkSurface = exports.isDarkSurface = function isDarkSurface(background) {
|
|
74
|
+
return !!background && !!parseHex(background) && (0, _contrast.relativeLuminance)(background) < 0.18;
|
|
71
75
|
};
|
|
72
76
|
|
|
73
77
|
/**
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 表格数据格式出厂默认(DESIGN.md §7.7):数字千分位、空值 `—`;页面自己写 valueFormatter 即覆盖。
|
|
3
|
+
* @author nokecy
|
|
4
|
+
*/
|
|
5
|
+
export declare const EMPTY_PLACEHOLDER = "\u2014";
|
|
6
|
+
/** 空值统一为 `—`;0 是有效值,原样保留。 */
|
|
7
|
+
export declare const isEmptyValue: (value: unknown) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 千分位,只动整数部分,小数位原样保留(字符串数值不经过浮点,不丢精度)。
|
|
10
|
+
* 不是纯数字的值(科学计数法、带单位的文本)原样返回。
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatThousands(value: unknown): string;
|
|
13
|
+
/** 只补空值占位。 */
|
|
14
|
+
export declare function formatEmpty(value: unknown): string;
|
|
15
|
+
/**
|
|
16
|
+
* 给没有自己 valueFormatter 的叶子列补默认格式。已有 valueFormatter、枚举列、日期/布尔列类型一律不动。
|
|
17
|
+
* @param inferredNumber 该列由首行数据推断为数值
|
|
18
|
+
*/
|
|
19
|
+
export declare function withDefaultValueFormat<T extends Record<string, any>>(col: T, inferredNumber: boolean): T;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EMPTY_PLACEHOLDER = void 0;
|
|
7
|
+
exports.formatEmpty = formatEmpty;
|
|
8
|
+
exports.formatThousands = formatThousands;
|
|
9
|
+
exports.isEmptyValue = void 0;
|
|
10
|
+
exports.withDefaultValueFormat = withDefaultValueFormat;
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
16
|
+
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); }
|
|
17
|
+
/**
|
|
18
|
+
* 表格数据格式出厂默认(DESIGN.md §7.7):数字千分位、空值 `—`;页面自己写 valueFormatter 即覆盖。
|
|
19
|
+
* @author nokecy
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var EMPTY_PLACEHOLDER = exports.EMPTY_PLACEHOLDER = '—';
|
|
23
|
+
var PLAIN_NUMBER = /^(-?)(\d+)(\.\d+)?$/;
|
|
24
|
+
|
|
25
|
+
/** 空值统一为 `—`;0 是有效值,原样保留。 */
|
|
26
|
+
var isEmptyValue = exports.isEmptyValue = function isEmptyValue(value) {
|
|
27
|
+
return value === null || value === undefined || value === '';
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 千分位,只动整数部分,小数位原样保留(字符串数值不经过浮点,不丢精度)。
|
|
32
|
+
* 不是纯数字的值(科学计数法、带单位的文本)原样返回。
|
|
33
|
+
*/
|
|
34
|
+
function formatThousands(value) {
|
|
35
|
+
var _m$;
|
|
36
|
+
if (isEmptyValue(value)) return EMPTY_PLACEHOLDER;
|
|
37
|
+
var text = String(value).trim();
|
|
38
|
+
var m = PLAIN_NUMBER.exec(text);
|
|
39
|
+
if (!m) return String(value);
|
|
40
|
+
return "".concat(m[1]).concat(m[2].replace(/\B(?=(\d{3})+(?!\d))/g, ',')).concat((_m$ = m[3]) !== null && _m$ !== void 0 ? _m$ : '');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** 只补空值占位。 */
|
|
44
|
+
function formatEmpty(value) {
|
|
45
|
+
return isEmptyValue(value) ? EMPTY_PLACEHOLDER : String(value);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** 字段名像编码、年份、序号的数值列不加千分位(订单号、年份加逗号是错的)。 */
|
|
49
|
+
var IDENTIFIER_LIKE = /(?:^|[a-z])(?:id|code|no|number|year|seq|sequence|sort|order|index)$/i;
|
|
50
|
+
var EXPLICIT_NUMERIC = new Set(['numericColumn', 'numberColumn']);
|
|
51
|
+
var SKIP_TYPES = new Set(['dateColumn', 'dateTimeColumn', 'bool']);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 给没有自己 valueFormatter 的叶子列补默认格式。已有 valueFormatter、枚举列、日期/布尔列类型一律不动。
|
|
55
|
+
* @param inferredNumber 该列由首行数据推断为数值
|
|
56
|
+
*/
|
|
57
|
+
function withDefaultValueFormat(col, inferredNumber) {
|
|
58
|
+
var _col$field;
|
|
59
|
+
if (col.valueFormatter || col.valueEnum) return col;
|
|
60
|
+
var types = (Array.isArray(col.type) ? col.type : [col.type]).filter(Boolean).map(String);
|
|
61
|
+
if (types.some(function (t) {
|
|
62
|
+
return SKIP_TYPES.has(t);
|
|
63
|
+
})) return col;
|
|
64
|
+
var field = String((_col$field = col.field) !== null && _col$field !== void 0 ? _col$field : '');
|
|
65
|
+
var numeric = types.some(function (t) {
|
|
66
|
+
return EXPLICIT_NUMERIC.has(t);
|
|
67
|
+
}) || inferredNumber && !IDENTIFIER_LIKE.test(field);
|
|
68
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
69
|
+
valueFormatter: function valueFormatter(p) {
|
|
70
|
+
return numeric ? formatThousands(p.value) : formatEmpty(p.value);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
@@ -204,10 +204,11 @@ var convertSortModel = exports.convertSortModel = function convertSortModel(sort
|
|
|
204
204
|
return sorter;
|
|
205
205
|
};
|
|
206
206
|
var dateValueFormatter = exports.dateValueFormatter = function dateValueFormatter(params) {
|
|
207
|
-
return params.value ? (0, _dayjs.default)(params.value).format("YYYY-MM-DD") : "";
|
|
207
|
+
return params.value ? (0, _dayjs.default)(params.value).format("YYYY-MM-DD") : "—";
|
|
208
208
|
};
|
|
209
209
|
var dateTimeValueFormatter = exports.dateTimeValueFormatter = function dateTimeValueFormatter(params) {
|
|
210
|
-
|
|
210
|
+
// 列表到分钟,日志与审计到秒由页面自己传 valueFormatter(DESIGN.md §7.7)
|
|
211
|
+
return params.value ? (0, _dayjs.default)(params.value).format("YYYY-MM-DD HH:mm") : "—";
|
|
211
212
|
};
|
|
212
213
|
|
|
213
214
|
//@ts-ignore
|
|
@@ -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.getDefaultValue = exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _formilyReact = require("@nokecy/formily-react");
|
|
10
10
|
var _antd = require("antd");
|
|
@@ -32,7 +32,7 @@ var getSchemaDefaultValue = function getSchemaDefaultValue(schema) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
var getDefaultValue = function getDefaultValue(defaultValue, schema) {
|
|
35
|
+
var getDefaultValue = exports.getDefaultValue = function getDefaultValue(defaultValue, schema) {
|
|
36
36
|
if ((0, _formilyShared.isValid)(defaultValue)) return (0, _formilyShared.clone)(defaultValue);
|
|
37
37
|
if (Array.isArray(schema === null || schema === void 0 ? void 0 : schema.items)) return getSchemaDefaultValue(schema === null || schema === void 0 ? void 0 : schema.items[0]);
|
|
38
38
|
return getSchemaDefaultValue(schema === null || schema === void 0 ? void 0 : schema.items);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** height="auto" 时明细区最多显示的行数,超出后表格内部滚动 */
|
|
2
|
+
export declare const ARRAY_TABLE_AUTO_MAX_ROWS = 10;
|
|
3
|
+
export interface AutoHeightInput {
|
|
4
|
+
rowCount: number;
|
|
5
|
+
rowHeight: number;
|
|
6
|
+
headerHeight: number;
|
|
7
|
+
/** 合计行(固定在底部,占一行高度) */
|
|
8
|
+
hasSummary?: boolean;
|
|
9
|
+
/** 带行内错误文字、被撑高的行数 */
|
|
10
|
+
feedbackRows?: number;
|
|
11
|
+
minRows?: number;
|
|
12
|
+
maxRows?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* height="auto":按行数算出网格高度,免得空表留大片空白、行少时不必手算像素。
|
|
16
|
+
* AG Grid 的 domLayout=autoHeight 会让合计行与滚动行为失效,这里改为按密度三档的行高直接计算。
|
|
17
|
+
*/
|
|
18
|
+
export declare const calcAutoGridHeight: ({ rowCount, rowHeight, headerHeight, hasSummary, feedbackRows, minRows, maxRows, }: AutoHeightInput) => number;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.calcAutoGridHeight = exports.ARRAY_TABLE_AUTO_MAX_ROWS = void 0;
|
|
7
|
+
var _rowFeedback = require("./rowFeedback");
|
|
8
|
+
/** height="auto" 时明细区最多显示的行数,超出后表格内部滚动 */
|
|
9
|
+
var ARRAY_TABLE_AUTO_MAX_ROWS = exports.ARRAY_TABLE_AUTO_MAX_ROWS = 10;
|
|
10
|
+
|
|
11
|
+
/** 表格外框上下各 1px 边线 */
|
|
12
|
+
var BORDER = 2;
|
|
13
|
+
/**
|
|
14
|
+
* height="auto":按行数算出网格高度,免得空表留大片空白、行少时不必手算像素。
|
|
15
|
+
* AG Grid 的 domLayout=autoHeight 会让合计行与滚动行为失效,这里改为按密度三档的行高直接计算。
|
|
16
|
+
*/
|
|
17
|
+
var calcAutoGridHeight = exports.calcAutoGridHeight = function calcAutoGridHeight(_ref) {
|
|
18
|
+
var rowCount = _ref.rowCount,
|
|
19
|
+
rowHeight = _ref.rowHeight,
|
|
20
|
+
headerHeight = _ref.headerHeight,
|
|
21
|
+
hasSummary = _ref.hasSummary,
|
|
22
|
+
_ref$feedbackRows = _ref.feedbackRows,
|
|
23
|
+
feedbackRows = _ref$feedbackRows === void 0 ? 0 : _ref$feedbackRows,
|
|
24
|
+
_ref$minRows = _ref.minRows,
|
|
25
|
+
minRows = _ref$minRows === void 0 ? 1 : _ref$minRows,
|
|
26
|
+
_ref$maxRows = _ref.maxRows,
|
|
27
|
+
maxRows = _ref$maxRows === void 0 ? ARRAY_TABLE_AUTO_MAX_ROWS : _ref$maxRows;
|
|
28
|
+
var rows = Math.min(Math.max(rowCount, minRows), Math.max(maxRows, minRows));
|
|
29
|
+
return headerHeight + rows * rowHeight + (hasSummary ? rowHeight : 0) + Math.min(feedbackRows, rows) * _rowFeedback.ROW_FEEDBACK_EXTRA_HEIGHT + BORDER;
|
|
30
|
+
};
|
|
@@ -22,11 +22,11 @@ export declare function findRemovalAction(field: ArrayField, index: number, acti
|
|
|
22
22
|
export declare function removeSelectedRows(field: ArrayField, ids: string[], actions: RemovalAction[], getId: (row: any) => string, onRemove?: (index: number) => void, event?: React.MouseEvent): boolean;
|
|
23
23
|
/** 公共明细表格的勾选及批量删除,沿用业务行权限、行标识与删除通知。@author nokecy */
|
|
24
24
|
export declare function useArrayTableBatchRemove(field: ArrayField, sources: ObservableColumnSource[], props: ArrayTableProps, apiRef: React.MutableRefObject<GridApi | undefined>, getId: (row: any) => string): {
|
|
25
|
-
rowSelection: "
|
|
25
|
+
rowSelection: "single" | "multiple" | import("ag-grid-community/dist/types/src/entities/gridOptions").SingleRowSelectionOptions<any, any> | import("ag-grid-community/dist/types/src/entities/gridOptions").MultiRowSelectionOptions<any, any> | {
|
|
26
26
|
isRowSelectable: (node: IRowNode) => boolean;
|
|
27
27
|
headerCheckbox?: boolean | undefined;
|
|
28
28
|
selectAll?: "filtered" | undefined;
|
|
29
|
-
mode: "
|
|
29
|
+
mode: "multiRow" | "singleRow";
|
|
30
30
|
checkboxes: boolean;
|
|
31
31
|
enableClickSelection: boolean;
|
|
32
32
|
} | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** 格内控件的稳定标记值,键盘与浏览器测试按它定位,不依赖 antd 的内部类名。 */
|
|
3
|
+
export type CellEditorKind = 'select' | 'date' | 'number' | 'text';
|
|
4
|
+
/** 按 x-component 判定控件类别;开关、业务自定义组件等不在表内,不打标记(避免误导)。 */
|
|
5
|
+
export declare const resolveCellEditorKind: (component: unknown) => CellEditorKind | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* 面板是否展开:下拉看 antd 的 open 类;日期面板挂在 body 下,只能「控件聚焦且存在可见面板」近似判断。
|
|
8
|
+
* 直接读 DOM 而不进 React 状态,避免每次开合让整格重渲。
|
|
9
|
+
*/
|
|
10
|
+
export declare const isCellEditorOpen: (root: Element, kind: CellEditorKind) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 给格内控件加 data-array-cell-editor / data-open 标记。display:contents 不产生盒子,不改变格内布局。
|
|
13
|
+
* 没有类别(不认识的组件)时原样返回子节点。@author nokecy
|
|
14
|
+
*/
|
|
15
|
+
export declare const CellEditorMarker: ({ kind, children }: {
|
|
16
|
+
kind?: CellEditorKind | undefined;
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}) => React.JSX.Element;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.resolveCellEditorKind = exports.isCellEditorOpen = exports.CellEditorMarker = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
/** 格内控件的稳定标记值,键盘与浏览器测试按它定位,不依赖 antd 的内部类名。 */
|
|
13
|
+
|
|
14
|
+
var KIND_BY_COMPONENT = {
|
|
15
|
+
Select: 'select',
|
|
16
|
+
TreeSelect: 'select',
|
|
17
|
+
Cascader: 'select',
|
|
18
|
+
DatePicker: 'date',
|
|
19
|
+
'DatePicker.RangePicker': 'date',
|
|
20
|
+
TimePicker: 'date',
|
|
21
|
+
'TimePicker.RangePicker': 'date',
|
|
22
|
+
InputNumber: 'number',
|
|
23
|
+
NumberPicker: 'number',
|
|
24
|
+
Input: 'text',
|
|
25
|
+
'Input.TextArea': 'text',
|
|
26
|
+
Password: 'text'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** 按 x-component 判定控件类别;开关、业务自定义组件等不在表内,不打标记(避免误导)。 */
|
|
30
|
+
var resolveCellEditorKind = exports.resolveCellEditorKind = function resolveCellEditorKind(component) {
|
|
31
|
+
return typeof component === 'string' ? KIND_BY_COMPONENT[component] : undefined;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 面板是否展开:下拉看 antd 的 open 类;日期面板挂在 body 下,只能「控件聚焦且存在可见面板」近似判断。
|
|
36
|
+
* 直接读 DOM 而不进 React 状态,避免每次开合让整格重渲。
|
|
37
|
+
*/
|
|
38
|
+
var isCellEditorOpen = exports.isCellEditorOpen = function isCellEditorOpen(root, kind) {
|
|
39
|
+
if (kind === 'select') return !!root.querySelector('.ant-select-open');
|
|
40
|
+
if (kind === 'date') {
|
|
41
|
+
return !!root.querySelector('.ant-picker-focused') && !!document.querySelector('.ant-picker-dropdown:not(.ant-picker-dropdown-hidden)');
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 给格内控件加 data-array-cell-editor / data-open 标记。display:contents 不产生盒子,不改变格内布局。
|
|
48
|
+
* 没有类别(不认识的组件)时原样返回子节点。@author nokecy
|
|
49
|
+
*/
|
|
50
|
+
var CellEditorMarker = exports.CellEditorMarker = function CellEditorMarker(_ref) {
|
|
51
|
+
var kind = _ref.kind,
|
|
52
|
+
children = _ref.children;
|
|
53
|
+
var ref = (0, _react.useRef)(null);
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
var root = ref.current;
|
|
56
|
+
if (!root || !kind || kind !== 'select' && kind !== 'date') return;
|
|
57
|
+
var sync = function sync() {
|
|
58
|
+
if (isCellEditorOpen(root, kind)) root.setAttribute('data-open', '1');else root.removeAttribute('data-open');
|
|
59
|
+
};
|
|
60
|
+
// 弹层开合发生在 antd 内部,类名变化与聚焦/点击/按键之后下一拍再读一次。
|
|
61
|
+
var later = function later() {
|
|
62
|
+
window.setTimeout(sync, 0);
|
|
63
|
+
};
|
|
64
|
+
var observer = new MutationObserver(sync);
|
|
65
|
+
observer.observe(root, {
|
|
66
|
+
subtree: true,
|
|
67
|
+
attributes: true,
|
|
68
|
+
attributeFilter: ['class']
|
|
69
|
+
});
|
|
70
|
+
var events = ['focusin', 'focusout', 'click', 'keyup'];
|
|
71
|
+
events.forEach(function (name) {
|
|
72
|
+
return root.addEventListener(name, later);
|
|
73
|
+
});
|
|
74
|
+
return function () {
|
|
75
|
+
observer.disconnect();
|
|
76
|
+
events.forEach(function (name) {
|
|
77
|
+
return root.removeEventListener(name, later);
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
}, [kind]);
|
|
81
|
+
if (!kind) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
82
|
+
children: children
|
|
83
|
+
});
|
|
84
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
85
|
+
ref: ref,
|
|
86
|
+
"data-array-cell-editor": kind,
|
|
87
|
+
style: {
|
|
88
|
+
display: 'contents'
|
|
89
|
+
},
|
|
90
|
+
children: children
|
|
91
|
+
});
|
|
92
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { GridApi } from 'ag-grid-community';
|
|
2
|
+
import type { ErrorLocator } from '@nokecy/formily-antd';
|
|
3
|
+
/** ArrayTable 的一列:AG-Grid 列 id 与它承载的内层数据字段名(Column key 与字段名可能不同,如设计器形态)。 */
|
|
4
|
+
export type ErrorLocatorColumn = {
|
|
5
|
+
colId: string;
|
|
6
|
+
dataName?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
};
|
|
9
|
+
type Deps = {
|
|
10
|
+
field: any;
|
|
11
|
+
getContainer: () => HTMLElement | null | undefined;
|
|
12
|
+
getApi: () => GridApi | undefined;
|
|
13
|
+
getColumns: () => ErrorLocatorColumn[];
|
|
14
|
+
/** 行数据 -> AG-Grid 行 id(与 getRowId 同一套) */
|
|
15
|
+
getRowId: (row: any) => string;
|
|
16
|
+
focus: (params: {
|
|
17
|
+
rowIndex: number;
|
|
18
|
+
colId: string;
|
|
19
|
+
}) => Promise<HTMLElement | undefined>;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 提交校验失败时 ArrayTable 的错误定位器(注册到 adapters 的 form-error-focus,见 registerErrorLocator)。
|
|
23
|
+
*
|
|
24
|
+
* 错误格可能不在 DOM 里(行被虚拟化、懒挂载格卸回了文本),按 DOM 找不到,所以按 Formily 的错误列表定位:
|
|
25
|
+
* 取表内最靠前的(先行后列,行按当前显示顺序、列按当前列序),ensureIndexVisible / ensureColumnVisible 滚到位,
|
|
26
|
+
* 再激活该格并聚焦输入。@author nokecy
|
|
27
|
+
*/
|
|
28
|
+
export declare const createArrayTableErrorLocator: (deps: Deps) => ErrorLocator;
|
|
29
|
+
export {};
|