@lemon-fe/kits 1.0.0-92 → 1.0.0-93

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.
@@ -5,5 +5,5 @@ export interface DateEditorParams {
5
5
  format: string;
6
6
  disabled?: boolean;
7
7
  }
8
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any> & DateEditorParams & React.RefAttributes<ICellEditorReactComp>>;
8
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & DateEditorParams & React.RefAttributes<ICellEditorReactComp>>;
9
9
  export default _default;
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
8
 
3
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -15,7 +21,7 @@ import { forwardRef, useImperativeHandle, useState } from 'react';
15
21
  import moment from 'moment';
16
22
  import { DatePicker } from 'antd';
17
23
  import EditorWrapper from "./Wrapper";
18
- import { editorPrefixClass } from "./utils";
24
+ import { editorPrefixClass, navigateCell } from "./utils";
19
25
  export default /*#__PURE__*/forwardRef(function DateEditor(props, ref) {
20
26
  var _props$format = props.format,
21
27
  format = _props$format === void 0 ? 'YYYY-MM-DD' : _props$format,
@@ -36,7 +42,7 @@ export default /*#__PURE__*/forwardRef(function DateEditor(props, ref) {
36
42
  }, []);
37
43
 
38
44
  var getValue = function getValue() {
39
- return value ? value.format(format) : props.value;
45
+ return value ? value.format(format) : null;
40
46
  };
41
47
 
42
48
  useImperativeHandle(ref, function () {
@@ -46,8 +52,10 @@ export default /*#__PURE__*/forwardRef(function DateEditor(props, ref) {
46
52
  });
47
53
  return /*#__PURE__*/React.createElement(EditorWrapper, null, /*#__PURE__*/React.createElement(DatePicker, {
48
54
  onKeyDown: function onKeyDown(e) {
49
- if (isEdited.current && e.key === 'Enter') {
50
- api.tabToNextCell();
55
+ if (isEdited) {
56
+ navigateCell(_objectSpread(_objectSpread({}, props), {}, {
57
+ event: e
58
+ }));
51
59
  }
52
60
  },
53
61
  style: {
@@ -27,5 +27,5 @@ export interface NumberEditorParams<TData = any> {
27
27
  */
28
28
  isCancelAfterEnd?: (newValue: number, data: TData) => boolean;
29
29
  }
30
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any> & NumberEditorParams<any> & React.RefAttributes<ICellEditorReactComp>>;
30
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & NumberEditorParams<any> & React.RefAttributes<ICellEditorReactComp>>;
31
31
  export default _default;
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
8
 
3
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -13,22 +19,34 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
19
  import React, { useEffect, useMemo, useRef } from 'react';
14
20
  import { forwardRef, useImperativeHandle, useState } from 'react';
15
21
  import EditorWrapper from "./Wrapper";
16
- import { editorPrefixClass } from "./utils";
22
+ import { editorPrefixClass, navigateCell } from "./utils";
17
23
  export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
18
- var _props$value;
19
-
20
24
  var _props$min = props.min,
21
25
  min = _props$min === void 0 ? -99999999 : _props$min,
22
26
  _props$max = props.max,
23
27
  max = _props$max === void 0 ? 99999999 : _props$max,
24
28
  emptyValue = props.emptyValue,
25
29
  disabled = props.disabled,
26
- api = props.api,
27
30
  precision = props.precision,
28
31
  _isCancelAfterEnd = props.isCancelAfterEnd,
29
32
  data = props.data;
30
33
 
31
- var _useState = useState((_props$value = props.value) !== null && _props$value !== void 0 ? _props$value : null),
34
+ var _useMemo = useMemo(function () {
35
+ if (props.eventKey === 'BackSpace') {
36
+ return ['', false];
37
+ }
38
+
39
+ if (props.charPress && /^[0-9]$/.test(props.charPress)) {
40
+ return [props.charPress, false];
41
+ }
42
+
43
+ return [props.value, true];
44
+ }, []),
45
+ _useMemo2 = _slicedToArray(_useMemo, 2),
46
+ defaultValue = _useMemo2[0],
47
+ shouldSelect = _useMemo2[1];
48
+
49
+ var _useState = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
32
50
  _useState2 = _slicedToArray(_useState, 2),
33
51
  value = _useState2[0],
34
52
  setValue = _useState2[1];
@@ -36,9 +54,15 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
36
54
  var elm = useRef(null);
37
55
  var dirty = useRef(false);
38
56
  useEffect(function () {
39
- var _elm$current;
57
+ if (elm.current === null) {
58
+ return;
59
+ }
40
60
 
41
- (_elm$current = elm.current) === null || _elm$current === void 0 ? void 0 : _elm$current.select();
61
+ elm.current.focus();
62
+
63
+ if (shouldSelect) {
64
+ elm.current.select();
65
+ }
42
66
  }, []);
43
67
 
44
68
  var getFormatedValue = function getFormatedValue() {
@@ -100,14 +124,13 @@ export default /*#__PURE__*/forwardRef(function NumberEditor(props, ref) {
100
124
 
101
125
  return val;
102
126
  }, [value, precision]);
103
- return /*#__PURE__*/React.createElement(EditorWrapper, {
104
- onKeyDown: function onKeyDown(e) {
105
- if (e.key === 'Enter') {
106
- api.tabToNextCell();
107
- }
108
- }
109
- }, /*#__PURE__*/React.createElement("input", {
127
+ return /*#__PURE__*/React.createElement(EditorWrapper, null, /*#__PURE__*/React.createElement("input", {
110
128
  type: "number",
129
+ onKeyDown: function onKeyDown(e) {
130
+ return navigateCell(_objectSpread(_objectSpread({}, props), {}, {
131
+ event: e
132
+ }));
133
+ },
111
134
  disabled: disabled,
112
135
  className: editorPrefixClass('text'),
113
136
  ref: elm,
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
8
 
3
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -10,24 +16,44 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
10
16
 
11
17
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
18
 
13
- import React, { useEffect, useRef } from 'react';
19
+ import React, { useEffect, useMemo, useRef } from 'react';
14
20
  import { forwardRef, useImperativeHandle, useState } from 'react';
15
21
  import EditorWrapper from "./Wrapper";
16
- import { editorPrefixClass } from "./utils";
22
+ import { editorPrefixClass, navigateCell } from "./utils";
17
23
  export default /*#__PURE__*/forwardRef(function TextEditor(props, ref) {
18
- var disabled = props.disabled,
19
- api = props.api;
24
+ var disabled = props.disabled;
25
+
26
+ var _useMemo = useMemo(function () {
27
+ if (props.eventKey === 'BackSpace') {
28
+ return ['', false];
29
+ }
30
+
31
+ if (props.charPress) {
32
+ return [props.charPress, false];
33
+ }
34
+
35
+ return [props.value, true];
36
+ }, []),
37
+ _useMemo2 = _slicedToArray(_useMemo, 2),
38
+ defaultValue = _useMemo2[0],
39
+ shouldSelect = _useMemo2[1];
20
40
 
21
- var _useState = useState(props.value),
41
+ var _useState = useState(defaultValue),
22
42
  _useState2 = _slicedToArray(_useState, 2),
23
43
  value = _useState2[0],
24
44
  setValue = _useState2[1];
25
45
 
26
46
  var elm = useRef(null);
27
47
  useEffect(function () {
28
- var _elm$current;
48
+ if (elm.current === null) {
49
+ return;
50
+ }
29
51
 
30
- (_elm$current = elm.current) === null || _elm$current === void 0 ? void 0 : _elm$current.select();
52
+ elm.current.focus();
53
+
54
+ if (shouldSelect) {
55
+ elm.current.select();
56
+ }
31
57
  }, []);
32
58
  useImperativeHandle(ref, function () {
33
59
  return {
@@ -38,9 +64,9 @@ export default /*#__PURE__*/forwardRef(function TextEditor(props, ref) {
38
64
  });
39
65
  return /*#__PURE__*/React.createElement(EditorWrapper, null, /*#__PURE__*/React.createElement("input", {
40
66
  onKeyDown: function onKeyDown(e) {
41
- if (e.key === 'Enter') {
42
- api.tabToNextCell();
43
- }
67
+ navigateCell(_objectSpread(_objectSpread({}, props), {}, {
68
+ event: e
69
+ }));
44
70
  },
45
71
  disabled: disabled,
46
72
  className: editorPrefixClass('text'),
@@ -1 +1,10 @@
1
+ import type { Column, ColumnApi, GridApi, IRowNode } from '@ag-grid-community/core';
2
+ import type { KeyboardEvent } from 'react';
1
3
  export declare const editorPrefixClass: (val?: string | undefined) => string;
4
+ export declare function navigateCell(params: {
5
+ api: GridApi;
6
+ columnApi: ColumnApi;
7
+ event: KeyboardEvent;
8
+ node: IRowNode;
9
+ column: Column;
10
+ }): void;
@@ -1,2 +1,57 @@
1
1
  import { prefixClassName } from "../../utils";
2
- export var editorPrefixClass = prefixClassName('grid-editor');
2
+ export var editorPrefixClass = prefixClassName('grid-editor');
3
+ export function navigateCell(params) {
4
+ var api = params.api,
5
+ event = params.event,
6
+ node = params.node,
7
+ column = params.column,
8
+ columnApi = params.columnApi;
9
+
10
+ if (event.key === 'Enter') {
11
+ api.tabToNextCell();
12
+ return;
13
+ }
14
+
15
+ if (node.rowIndex === null) {
16
+ return;
17
+ }
18
+
19
+ var columns = columnApi.getAllDisplayedColumns();
20
+ var nextColumnIndex = columns.findIndex(function (item) {
21
+ return item === column;
22
+ });
23
+
24
+ if (nextColumnIndex < 0) {
25
+ return;
26
+ }
27
+
28
+ var nextRowIndex = node.rowIndex;
29
+ var renderedRowCount = api.getModel().getRowCount();
30
+
31
+ switch (event.key) {
32
+ case 'ArrowUp':
33
+ nextRowIndex -= 1;
34
+ break;
35
+
36
+ case 'ArrowRight':
37
+ nextColumnIndex += 1;
38
+ break;
39
+
40
+ case 'ArrowDown':
41
+ nextRowIndex += 1;
42
+ break;
43
+
44
+ case 'ArrowLeft':
45
+ nextColumnIndex -= 1;
46
+ break;
47
+
48
+ default:
49
+ return;
50
+ }
51
+
52
+ if (nextRowIndex < 0 || nextRowIndex >= renderedRowCount || nextColumnIndex < 0 || nextColumnIndex >= columns.length) {
53
+ return;
54
+ }
55
+
56
+ api.setFocusedCell(nextRowIndex, columns[nextColumnIndex]);
57
+ }
@@ -16,7 +16,7 @@
16
16
  min-height: 0;
17
17
 
18
18
  .@{ant-prefix}-table-column-sorter {
19
- margin-right: 4px;
19
+ margin-left: 0;
20
20
  }
21
21
 
22
22
  &-cell-align-center {
@@ -179,6 +179,16 @@
179
179
  color: rgba(0, 0, 0, 0.25);
180
180
  cursor: not-allowed;
181
181
  }
182
+
183
+ &::-webkit-outer-spin-button,
184
+ &::-webkit-inner-spin-button {
185
+ margin: 0;
186
+ -webkit-appearance: none;
187
+ }
188
+
189
+ & {
190
+ -moz-appearance: textfield; /* Firefox */
191
+ }
182
192
  }
183
193
 
184
194
  &-date {
@@ -35,6 +35,7 @@ export interface FilterProps<T extends Record<string, any> = Record<string, any>
35
35
  simple?: boolean;
36
36
  /**
37
37
  * @description 是否自动生成placeholder
38
+ * @default false
38
39
  * 根据item.type以及item.label生成,自动注入到extraProps属性里,带有select则是请选择否则就是请输入
39
40
  */
40
41
  autoPlaceholder?: boolean;
@@ -195,14 +195,14 @@ function Popup(props) {
195
195
  var modalElm = /*#__PURE__*/React.createElement(Modal, _extends({
196
196
  destroyOnClose: true,
197
197
  open: shouldModalOpen,
198
- width: 994,
198
+ width: 1000,
199
199
  centered: true,
200
200
  onCancel: handleCancel,
201
201
  onOk: function onOk() {
202
202
  return handleOk();
203
203
  },
204
204
  bodyStyle: {
205
- height: '549px',
205
+ height: 550,
206
206
  padding: 0
207
207
  },
208
208
  footer: renderFooter ? renderFooter({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/kits",
3
- "version": "1.0.0-92",
3
+ "version": "1.0.0-93",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",