@lemon-fe/kits 1.0.0-57 → 1.0.0-58
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/es/components/DataGrid/cell-editors/Number.d.ts +9 -6
- package/es/components/DataGrid/cell-editors/Number.js +31 -22
- package/es/components/DataGrid/cell-editors/Row.d.ts +1 -1
- package/es/components/DataGrid/cell-editors/Row.js +1 -1
- package/es/components/DataGrid/typings.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ICellEditorReactComp } from '@ag-grid-community/react';
|
|
3
3
|
import type { ICellEditorParams } from '@ag-grid-community/core';
|
|
4
|
-
export interface NumberEditorParams {
|
|
4
|
+
export interface NumberEditorParams<TData = any> {
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
/**
|
|
7
7
|
* @description 最小值
|
|
@@ -15,14 +15,17 @@ export interface NumberEditorParams {
|
|
|
15
15
|
* @description 空值
|
|
16
16
|
*/
|
|
17
17
|
emptyValue?: number;
|
|
18
|
-
/**
|
|
19
|
-
* @description 当值不合理时,不修改单元格
|
|
20
|
-
*/
|
|
21
|
-
undoWhenError?: boolean;
|
|
22
18
|
/**
|
|
23
19
|
* @description 精度
|
|
24
20
|
*/
|
|
25
21
|
precision?: number;
|
|
22
|
+
/**
|
|
23
|
+
* 可以在不使用min或者max的情况下,进行数值校验,可以用于错误提示
|
|
24
|
+
* @param newValue
|
|
25
|
+
* @param data
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
isCancelAfterEnd?: (newValue: number, data: TData) => boolean;
|
|
26
29
|
}
|
|
27
|
-
declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any> & NumberEditorParams & React.RefAttributes<ICellEditorReactComp>>;
|
|
30
|
+
declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any> & NumberEditorParams<any> & React.RefAttributes<ICellEditorReactComp>>;
|
|
28
31
|
export default _default;
|
|
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
10
10
|
|
|
11
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
12
|
|
|
13
|
-
import React, { useEffect, useRef } from 'react';
|
|
13
|
+
import React, { useEffect, useMemo, useRef } from 'react';
|
|
14
14
|
import { forwardRef, useImperativeHandle, useState } from 'react';
|
|
15
15
|
import EditorWrapper from "./Wrapper";
|
|
16
16
|
import { editorPrefixClass } from "./utils";
|
|
@@ -22,10 +22,11 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
|
|
|
22
22
|
_props$max = props.max,
|
|
23
23
|
max = _props$max === void 0 ? 99999999 : _props$max,
|
|
24
24
|
emptyValue = props.emptyValue,
|
|
25
|
-
undoWhenError = props.undoWhenError,
|
|
26
25
|
disabled = props.disabled,
|
|
27
26
|
api = props.api,
|
|
28
|
-
precision = props.precision
|
|
27
|
+
precision = props.precision,
|
|
28
|
+
_isCancelAfterEnd = props.isCancelAfterEnd,
|
|
29
|
+
data = props.data;
|
|
29
30
|
|
|
30
31
|
var _useState = useState((_props$value = props.value) !== null && _props$value !== void 0 ? _props$value : null),
|
|
31
32
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -40,9 +41,8 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
|
|
|
40
41
|
(_elm$current = elm.current) === null || _elm$current === void 0 ? void 0 : _elm$current.select();
|
|
41
42
|
}, []);
|
|
42
43
|
|
|
43
|
-
var
|
|
44
|
+
var getFormatedValue = function getFormatedValue() {
|
|
44
45
|
var val;
|
|
45
|
-
var error = false;
|
|
46
46
|
|
|
47
47
|
if (value === '' || value === null) {
|
|
48
48
|
val = emptyValue !== null && emptyValue !== void 0 ? emptyValue : null;
|
|
@@ -54,31 +54,40 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
if (val === null) {
|
|
58
|
-
error = true;
|
|
59
|
-
} else if (val < min) {
|
|
60
|
-
error = true;
|
|
61
|
-
val = min;
|
|
62
|
-
} else if (val > max) {
|
|
63
|
-
error = true;
|
|
64
|
-
val = max;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (error && undoWhenError) {
|
|
68
|
-
return props.value;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
57
|
return val;
|
|
72
58
|
};
|
|
73
59
|
|
|
74
60
|
useImperativeHandle(ref, function () {
|
|
75
61
|
return {
|
|
76
|
-
getValue: getValue
|
|
62
|
+
getValue: function getValue() {
|
|
63
|
+
return getFormatedValue();
|
|
64
|
+
},
|
|
77
65
|
isCancelAfterEnd: function isCancelAfterEnd() {
|
|
78
|
-
|
|
66
|
+
if (!dirty.current) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var val = getFormatedValue();
|
|
71
|
+
|
|
72
|
+
if (val === null || val < min || val > max) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (_isCancelAfterEnd !== undefined) {
|
|
77
|
+
return _isCancelAfterEnd(val, data);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return false;
|
|
79
81
|
}
|
|
80
82
|
};
|
|
81
83
|
});
|
|
84
|
+
var text = useMemo(function () {
|
|
85
|
+
if (precision !== undefined && typeof value === 'number') {
|
|
86
|
+
return Math.round(value * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return value !== null && value !== void 0 ? value : '';
|
|
90
|
+
}, [value, precision]);
|
|
82
91
|
return /*#__PURE__*/React.createElement(EditorWrapper, {
|
|
83
92
|
onKeyDown: function onKeyDown(e) {
|
|
84
93
|
if (e.key === 'Enter') {
|
|
@@ -90,7 +99,7 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
|
|
|
90
99
|
disabled: disabled,
|
|
91
100
|
className: editorPrefixClass('text'),
|
|
92
101
|
ref: elm,
|
|
93
|
-
value:
|
|
102
|
+
value: text,
|
|
94
103
|
onChange: function onChange(event) {
|
|
95
104
|
dirty.current = true;
|
|
96
105
|
setValue(event.target.value);
|
|
@@ -9,7 +9,7 @@ export declare class RowEditorData<T> {
|
|
|
9
9
|
}
|
|
10
10
|
export interface RowEditorParams<T = any, K = any> {
|
|
11
11
|
suppressEnterEvent?: boolean;
|
|
12
|
-
isCancelAfterEnd?: (
|
|
12
|
+
isCancelAfterEnd?: (newValue: T, data: T) => boolean;
|
|
13
13
|
render: (val: K, data: T, params: ICellEditorParams<T, K> & {
|
|
14
14
|
ref: MutableRefObject<{
|
|
15
15
|
select?: () => void;
|
|
@@ -78,7 +78,7 @@ export default /*#__PURE__*/forwardRef(function RowEditor(props, ref) {
|
|
|
78
78
|
var prevValue = props.value;
|
|
79
79
|
var nextValue = prevValue;
|
|
80
80
|
|
|
81
|
-
if (field === undefined || value === data || isCancelAfterEnd !== undefined && isCancelAfterEnd(
|
|
81
|
+
if (field === undefined || value === data || isCancelAfterEnd !== undefined && isCancelAfterEnd(_objectSpread(_objectSpread({}, data), value), data)) {
|
|
82
82
|
return prevValue;
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -23,7 +23,7 @@ interface EditorParamsType<T extends string, K extends Record<string, any>> {
|
|
|
23
23
|
params?: K;
|
|
24
24
|
component?: string;
|
|
25
25
|
}
|
|
26
|
-
declare type EditorType<TData> = EditorParamsType<'text-editor', TextEditorParams> | EditorParamsType<'number-editor', NumberEditorParams
|
|
26
|
+
declare type EditorType<TData> = EditorParamsType<'text-editor', TextEditorParams> | EditorParamsType<'number-editor', NumberEditorParams<TData>> | EditorParamsType<'date-editor', DateEditorParams> | EditorParamsType<'select-editor', SelectEditorParams> | EditorParamsType<'row-editor', RowEditorParams<TData>>;
|
|
27
27
|
export interface ColType<TData> extends Omit<ColDef<TData>, 'editable'> {
|
|
28
28
|
title?: ReactNode | ((params: IHeaderParams) => ReactNode);
|
|
29
29
|
dataIndex?: string;
|