@google-psat/design-system 1.0.0-1 → 1.2.1
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/chipsBar/index.jsx +3 -0
- package/dist/components/chipsBar/index.jsx.map +1 -1
- package/dist/components/circlePieChart/emptyCirclePieChart.jsx +5 -3
- package/dist/components/circlePieChart/emptyCirclePieChart.jsx.map +1 -1
- package/dist/components/circlePieChart/index.jsx +9 -6
- package/dist/components/circlePieChart/index.jsx.map +1 -1
- package/dist/components/circlePieChart/tooltip.jsx +26 -0
- package/dist/components/circlePieChart/tooltip.jsx.map +1 -0
- package/dist/components/cookiesLanding/landingHeader/index.jsx +2 -3
- package/dist/components/cookiesLanding/landingHeader/index.jsx.map +1 -1
- package/dist/components/draggableTray/index.jsx +18 -7
- package/dist/components/draggableTray/index.jsx.map +1 -1
- package/dist/components/filtersSidebar/index.jsx +2 -2
- package/dist/components/filtersSidebar/index.jsx.map +1 -1
- package/dist/components/landingPage/infoCard/fetchPSInfo.js +1 -0
- package/dist/components/landingPage/infoCard/fetchPSInfo.js.map +1 -1
- package/dist/components/landingPage/infoCard/learnMoreDropdown.jsx +2 -1
- package/dist/components/landingPage/infoCard/learnMoreDropdown.jsx.map +1 -1
- package/dist/components/matrix/index.jsx +3 -1
- package/dist/components/matrix/index.jsx.map +1 -1
- package/dist/components/messageBox/index.jsx +6 -4
- package/dist/components/messageBox/index.jsx.map +1 -1
- package/dist/components/pillToggle/index.jsx +40 -2
- package/dist/components/pillToggle/index.jsx.map +1 -1
- package/dist/components/resizableTray/index.jsx +2 -2
- package/dist/components/resizableTray/index.jsx.map +1 -1
- package/dist/components/sidebar/useSidebar/constants.js +2 -0
- package/dist/components/sidebar/useSidebar/constants.js.map +1 -1
- package/dist/components/sidebar/useSidebar/provider.jsx +12 -2
- package/dist/components/sidebar/useSidebar/provider.jsx.map +1 -1
- package/dist/components/table/components/index.jsx +10 -10
- package/dist/components/table/components/index.jsx.map +1 -1
- package/dist/components/table/components/tableBody/bodyCell.jsx +2 -2
- package/dist/components/table/components/tableBody/bodyCell.jsx.map +1 -1
- package/dist/components/table/components/tableBody/bodyRow.jsx +10 -7
- package/dist/components/table/components/tableBody/bodyRow.jsx.map +1 -1
- package/dist/components/table/components/tableHeader/headerCell.jsx +2 -5
- package/dist/components/table/components/tableHeader/headerCell.jsx.map +1 -1
- package/dist/components/table/components/tableHeader/headerRow.jsx +1 -1
- package/dist/components/table/components/tableHeader/headerRow.jsx.map +1 -1
- package/dist/components/table/useTable/context.js +1 -0
- package/dist/components/table/useTable/context.js.map +1 -1
- package/dist/components/table/useTable/provider.jsx +10 -3
- package/dist/components/table/useTable/provider.jsx.map +1 -1
- package/dist/components/table/useTable/useColumnResizing/index.jsx +67 -32
- package/dist/components/table/useTable/useColumnResizing/index.jsx.map +1 -1
- package/dist/components/table/useTable/useFiltering/index.jsx +9 -3
- package/dist/components/table/useTable/useFiltering/index.jsx.map +1 -1
- package/dist/components/tabs/index.jsx +22 -23
- package/dist/components/tabs/index.jsx.map +1 -1
- package/dist/components/tabs/useTabs/context.js +2 -0
- package/dist/components/tabs/useTabs/context.js.map +1 -1
- package/dist/components/tabs/useTabs/provider.jsx +66 -35
- package/dist/components/tabs/useTabs/provider.jsx.map +1 -1
- package/dist/components/timeline/bar.jsx +1 -1
- package/dist/components/timeline/bar.jsx.map +1 -1
- package/dist/components/timeline/index.jsx +49 -14
- package/dist/components/timeline/index.jsx.map +1 -1
- package/dist/components/topbar/index.jsx +1 -1
- package/dist/components/topbar/index.jsx.map +1 -1
- package/dist/icons/index.jsx +3 -0
- package/dist/icons/index.jsx.map +1 -1
- package/dist-types/components/chipsBar/index.d.ts +1 -1
- package/dist-types/components/circlePieChart/emptyCirclePieChart.d.ts +4 -1
- package/dist-types/components/circlePieChart/index.d.ts +3 -1
- package/dist-types/components/circlePieChart/tooltip.d.ts +8 -0
- package/dist-types/components/draggableTray/index.d.ts +3 -0
- package/dist-types/components/landingPage/infoCard/fetchPSInfo.d.ts +1 -0
- package/dist-types/components/messageBox/index.d.ts +5 -1
- package/dist-types/components/pillToggle/index.d.ts +4 -3
- package/dist-types/components/sidebar/useSidebar/constants.d.ts +3 -1
- package/dist-types/components/sidebar/useSidebar/types.d.ts +1 -0
- package/dist-types/components/table/components/tableBody/bodyCell.d.ts +2 -1
- package/dist-types/components/table/useTable/context.d.ts +1 -0
- package/dist-types/components/table/useTable/provider.d.ts +1 -1
- package/dist-types/components/table/useTable/types.d.ts +11 -2
- package/dist-types/components/table/useTable/useColumnResizing/index.d.ts +1 -0
- package/dist-types/components/table/useTable/useFiltering/index.d.ts +1 -1
- package/dist-types/components/tabs/useTabs/context.d.ts +2 -0
- package/dist-types/components/tabs/useTabs/provider.d.ts +1 -1
- package/dist-types/components/tabs/useTabs/types.d.ts +1 -2
- package/dist-types/icons/index.d.ts +3 -0
- package/package.json +3 -3
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
/**
|
|
17
17
|
* External dependencies.
|
|
18
18
|
*/
|
|
19
|
-
import React, { memo, useCallback, useEffect,
|
|
19
|
+
import React, { memo, useCallback, useEffect, useState } from 'react';
|
|
20
20
|
import { Resizable } from 're-resizable';
|
|
21
21
|
import classNames from 'classnames';
|
|
22
22
|
/**
|
|
@@ -30,7 +30,7 @@ import TableTopBar from './tableTopBar';
|
|
|
30
30
|
import TableChipsBar from './filtersSidebar/chips';
|
|
31
31
|
import TableFiltersSidebar from './filtersSidebar';
|
|
32
32
|
const Table = ({ selectedKey, isFiltersSidebarOpen = false, hideFiltering = false, extraInterfaceToTopBar, minWidth, hideSearch, hideTableTopBar, rowHeightClass, shouldScroll = false, showOverflow = true, }) => {
|
|
33
|
-
const { filters, isSelectAllFilterSelected, toggleFilterSelection, toggleSelectAllFilter, selectedFilters, resetFilters, rows, searchValue, setSearchValue, exportTableData, count, tableContainerRef, loadMoreData, hasMoreData, } = useTable(({ state, actions }) => ({
|
|
33
|
+
const { filters, isSelectAllFilterSelected, toggleFilterSelection, toggleSelectAllFilter, selectedFilters, resetFilters, rows, searchValue, setSearchValue, exportTableData, count, tableContainerRef, loadMoreData, hasMoreData, tableRef, } = useTable(({ state, actions }) => ({
|
|
34
34
|
filters: state.filters,
|
|
35
35
|
isSelectAllFilterSelected: actions.isSelectAllFilterSelected,
|
|
36
36
|
toggleFilterSelection: actions.toggleFilterSelection,
|
|
@@ -45,6 +45,7 @@ const Table = ({ selectedKey, isFiltersSidebarOpen = false, hideFiltering = fals
|
|
|
45
45
|
tableContainerRef: state.tableContainerRef,
|
|
46
46
|
loadMoreData: actions.loadMoreData,
|
|
47
47
|
hasMoreData: state.hasMoreData,
|
|
48
|
+
tableRef: state.tableRef,
|
|
48
49
|
}));
|
|
49
50
|
const [showColumnsMenu, setShowColumnsMenu] = useState(false);
|
|
50
51
|
const [showFilterSidebar, setShowFilterSidebar] = useState(isFiltersSidebarOpen);
|
|
@@ -53,10 +54,9 @@ const Table = ({ selectedKey, isFiltersSidebarOpen = false, hideFiltering = fals
|
|
|
53
54
|
y: 0,
|
|
54
55
|
});
|
|
55
56
|
const [isRowFocused, setIsRowFocused] = useState(false);
|
|
56
|
-
const tableRef = useRef(null);
|
|
57
57
|
useEffect(() => {
|
|
58
58
|
const handleClickOutside = (event) => {
|
|
59
|
-
if (tableRef
|
|
59
|
+
if (tableRef?.current &&
|
|
60
60
|
!tableRef.current.contains(event.target)) {
|
|
61
61
|
setIsRowFocused(false);
|
|
62
62
|
}
|
|
@@ -65,7 +65,7 @@ const Table = ({ selectedKey, isFiltersSidebarOpen = false, hideFiltering = fals
|
|
|
65
65
|
return () => {
|
|
66
66
|
globalThis?.document?.removeEventListener('click', handleClickOutside, true);
|
|
67
67
|
};
|
|
68
|
-
}, []);
|
|
68
|
+
}, [tableRef]);
|
|
69
69
|
useEffect(() => {
|
|
70
70
|
if (selectedKey === undefined) {
|
|
71
71
|
setIsRowFocused(false);
|
|
@@ -88,25 +88,25 @@ const Table = ({ selectedKey, isFiltersSidebarOpen = false, hideFiltering = fals
|
|
|
88
88
|
loadMoreData();
|
|
89
89
|
}
|
|
90
90
|
}, [hasMoreData, loadMoreData]);
|
|
91
|
-
return (<div className="w-full h-full flex flex-col text-raisin-black dark:text-bright-gray">
|
|
91
|
+
return (<div className="w-full h-full flex flex-col text-raisin-black dark:text-bright-gray overflow-hidden">
|
|
92
92
|
{!hideTableTopBar && (<>
|
|
93
93
|
<TableTopBar showFilterSidebar={showFilterSidebar} hideFiltering={hideFiltering} setShowFilterSidebar={setShowFilterSidebar} extraInterface={extraInterfaceToTopBar} hideSearch={hideSearch} rows={rows} searchValue={searchValue} setSearchValue={setSearchValue} exportTableData={exportTableData} count={count}/>
|
|
94
94
|
<div className="flex items-center justify-between gap-1 py-0.5 bg-anti-flash-white dark:bg-raisin-black">
|
|
95
95
|
{!hideFiltering && (<TableChipsBar selectedFilters={selectedFilters} resetFilters={resetFilters} toggleFilterSelection={toggleFilterSelection}/>)}
|
|
96
96
|
</div>
|
|
97
97
|
</>)}
|
|
98
|
-
<div className="w-full flex-1 h-full flex divide-x divide-american-silver dark:divide-quartz border-t border-gray-300 dark:border-quartz overflow-
|
|
98
|
+
<div className="w-full flex-1 h-full flex divide-x divide-american-silver dark:divide-quartz border-t border-gray-300 dark:border-quartz overflow-auto">
|
|
99
99
|
{showFilterSidebar && (<Resizable minWidth="100px" maxWidth="50%" enable={{
|
|
100
100
|
right: true,
|
|
101
|
-
}} className="
|
|
101
|
+
}} className="h-full">
|
|
102
102
|
<TableFiltersSidebar filters={filters} isSelectAllFilterSelected={isSelectAllFilterSelected} toggleFilterSelection={toggleFilterSelection} toggleSelectAllFilter={toggleSelectAllFilter}/>
|
|
103
103
|
</Resizable>)}
|
|
104
104
|
<div ref={tableContainerRef} className={classNames('relative h-full w-full flex-1', {
|
|
105
105
|
'overflow-auto': showOverflow,
|
|
106
106
|
})} onScroll={scrollListener}>
|
|
107
107
|
<ColumnMenu open={showColumnsMenu} onClose={setShowColumnsMenu} position={columnPosition}/>
|
|
108
|
-
<table className="h-full w-full table-
|
|
109
|
-
minWidth: minWidth ?? '
|
|
108
|
+
<table className="h-full w-full table-fixed border-separate border-spacing-0 relative border-r border-american-silver dark:border-quartz overflow-clip" style={{
|
|
109
|
+
minWidth: minWidth ?? 'auto',
|
|
110
110
|
}} ref={tableRef}>
|
|
111
111
|
<TableHeader setColumnPosition={setColumnPosition} onRightClick={handleRightClick} setIsRowFocused={setIsRowFocused}/>
|
|
112
112
|
<TableBody isRowFocused={isRowFocused} setIsRowFocused={setIsRowFocused} selectedKey={selectedKey} rowHeightClass={rowHeightClass} shouldScroll={shouldScroll}/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../src/components/table/components/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../src/components/table/components/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* External dependencies.
|
|
18
18
|
*/
|
|
19
19
|
import React from 'react';
|
|
20
|
-
const BodyCell = ({ cell, row, hasIcon = false, showIcon = false, icon, rowHeightClass, accessorKey, hasVerticalBar = false, verticalBarColorHash, }) => {
|
|
20
|
+
const BodyCell = ({ cell, row, hasIcon = false, showIcon = false, icon, rowHeightClass, accessorKey, hasVerticalBar = false, verticalBarColorHash, isHighlighted = false, }) => {
|
|
21
21
|
const IconElement = icon?.Element;
|
|
22
22
|
const cellValue = cell?.() ?? '';
|
|
23
23
|
return (<td tabIndex={0} onDoubleClick={(e) => {
|
|
@@ -30,7 +30,7 @@ const BodyCell = ({ cell, row, hasIcon = false, showIcon = false, icon, rowHeigh
|
|
|
30
30
|
if (['Meta', 'Control', 'c'].includes(e.key)) {
|
|
31
31
|
e.stopPropagation();
|
|
32
32
|
}
|
|
33
|
-
}} className={`max-w-40 relative box-border outline-0 px-1 py-px text-xs cursor-default flex-1 min-h-fit
|
|
33
|
+
}} className={`max-w-40 relative box-border outline-0 px-1 py-px text-xs cursor-default flex-1 min-h-fit ${rowHeightClass ?? 'min-h-5'} ${isHighlighted ? 'dark:text-black' : 'dark:text-bright-gray'}`}>
|
|
34
34
|
{/* Vertical bar for some indication, styles can also be made dynamic.*/}
|
|
35
35
|
{hasVerticalBar && (<span style={{
|
|
36
36
|
backgroundColor: verticalBarColorHash,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyCell.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableBody/bodyCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"bodyCell.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableBody/bodyCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,MAAM,QAAQ,GAAG,CAAC,EAChB,IAAI,EACJ,GAAG,EACH,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,cAAc,GAAG,KAAK,EACtB,oBAAoB,EACpB,aAAa,GAAG,KAAK,GACP,EAAE,EAAE;IAClB,MAAM,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IAEjC,OAAO,CACL,CAAC,EAAE,CACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CACZ,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjC,QAAQ,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAC;YAC3C,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,6FACT,cAAc,IAAI,SACpB,IAAI,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAElE;MAAA,CAAC,uEAAuE,CACxE;MAAA,CAAC,cAAc,IAAI,CACjB,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;gBACL,eAAe,EAAE,oBAAoB;aACtC,CAAC,CACF,SAAS,CAAC,iDAAiD,EAC3D,CACH,CACD;MAAA,CAAC,GAAG,CACF,SAAS,CAAC,oEAAoE,CAC9E,yBAAyB,CAAC,CAAC,WAAW,CAAC,EAEzC;MAAA,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAChC;QAAA,CAAC,OAAO,IAAI,CACV,CAAC,GAAG,CAAC,SAAS,CAAC,kDAAkD,CAC/D;YAAA,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,IAAI,CACnC,CAAC,WAAW,CACV,IAAI;gBACF,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC,EACF,CACH,CACH;UAAA,EAAE,GAAG,CAAC,CACP,CACD;QAAA,CAAC,GAAG,CACF,SAAS,CAAC,2BAA2B,CACrC,KAAK,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAEtD;UAAA,CAAC,SAAS,CACZ;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,EAAE,CAAC,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -25,24 +25,27 @@ import BodyCell from './bodyCell';
|
|
|
25
25
|
const BodyRow = ({ row, columns, index, selectedKey, isRowFocused, getExtraClasses, hasVerticalBar, verticalBarColorHash, getRowObjectKey, onRowClick, onKeyDown, onRowContextMenu, rowHeightClass, shouldScroll = false, }) => {
|
|
26
26
|
const rowKey = getRowObjectKey(row);
|
|
27
27
|
const isHighlighted = row.originalData?.highlighted;
|
|
28
|
+
const scrollToHighlighted = row.originalData?.scrollToHighlighted;
|
|
29
|
+
const highlightedClass = (selected) => row.originalData?.highlightedClass?.(selected) ||
|
|
30
|
+
'bg-dirty-pink dark:text-black';
|
|
28
31
|
const classes = classnames(rowKey !== selectedKey &&
|
|
29
32
|
(index % 2
|
|
30
33
|
? isHighlighted
|
|
31
|
-
?
|
|
34
|
+
? highlightedClass(false)
|
|
32
35
|
: 'bg-anti-flash-white dark:bg-charleston-green'
|
|
33
36
|
: isHighlighted
|
|
34
|
-
?
|
|
37
|
+
? highlightedClass(false)
|
|
35
38
|
: 'bg-white dark:bg-raisin-black'), rowKey === selectedKey &&
|
|
36
39
|
(isRowFocused
|
|
37
40
|
? isHighlighted
|
|
38
|
-
?
|
|
41
|
+
? `${highlightedClass(true)}`
|
|
39
42
|
: 'bg-lavender-sky text-black dark:bg-midnight-slate dark:text-chinese-silver'
|
|
40
43
|
: isHighlighted
|
|
41
|
-
?
|
|
44
|
+
? `${highlightedClass(true)}`
|
|
42
45
|
: 'bg-silver-mist text-black dark:bg-dark-graphite dark:text-chinese-silver'));
|
|
43
46
|
const extraClasses = getExtraClasses();
|
|
44
47
|
useEffect(() => {
|
|
45
|
-
if (isHighlighted) {
|
|
48
|
+
if (isHighlighted && scrollToHighlighted) {
|
|
46
49
|
const element = document.getElementById(index.toString());
|
|
47
50
|
element?.scrollIntoView?.({
|
|
48
51
|
behavior: 'smooth',
|
|
@@ -50,7 +53,7 @@ const BodyRow = ({ row, columns, index, selectedKey, isRowFocused, getExtraClass
|
|
|
50
53
|
inline: 'start',
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
|
-
}, [index, isHighlighted]);
|
|
56
|
+
}, [index, isHighlighted, scrollToHighlighted]);
|
|
54
57
|
useEffect(() => {
|
|
55
58
|
if (shouldScroll) {
|
|
56
59
|
const element = document.getElementById(index.toString());
|
|
@@ -66,7 +69,7 @@ const BodyRow = ({ row, columns, index, selectedKey, isRowFocused, getExtraClass
|
|
|
66
69
|
}, {
|
|
67
70
|
[extraClasses]: extraClasses.length > 0,
|
|
68
71
|
})} onClick={onRowClick} onKeyDown={(e) => onKeyDown(e, index)} onContextMenu={(e) => onRowContextMenu(e, row)} data-testid="body-row">
|
|
69
|
-
{columns.map(({ accessorKey, enableBodyCellPrefixIcon, showBodyCellPrefixIcon, bodyCellPrefixIcon, }, idx) => (<BodyCell key={idx} onRowClick={onRowClick} cell={row[accessorKey]?.value} row={row} hasIcon={enableBodyCellPrefixIcon} showIcon={showBodyCellPrefixIcon ? showBodyCellPrefixIcon(row) : false} icon={bodyCellPrefixIcon ?? undefined} rowHeightClass={rowHeightClass} accessorKey={accessorKey} hasVerticalBar={idx === 0 && hasVerticalBar} verticalBarColorHash={verticalBarColorHash}/>))}
|
|
72
|
+
{columns.map(({ accessorKey, enableBodyCellPrefixIcon, showBodyCellPrefixIcon, bodyCellPrefixIcon, }, idx) => (<BodyCell key={idx} onRowClick={onRowClick} cell={row[accessorKey]?.value} row={row} hasIcon={enableBodyCellPrefixIcon} showIcon={showBodyCellPrefixIcon ? showBodyCellPrefixIcon(row) : false} icon={bodyCellPrefixIcon ?? undefined} rowHeightClass={rowHeightClass} accessorKey={accessorKey} hasVerticalBar={idx === 0 && hasVerticalBar} verticalBarColorHash={verticalBarColorHash} isHighlighted={isHighlighted}/>))}
|
|
70
73
|
</tr>);
|
|
71
74
|
};
|
|
72
75
|
export default BodyRow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyRow.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableBody/bodyRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC;;GAEG;AACH,OAAO,QAAQ,MAAM,YAAY,CAAC;AA0BlC,MAAM,OAAO,GAAG,CAAC,EACf,GAAG,EACH,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,YAAY,GAAG,KAAK,GACP,EAAE,EAAE;IACjB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CACxB,MAAM,KAAK,WAAW;QACpB,CAAC,KAAK,GAAG,CAAC;YACR,CAAC,CAAC,aAAa;gBACb,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"bodyRow.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableBody/bodyRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,13 +34,10 @@ const HeaderCell = ({ cell, setIsRowFocused }) => {
|
|
|
34
34
|
const handleOnClick = useCallback(() => {
|
|
35
35
|
setSortKey(cell.accessorKey);
|
|
36
36
|
}, [cell.accessorKey, setSortKey]);
|
|
37
|
-
const initialWidth = cell.initialWidth
|
|
38
|
-
? Math.max(cell.initialWidth || 0, cell.minWidth || 0) || 'auto'
|
|
39
|
-
: 'auto';
|
|
40
37
|
return (<>
|
|
41
|
-
<th data-column-resize-id={cell.accessorKey} onClick={isResizing ? undefined : handleOnClick} className={classNames('select-none touch-none font-normal truncate sticky top-0 z-[100]', 'bg-anti-flash-white dark:bg-charleston-green border-b border-
|
|
38
|
+
<th data-column-resize-id={cell.accessorKey} onClick={isResizing ? undefined : handleOnClick} className={classNames('select-none touch-none font-normal truncate sticky top-0 z-[100]', 'bg-anti-flash-white dark:bg-charleston-green border-b border-american-silver dark:border-quartz', {
|
|
42
39
|
'hover:bg-gainsboro dark:hover:bg-outer-space': !isResizing,
|
|
43
|
-
})} data-testid="header-cell" data-min-width={cell.minWidth || minColumnWidth} data-max-width={cell.maxWidth}
|
|
40
|
+
})} data-testid="header-cell" data-min-width={cell.minWidth || minColumnWidth} data-max-width={cell.maxWidth} data-initial-width={cell.initialWidth}>
|
|
44
41
|
<div className="w-full h-full relative flex items-center justify-between text-cool-grey dark:text-bright-gray max-w" onClick={() => setIsRowFocused(false)} title={cell.header}>
|
|
45
42
|
<div className="absolute right-[-2px] cursor-ew-resize h-full w-2 z-50 top-0" data-column-resize-handle={cell.accessorKey}/>
|
|
46
43
|
<p className="px-1 py-px truncate text-xs">{cell.header}</p>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerCell.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableHeader/headerCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAO9C,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAmB,EAAE,EAAE;IAChE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAClE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC,CAAC;IAEN,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,
|
|
1
|
+
{"version":3,"file":"headerCell.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableHeader/headerCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAO9C,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAmB,EAAE,EAAE;IAChE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAClE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC,CAAC;IAEN,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,EACE;MAAA,CAAC,EAAE,CACD,qBAAqB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CACxC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAChD,SAAS,CAAC,CAAC,UAAU,CACnB,kEAAkE,EAClE,iGAAiG,EACjG;YACE,8CAA8C,EAAE,CAAC,UAAU;SAC5D,CACF,CAAC,CACF,WAAW,CAAC,aAAa,CACzB,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,CAChD,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC9B,kBAAkB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAEtC;QAAA,CAAC,GAAG,CACF,SAAS,CAAC,qGAAqG,CAC/G,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CACtC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEnB;UAAA,CAAC,GAAG,CACF,SAAS,CAAC,8DAA8D,CACxE,yBAAyB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAE9C;UAAA,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAC3D;UAAA,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC3B;YAAA,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW;YAC3B;gBACE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,sBAAsB,EAAG;gBACnD,IAAI,EAAE,CAAC,SAAS,CAAC,AAAD,EAAG;aACpB,CAAC,SAAS,CAAC,CAChB;UAAA,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,EAAE,CACN;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -26,7 +26,7 @@ const HeaderRow = ({ setIsRowFocused }) => {
|
|
|
26
26
|
const { columns } = useTable(({ state }) => ({
|
|
27
27
|
columns: state.columns,
|
|
28
28
|
}));
|
|
29
|
-
return (<tr>
|
|
29
|
+
return (<tr className="divide-x divide-american-silver dark:divide-quartz">
|
|
30
30
|
{columns?.map((cell, idx) => (<HeaderCell key={idx} cell={cell} setIsRowFocused={setIsRowFocused}/>))}
|
|
31
31
|
</tr>);
|
|
32
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerRow.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableHeader/headerRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B;;GAEG;AACH,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,MAAM,SAAS,GAAG,CAAC,EAAE,eAAe,EAAkB,EAAE,EAAE;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CAAC;IAEJ,OAAO,CACL,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"headerRow.jsx","sourceRoot":"","sources":["../../../../../src/components/table/components/tableHeader/headerRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B;;GAEG;AACH,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,MAAM,SAAS,GAAG,CAAC,EAAE,eAAe,EAAkB,EAAE,EAAE;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CAAC;IAEJ,OAAO,CACL,CAAC,EAAE,CAAC,SAAS,CAAC,oDAAoD,CAChE;MAAA,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC3B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,EAAG,CACvE,CAAC,CACJ;IAAA,EAAE,EAAE,CAAC,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/components/table/useTable/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,IAAI,EAAgB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/components/table/useTable/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,IAAI,EAAgB,MAAM,qBAAqB,CAAC;AA0DxE,MAAM,YAAY,GAAsB;IACtC,KAAK,EAAE;QACL,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,oBAAoB,EAAE,IAAI;QAC1B,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,KAAK;QAClB,KAAK,EAAE,CAAC;QACR,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,CAAC;KAClB;IACD,OAAO,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;QAC3B,qBAAqB,EAAE,IAAI;QAC3B,qBAAqB,EAAE,IAAI;QAC3B,YAAY,EAAE,IAAI;QAClB,yBAAyB,EAAE,GAAG,EAAE,CAAC,KAAK;QACtC,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE;QACzB,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GACvB,aAAa,CAAoB,YAAY,CAAC,CAAC"}
|
|
@@ -28,7 +28,7 @@ import useSearch from './useSearch';
|
|
|
28
28
|
import { TableContext } from './context';
|
|
29
29
|
import useColumnResizing from './useColumnResizing';
|
|
30
30
|
const MIN_COLUMN_WIDTH = 80;
|
|
31
|
-
export const TableProvider = ({ data, tableColumns, tableFilterData, tableSearchKeys, tablePersistentSettingsKey, onRowClick, onRowContextMenu, getRowObjectKey, conditionalTableRowClassesHandler, exportTableData, hasVerticalBar, getVerticalBarColorHash, isRowSelected, minColumnWidth = MIN_COLUMN_WIDTH, children, }) => {
|
|
31
|
+
export const TableProvider = ({ data, tableColumns, tableFilterData, tableSearchKeys, tablePersistentSettingsKey, onRowClick, onRowContextMenu, getRowObjectKey, conditionalTableRowClassesHandler, exportTableData, hasVerticalBar, getVerticalBarColorHash, isRowSelected, minColumnWidth = MIN_COLUMN_WIDTH, customClearAllFunction, customClearFunction, children, filterRef, }) => {
|
|
32
32
|
const [allData, setAllData] = useState(data);
|
|
33
33
|
const [paginatedData, setPaginatedData] = useState([]);
|
|
34
34
|
useEffect(() => {
|
|
@@ -44,7 +44,13 @@ export const TableProvider = ({ data, tableColumns, tableFilterData, tableSearch
|
|
|
44
44
|
return keys[0];
|
|
45
45
|
}, [tablePersistentSettingsKey]);
|
|
46
46
|
const { searchValue, setSearchValue, searchFilteredData } = useSearch(allData, tableSearchKeys, commonKey);
|
|
47
|
-
const { filters, selectedFilters, filteredData, isFiltering, toggleFilterSelection, toggleSelectAllFilter, resetFilters, isSelectAllFilterSelected, } = useFiltering(searchFilteredData, tableFilterData, tablePersistentSettingsKey, commonKey);
|
|
47
|
+
const { filters, selectedFilters, filteredData, isFiltering, toggleFilterSelection, toggleSelectAllFilter, resetFilters, isSelectAllFilterSelected, } = useFiltering(searchFilteredData, tableFilterData, tablePersistentSettingsKey, commonKey, customClearFunction, customClearAllFunction);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (filterRef && filterRef.current) {
|
|
50
|
+
filterRef.current.resetFilters = resetFilters;
|
|
51
|
+
filterRef.current.toggleFilterSelection = toggleFilterSelection;
|
|
52
|
+
}
|
|
53
|
+
}, [filterRef, resetFilters, toggleFilterSelection]);
|
|
48
54
|
const loadMoreData = useCallback(() => {
|
|
49
55
|
setPaginatedData((prevData) => {
|
|
50
56
|
const start = prevData.length;
|
|
@@ -74,7 +80,7 @@ export const TableProvider = ({ data, tableColumns, tableFilterData, tableSearch
|
|
|
74
80
|
}
|
|
75
81
|
}, [filteredData]);
|
|
76
82
|
const { visibleColumns, hideColumn, toggleVisibility, areAllColumnsVisible, showColumn, isColumnHidden, } = useColumnVisibility(tableColumns, commonKey);
|
|
77
|
-
const { isResizing, setColumnWidths, tableContainerRef } = useColumnResizing(tablePersistentSettingsKey);
|
|
83
|
+
const { isResizing, setColumnWidths, tableContainerRef, tableRef } = useColumnResizing(tablePersistentSettingsKey);
|
|
78
84
|
const { sortedData, sortKey, sortOrder, setSortKey, setSortOrder } = useColumnSorting(paginatedData, tableColumns, commonKey);
|
|
79
85
|
const [rows, setRows] = useState([]);
|
|
80
86
|
useEffect(() => {
|
|
@@ -119,6 +125,7 @@ export const TableProvider = ({ data, tableColumns, tableFilterData, tableSearch
|
|
|
119
125
|
hasMoreData,
|
|
120
126
|
count,
|
|
121
127
|
minColumnWidth,
|
|
128
|
+
tableRef,
|
|
122
129
|
},
|
|
123
130
|
actions: {
|
|
124
131
|
setSortKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.jsx","sourceRoot":"","sources":["../../../../src/components/table/useTable/provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,EAEZ,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD;;GAEG;AACH,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iCAAiC,EACjC,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,cAAc,GAAG,gBAAgB,EACjC,QAAQ,
|
|
1
|
+
{"version":3,"file":"provider.jsx","sourceRoot":"","sources":["../../../../src/components/table/useTable/provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,10 @@ const getColumnElement = (columnId) => {
|
|
|
23
23
|
return document.querySelector(`[data-column-resize-id="${columnId}"]`);
|
|
24
24
|
};
|
|
25
25
|
const getColumnMinWidth = (columnElement) => {
|
|
26
|
-
return Number(columnElement?.dataset.minWidth) ||
|
|
26
|
+
return Number(columnElement?.dataset.minWidth) || 0;
|
|
27
27
|
};
|
|
28
28
|
const getColumnMaxWidth = (columnElement) => {
|
|
29
|
-
return Number(columnElement?.dataset.maxWidth) ||
|
|
29
|
+
return Number(columnElement?.dataset.maxWidth) || Number.POSITIVE_INFINITY;
|
|
30
30
|
};
|
|
31
31
|
const getColumnWidth = (columnElement) => {
|
|
32
32
|
return (columnElement.getBoundingClientRect().width ||
|
|
@@ -38,6 +38,14 @@ const setColumnWidth = (columnElement, width) => {
|
|
|
38
38
|
columnElement.style.minWidth = `${parsedWidth}px`;
|
|
39
39
|
columnElement.style.maxWidth = `${parsedWidth}px`;
|
|
40
40
|
};
|
|
41
|
+
const setColumnFullWidth = (columnElement) => {
|
|
42
|
+
columnElement.style.width = '100%';
|
|
43
|
+
columnElement.style.minWidth = '100%';
|
|
44
|
+
columnElement.style.maxWidth = '100%';
|
|
45
|
+
};
|
|
46
|
+
const getColumnInitialWidth = (columnElement) => {
|
|
47
|
+
return Number(columnElement?.dataset.initialWidth) || undefined;
|
|
48
|
+
};
|
|
41
49
|
/**
|
|
42
50
|
* Custom hook to handle column resizing.
|
|
43
51
|
* @param tablePersistentSettingsKey - key to persist the columns sizing
|
|
@@ -49,6 +57,7 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
49
57
|
const startX = useRef(0);
|
|
50
58
|
const rafId = useRef();
|
|
51
59
|
const tableContainerRef = useRef(null);
|
|
60
|
+
const tableRef = useRef(null);
|
|
52
61
|
const currentColumn = useRef(null);
|
|
53
62
|
const [persistedColumnsSizing, setPersistedColumnsSizing] = useState(undefined);
|
|
54
63
|
const handleMouseDown = useCallback((event) => {
|
|
@@ -61,7 +70,7 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
61
70
|
startX.current = event.screenX;
|
|
62
71
|
const columnElement = getColumnElement(columnId);
|
|
63
72
|
if (columnElement) {
|
|
64
|
-
startingColumnWidth.current = getColumnWidth(columnElement);
|
|
73
|
+
startingColumnWidth.current = getColumnWidth(columnElement) || 0;
|
|
65
74
|
currentColumn.current = columnElement;
|
|
66
75
|
}
|
|
67
76
|
}
|
|
@@ -85,8 +94,8 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
85
94
|
const maxWidth = getColumnMaxWidth(columnElement);
|
|
86
95
|
const newDiffX = startX.current - event.screenX;
|
|
87
96
|
const newWidth = startingColumnWidth.current - newDiffX;
|
|
88
|
-
|
|
89
|
-
|
|
97
|
+
// not allow resizing to be less than minWidth or greater than maxWidth
|
|
98
|
+
if (newWidth > maxWidth || newWidth < minWidth) {
|
|
90
99
|
return;
|
|
91
100
|
}
|
|
92
101
|
setColumnWidth(columnElement, newWidth);
|
|
@@ -102,7 +111,7 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
102
111
|
if (!columnId) {
|
|
103
112
|
return;
|
|
104
113
|
}
|
|
105
|
-
const width = getColumnWidth(columnElement);
|
|
114
|
+
const width = getColumnWidth(columnElement) || 0;
|
|
106
115
|
setPersistedColumnsSizing((prev) => {
|
|
107
116
|
return { ...(prev || {}), [columnId]: width };
|
|
108
117
|
});
|
|
@@ -134,8 +143,8 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
134
143
|
? columnsSizing
|
|
135
144
|
: undefined;
|
|
136
145
|
setPersistedColumnsSizing(data);
|
|
137
|
-
setAreSettingsLoaded(true);
|
|
138
146
|
}
|
|
147
|
+
setAreSettingsLoaded(true);
|
|
139
148
|
}, [getPreferences, tablePersistentSettingsKey]);
|
|
140
149
|
// keep store in sync with the persisted columns sizing
|
|
141
150
|
useEffect(() => {
|
|
@@ -148,26 +157,18 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
148
157
|
// fixes the column widths when the component is mounted
|
|
149
158
|
// so the columns don't resize when the user starts dragging
|
|
150
159
|
const setColumnWidths = useCallback(() => {
|
|
151
|
-
if (!areSettingsLoaded) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
// use persisted columns sizing if available
|
|
155
|
-
if (persistedColumnsSizing) {
|
|
156
|
-
Object.entries(persistedColumnsSizing).forEach(([columnId, width]) => {
|
|
157
|
-
const columnElement = getColumnElement(columnId);
|
|
158
|
-
if (columnElement) {
|
|
159
|
-
setColumnWidth(columnElement, width);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
160
|
+
if (!areSettingsLoaded || isResizing) {
|
|
162
161
|
return;
|
|
163
162
|
}
|
|
163
|
+
const allHandles = document.querySelectorAll(`[data-column-resize-id]`);
|
|
164
|
+
const lastHandleId = allHandles[allHandles.length - 1]
|
|
165
|
+
?.dataset?.columnResizeId;
|
|
164
166
|
// calculate initial column widths
|
|
165
167
|
const columnsSizing = {};
|
|
166
|
-
const allHandles = document.querySelectorAll(`[data-column-resize-id]`);
|
|
167
168
|
if (allHandles.length === 0) {
|
|
168
169
|
return;
|
|
169
170
|
}
|
|
170
|
-
Array.from(allHandles).forEach((handle
|
|
171
|
+
Array.from(allHandles).forEach((handle) => {
|
|
171
172
|
const columnId = handle.dataset.columnResizeId;
|
|
172
173
|
if (!columnId) {
|
|
173
174
|
return;
|
|
@@ -176,41 +177,75 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
176
177
|
if (!columnElement) {
|
|
177
178
|
return;
|
|
178
179
|
}
|
|
179
|
-
if (
|
|
180
|
-
columnElement
|
|
180
|
+
if (columnId === lastHandleId) {
|
|
181
|
+
setColumnFullWidth(columnElement);
|
|
182
|
+
return;
|
|
181
183
|
}
|
|
182
|
-
//
|
|
183
|
-
if (
|
|
184
|
-
|
|
184
|
+
// use persisted columns sizing if available
|
|
185
|
+
if (persistedColumnsSizing?.[columnId]) {
|
|
186
|
+
setColumnWidth(columnElement, persistedColumnsSizing[columnId]);
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
189
|
+
const initialWidth = getColumnInitialWidth(columnElement);
|
|
187
190
|
const minWidth = getColumnMinWidth(columnElement);
|
|
191
|
+
const maxWidth = getColumnMaxWidth(columnElement);
|
|
188
192
|
const colWidth = getColumnWidth(columnElement);
|
|
189
|
-
|
|
193
|
+
let width = 0;
|
|
194
|
+
if (initialWidth) {
|
|
195
|
+
if (initialWidth > maxWidth) {
|
|
196
|
+
width = maxWidth;
|
|
197
|
+
}
|
|
198
|
+
else if (initialWidth < minWidth) {
|
|
199
|
+
width = minWidth;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
width = initialWidth;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
if (colWidth > maxWidth) {
|
|
207
|
+
width = maxWidth;
|
|
208
|
+
}
|
|
209
|
+
else if (colWidth < minWidth) {
|
|
210
|
+
width = minWidth;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
width = colWidth;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
190
216
|
setColumnWidth(columnElement, width);
|
|
191
217
|
columnsSizing[columnId] = width;
|
|
192
218
|
});
|
|
193
|
-
|
|
194
|
-
|
|
219
|
+
// persist columns sizing if not already set
|
|
220
|
+
if (!persistedColumnsSizing) {
|
|
221
|
+
setPersistedColumnsSizing(columnsSizing);
|
|
222
|
+
}
|
|
223
|
+
if (tableRef.current) {
|
|
224
|
+
if (allHandles.length === 1) {
|
|
225
|
+
tableRef.current.style.width = '100%';
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// allow table to resized freely after all columns are set
|
|
229
|
+
tableRef.current.style.width = 'auto';
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}, [areSettingsLoaded, persistedColumnsSizing, isResizing]);
|
|
195
233
|
useEffect(() => {
|
|
196
234
|
document.addEventListener('mousemove', handleMouseMove);
|
|
197
235
|
document.addEventListener('mouseup', handleMouseUp);
|
|
198
236
|
document.addEventListener('mousedown', handleMouseDown);
|
|
199
237
|
document.addEventListener('mouseout', handleMouseOut);
|
|
200
|
-
window.addEventListener('resize', setColumnWidths);
|
|
201
238
|
return () => {
|
|
202
239
|
document.removeEventListener('mousemove', handleMouseMove);
|
|
203
240
|
document.removeEventListener('mouseup', handleMouseUp);
|
|
204
241
|
document.removeEventListener('mousedown', handleMouseDown);
|
|
205
242
|
document.removeEventListener('mouseout', handleMouseOut);
|
|
206
|
-
window.removeEventListener('resize', setColumnWidths);
|
|
207
243
|
};
|
|
208
244
|
}, [
|
|
209
245
|
handleMouseDown,
|
|
210
246
|
handleMouseMove,
|
|
211
247
|
handleMouseOut,
|
|
212
248
|
handleMouseUp,
|
|
213
|
-
setColumnWidths,
|
|
214
249
|
tableContainerRef,
|
|
215
250
|
]);
|
|
216
251
|
useEffect(() => {
|
|
@@ -229,7 +264,7 @@ const useColumnResizing = (tablePersistentSettingsKey) => {
|
|
|
229
264
|
}
|
|
230
265
|
};
|
|
231
266
|
}, [setColumnWidths]);
|
|
232
|
-
return { isResizing, setColumnWidths, tableContainerRef };
|
|
267
|
+
return { isResizing, setColumnWidths, tableContainerRef, tableRef };
|
|
233
268
|
};
|
|
234
269
|
export default useColumnResizing;
|
|
235
270
|
//# sourceMappingURL=index.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/components/table/useTable/useColumnResizing/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAElE,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC5C,OAAO,QAAQ,CAAC,aAAa,CAC3B,2BAA2B,QAAQ,IAAI,CACzB,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAE,EAAE;IACvD,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/components/table/useTable/useColumnResizing/index.tsx"],"names":[],"mappings":"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"}
|