@lemon-fe/components 1.2.15 → 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.
@@ -16,7 +16,7 @@ export declare type SelectEditorParams = Pick<SelectProps<any, BaseOptionType>,
16
16
  */
17
17
  action?: 'next' | 'stop' | 'none';
18
18
  };
19
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "mode" | "showSearch" | "allowClear" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
19
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "allowClear" | "mode" | "showSearch" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
20
20
  fieldNames?: {
21
21
  label: string;
22
22
  value: string;
@@ -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;
@@ -77,5 +77,13 @@ export interface SelectViewProps<RecordType, ParamsType> extends Pick<DataGridPr
77
77
  * @default null
78
78
  */
79
79
  header?: ReactElement | null;
80
+ /**
81
+ * @description 自定义已选择datagrid
82
+ */
83
+ customSelectedGridProps?: DataGridProps<RecordType>;
84
+ /**
85
+ * @description 自定义主datagrid
86
+ */
87
+ customDataGridProps?: DataGridProps<RecordType>;
80
88
  }
81
89
  export default function SelectView<RecordType extends Record<string | number, any>, ParamsType extends Record<string, any>>(originalProps: SelectViewProps<RecordType, ParamsType>): JSX.Element;
@@ -59,7 +59,9 @@ export default function SelectView(originalProps) {
59
59
  _props$suppressRowCli = props.suppressRowClickSelection,
60
60
  suppressRowClickSelection = _props$suppressRowCli === void 0 ? false : _props$suppressRowCli,
61
61
  _props$rowMultiSelect = props.rowMultiSelectWithClick,
62
- rowMultiSelectWithClick = _props$rowMultiSelect === void 0 ? true : _props$rowMultiSelect;
62
+ rowMultiSelectWithClick = _props$rowMultiSelect === void 0 ? true : _props$rowMultiSelect,
63
+ customSelectedGridProps = props.customSelectedGridProps,
64
+ customDataGridProps = props.customDataGridProps;
63
65
  var prefix = prefixClassName("select-view");
64
66
  var _useState = useState(value || emptyValue),
65
67
  _useState2 = _slicedToArray(_useState, 2),
@@ -229,7 +231,7 @@ export default function SelectView(originalProps) {
229
231
  className: prefix('head')
230
232
  }, headerNode), /*#__PURE__*/React.createElement("div", {
231
233
  className: prefix('body')
232
- }, /*#__PURE__*/React.createElement(DataGrid, {
234
+ }, /*#__PURE__*/React.createElement(DataGrid, _extends({
233
235
  ref: list,
234
236
  rowKey: rowKey,
235
237
  rowSelection: {
@@ -257,7 +259,7 @@ export default function SelectView(originalProps) {
257
259
  fetch: request,
258
260
  pagination: pagination,
259
261
  customColumnPanelStorage: customColumnPanelStorage
260
- }))));
262
+ }, customDataGridProps)))));
261
263
  };
262
264
  var renderSelected = function renderSelected() {
263
265
  return /*#__PURE__*/React.createElement("div", {
@@ -266,7 +268,7 @@ export default function SelectView(originalProps) {
266
268
  className: prefix('main')
267
269
  }, /*#__PURE__*/React.createElement("div", {
268
270
  className: prefix('body')
269
- }, /*#__PURE__*/React.createElement(DataGrid, {
271
+ }, /*#__PURE__*/React.createElement(DataGrid, _extends({
270
272
  dataSource: data,
271
273
  defaultColDef: defaultColDef,
272
274
  rowHeight: rowHeight,
@@ -282,13 +284,14 @@ export default function SelectView(originalProps) {
282
284
  data: data,
283
285
  dataKeys: dataKeys
284
286
  }
285
- }))));
287
+ }, customSelectedGridProps)))));
286
288
  };
287
289
  if (readOnly) {
288
290
  content = renderSelected();
289
291
  } else if (!multiple) {
290
292
  content = renderList();
291
293
  } else {
294
+ var _customSelectedGridPr, _customSelectedGridPr2;
292
295
  content = /*#__PURE__*/React.createElement(Tabs, {
293
296
  items: [{
294
297
  key: 'list',
@@ -297,7 +300,7 @@ export default function SelectView(originalProps) {
297
300
  }, {
298
301
  key: 'selected',
299
302
  label: parseLocalTemplate(SelectViewLocale.selectedDataText, {
300
- length: data.length
303
+ length: (_customSelectedGridPr = customSelectedGridProps === null || customSelectedGridProps === void 0 || (_customSelectedGridPr2 = customSelectedGridProps.dataSource) === null || _customSelectedGridPr2 === void 0 ? void 0 : _customSelectedGridPr2.length) !== null && _customSelectedGridPr !== void 0 ? _customSelectedGridPr : data.length
301
304
  }),
302
305
  children: renderSelected()
303
306
  }],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "1.2.15",
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": "8007cb827f9cc7ddbe3d8f29b1e76461027dcc73"
70
+ "gitHead": "68fa367d4c6f606248238f645cd0ee5a0d37d995"
71
71
  }