funda-ui 4.7.582 → 4.7.585
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/Table/index.js
CHANGED
|
@@ -1964,6 +1964,40 @@ var ToggleSelection = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1964
1964
|
resolvedRef.current.indeterminate = indeterminate;
|
|
1965
1965
|
}
|
|
1966
1966
|
}, [resolvedRef, indeterminate]);
|
|
1967
|
+
|
|
1968
|
+
// Handle checked prop - use setSelectedItems to manage selection state
|
|
1969
|
+
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
1970
|
+
if (checked !== undefined && row !== -1) {
|
|
1971
|
+
var rowKey = String(row);
|
|
1972
|
+
var nextSelectedItems;
|
|
1973
|
+
setSelectedItems(function (prev) {
|
|
1974
|
+
var newSelectedItems = new Set(prev);
|
|
1975
|
+
if (checked) {
|
|
1976
|
+
newSelectedItems.add(rowKey);
|
|
1977
|
+
} else {
|
|
1978
|
+
newSelectedItems["delete"](rowKey);
|
|
1979
|
+
}
|
|
1980
|
+
nextSelectedItems = newSelectedItems;
|
|
1981
|
+
|
|
1982
|
+
//
|
|
1983
|
+
var selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map(function (v) {
|
|
1984
|
+
return Number(v);
|
|
1985
|
+
}) : [];
|
|
1986
|
+
var filteredData = Array.isArray(originData) ? originData.filter(function (v, i) {
|
|
1987
|
+
return selectedIndex.includes(i);
|
|
1988
|
+
}) : [];
|
|
1989
|
+
var syntheticEvent = {
|
|
1990
|
+
target: {
|
|
1991
|
+
value: rowKey,
|
|
1992
|
+
checked: checked
|
|
1993
|
+
}
|
|
1994
|
+
};
|
|
1995
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(syntheticEvent, checked, filteredData);
|
|
1996
|
+
onChangeRowSelect === null || onChangeRowSelect === void 0 ? void 0 : onChangeRowSelect(filteredData);
|
|
1997
|
+
return newSelectedItems;
|
|
1998
|
+
});
|
|
1999
|
+
}
|
|
2000
|
+
}, [checked, row, setSelectedItems]);
|
|
1967
2001
|
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, rowSelectable && row === -1 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("input", ToggleSelection_extends({
|
|
1968
2002
|
type: useRadio ? 'radio' : 'checkbox',
|
|
1969
2003
|
ref: resolvedRef,
|
package/lib/cjs/Table/index.js
CHANGED
|
@@ -1964,6 +1964,40 @@ var ToggleSelection = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1964
1964
|
resolvedRef.current.indeterminate = indeterminate;
|
|
1965
1965
|
}
|
|
1966
1966
|
}, [resolvedRef, indeterminate]);
|
|
1967
|
+
|
|
1968
|
+
// Handle checked prop - use setSelectedItems to manage selection state
|
|
1969
|
+
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
1970
|
+
if (checked !== undefined && row !== -1) {
|
|
1971
|
+
var rowKey = String(row);
|
|
1972
|
+
var nextSelectedItems;
|
|
1973
|
+
setSelectedItems(function (prev) {
|
|
1974
|
+
var newSelectedItems = new Set(prev);
|
|
1975
|
+
if (checked) {
|
|
1976
|
+
newSelectedItems.add(rowKey);
|
|
1977
|
+
} else {
|
|
1978
|
+
newSelectedItems["delete"](rowKey);
|
|
1979
|
+
}
|
|
1980
|
+
nextSelectedItems = newSelectedItems;
|
|
1981
|
+
|
|
1982
|
+
//
|
|
1983
|
+
var selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map(function (v) {
|
|
1984
|
+
return Number(v);
|
|
1985
|
+
}) : [];
|
|
1986
|
+
var filteredData = Array.isArray(originData) ? originData.filter(function (v, i) {
|
|
1987
|
+
return selectedIndex.includes(i);
|
|
1988
|
+
}) : [];
|
|
1989
|
+
var syntheticEvent = {
|
|
1990
|
+
target: {
|
|
1991
|
+
value: rowKey,
|
|
1992
|
+
checked: checked
|
|
1993
|
+
}
|
|
1994
|
+
};
|
|
1995
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(syntheticEvent, checked, filteredData);
|
|
1996
|
+
onChangeRowSelect === null || onChangeRowSelect === void 0 ? void 0 : onChangeRowSelect(filteredData);
|
|
1997
|
+
return newSelectedItems;
|
|
1998
|
+
});
|
|
1999
|
+
}
|
|
2000
|
+
}, [checked, row, setSelectedItems]);
|
|
1967
2001
|
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, rowSelectable && row === -1 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("input", ToggleSelection_extends({
|
|
1968
2002
|
type: useRadio ? 'radio' : 'checkbox',
|
|
1969
2003
|
ref: resolvedRef,
|
package/lib/esm/Table/Table.tsx
CHANGED
|
@@ -5,7 +5,6 @@ import useComId from 'funda-utils/dist/cjs/useComId';
|
|
|
5
5
|
import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
import { TableProvider } from './TableContext';
|
|
10
9
|
import useTableResponsive from './utils/hooks/useTableResponsive';
|
|
11
10
|
import useTableDraggable from './utils/hooks/useTableDraggable';
|
|
@@ -185,6 +185,36 @@ const ToggleSelection = forwardRef((props: ToggleSelectionProps, ref: any) => {
|
|
|
185
185
|
}
|
|
186
186
|
}, [resolvedRef, indeterminate]);
|
|
187
187
|
|
|
188
|
+
// Handle checked prop - use setSelectedItems to manage selection state
|
|
189
|
+
useEffect(() => {
|
|
190
|
+
if (checked !== undefined && row !== -1) {
|
|
191
|
+
const rowKey = String(row);
|
|
192
|
+
let nextSelectedItems: Set<any> | undefined;
|
|
193
|
+
setSelectedItems((prev: any) => {
|
|
194
|
+
const newSelectedItems = new Set(prev);
|
|
195
|
+
if (checked) {
|
|
196
|
+
newSelectedItems.add(rowKey);
|
|
197
|
+
} else {
|
|
198
|
+
newSelectedItems.delete(rowKey);
|
|
199
|
+
}
|
|
200
|
+
nextSelectedItems = newSelectedItems;
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
//
|
|
204
|
+
const selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map((v: any) => Number(v)) : [];
|
|
205
|
+
const filteredData = Array.isArray(originData) ? originData.filter((v: any, i: number) => selectedIndex.includes(i)) : [];
|
|
206
|
+
|
|
207
|
+
const syntheticEvent = { target: { value: rowKey, checked } } as any;
|
|
208
|
+
onChange?.(syntheticEvent, checked, filteredData);
|
|
209
|
+
onChangeRowSelect?.(filteredData);
|
|
210
|
+
|
|
211
|
+
return newSelectedItems;
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
}
|
|
216
|
+
}, [checked, row, setSelectedItems]);
|
|
217
|
+
|
|
188
218
|
|
|
189
219
|
return (
|
|
190
220
|
<>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"author": "UIUX Lab",
|
|
3
3
|
"email": "uiuxlab@gmail.com",
|
|
4
4
|
"name": "funda-ui",
|
|
5
|
-
"version": "4.7.
|
|
5
|
+
"version": "4.7.585",
|
|
6
6
|
"description": "React components using pure Bootstrap 5+ which does not contain any external style and script libraries.",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|