mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-24 01:18:23 +00:00
TJDB row edit drawer fix after click on expand (#10161)
Co-authored-by: blank0537 <anishsingh0537@gmail.com>
This commit is contained in:
parent
2238b01cf7
commit
faeb8f108c
3 changed files with 61 additions and 39 deletions
|
|
@ -13,6 +13,7 @@ const EditRowDrawer = ({
|
||||||
setIsEditRowDrawerOpen,
|
setIsEditRowDrawerOpen,
|
||||||
selectedRowIds,
|
selectedRowIds,
|
||||||
rows,
|
rows,
|
||||||
|
isDirectRowExpand,
|
||||||
referencedColumnDetails,
|
referencedColumnDetails,
|
||||||
setReferencedColumnDetails,
|
setReferencedColumnDetails,
|
||||||
}) => {
|
}) => {
|
||||||
|
|
@ -37,6 +38,7 @@ const EditRowDrawer = ({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
{!isDirectRowExpand && (
|
||||||
<ButtonSolid
|
<ButtonSolid
|
||||||
variant="tertiary"
|
variant="tertiary"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|
@ -69,6 +71,7 @@ const EditRowDrawer = ({
|
||||||
Edit row
|
Edit row
|
||||||
</span>
|
</span>
|
||||||
</ButtonSolid>
|
</ButtonSolid>
|
||||||
|
)}
|
||||||
<Drawer
|
<Drawer
|
||||||
isOpen={isEditRowDrawerOpen}
|
isOpen={isEditRowDrawerOpen}
|
||||||
onClose={() => setIsEditRowDrawerOpen(false)}
|
onClose={() => setIsEditRowDrawerOpen(false)}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ const Header = ({
|
||||||
setIsEditRowDrawerOpen,
|
setIsEditRowDrawerOpen,
|
||||||
setFilterEnable,
|
setFilterEnable,
|
||||||
filterEnable,
|
filterEnable,
|
||||||
|
isDirectRowExpand,
|
||||||
referencedColumnDetails,
|
referencedColumnDetails,
|
||||||
setReferencedColumnDetails,
|
setReferencedColumnDetails,
|
||||||
}) => {
|
}) => {
|
||||||
|
|
@ -149,7 +150,7 @@ const Header = ({
|
||||||
<div className="row align-items-center">
|
<div className="row align-items-center">
|
||||||
<div className="col-8 align-items-center p-3 gap-1">
|
<div className="col-8 align-items-center p-3 gap-1">
|
||||||
<>
|
<>
|
||||||
{Object.keys(selectedRowIds).length === 0 && (
|
{(isDirectRowExpand || Object.keys(selectedRowIds).length === 0) && (
|
||||||
<>
|
<>
|
||||||
<AddNewDataPopOver
|
<AddNewDataPopOver
|
||||||
disabled={false}
|
disabled={false}
|
||||||
|
|
@ -199,11 +200,12 @@ const Header = ({
|
||||||
setIsEditRowDrawerOpen={setIsEditRowDrawerOpen}
|
setIsEditRowDrawerOpen={setIsEditRowDrawerOpen}
|
||||||
selectedRowIds={selectedRowIds}
|
selectedRowIds={selectedRowIds}
|
||||||
rows={rows}
|
rows={rows}
|
||||||
|
isDirectRowExpand={isDirectRowExpand}
|
||||||
referencedColumnDetails={referencedColumnDetails}
|
referencedColumnDetails={referencedColumnDetails}
|
||||||
setReferencedColumnDetails={setReferencedColumnDetails}
|
setReferencedColumnDetails={setReferencedColumnDetails}
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
{Object.keys(selectedRowIds).length > 0 && (
|
{!isDirectRowExpand && Object.keys(selectedRowIds).length > 0 && (
|
||||||
<div>
|
<div>
|
||||||
<ButtonSolid
|
<ButtonSolid
|
||||||
variant="dangerTertiary"
|
variant="dangerTertiary"
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@ const Table = ({ collapseSidebar }) => {
|
||||||
const [nullValue, setNullValue] = useState(false);
|
const [nullValue, setNullValue] = useState(false);
|
||||||
const [progress, setProgress] = useState(0);
|
const [progress, setProgress] = useState(0);
|
||||||
const [isCellUpdateInProgress, setIsCellUpdateInProgress] = useState(false);
|
const [isCellUpdateInProgress, setIsCellUpdateInProgress] = useState(false);
|
||||||
|
const [isDirectRowExpand, setIsDirectRowExpand] = useState(false);
|
||||||
const [referencedColumnDetails, setReferencedColumnDetails] = useState([]);
|
const [referencedColumnDetails, setReferencedColumnDetails] = useState([]);
|
||||||
|
|
||||||
const [cachedOptions, setCahedOptions] = useState({});
|
const [cachedOptions, setCahedOptions] = useState({});
|
||||||
|
|
@ -225,6 +226,7 @@ const Table = ({ collapseSidebar }) => {
|
||||||
const newSelectedIdRef = {};
|
const newSelectedIdRef = {};
|
||||||
if (rowIdSelected) newSelectedIdRef[`${rowIdSelected}`] = true;
|
if (rowIdSelected) newSelectedIdRef[`${rowIdSelected}`] = true;
|
||||||
setSelectedRowIds(newSelectedIdRef);
|
setSelectedRowIds(newSelectedIdRef);
|
||||||
|
setIsDirectRowExpand(true);
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -401,6 +403,14 @@ const Table = ({ collapseSidebar }) => {
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [selectedTable]);
|
}, [selectedTable]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!isEditRowDrawerOpen && isDirectRowExpand) {
|
||||||
|
setSelectedRowIds({});
|
||||||
|
setIsDirectRowExpand(false);
|
||||||
|
}
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, [isEditRowDrawerOpen]);
|
||||||
|
|
||||||
const tableData = React.useMemo(
|
const tableData = React.useMemo(
|
||||||
() => (loading ? Array(10).fill({}) : selectedTableData),
|
() => (loading ? Array(10).fill({}) : selectedTableData),
|
||||||
[loading, selectedTableData]
|
[loading, selectedTableData]
|
||||||
|
|
@ -1083,6 +1093,8 @@ const Table = ({ collapseSidebar }) => {
|
||||||
setIsEditRowDrawerOpen={setIsEditRowDrawerOpen}
|
setIsEditRowDrawerOpen={setIsEditRowDrawerOpen}
|
||||||
setFilterEnable={setFilterEnable}
|
setFilterEnable={setFilterEnable}
|
||||||
filterEnable={filterEnable}
|
filterEnable={filterEnable}
|
||||||
|
isDirectRowExpand={isDirectRowExpand}
|
||||||
|
setIsDirectRowExpand={setIsDirectRowExpand}
|
||||||
referencedColumnDetails={referencedColumnDetails}
|
referencedColumnDetails={referencedColumnDetails}
|
||||||
setReferencedColumnDetails={setReferencedColumnDetails}
|
setReferencedColumnDetails={setReferencedColumnDetails}
|
||||||
// getForeignKeyDetails={getForeignKeyDetails}
|
// getForeignKeyDetails={getForeignKeyDetails}
|
||||||
|
|
@ -1156,15 +1168,20 @@ const Table = ({ collapseSidebar }) => {
|
||||||
<div>
|
<div>
|
||||||
<IndeterminateCheckbox
|
<IndeterminateCheckbox
|
||||||
indeterminate={
|
indeterminate={
|
||||||
Object.keys(selectedRowIds).length > 0 && Object.keys(selectedRowIds).length < rows.length
|
isDirectRowExpand
|
||||||
|
? false
|
||||||
|
: Object.keys(selectedRowIds).length > 0 && Object.keys(selectedRowIds).length < rows.length
|
||||||
|
}
|
||||||
|
checked={
|
||||||
|
isDirectRowExpand ? false : Object.keys(selectedRowIds).length === rows.length && rows.length
|
||||||
}
|
}
|
||||||
checked={Object.keys(selectedRowIds).length === rows.length && rows.length}
|
|
||||||
onChange={() => toggleSelectOrDeSelectAllRows(rows.length)}
|
onChange={() => toggleSelectOrDeSelectAllRows(rows.length)}
|
||||||
style={{
|
style={{
|
||||||
backgroundColor: `${
|
backgroundColor: `${
|
||||||
(Object.keys(selectedRowIds).length > 0 &&
|
(!isDirectRowExpand &&
|
||||||
|
Object.keys(selectedRowIds).length > 0 &&
|
||||||
Object.keys(selectedRowIds).length < rows.length) ||
|
Object.keys(selectedRowIds).length < rows.length) ||
|
||||||
(Object.keys(selectedRowIds).length === rows.length && rows.length)
|
(!isDirectRowExpand && Object.keys(selectedRowIds).length === rows.length && rows.length)
|
||||||
? '#3E63DD'
|
? '#3E63DD'
|
||||||
: 'var(--base)'
|
: 'var(--base)'
|
||||||
}`,
|
}`,
|
||||||
|
|
@ -1263,7 +1280,7 @@ const Table = ({ collapseSidebar }) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<IndeterminateCheckbox
|
<IndeterminateCheckbox
|
||||||
checked={selectedRowIds[row.id] ?? false}
|
checked={!isDirectRowExpand ? selectedRowIds[row.id] ?? false : false}
|
||||||
onChange={() => toggleRowSelection(row.id)}
|
onChange={() => toggleRowSelection(row.id)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue