funda-ui 4.7.582 → 4.7.599
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/EventCalendar/index.js +2 -1
- package/EventCalendarTimeline/index.js +2 -1
- package/Table/index.js +34 -0
- package/lib/cjs/EventCalendar/index.js +2 -1
- package/lib/cjs/EventCalendarTimeline/index.js +2 -1
- package/lib/cjs/Table/index.js +34 -0
- package/lib/esm/EventCalendar/index.tsx +2 -1
- package/lib/esm/EventCalendarTimeline/index.tsx +2 -1
- package/lib/esm/Table/Table.tsx +0 -1
- package/lib/esm/Table/TableCell.tsx +1 -0
- package/lib/esm/Table/utils/ToggleSelection.tsx +30 -0
- package/package.json +1 -1
package/EventCalendar/index.js
CHANGED
|
@@ -3605,7 +3605,8 @@ var EventCalendar = function EventCalendar(props) {
|
|
|
3605
3605
|
'selected': d === day && isInteractive,
|
|
3606
3606
|
'last-cell': isLastCell,
|
|
3607
3607
|
'last-row': isLastRow,
|
|
3608
|
-
'disabled': !isInteractive
|
|
3608
|
+
'disabled': !isInteractive,
|
|
3609
|
+
'has-events': _eventContent() !== null
|
|
3609
3610
|
}),
|
|
3610
3611
|
key: "col" + i,
|
|
3611
3612
|
"data-date": (0,funda_utils_dist_cjs_date__WEBPACK_IMPORTED_MODULE_1__.getCalendarDate)(_dateShow),
|
|
@@ -5317,7 +5317,8 @@ var EventCalendarTimeline = function EventCalendarTimeline(props) {
|
|
|
5317
5317
|
'today': d === now.getDate(),
|
|
5318
5318
|
'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
|
|
5319
5319
|
'last-cell': isLastCol,
|
|
5320
|
-
'disabled': !isInteractive
|
|
5320
|
+
'disabled': !isInteractive,
|
|
5321
|
+
'has-events': _eventContent() !== null
|
|
5321
5322
|
}),
|
|
5322
5323
|
key: "col" + i,
|
|
5323
5324
|
"data-index": colIndex - 1,
|
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,
|
|
@@ -3605,7 +3605,8 @@ var EventCalendar = function EventCalendar(props) {
|
|
|
3605
3605
|
'selected': d === day && isInteractive,
|
|
3606
3606
|
'last-cell': isLastCell,
|
|
3607
3607
|
'last-row': isLastRow,
|
|
3608
|
-
'disabled': !isInteractive
|
|
3608
|
+
'disabled': !isInteractive,
|
|
3609
|
+
'has-events': _eventContent() !== null
|
|
3609
3610
|
}),
|
|
3610
3611
|
key: "col" + i,
|
|
3611
3612
|
"data-date": (0,funda_utils_dist_cjs_date__WEBPACK_IMPORTED_MODULE_1__.getCalendarDate)(_dateShow),
|
|
@@ -5317,7 +5317,8 @@ var EventCalendarTimeline = function EventCalendarTimeline(props) {
|
|
|
5317
5317
|
'today': d === now.getDate(),
|
|
5318
5318
|
'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
|
|
5319
5319
|
'last-cell': isLastCol,
|
|
5320
|
-
'disabled': !isInteractive
|
|
5320
|
+
'disabled': !isInteractive,
|
|
5321
|
+
'has-events': _eventContent() !== null
|
|
5321
5322
|
}),
|
|
5322
5323
|
key: "col" + i,
|
|
5323
5324
|
"data-index": colIndex - 1,
|
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,
|
|
@@ -774,7 +774,8 @@ const EventCalendar = (props: EventCalendarProps) => {
|
|
|
774
774
|
'selected': d === day && isInteractive,
|
|
775
775
|
'last-cell': isLastCell,
|
|
776
776
|
'last-row': isLastRow,
|
|
777
|
-
'disabled': !isInteractive
|
|
777
|
+
'disabled': !isInteractive,
|
|
778
|
+
'has-events': _eventContent() !== null
|
|
778
779
|
}
|
|
779
780
|
)}
|
|
780
781
|
key={"col" + i}
|
|
@@ -1562,7 +1562,8 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
|
|
|
1562
1562
|
'today': d === now.getDate(),
|
|
1563
1563
|
'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
|
|
1564
1564
|
'last-cell': isLastCol,
|
|
1565
|
-
'disabled': !isInteractive
|
|
1565
|
+
'disabled': !isInteractive,
|
|
1566
|
+
'has-events': _eventContent() !== null
|
|
1566
1567
|
}
|
|
1567
1568
|
)}
|
|
1568
1569
|
key={"col" + i}
|
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.599",
|
|
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",
|