@gobolt/genesis 0.4.17 → 0.4.18
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/dist/components/OverflowMenu/OverflowMenu.d.ts +1 -1
- package/dist/components/Table/InfiniteScrollTable/InfiniteScrollTable.d.ts +1 -1
- package/dist/components/Table/Table.d.ts +3 -1
- package/dist/components/TableWithControls/TableWithControls.d.ts +3 -1
- package/dist/index.cjs +251 -197
- package/dist/index.js +251 -197
- package/package.json +1 -1
|
@@ -13,5 +13,5 @@ export interface OverflowMenuProps {
|
|
|
13
13
|
style?: React.CSSProperties;
|
|
14
14
|
onItemClick?: (item: OverflowMenuItemProps) => void;
|
|
15
15
|
}
|
|
16
|
-
declare const OverflowMenu: React.
|
|
16
|
+
declare const OverflowMenu: React.ForwardRefExoticComponent<OverflowMenuProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
17
|
export default OverflowMenu;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InfiniteScrollTableProps } from './types';
|
|
2
|
-
declare const InfiniteScrollTable: <T>({ columns: initialColumns, fetchService, scrollHeight, scrollWidth, onChange, }: InfiniteScrollTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const InfiniteScrollTable: <T>({ columns: initialColumns, fetchService, scrollHeight, scrollWidth, onChange, rowSelection, onRowClick, onRowSelectionChange, onDataChange, }: InfiniteScrollTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default InfiniteScrollTable;
|
|
@@ -43,6 +43,8 @@ export interface TableProps<T extends Record<string, any>> {
|
|
|
43
43
|
};
|
|
44
44
|
onRowClick?: (record: T, index: number, event: React.MouseEvent) => void;
|
|
45
45
|
onChange?: (pagination: TablePaginationConfig, filters: Record<string, any>, sorter: SorterResult<T> | SorterResult<T>[], extra: any) => void;
|
|
46
|
+
onRowSelectionChange?: (setSelectedRowKeys: (keys: React.Key[]) => void) => void;
|
|
47
|
+
onDataChange?: (data: T[]) => void;
|
|
46
48
|
loading?: boolean;
|
|
47
49
|
pagination?: (TablePaginationConfig & {
|
|
48
50
|
paginationStyle?: PaginationStyle;
|
|
@@ -79,5 +81,5 @@ export type SorterResult<T> = {
|
|
|
79
81
|
field?: keyof T | string | React.Key | readonly React.Key[];
|
|
80
82
|
columnKey?: React.Key;
|
|
81
83
|
};
|
|
82
|
-
declare function Table<T extends Record<string, any>>({ columns, dataSource, rowKey, size, onChange, rowSelection, onRowClick, pagination, isMainContentCell, isInfiniteScroll, infiniteScrollConfig, enableRowKeyValidation, onRowKeyError, ...rest }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
declare function Table<T extends Record<string, any>>({ columns, dataSource, rowKey, size, onChange, rowSelection, onRowClick, onRowSelectionChange, onDataChange, pagination, isMainContentCell, isInfiniteScroll, infiniteScrollConfig, enableRowKeyValidation, onRowKeyError, ...rest }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
83
85
|
export default Table;
|
|
@@ -14,6 +14,8 @@ export interface TableWithControlsProps {
|
|
|
14
14
|
infiniteScrollConfig?: InfiniteScrollConfig<Record<string, any>>;
|
|
15
15
|
paginationStyle?: PaginationStyle;
|
|
16
16
|
onRowClick?: (record: Record<string, any>, index: number, event: React.MouseEvent) => void;
|
|
17
|
+
onRowSelectionChange?: (setSelectedRowKeys: (keys: React.Key[]) => void) => void;
|
|
18
|
+
onDataChange?: (data: Record<string, any>[]) => void;
|
|
17
19
|
}
|
|
18
|
-
declare const TableWithControls: ({ tableData, tableControlsData, onChange, onRowClick, tableType, isInfiniteScroll, infiniteScrollConfig, paginationStyle, }: TableWithControlsProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare const TableWithControls: ({ tableData, tableControlsData, onChange, onRowClick, onRowSelectionChange, onDataChange, tableType, isInfiniteScroll, infiniteScrollConfig, paginationStyle, }: TableWithControlsProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
export default TableWithControls;
|
package/dist/index.cjs
CHANGED
|
@@ -80966,112 +80966,136 @@ const OverflowMenuItem = ({ children: children2, onClick }) => {
|
|
|
80966
80966
|
const DefaultTrigger = () => {
|
|
80967
80967
|
return /* @__PURE__ */ jsxRuntime.jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(HiDotsHorizontal, {}) });
|
|
80968
80968
|
};
|
|
80969
|
-
const OverflowMenu = (
|
|
80970
|
-
|
|
80971
|
-
|
|
80972
|
-
|
|
80973
|
-
|
|
80974
|
-
|
|
80975
|
-
|
|
80976
|
-
|
|
80977
|
-
|
|
80978
|
-
|
|
80979
|
-
|
|
80980
|
-
|
|
80981
|
-
|
|
80982
|
-
|
|
80983
|
-
|
|
80984
|
-
|
|
80985
|
-
|
|
80986
|
-
|
|
80987
|
-
|
|
80988
|
-
|
|
80989
|
-
|
|
80990
|
-
|
|
80991
|
-
onOpenChange
|
|
80992
|
-
|
|
80993
|
-
|
|
80994
|
-
|
|
80995
|
-
|
|
80996
|
-
|
|
80997
|
-
|
|
80998
|
-
|
|
80999
|
-
|
|
81000
|
-
|
|
81001
|
-
const handleClickOutside = React.useCallback(
|
|
81002
|
-
(event) => {
|
|
81003
|
-
if (triggerRef.current && menuRef.current && !triggerRef.current.contains(event.target) && !menuRef.current.contains(event.target)) {
|
|
81004
|
-
handleOpenChange(false);
|
|
81005
|
-
}
|
|
81006
|
-
},
|
|
81007
|
-
[handleOpenChange]
|
|
81008
|
-
);
|
|
81009
|
-
React.useEffect(() => {
|
|
81010
|
-
if (isOpen) {
|
|
81011
|
-
const timer2 = setTimeout(() => {
|
|
81012
|
-
setIsAnimating(true);
|
|
81013
|
-
}, 10);
|
|
81014
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
81015
|
-
return () => {
|
|
81016
|
-
clearTimeout(timer2);
|
|
81017
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
81018
|
-
};
|
|
81019
|
-
} else {
|
|
81020
|
-
setIsAnimating(false);
|
|
81021
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
81022
|
-
}
|
|
81023
|
-
}, [isOpen, handleClickOutside]);
|
|
81024
|
-
const getMenuStyle = React.useMemo(() => {
|
|
81025
|
-
const baseStyle = {
|
|
81026
|
-
position: "absolute",
|
|
81027
|
-
zIndex: 1e3,
|
|
81028
|
-
...style2
|
|
80969
|
+
const OverflowMenu = React.forwardRef(
|
|
80970
|
+
({
|
|
80971
|
+
items,
|
|
80972
|
+
children: children2,
|
|
80973
|
+
trigger = /* @__PURE__ */ jsxRuntime.jsx(DefaultTrigger, {}),
|
|
80974
|
+
isOpen: controlledIsOpen,
|
|
80975
|
+
onOpenChange,
|
|
80976
|
+
placement = "bottom",
|
|
80977
|
+
alignment = "left",
|
|
80978
|
+
offset: offset2 = 8,
|
|
80979
|
+
className,
|
|
80980
|
+
style: style2,
|
|
80981
|
+
onItemClick
|
|
80982
|
+
}, ref) => {
|
|
80983
|
+
const [internalIsOpen, setInternalIsOpen] = React.useState(false);
|
|
80984
|
+
const [isAnimating, setIsAnimating] = React.useState(false);
|
|
80985
|
+
const triggerRef = React.useRef(null);
|
|
80986
|
+
const menuRef = React.useRef(null);
|
|
80987
|
+
const { theme } = useGenesis();
|
|
80988
|
+
const isOpen = controlledIsOpen === void 0 ? internalIsOpen : controlledIsOpen;
|
|
80989
|
+
const handleOpenChange = React.useCallback(
|
|
80990
|
+
(open) => {
|
|
80991
|
+
if (onOpenChange) {
|
|
80992
|
+
onOpenChange(open);
|
|
80993
|
+
} else {
|
|
80994
|
+
setInternalIsOpen(open);
|
|
80995
|
+
}
|
|
80996
|
+
},
|
|
80997
|
+
[onOpenChange]
|
|
80998
|
+
);
|
|
80999
|
+
const handleTriggerClick = () => {
|
|
81000
|
+
handleOpenChange(!isOpen);
|
|
81029
81001
|
};
|
|
81030
|
-
|
|
81031
|
-
|
|
81032
|
-
|
|
81033
|
-
|
|
81034
|
-
|
|
81035
|
-
|
|
81036
|
-
|
|
81037
|
-
|
|
81038
|
-
|
|
81039
|
-
|
|
81040
|
-
|
|
81041
|
-
|
|
81042
|
-
|
|
81043
|
-
|
|
81044
|
-
|
|
81045
|
-
|
|
81046
|
-
|
|
81047
|
-
...baseStyle,
|
|
81048
|
-
top: 0,
|
|
81049
|
-
right: `calc(100% + ${offset2}px)`,
|
|
81050
|
-
...alignment === "right" ? { bottom: 0 } : {}
|
|
81051
|
-
};
|
|
81052
|
-
}
|
|
81053
|
-
case "right": {
|
|
81054
|
-
return {
|
|
81055
|
-
...baseStyle,
|
|
81056
|
-
top: 0,
|
|
81057
|
-
left: `calc(100% + ${offset2}px)`,
|
|
81058
|
-
...alignment === "right" ? { bottom: 0 } : {}
|
|
81002
|
+
const handleClickOutside = React.useCallback(
|
|
81003
|
+
(event) => {
|
|
81004
|
+
if (triggerRef.current && menuRef.current && !triggerRef.current.contains(event.target) && !menuRef.current.contains(event.target)) {
|
|
81005
|
+
handleOpenChange(false);
|
|
81006
|
+
}
|
|
81007
|
+
},
|
|
81008
|
+
[handleOpenChange]
|
|
81009
|
+
);
|
|
81010
|
+
React.useEffect(() => {
|
|
81011
|
+
if (isOpen) {
|
|
81012
|
+
const timer2 = setTimeout(() => {
|
|
81013
|
+
setIsAnimating(true);
|
|
81014
|
+
}, 10);
|
|
81015
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
81016
|
+
return () => {
|
|
81017
|
+
clearTimeout(timer2);
|
|
81018
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
81059
81019
|
};
|
|
81020
|
+
} else {
|
|
81021
|
+
setIsAnimating(false);
|
|
81022
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
81060
81023
|
}
|
|
81061
|
-
|
|
81062
|
-
|
|
81024
|
+
}, [isOpen, handleClickOutside]);
|
|
81025
|
+
const getMenuStyle = React.useMemo(() => {
|
|
81026
|
+
const baseStyle = {
|
|
81027
|
+
position: "absolute",
|
|
81028
|
+
zIndex: 1e3,
|
|
81029
|
+
...style2
|
|
81030
|
+
};
|
|
81031
|
+
switch (placement) {
|
|
81032
|
+
case "bottom": {
|
|
81033
|
+
return {
|
|
81034
|
+
...baseStyle,
|
|
81035
|
+
top: `calc(100% + ${offset2}px)`,
|
|
81036
|
+
...alignment === "right" ? { right: 0 } : { left: 0 }
|
|
81037
|
+
};
|
|
81038
|
+
}
|
|
81039
|
+
case "top": {
|
|
81040
|
+
return {
|
|
81041
|
+
...baseStyle,
|
|
81042
|
+
bottom: `calc(100% + ${offset2}px)`,
|
|
81043
|
+
...alignment === "right" ? { right: 0 } : { left: 0 }
|
|
81044
|
+
};
|
|
81045
|
+
}
|
|
81046
|
+
case "left": {
|
|
81047
|
+
return {
|
|
81048
|
+
...baseStyle,
|
|
81049
|
+
top: 0,
|
|
81050
|
+
right: `calc(100% + ${offset2}px)`,
|
|
81051
|
+
...alignment === "right" ? { bottom: 0 } : {}
|
|
81052
|
+
};
|
|
81053
|
+
}
|
|
81054
|
+
case "right": {
|
|
81055
|
+
return {
|
|
81056
|
+
...baseStyle,
|
|
81057
|
+
top: 0,
|
|
81058
|
+
left: `calc(100% + ${offset2}px)`,
|
|
81059
|
+
...alignment === "right" ? { bottom: 0 } : {}
|
|
81060
|
+
};
|
|
81061
|
+
}
|
|
81062
|
+
default: {
|
|
81063
|
+
return baseStyle;
|
|
81064
|
+
}
|
|
81063
81065
|
}
|
|
81066
|
+
}, [placement, alignment, offset2, style2]);
|
|
81067
|
+
const handleItemClick = React.useCallback(
|
|
81068
|
+
(item) => {
|
|
81069
|
+
onItemClick?.(item);
|
|
81070
|
+
handleOpenChange(false);
|
|
81071
|
+
},
|
|
81072
|
+
[onItemClick, handleOpenChange]
|
|
81073
|
+
);
|
|
81074
|
+
if (items && items.length > 0) {
|
|
81075
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OverflowMenuWrapper, { ref, children: [
|
|
81076
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
|
|
81077
|
+
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
81078
|
+
OverflowMenuContainer,
|
|
81079
|
+
{
|
|
81080
|
+
ref: menuRef,
|
|
81081
|
+
theme,
|
|
81082
|
+
className,
|
|
81083
|
+
style: getMenuStyle,
|
|
81084
|
+
$isAnimating: isAnimating,
|
|
81085
|
+
$placement: placement,
|
|
81086
|
+
children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
81087
|
+
OverflowMenuItem,
|
|
81088
|
+
{
|
|
81089
|
+
...item,
|
|
81090
|
+
onClick: () => handleItemClick(item)
|
|
81091
|
+
},
|
|
81092
|
+
item.id
|
|
81093
|
+
))
|
|
81094
|
+
}
|
|
81095
|
+
)
|
|
81096
|
+
] });
|
|
81064
81097
|
}
|
|
81065
|
-
|
|
81066
|
-
const handleItemClick = React.useCallback(
|
|
81067
|
-
(item) => {
|
|
81068
|
-
onItemClick?.(item);
|
|
81069
|
-
handleOpenChange(false);
|
|
81070
|
-
},
|
|
81071
|
-
[onItemClick, handleOpenChange]
|
|
81072
|
-
);
|
|
81073
|
-
if (items && items.length > 0) {
|
|
81074
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(OverflowMenuWrapper, { children: [
|
|
81098
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OverflowMenuWrapper, { ref, children: [
|
|
81075
81099
|
/* @__PURE__ */ jsxRuntime.jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
|
|
81076
81100
|
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
81077
81101
|
OverflowMenuContainer,
|
|
@@ -81082,34 +81106,13 @@ const OverflowMenu = ({
|
|
|
81082
81106
|
style: getMenuStyle,
|
|
81083
81107
|
$isAnimating: isAnimating,
|
|
81084
81108
|
$placement: placement,
|
|
81085
|
-
children:
|
|
81086
|
-
OverflowMenuItem,
|
|
81087
|
-
{
|
|
81088
|
-
...item,
|
|
81089
|
-
onClick: () => handleItemClick(item)
|
|
81090
|
-
},
|
|
81091
|
-
item.id
|
|
81092
|
-
))
|
|
81109
|
+
children: children2
|
|
81093
81110
|
}
|
|
81094
81111
|
)
|
|
81095
81112
|
] });
|
|
81096
81113
|
}
|
|
81097
|
-
|
|
81098
|
-
|
|
81099
|
-
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
81100
|
-
OverflowMenuContainer,
|
|
81101
|
-
{
|
|
81102
|
-
ref: menuRef,
|
|
81103
|
-
theme,
|
|
81104
|
-
className,
|
|
81105
|
-
style: getMenuStyle,
|
|
81106
|
-
$isAnimating: isAnimating,
|
|
81107
|
-
$placement: placement,
|
|
81108
|
-
children: children2
|
|
81109
|
-
}
|
|
81110
|
-
)
|
|
81111
|
-
] });
|
|
81112
|
-
};
|
|
81114
|
+
);
|
|
81115
|
+
OverflowMenu.displayName = "OverflowMenu";
|
|
81113
81116
|
const getGenesisClass$6 = (theme) => ``;
|
|
81114
81117
|
const Popover$1 = styled(Popconfirm)`
|
|
81115
81118
|
${({ theme }) => {
|
|
@@ -84482,12 +84485,37 @@ const InfiniteScrollTable = ({
|
|
|
84482
84485
|
fetchService,
|
|
84483
84486
|
scrollHeight = 600,
|
|
84484
84487
|
scrollWidth = 1300,
|
|
84485
|
-
onChange
|
|
84488
|
+
onChange,
|
|
84489
|
+
rowSelection,
|
|
84490
|
+
onRowClick,
|
|
84491
|
+
onRowSelectionChange,
|
|
84492
|
+
onDataChange
|
|
84486
84493
|
}) => {
|
|
84487
84494
|
const observer = React.useRef();
|
|
84488
84495
|
const [scrollableNode, setScrollableNode] = React.useState(
|
|
84489
84496
|
null
|
|
84490
84497
|
);
|
|
84498
|
+
const [selectedRowKeys, setSelectedRowKeys] = React.useState([]);
|
|
84499
|
+
const [selectedRows, setSelectedRows] = React.useState([]);
|
|
84500
|
+
const handleRowSelection = React.useCallback(
|
|
84501
|
+
(newSelectedRowKeys, newSelectedRows) => {
|
|
84502
|
+
setSelectedRowKeys(newSelectedRowKeys);
|
|
84503
|
+
setSelectedRows(newSelectedRows);
|
|
84504
|
+
if (rowSelection?.onChange) {
|
|
84505
|
+
rowSelection.onChange(newSelectedRowKeys, newSelectedRows);
|
|
84506
|
+
}
|
|
84507
|
+
},
|
|
84508
|
+
[rowSelection]
|
|
84509
|
+
);
|
|
84510
|
+
const defaultRowSelection2 = {
|
|
84511
|
+
type: "checkbox",
|
|
84512
|
+
selectedRowKeys,
|
|
84513
|
+
onChange: handleRowSelection,
|
|
84514
|
+
getCheckboxProps: (record) => ({
|
|
84515
|
+
name: record.id || record.key || String(record)
|
|
84516
|
+
})
|
|
84517
|
+
};
|
|
84518
|
+
const finalRowSelection = rowSelection || defaultRowSelection2;
|
|
84491
84519
|
const tableContainerRef = React.useCallback((node2) => {
|
|
84492
84520
|
if (node2 !== null) {
|
|
84493
84521
|
const scrollNode = node2.querySelector(".ant-table-body");
|
|
@@ -84540,6 +84568,21 @@ const InfiniteScrollTable = ({
|
|
|
84540
84568
|
);
|
|
84541
84569
|
const dataSource = data?.pages.flatMap((page) => page.docs) ?? [];
|
|
84542
84570
|
const totalDocs = data?.pages?.[0]?.totalDocs ?? 0;
|
|
84571
|
+
React.useEffect(() => {
|
|
84572
|
+
if (onRowSelectionChange) {
|
|
84573
|
+
const wrappedSetSelectedRowKeys = (keys2) => {
|
|
84574
|
+
setSelectedRowKeys(keys2);
|
|
84575
|
+
};
|
|
84576
|
+
onRowSelectionChange(wrappedSetSelectedRowKeys);
|
|
84577
|
+
}
|
|
84578
|
+
}, [onRowSelectionChange]);
|
|
84579
|
+
const dataSentRef = React.useRef(false);
|
|
84580
|
+
React.useEffect(() => {
|
|
84581
|
+
if (onDataChange && dataSource.length > 0 && !dataSentRef.current) {
|
|
84582
|
+
onDataChange(dataSource);
|
|
84583
|
+
dataSentRef.current = true;
|
|
84584
|
+
}
|
|
84585
|
+
}, [dataSource, onDataChange]);
|
|
84543
84586
|
React.useEffect(() => {
|
|
84544
84587
|
if (onChange) {
|
|
84545
84588
|
const dataChangeEvent = {
|
|
@@ -84571,79 +84614,73 @@ const InfiniteScrollTable = ({
|
|
|
84571
84614
|
}
|
|
84572
84615
|
);
|
|
84573
84616
|
}
|
|
84574
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
84575
|
-
"div",
|
|
84576
|
-
|
|
84577
|
-
style: {
|
|
84578
|
-
backgroundColor: "white",
|
|
84579
|
-
padding: "24px",
|
|
84580
|
-
borderRadius: "8px",
|
|
84581
|
-
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.1)",
|
|
84582
|
-
marginBottom: "24px"
|
|
84583
|
-
},
|
|
84584
|
-
ref: tableContainerRef,
|
|
84585
|
-
children: [
|
|
84586
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { position: "relative" }, children: [
|
|
84587
|
-
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
84617
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: tableContainerRef, children: [
|
|
84618
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { position: "relative" }, ref: tableContainerRef, children: [
|
|
84619
|
+
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
84588
84620
|
.infinite-scroll-table .ant-pagination {
|
|
84589
84621
|
display: none !important;
|
|
84590
84622
|
}
|
|
84591
84623
|
` }),
|
|
84592
|
-
|
|
84593
|
-
|
|
84594
|
-
|
|
84595
|
-
|
|
84596
|
-
|
|
84597
|
-
|
|
84598
|
-
|
|
84599
|
-
|
|
84600
|
-
|
|
84601
|
-
|
|
84602
|
-
|
|
84603
|
-
|
|
84604
|
-
|
|
84605
|
-
|
|
84606
|
-
|
|
84607
|
-
|
|
84608
|
-
|
|
84609
|
-
|
|
84610
|
-
}
|
|
84624
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "infinite-scroll-table", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
84625
|
+
ForwardTable,
|
|
84626
|
+
{
|
|
84627
|
+
dataSource,
|
|
84628
|
+
columns: resizableColumns,
|
|
84629
|
+
components: { header: { cell: ResizableTitle } },
|
|
84630
|
+
rowKey: "id",
|
|
84631
|
+
pagination: false,
|
|
84632
|
+
showSorterTooltip: false,
|
|
84633
|
+
size: "small",
|
|
84634
|
+
scroll: { y: scrollHeight, x: scrollWidth },
|
|
84635
|
+
onChange: () => {
|
|
84636
|
+
},
|
|
84637
|
+
rowSelection: finalRowSelection,
|
|
84638
|
+
onRow: (record, index2) => {
|
|
84639
|
+
const rowProps = {};
|
|
84640
|
+
if (index2 === dataSource.length - 1) {
|
|
84641
|
+
rowProps.ref = lastRowRef;
|
|
84611
84642
|
}
|
|
84612
|
-
|
|
84613
|
-
|
|
84614
|
-
|
|
84615
|
-
|
|
84616
|
-
style: {
|
|
84617
|
-
position: "absolute",
|
|
84618
|
-
bottom: 0,
|
|
84619
|
-
left: 0,
|
|
84620
|
-
width: "100%",
|
|
84621
|
-
padding: "16px",
|
|
84622
|
-
display: "flex",
|
|
84623
|
-
justifyContent: "center",
|
|
84624
|
-
alignItems: "center",
|
|
84625
|
-
backgroundColor: "rgba(255, 255, 255, 0.7)",
|
|
84626
|
-
backdropFilter: "blur(2px)",
|
|
84627
|
-
zIndex: 10
|
|
84628
|
-
},
|
|
84629
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Spin, {})
|
|
84643
|
+
if (onRowClick && index2 !== void 0) {
|
|
84644
|
+
rowProps.onClick = (event) => {
|
|
84645
|
+
onRowClick(record, index2, event);
|
|
84646
|
+
};
|
|
84630
84647
|
}
|
|
84631
|
-
|
|
84632
|
-
] }),
|
|
84633
|
-
!hasNextPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
84634
|
-
"div",
|
|
84635
|
-
{
|
|
84636
|
-
style: {
|
|
84637
|
-
textAlign: "center",
|
|
84638
|
-
padding: "20px",
|
|
84639
|
-
borderTop: "1px solid #f0f0f0"
|
|
84640
|
-
},
|
|
84641
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Typography$1.Text, { type: "secondary", children: "No more rows to load." })
|
|
84648
|
+
return rowProps;
|
|
84642
84649
|
}
|
|
84643
|
-
|
|
84644
|
-
|
|
84645
|
-
|
|
84646
|
-
|
|
84650
|
+
}
|
|
84651
|
+
) }),
|
|
84652
|
+
isFetchingNextPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
84653
|
+
"div",
|
|
84654
|
+
{
|
|
84655
|
+
style: {
|
|
84656
|
+
position: "absolute",
|
|
84657
|
+
bottom: 0,
|
|
84658
|
+
left: 0,
|
|
84659
|
+
width: "100%",
|
|
84660
|
+
padding: "16px",
|
|
84661
|
+
display: "flex",
|
|
84662
|
+
justifyContent: "center",
|
|
84663
|
+
alignItems: "center",
|
|
84664
|
+
backgroundColor: "rgba(255, 255, 255, 0.7)",
|
|
84665
|
+
backdropFilter: "blur(2px)",
|
|
84666
|
+
zIndex: 10
|
|
84667
|
+
},
|
|
84668
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Spin, {})
|
|
84669
|
+
}
|
|
84670
|
+
)
|
|
84671
|
+
] }),
|
|
84672
|
+
!hasNextPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
84673
|
+
"div",
|
|
84674
|
+
{
|
|
84675
|
+
style: {
|
|
84676
|
+
textAlign: "center",
|
|
84677
|
+
padding: "20px",
|
|
84678
|
+
borderTop: "1px solid #f0f0f0"
|
|
84679
|
+
},
|
|
84680
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Typography$1.Text, { type: "secondary", children: "No more rows to load." })
|
|
84681
|
+
}
|
|
84682
|
+
)
|
|
84683
|
+
] });
|
|
84647
84684
|
};
|
|
84648
84685
|
const getRowKey = (record, rowKey, index2, enableValidation = true) => {
|
|
84649
84686
|
try {
|
|
@@ -84695,6 +84732,8 @@ function Table({
|
|
|
84695
84732
|
onChange,
|
|
84696
84733
|
rowSelection,
|
|
84697
84734
|
onRowClick,
|
|
84735
|
+
onRowSelectionChange,
|
|
84736
|
+
onDataChange,
|
|
84698
84737
|
pagination,
|
|
84699
84738
|
isMainContentCell = false,
|
|
84700
84739
|
isInfiniteScroll = false,
|
|
@@ -84749,7 +84788,9 @@ function Table({
|
|
|
84749
84788
|
fetchService: infiniteScrollConfig.fetchService,
|
|
84750
84789
|
title: infiniteScrollConfig.title,
|
|
84751
84790
|
scrollHeight: infiniteScrollConfig.scrollHeight,
|
|
84752
|
-
scrollWidth: infiniteScrollConfig.scrollWidth
|
|
84791
|
+
scrollWidth: infiniteScrollConfig.scrollWidth,
|
|
84792
|
+
onRowSelectionChange,
|
|
84793
|
+
onDataChange
|
|
84753
84794
|
}
|
|
84754
84795
|
);
|
|
84755
84796
|
}
|
|
@@ -85370,9 +85411,10 @@ const TableWithControls = ({
|
|
|
85370
85411
|
tableControlsData: tableControlsData2,
|
|
85371
85412
|
onChange,
|
|
85372
85413
|
onRowClick,
|
|
85414
|
+
onRowSelectionChange,
|
|
85415
|
+
onDataChange,
|
|
85373
85416
|
tableType = "table",
|
|
85374
85417
|
isInfiniteScroll,
|
|
85375
|
-
// Deprecated: use tableType instead
|
|
85376
85418
|
infiniteScrollConfig,
|
|
85377
85419
|
paginationStyle
|
|
85378
85420
|
}) => {
|
|
@@ -85383,7 +85425,14 @@ const TableWithControls = ({
|
|
|
85383
85425
|
totalResults: 0
|
|
85384
85426
|
});
|
|
85385
85427
|
const { primaryTableRowData, secondaryTableRowData } = tableControlsData2;
|
|
85386
|
-
const {
|
|
85428
|
+
const {
|
|
85429
|
+
dataSource,
|
|
85430
|
+
columns,
|
|
85431
|
+
rowSelection,
|
|
85432
|
+
hasSettings,
|
|
85433
|
+
hasFilter,
|
|
85434
|
+
onRowClick: tableOnRowClick
|
|
85435
|
+
} = tableData;
|
|
85387
85436
|
const actualTableType = isInfiniteScroll ? "infiniteScroll" : tableType;
|
|
85388
85437
|
const onTableControlsChange = (event) => {
|
|
85389
85438
|
onChange(event);
|
|
@@ -85423,7 +85472,11 @@ const TableWithControls = ({
|
|
|
85423
85472
|
title: infiniteScrollConfig.title,
|
|
85424
85473
|
scrollHeight: infiniteScrollConfig.scrollHeight,
|
|
85425
85474
|
scrollWidth: infiniteScrollConfig.scrollWidth,
|
|
85426
|
-
onChange: onInfiniteScrollTableChange
|
|
85475
|
+
onChange: onInfiniteScrollTableChange,
|
|
85476
|
+
rowSelection,
|
|
85477
|
+
onRowClick: tableOnRowClick || onRowClick,
|
|
85478
|
+
onRowSelectionChange,
|
|
85479
|
+
onDataChange
|
|
85427
85480
|
}
|
|
85428
85481
|
);
|
|
85429
85482
|
}
|
|
@@ -85449,7 +85502,8 @@ const TableWithControls = ({
|
|
|
85449
85502
|
columns,
|
|
85450
85503
|
rowSelection,
|
|
85451
85504
|
onChange: onTableChange,
|
|
85452
|
-
onRowClick
|
|
85505
|
+
onRowClick,
|
|
85506
|
+
onRowSelectionChange
|
|
85453
85507
|
}
|
|
85454
85508
|
);
|
|
85455
85509
|
}
|
package/dist/index.js
CHANGED
|
@@ -80948,112 +80948,136 @@ const OverflowMenuItem = ({ children: children2, onClick }) => {
|
|
|
80948
80948
|
const DefaultTrigger = () => {
|
|
80949
80949
|
return /* @__PURE__ */ jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsx(HiDotsHorizontal, {}) });
|
|
80950
80950
|
};
|
|
80951
|
-
const OverflowMenu = (
|
|
80952
|
-
|
|
80953
|
-
|
|
80954
|
-
|
|
80955
|
-
|
|
80956
|
-
|
|
80957
|
-
|
|
80958
|
-
|
|
80959
|
-
|
|
80960
|
-
|
|
80961
|
-
|
|
80962
|
-
|
|
80963
|
-
|
|
80964
|
-
|
|
80965
|
-
|
|
80966
|
-
|
|
80967
|
-
|
|
80968
|
-
|
|
80969
|
-
|
|
80970
|
-
|
|
80971
|
-
|
|
80972
|
-
|
|
80973
|
-
onOpenChange
|
|
80974
|
-
|
|
80975
|
-
|
|
80976
|
-
|
|
80977
|
-
|
|
80978
|
-
|
|
80979
|
-
|
|
80980
|
-
|
|
80981
|
-
|
|
80982
|
-
|
|
80983
|
-
const handleClickOutside = useCallback(
|
|
80984
|
-
(event) => {
|
|
80985
|
-
if (triggerRef.current && menuRef.current && !triggerRef.current.contains(event.target) && !menuRef.current.contains(event.target)) {
|
|
80986
|
-
handleOpenChange(false);
|
|
80987
|
-
}
|
|
80988
|
-
},
|
|
80989
|
-
[handleOpenChange]
|
|
80990
|
-
);
|
|
80991
|
-
useEffect(() => {
|
|
80992
|
-
if (isOpen) {
|
|
80993
|
-
const timer2 = setTimeout(() => {
|
|
80994
|
-
setIsAnimating(true);
|
|
80995
|
-
}, 10);
|
|
80996
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
80997
|
-
return () => {
|
|
80998
|
-
clearTimeout(timer2);
|
|
80999
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
81000
|
-
};
|
|
81001
|
-
} else {
|
|
81002
|
-
setIsAnimating(false);
|
|
81003
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
81004
|
-
}
|
|
81005
|
-
}, [isOpen, handleClickOutside]);
|
|
81006
|
-
const getMenuStyle = useMemo$1(() => {
|
|
81007
|
-
const baseStyle = {
|
|
81008
|
-
position: "absolute",
|
|
81009
|
-
zIndex: 1e3,
|
|
81010
|
-
...style2
|
|
80951
|
+
const OverflowMenu = forwardRef(
|
|
80952
|
+
({
|
|
80953
|
+
items,
|
|
80954
|
+
children: children2,
|
|
80955
|
+
trigger = /* @__PURE__ */ jsx(DefaultTrigger, {}),
|
|
80956
|
+
isOpen: controlledIsOpen,
|
|
80957
|
+
onOpenChange,
|
|
80958
|
+
placement = "bottom",
|
|
80959
|
+
alignment = "left",
|
|
80960
|
+
offset: offset2 = 8,
|
|
80961
|
+
className,
|
|
80962
|
+
style: style2,
|
|
80963
|
+
onItemClick
|
|
80964
|
+
}, ref) => {
|
|
80965
|
+
const [internalIsOpen, setInternalIsOpen] = useState(false);
|
|
80966
|
+
const [isAnimating, setIsAnimating] = useState(false);
|
|
80967
|
+
const triggerRef = useRef(null);
|
|
80968
|
+
const menuRef = useRef(null);
|
|
80969
|
+
const { theme } = useGenesis();
|
|
80970
|
+
const isOpen = controlledIsOpen === void 0 ? internalIsOpen : controlledIsOpen;
|
|
80971
|
+
const handleOpenChange = useCallback(
|
|
80972
|
+
(open) => {
|
|
80973
|
+
if (onOpenChange) {
|
|
80974
|
+
onOpenChange(open);
|
|
80975
|
+
} else {
|
|
80976
|
+
setInternalIsOpen(open);
|
|
80977
|
+
}
|
|
80978
|
+
},
|
|
80979
|
+
[onOpenChange]
|
|
80980
|
+
);
|
|
80981
|
+
const handleTriggerClick = () => {
|
|
80982
|
+
handleOpenChange(!isOpen);
|
|
81011
80983
|
};
|
|
81012
|
-
|
|
81013
|
-
|
|
81014
|
-
|
|
81015
|
-
|
|
81016
|
-
|
|
81017
|
-
|
|
81018
|
-
|
|
81019
|
-
|
|
81020
|
-
|
|
81021
|
-
|
|
81022
|
-
|
|
81023
|
-
|
|
81024
|
-
|
|
81025
|
-
|
|
81026
|
-
|
|
81027
|
-
|
|
81028
|
-
|
|
81029
|
-
...baseStyle,
|
|
81030
|
-
top: 0,
|
|
81031
|
-
right: `calc(100% + ${offset2}px)`,
|
|
81032
|
-
...alignment === "right" ? { bottom: 0 } : {}
|
|
81033
|
-
};
|
|
81034
|
-
}
|
|
81035
|
-
case "right": {
|
|
81036
|
-
return {
|
|
81037
|
-
...baseStyle,
|
|
81038
|
-
top: 0,
|
|
81039
|
-
left: `calc(100% + ${offset2}px)`,
|
|
81040
|
-
...alignment === "right" ? { bottom: 0 } : {}
|
|
80984
|
+
const handleClickOutside = useCallback(
|
|
80985
|
+
(event) => {
|
|
80986
|
+
if (triggerRef.current && menuRef.current && !triggerRef.current.contains(event.target) && !menuRef.current.contains(event.target)) {
|
|
80987
|
+
handleOpenChange(false);
|
|
80988
|
+
}
|
|
80989
|
+
},
|
|
80990
|
+
[handleOpenChange]
|
|
80991
|
+
);
|
|
80992
|
+
useEffect(() => {
|
|
80993
|
+
if (isOpen) {
|
|
80994
|
+
const timer2 = setTimeout(() => {
|
|
80995
|
+
setIsAnimating(true);
|
|
80996
|
+
}, 10);
|
|
80997
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
80998
|
+
return () => {
|
|
80999
|
+
clearTimeout(timer2);
|
|
81000
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
81041
81001
|
};
|
|
81002
|
+
} else {
|
|
81003
|
+
setIsAnimating(false);
|
|
81004
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
81042
81005
|
}
|
|
81043
|
-
|
|
81044
|
-
|
|
81006
|
+
}, [isOpen, handleClickOutside]);
|
|
81007
|
+
const getMenuStyle = useMemo$1(() => {
|
|
81008
|
+
const baseStyle = {
|
|
81009
|
+
position: "absolute",
|
|
81010
|
+
zIndex: 1e3,
|
|
81011
|
+
...style2
|
|
81012
|
+
};
|
|
81013
|
+
switch (placement) {
|
|
81014
|
+
case "bottom": {
|
|
81015
|
+
return {
|
|
81016
|
+
...baseStyle,
|
|
81017
|
+
top: `calc(100% + ${offset2}px)`,
|
|
81018
|
+
...alignment === "right" ? { right: 0 } : { left: 0 }
|
|
81019
|
+
};
|
|
81020
|
+
}
|
|
81021
|
+
case "top": {
|
|
81022
|
+
return {
|
|
81023
|
+
...baseStyle,
|
|
81024
|
+
bottom: `calc(100% + ${offset2}px)`,
|
|
81025
|
+
...alignment === "right" ? { right: 0 } : { left: 0 }
|
|
81026
|
+
};
|
|
81027
|
+
}
|
|
81028
|
+
case "left": {
|
|
81029
|
+
return {
|
|
81030
|
+
...baseStyle,
|
|
81031
|
+
top: 0,
|
|
81032
|
+
right: `calc(100% + ${offset2}px)`,
|
|
81033
|
+
...alignment === "right" ? { bottom: 0 } : {}
|
|
81034
|
+
};
|
|
81035
|
+
}
|
|
81036
|
+
case "right": {
|
|
81037
|
+
return {
|
|
81038
|
+
...baseStyle,
|
|
81039
|
+
top: 0,
|
|
81040
|
+
left: `calc(100% + ${offset2}px)`,
|
|
81041
|
+
...alignment === "right" ? { bottom: 0 } : {}
|
|
81042
|
+
};
|
|
81043
|
+
}
|
|
81044
|
+
default: {
|
|
81045
|
+
return baseStyle;
|
|
81046
|
+
}
|
|
81045
81047
|
}
|
|
81048
|
+
}, [placement, alignment, offset2, style2]);
|
|
81049
|
+
const handleItemClick = useCallback(
|
|
81050
|
+
(item) => {
|
|
81051
|
+
onItemClick?.(item);
|
|
81052
|
+
handleOpenChange(false);
|
|
81053
|
+
},
|
|
81054
|
+
[onItemClick, handleOpenChange]
|
|
81055
|
+
);
|
|
81056
|
+
if (items && items.length > 0) {
|
|
81057
|
+
return /* @__PURE__ */ jsxs(OverflowMenuWrapper, { ref, children: [
|
|
81058
|
+
/* @__PURE__ */ jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
|
|
81059
|
+
isOpen && /* @__PURE__ */ jsx(
|
|
81060
|
+
OverflowMenuContainer,
|
|
81061
|
+
{
|
|
81062
|
+
ref: menuRef,
|
|
81063
|
+
theme,
|
|
81064
|
+
className,
|
|
81065
|
+
style: getMenuStyle,
|
|
81066
|
+
$isAnimating: isAnimating,
|
|
81067
|
+
$placement: placement,
|
|
81068
|
+
children: items.map((item) => /* @__PURE__ */ jsx(
|
|
81069
|
+
OverflowMenuItem,
|
|
81070
|
+
{
|
|
81071
|
+
...item,
|
|
81072
|
+
onClick: () => handleItemClick(item)
|
|
81073
|
+
},
|
|
81074
|
+
item.id
|
|
81075
|
+
))
|
|
81076
|
+
}
|
|
81077
|
+
)
|
|
81078
|
+
] });
|
|
81046
81079
|
}
|
|
81047
|
-
|
|
81048
|
-
const handleItemClick = useCallback(
|
|
81049
|
-
(item) => {
|
|
81050
|
-
onItemClick?.(item);
|
|
81051
|
-
handleOpenChange(false);
|
|
81052
|
-
},
|
|
81053
|
-
[onItemClick, handleOpenChange]
|
|
81054
|
-
);
|
|
81055
|
-
if (items && items.length > 0) {
|
|
81056
|
-
return /* @__PURE__ */ jsxs(OverflowMenuWrapper, { children: [
|
|
81080
|
+
return /* @__PURE__ */ jsxs(OverflowMenuWrapper, { ref, children: [
|
|
81057
81081
|
/* @__PURE__ */ jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
|
|
81058
81082
|
isOpen && /* @__PURE__ */ jsx(
|
|
81059
81083
|
OverflowMenuContainer,
|
|
@@ -81064,34 +81088,13 @@ const OverflowMenu = ({
|
|
|
81064
81088
|
style: getMenuStyle,
|
|
81065
81089
|
$isAnimating: isAnimating,
|
|
81066
81090
|
$placement: placement,
|
|
81067
|
-
children:
|
|
81068
|
-
OverflowMenuItem,
|
|
81069
|
-
{
|
|
81070
|
-
...item,
|
|
81071
|
-
onClick: () => handleItemClick(item)
|
|
81072
|
-
},
|
|
81073
|
-
item.id
|
|
81074
|
-
))
|
|
81091
|
+
children: children2
|
|
81075
81092
|
}
|
|
81076
81093
|
)
|
|
81077
81094
|
] });
|
|
81078
81095
|
}
|
|
81079
|
-
|
|
81080
|
-
|
|
81081
|
-
isOpen && /* @__PURE__ */ jsx(
|
|
81082
|
-
OverflowMenuContainer,
|
|
81083
|
-
{
|
|
81084
|
-
ref: menuRef,
|
|
81085
|
-
theme,
|
|
81086
|
-
className,
|
|
81087
|
-
style: getMenuStyle,
|
|
81088
|
-
$isAnimating: isAnimating,
|
|
81089
|
-
$placement: placement,
|
|
81090
|
-
children: children2
|
|
81091
|
-
}
|
|
81092
|
-
)
|
|
81093
|
-
] });
|
|
81094
|
-
};
|
|
81096
|
+
);
|
|
81097
|
+
OverflowMenu.displayName = "OverflowMenu";
|
|
81095
81098
|
const getGenesisClass$6 = (theme) => ``;
|
|
81096
81099
|
const Popover$1 = styled(Popconfirm)`
|
|
81097
81100
|
${({ theme }) => {
|
|
@@ -84464,12 +84467,37 @@ const InfiniteScrollTable = ({
|
|
|
84464
84467
|
fetchService,
|
|
84465
84468
|
scrollHeight = 600,
|
|
84466
84469
|
scrollWidth = 1300,
|
|
84467
|
-
onChange
|
|
84470
|
+
onChange,
|
|
84471
|
+
rowSelection,
|
|
84472
|
+
onRowClick,
|
|
84473
|
+
onRowSelectionChange,
|
|
84474
|
+
onDataChange
|
|
84468
84475
|
}) => {
|
|
84469
84476
|
const observer = useRef();
|
|
84470
84477
|
const [scrollableNode, setScrollableNode] = useState(
|
|
84471
84478
|
null
|
|
84472
84479
|
);
|
|
84480
|
+
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
|
|
84481
|
+
const [selectedRows, setSelectedRows] = useState([]);
|
|
84482
|
+
const handleRowSelection = useCallback(
|
|
84483
|
+
(newSelectedRowKeys, newSelectedRows) => {
|
|
84484
|
+
setSelectedRowKeys(newSelectedRowKeys);
|
|
84485
|
+
setSelectedRows(newSelectedRows);
|
|
84486
|
+
if (rowSelection?.onChange) {
|
|
84487
|
+
rowSelection.onChange(newSelectedRowKeys, newSelectedRows);
|
|
84488
|
+
}
|
|
84489
|
+
},
|
|
84490
|
+
[rowSelection]
|
|
84491
|
+
);
|
|
84492
|
+
const defaultRowSelection2 = {
|
|
84493
|
+
type: "checkbox",
|
|
84494
|
+
selectedRowKeys,
|
|
84495
|
+
onChange: handleRowSelection,
|
|
84496
|
+
getCheckboxProps: (record) => ({
|
|
84497
|
+
name: record.id || record.key || String(record)
|
|
84498
|
+
})
|
|
84499
|
+
};
|
|
84500
|
+
const finalRowSelection = rowSelection || defaultRowSelection2;
|
|
84473
84501
|
const tableContainerRef = useCallback((node2) => {
|
|
84474
84502
|
if (node2 !== null) {
|
|
84475
84503
|
const scrollNode = node2.querySelector(".ant-table-body");
|
|
@@ -84522,6 +84550,21 @@ const InfiniteScrollTable = ({
|
|
|
84522
84550
|
);
|
|
84523
84551
|
const dataSource = data?.pages.flatMap((page) => page.docs) ?? [];
|
|
84524
84552
|
const totalDocs = data?.pages?.[0]?.totalDocs ?? 0;
|
|
84553
|
+
useEffect(() => {
|
|
84554
|
+
if (onRowSelectionChange) {
|
|
84555
|
+
const wrappedSetSelectedRowKeys = (keys2) => {
|
|
84556
|
+
setSelectedRowKeys(keys2);
|
|
84557
|
+
};
|
|
84558
|
+
onRowSelectionChange(wrappedSetSelectedRowKeys);
|
|
84559
|
+
}
|
|
84560
|
+
}, [onRowSelectionChange]);
|
|
84561
|
+
const dataSentRef = useRef(false);
|
|
84562
|
+
useEffect(() => {
|
|
84563
|
+
if (onDataChange && dataSource.length > 0 && !dataSentRef.current) {
|
|
84564
|
+
onDataChange(dataSource);
|
|
84565
|
+
dataSentRef.current = true;
|
|
84566
|
+
}
|
|
84567
|
+
}, [dataSource, onDataChange]);
|
|
84525
84568
|
useEffect(() => {
|
|
84526
84569
|
if (onChange) {
|
|
84527
84570
|
const dataChangeEvent = {
|
|
@@ -84553,79 +84596,73 @@ const InfiniteScrollTable = ({
|
|
|
84553
84596
|
}
|
|
84554
84597
|
);
|
|
84555
84598
|
}
|
|
84556
|
-
return /* @__PURE__ */ jsxs(
|
|
84557
|
-
"div",
|
|
84558
|
-
|
|
84559
|
-
style: {
|
|
84560
|
-
backgroundColor: "white",
|
|
84561
|
-
padding: "24px",
|
|
84562
|
-
borderRadius: "8px",
|
|
84563
|
-
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.1)",
|
|
84564
|
-
marginBottom: "24px"
|
|
84565
|
-
},
|
|
84566
|
-
ref: tableContainerRef,
|
|
84567
|
-
children: [
|
|
84568
|
-
/* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
|
|
84569
|
-
/* @__PURE__ */ jsx("style", { children: `
|
|
84599
|
+
return /* @__PURE__ */ jsxs("div", { ref: tableContainerRef, children: [
|
|
84600
|
+
/* @__PURE__ */ jsxs("div", { style: { position: "relative" }, ref: tableContainerRef, children: [
|
|
84601
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
84570
84602
|
.infinite-scroll-table .ant-pagination {
|
|
84571
84603
|
display: none !important;
|
|
84572
84604
|
}
|
|
84573
84605
|
` }),
|
|
84574
|
-
|
|
84575
|
-
|
|
84576
|
-
|
|
84577
|
-
|
|
84578
|
-
|
|
84579
|
-
|
|
84580
|
-
|
|
84581
|
-
|
|
84582
|
-
|
|
84583
|
-
|
|
84584
|
-
|
|
84585
|
-
|
|
84586
|
-
|
|
84587
|
-
|
|
84588
|
-
|
|
84589
|
-
|
|
84590
|
-
|
|
84591
|
-
|
|
84592
|
-
}
|
|
84606
|
+
/* @__PURE__ */ jsx("div", { className: "infinite-scroll-table", children: /* @__PURE__ */ jsx(
|
|
84607
|
+
ForwardTable,
|
|
84608
|
+
{
|
|
84609
|
+
dataSource,
|
|
84610
|
+
columns: resizableColumns,
|
|
84611
|
+
components: { header: { cell: ResizableTitle } },
|
|
84612
|
+
rowKey: "id",
|
|
84613
|
+
pagination: false,
|
|
84614
|
+
showSorterTooltip: false,
|
|
84615
|
+
size: "small",
|
|
84616
|
+
scroll: { y: scrollHeight, x: scrollWidth },
|
|
84617
|
+
onChange: () => {
|
|
84618
|
+
},
|
|
84619
|
+
rowSelection: finalRowSelection,
|
|
84620
|
+
onRow: (record, index2) => {
|
|
84621
|
+
const rowProps = {};
|
|
84622
|
+
if (index2 === dataSource.length - 1) {
|
|
84623
|
+
rowProps.ref = lastRowRef;
|
|
84593
84624
|
}
|
|
84594
|
-
|
|
84595
|
-
|
|
84596
|
-
|
|
84597
|
-
|
|
84598
|
-
style: {
|
|
84599
|
-
position: "absolute",
|
|
84600
|
-
bottom: 0,
|
|
84601
|
-
left: 0,
|
|
84602
|
-
width: "100%",
|
|
84603
|
-
padding: "16px",
|
|
84604
|
-
display: "flex",
|
|
84605
|
-
justifyContent: "center",
|
|
84606
|
-
alignItems: "center",
|
|
84607
|
-
backgroundColor: "rgba(255, 255, 255, 0.7)",
|
|
84608
|
-
backdropFilter: "blur(2px)",
|
|
84609
|
-
zIndex: 10
|
|
84610
|
-
},
|
|
84611
|
-
children: /* @__PURE__ */ jsx(Spin, {})
|
|
84625
|
+
if (onRowClick && index2 !== void 0) {
|
|
84626
|
+
rowProps.onClick = (event) => {
|
|
84627
|
+
onRowClick(record, index2, event);
|
|
84628
|
+
};
|
|
84612
84629
|
}
|
|
84613
|
-
|
|
84614
|
-
] }),
|
|
84615
|
-
!hasNextPage && /* @__PURE__ */ jsx(
|
|
84616
|
-
"div",
|
|
84617
|
-
{
|
|
84618
|
-
style: {
|
|
84619
|
-
textAlign: "center",
|
|
84620
|
-
padding: "20px",
|
|
84621
|
-
borderTop: "1px solid #f0f0f0"
|
|
84622
|
-
},
|
|
84623
|
-
children: /* @__PURE__ */ jsx(Typography$1.Text, { type: "secondary", children: "No more rows to load." })
|
|
84630
|
+
return rowProps;
|
|
84624
84631
|
}
|
|
84625
|
-
|
|
84626
|
-
|
|
84627
|
-
|
|
84628
|
-
|
|
84632
|
+
}
|
|
84633
|
+
) }),
|
|
84634
|
+
isFetchingNextPage && /* @__PURE__ */ jsx(
|
|
84635
|
+
"div",
|
|
84636
|
+
{
|
|
84637
|
+
style: {
|
|
84638
|
+
position: "absolute",
|
|
84639
|
+
bottom: 0,
|
|
84640
|
+
left: 0,
|
|
84641
|
+
width: "100%",
|
|
84642
|
+
padding: "16px",
|
|
84643
|
+
display: "flex",
|
|
84644
|
+
justifyContent: "center",
|
|
84645
|
+
alignItems: "center",
|
|
84646
|
+
backgroundColor: "rgba(255, 255, 255, 0.7)",
|
|
84647
|
+
backdropFilter: "blur(2px)",
|
|
84648
|
+
zIndex: 10
|
|
84649
|
+
},
|
|
84650
|
+
children: /* @__PURE__ */ jsx(Spin, {})
|
|
84651
|
+
}
|
|
84652
|
+
)
|
|
84653
|
+
] }),
|
|
84654
|
+
!hasNextPage && /* @__PURE__ */ jsx(
|
|
84655
|
+
"div",
|
|
84656
|
+
{
|
|
84657
|
+
style: {
|
|
84658
|
+
textAlign: "center",
|
|
84659
|
+
padding: "20px",
|
|
84660
|
+
borderTop: "1px solid #f0f0f0"
|
|
84661
|
+
},
|
|
84662
|
+
children: /* @__PURE__ */ jsx(Typography$1.Text, { type: "secondary", children: "No more rows to load." })
|
|
84663
|
+
}
|
|
84664
|
+
)
|
|
84665
|
+
] });
|
|
84629
84666
|
};
|
|
84630
84667
|
const getRowKey = (record, rowKey, index2, enableValidation = true) => {
|
|
84631
84668
|
try {
|
|
@@ -84677,6 +84714,8 @@ function Table({
|
|
|
84677
84714
|
onChange,
|
|
84678
84715
|
rowSelection,
|
|
84679
84716
|
onRowClick,
|
|
84717
|
+
onRowSelectionChange,
|
|
84718
|
+
onDataChange,
|
|
84680
84719
|
pagination,
|
|
84681
84720
|
isMainContentCell = false,
|
|
84682
84721
|
isInfiniteScroll = false,
|
|
@@ -84731,7 +84770,9 @@ function Table({
|
|
|
84731
84770
|
fetchService: infiniteScrollConfig.fetchService,
|
|
84732
84771
|
title: infiniteScrollConfig.title,
|
|
84733
84772
|
scrollHeight: infiniteScrollConfig.scrollHeight,
|
|
84734
|
-
scrollWidth: infiniteScrollConfig.scrollWidth
|
|
84773
|
+
scrollWidth: infiniteScrollConfig.scrollWidth,
|
|
84774
|
+
onRowSelectionChange,
|
|
84775
|
+
onDataChange
|
|
84735
84776
|
}
|
|
84736
84777
|
);
|
|
84737
84778
|
}
|
|
@@ -85352,9 +85393,10 @@ const TableWithControls = ({
|
|
|
85352
85393
|
tableControlsData: tableControlsData2,
|
|
85353
85394
|
onChange,
|
|
85354
85395
|
onRowClick,
|
|
85396
|
+
onRowSelectionChange,
|
|
85397
|
+
onDataChange,
|
|
85355
85398
|
tableType = "table",
|
|
85356
85399
|
isInfiniteScroll,
|
|
85357
|
-
// Deprecated: use tableType instead
|
|
85358
85400
|
infiniteScrollConfig,
|
|
85359
85401
|
paginationStyle
|
|
85360
85402
|
}) => {
|
|
@@ -85365,7 +85407,14 @@ const TableWithControls = ({
|
|
|
85365
85407
|
totalResults: 0
|
|
85366
85408
|
});
|
|
85367
85409
|
const { primaryTableRowData, secondaryTableRowData } = tableControlsData2;
|
|
85368
|
-
const {
|
|
85410
|
+
const {
|
|
85411
|
+
dataSource,
|
|
85412
|
+
columns,
|
|
85413
|
+
rowSelection,
|
|
85414
|
+
hasSettings,
|
|
85415
|
+
hasFilter,
|
|
85416
|
+
onRowClick: tableOnRowClick
|
|
85417
|
+
} = tableData;
|
|
85369
85418
|
const actualTableType = isInfiniteScroll ? "infiniteScroll" : tableType;
|
|
85370
85419
|
const onTableControlsChange = (event) => {
|
|
85371
85420
|
onChange(event);
|
|
@@ -85405,7 +85454,11 @@ const TableWithControls = ({
|
|
|
85405
85454
|
title: infiniteScrollConfig.title,
|
|
85406
85455
|
scrollHeight: infiniteScrollConfig.scrollHeight,
|
|
85407
85456
|
scrollWidth: infiniteScrollConfig.scrollWidth,
|
|
85408
|
-
onChange: onInfiniteScrollTableChange
|
|
85457
|
+
onChange: onInfiniteScrollTableChange,
|
|
85458
|
+
rowSelection,
|
|
85459
|
+
onRowClick: tableOnRowClick || onRowClick,
|
|
85460
|
+
onRowSelectionChange,
|
|
85461
|
+
onDataChange
|
|
85409
85462
|
}
|
|
85410
85463
|
);
|
|
85411
85464
|
}
|
|
@@ -85431,7 +85484,8 @@ const TableWithControls = ({
|
|
|
85431
85484
|
columns,
|
|
85432
85485
|
rowSelection,
|
|
85433
85486
|
onChange: onTableChange,
|
|
85434
|
-
onRowClick
|
|
85487
|
+
onRowClick,
|
|
85488
|
+
onRowSelectionChange
|
|
85435
85489
|
}
|
|
85436
85490
|
);
|
|
85437
85491
|
}
|