@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.
- package/es/data-grid/cell-editors/select.d.ts +1 -1
- package/es/data-grid/components/custom-panel/index.js +12 -4
- package/es/data-grid/components/custom-panel/item.js +9 -44
- package/es/data-grid/components/custom-panel/typings.d.ts +2 -0
- package/es/data-grid/components/search.js +2 -1
- package/es/data-grid/index.d.ts +1 -1
- package/es/select-view/index.d.ts +8 -0
- package/es/select-view/index.js +9 -6
- package/package.json +2 -2
|
@@ -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" | "
|
|
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
|
|
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
|
|
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:
|
|
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.
|
|
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
|
|
@@ -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 (
|
|
39
|
+
var handleSearch = useDebounce(function (str) {
|
|
40
|
+
var keywords = str.trim();
|
|
40
41
|
if (keywords.length <= 0) {
|
|
41
42
|
setState(defaultState);
|
|
42
43
|
return;
|
package/es/data-grid/index.d.ts
CHANGED
|
@@ -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" | "
|
|
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;
|
package/es/select-view/index.js
CHANGED
|
@@ -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.
|
|
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": "
|
|
70
|
+
"gitHead": "68fa367d4c6f606248238f645cd0ee5a0d37d995"
|
|
71
71
|
}
|