@lemon-fe/components 1.2.16 → 1.2.17

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.
@@ -64,17 +64,19 @@ export default function CustomColumnPanel(params) {
64
64
  var handleChangeKeywords = useDebounce(setKeywords, 200);
65
65
  useEffect(function () {
66
66
  var handler = function handler(e) {
67
- if (e.type === 'columnMoved' && !e.finished) {
67
+ if ((e.type === 'columnMoved' || e.type === 'columnResized') && !e.finished) {
68
68
  return;
69
69
  }
70
70
  handleColumnState();
71
71
  };
72
+ api.addEventListener('columnVisible', handler);
72
73
  api.addEventListener('columnMoved', handler);
73
74
  api.addEventListener('columnPinned', handler);
74
75
  api.addEventListener('columnResized', handler);
75
76
  api.addEventListener('columnValueChanged', handler);
76
77
  api.addEventListener('newColumnsLoaded', handler);
77
78
  return function () {
79
+ api.removeEventListener('columnVisible', handler);
78
80
  api.removeEventListener('columnMoved', handler);
79
81
  api.removeEventListener('columnPinned', handler);
80
82
  api.removeEventListener('columnResized', handler);
@@ -108,7 +110,9 @@ export default function CustomColumnPanel(params) {
108
110
  column: column,
109
111
  title: title,
110
112
  children: [],
111
- leaf: []
113
+ leaf: [],
114
+ disabled: def.lockVisible || false,
115
+ visible: column.isVisible() ? 1 : 0
112
116
  };
113
117
  var node = originNode;
114
118
  var path = [node];
@@ -126,7 +130,9 @@ export default function CustomColumnPanel(params) {
126
130
  id: id,
127
131
  children: [node],
128
132
  title: groupDef.headerName,
129
- leaf: [originNode]
133
+ leaf: [originNode],
134
+ disabled: originNode.disabled,
135
+ visible: originNode.visible
130
136
  };
131
137
  node = parentNode;
132
138
  path.unshift(node);
@@ -138,6 +144,8 @@ export default function CustomColumnPanel(params) {
138
144
  if (node1 !== undefined && node2 !== undefined && node1.id === node2.id) {
139
145
  node1.children = [].concat(_toConsumableArray(node1.children), _toConsumableArray(node2.children));
140
146
  node1.leaf = [].concat(_toConsumableArray(node1.leaf), _toConsumableArray(node2.leaf));
147
+ node1.disabled = node1.disabled && node2.disabled;
148
+ node1.visible = node1.visible === 1 && node2.visible === 1 ? 1 : node1.visible === 1 || node2.visible === 1 ? 2 : 0;
141
149
  path[i] = node1;
142
150
  continue;
143
151
  }
@@ -229,7 +237,7 @@ export default function CustomColumnPanel(params) {
229
237
  autoFocus: true,
230
238
  placeholder: dataGridLocale.searchText,
231
239
  onChange: function onChange(e) {
232
- handleChangeKeywords(e.target.value);
240
+ handleChangeKeywords(e.target.value.trim());
233
241
  },
234
242
  onKeyUp: function onKeyUp(e) {
235
243
  if (e.key === 'Enter') {
@@ -5,18 +5,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
- import React, { memo, useContext, useEffect, useState } from 'react';
8
+ import React, { memo, useContext } from 'react';
9
9
  import Dropdown from "../../../dropdown";
10
10
  import Icons from "../../../icons";
11
11
  import { useLocaleReceiver } from "../../../locale-receiver";
12
12
  import { isCustomField, prefix } from "../../utils";
13
13
  import DragContext from "./drag-context";
14
14
  import { useDraggable, useDroppable } from '@dnd-kit/core';
15
- import { useLastestRef } from '@lemon-fe/hooks';
16
15
  import classNames from 'classnames';
17
16
  var Item = /*#__PURE__*/memo(function (props) {
18
17
  var node = props.node,
19
- api = props.api,
20
18
  columnApi = props.columnApi,
21
19
  level = props.level,
22
20
  dragActive = props.dragActive,
@@ -39,43 +37,7 @@ var Item = /*#__PURE__*/memo(function (props) {
39
37
  disabled: colDef.lockPosition === true
40
38
  }),
41
39
  setDropRef = _useDroppable.setNodeRef;
42
- var getChecked = useLastestRef(function () {
43
- if (column) {
44
- if (column.isVisible()) {
45
- return 1;
46
- }
47
- return 0;
48
- }
49
- var count = 0;
50
- node.leaf.forEach(function (item) {
51
- if (item.column) {
52
- if (item.column.isVisible()) {
53
- count += 1;
54
- }
55
- }
56
- });
57
- if (count === 0) {
58
- return 0;
59
- } else if (count === node.leaf.length) {
60
- return 1;
61
- } else {
62
- return 2;
63
- }
64
- });
65
- var _useState = useState(0),
66
- _useState2 = _slicedToArray(_useState, 2),
67
- visible = _useState2[0],
68
- setVisible = _useState2[1];
69
- useEffect(function () {
70
- setVisible(getChecked.current());
71
- var handler = function handler() {
72
- setVisible(getChecked.current());
73
- };
74
- api.addEventListener('columnVisible', handler);
75
- return function () {
76
- api.removeEventListener('columnVisible', handler);
77
- };
78
- }, [node.column]);
40
+ var visible = node.visible;
79
41
  var _useLocaleReceiver = useLocaleReceiver('DataGrid'),
80
42
  _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
81
43
  dataGridLocale = _useLocaleReceiver2[0];
@@ -88,18 +50,19 @@ var Item = /*#__PURE__*/memo(function (props) {
88
50
  }, /*#__PURE__*/React.createElement("div", {
89
51
  className: classNames('ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper', {
90
52
  'ag-checked': visible === 1,
91
- 'ag-indeterminate': visible === 2
53
+ 'ag-indeterminate': visible === 2,
54
+ 'ag-disabled': node.disabled
92
55
  }),
93
56
  role: "presentation"
94
57
  }, /*#__PURE__*/React.createElement("input", {
95
58
  className: "ag-input-field-input ag-checkbox-input",
96
59
  type: "checkbox",
97
60
  tabIndex: -1,
98
- disabled: colDef.lockVisible,
61
+ disabled: node.disabled,
99
62
  checked: visible === 1,
100
63
  onChange: function onChange() {
101
64
  var hide;
102
- if (visible === 1) {
65
+ if (node.visible === 1) {
103
66
  hide = true;
104
67
  } else {
105
68
  hide = false;
@@ -113,7 +76,9 @@ var Item = /*#__PURE__*/memo(function (props) {
113
76
  });
114
77
  } else {
115
78
  columnApi.applyColumnState({
116
- state: node.leaf.map(function (item) {
79
+ state: node.leaf.filter(function (item) {
80
+ return !item.disabled;
81
+ }).map(function (item) {
117
82
  return {
118
83
  colId: item.column.getColId(),
119
84
  hide: hide
@@ -8,6 +8,8 @@ export type Node = {
8
8
  column?: Column;
9
9
  children: Node[];
10
10
  leaf: Node[];
11
+ disabled: boolean;
12
+ visible: number;
11
13
  };
12
14
 
13
15
  export type DragActive = {
@@ -36,7 +36,8 @@ export default /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Search(props,
36
36
  var _useLocaleReceiver = useLocaleReceiver('DataGrid'),
37
37
  _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
38
38
  dataGridLocale = _useLocaleReceiver2[0];
39
- var handleSearch = useDebounce(function (keywords) {
39
+ var handleSearch = useDebounce(function (str) {
40
+ var keywords = str.trim();
40
41
  if (keywords.length <= 0) {
41
42
  setState(defaultState);
42
43
  return;
@@ -16,7 +16,7 @@ declare const Editors: {
16
16
  Text: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").TextEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
17
17
  Date: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").DateEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
18
18
  Number: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").NumberEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
19
- Select: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & Pick<import("antd").SelectProps<any, import("antd/lib/select").BaseOptionType>, "disabled" | "allowClear" | "mode" | "showSearch" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
19
+ Select: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & Pick<import("antd").SelectProps<any, import("antd/lib/select").BaseOptionType>, "disabled" | "mode" | "allowClear" | "showSearch" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
20
20
  fieldNames?: {
21
21
  label: string;
22
22
  value: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "1.2.16",
3
+ "version": "1.2.17",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "",
6
6
  "license": "ISC",
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "registry": "https://registry.npmjs.org"
69
69
  },
70
- "gitHead": "37caaf402464a0549212f7f485de34103b53694f"
70
+ "gitHead": "68fa367d4c6f606248238f645cd0ee5a0d37d995"
71
71
  }