@lemon-fe/kits 1.0.0-123 → 1.0.0-125

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.
@@ -1,8 +1,10 @@
1
- import React from 'react';
2
- import type { ICellEditorReactComp } from '@ag-grid-community/react';
3
1
  import type { ICellEditorParams } from '@ag-grid-community/core';
4
- export interface TextEditorParams {
2
+ import type { ICellEditorReactComp } from '@ag-grid-community/react';
3
+ import React from 'react';
4
+ export interface TextEditorParams<TData = any> {
5
5
  disabled: boolean;
6
+ maxLength?: number;
7
+ isCancelAfterEnd?: (newValue: string, data: TData) => boolean;
6
8
  }
7
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & TextEditorParams & React.RefAttributes<ICellEditorReactComp>>;
9
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & TextEditorParams<any> & React.RefAttributes<ICellEditorReactComp>>;
8
10
  export default _default;
@@ -16,12 +16,17 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
16
16
 
17
17
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
18
 
19
+ import { message } from 'antd';
19
20
  import React, { useEffect, useMemo, useRef } from 'react';
20
21
  import { forwardRef, useImperativeHandle, useState } from 'react';
21
22
  import EditorWrapper from "./Wrapper";
22
23
  import { editorPrefixClass, navigateCell } from "./utils";
23
24
  export default /*#__PURE__*/forwardRef(function TextEditor(props, ref) {
24
- var disabled = props.disabled;
25
+ var disabled = props.disabled,
26
+ maxLength = props.maxLength,
27
+ _isCancelAfterEnd = props.isCancelAfterEnd,
28
+ data = props.data,
29
+ headerName = props.colDef.headerName;
25
30
 
26
31
  var _useMemo = useMemo(function () {
27
32
  if (props.eventKey === 'BackSpace') {
@@ -57,6 +62,18 @@ export default /*#__PURE__*/forwardRef(function TextEditor(props, ref) {
57
62
  }, []);
58
63
  useImperativeHandle(ref, function () {
59
64
  return {
65
+ isCancelAfterEnd: function isCancelAfterEnd() {
66
+ if (maxLength && value.length > maxLength) {
67
+ message.warning("".concat(headerName || '', "\u6700\u591A").concat(maxLength, "\u4E2A\u5B57\u7B26"));
68
+ return true;
69
+ }
70
+
71
+ if (_isCancelAfterEnd !== undefined) {
72
+ return _isCancelAfterEnd(value, data);
73
+ }
74
+
75
+ return false;
76
+ },
60
77
  getValue: function getValue() {
61
78
  return value;
62
79
  }
@@ -1,3 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import type { ICellRendererParams } from '@ag-grid-community/core';
3
- export default function CellDeleteRender<TData>(props: ICellRendererParams<TData>): JSX.Element | null;
3
+ export default function CellDeleteRender<TData>(props: ICellRendererParams<TData> & {
4
+ enable?: (data: ICellRendererParams<TData>) => boolean;
5
+ }): JSX.Element | null;
@@ -3,7 +3,8 @@ import React from 'react';
3
3
  export default function CellDeleteRender(props) {
4
4
  var api = props.api,
5
5
  data = props.data,
6
- node = props.node;
6
+ node = props.node,
7
+ enable = props.enable;
7
8
 
8
9
  if (node.isRowPinned()) {
9
10
  return null;
@@ -12,6 +13,10 @@ export default function CellDeleteRender(props) {
12
13
  return /*#__PURE__*/React.createElement(Icons.Delete, {
13
14
  key: "delete",
14
15
  onClick: function onClick() {
16
+ if (enable && !enable(props)) {
17
+ return;
18
+ }
19
+
15
20
  if (data !== undefined) {
16
21
  api.applyTransaction({
17
22
  remove: [data]
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { Moment } from 'moment';
3
2
  import type { RangePickerProps } from 'antd/lib/date-picker';
3
+ import type { Moment } from 'moment';
4
4
  export declare type DurationPickerValue = {
5
5
  type: string;
6
6
  option: string;
@@ -24,9 +24,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
24
24
 
25
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
26
26
 
27
- import React, { useMemo, useState, useEffect } from 'react';
28
27
  import { DatePicker, Dropdown, Menu } from 'antd';
29
28
  import moment from 'moment';
29
+ import React, { useMemo, useState, useEffect } from 'react';
30
30
  import { PREFIX_CLS } from "../../constants";
31
31
  import Down from "../Icons/Down";
32
32
  var defaultOptions = [{
@@ -165,9 +165,7 @@ function DurationPicker(props) {
165
165
  }
166
166
 
167
167
  var newDurationPickerValue = _objectSpread(_objectSpread({}, value), {}, {
168
- dates: dates.map(function (item) {
169
- return item.format(dateFormat);
170
- })
168
+ dates: [moment(dates[0]).startOf('day').format(dateFormat), moment(dates[1]).endOf('day').format(dateFormat)]
171
169
  });
172
170
 
173
171
  setDurationPickerValue(newDurationPickerValue);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/kits",
3
- "version": "1.0.0-123",
3
+ "version": "1.0.0-125",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -38,7 +38,7 @@
38
38
  "@ag-grid-community/react": "29.2.0",
39
39
  "@ag-grid-community/styles": "29.2.0",
40
40
  "@ant-design/icons": "^4.7.0",
41
- "@lemon-fe/hooks": "^0.1.148",
41
+ "@lemon-fe/hooks": "^0.1.150",
42
42
  "@lemon-fe/utils": "^0.1.117",
43
43
  "antd": "4.24.8",
44
44
  "async-validator": "^4.2.5",