From cfea4fde327346a39223cc736600c537fb7d0bf6 Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Mon, 1 Nov 2021 15:50:27 +1100 Subject: [PATCH] fix hidden fields & filters not working with multiple table views --- src/components/SideDrawer/index.tsx | 2 +- src/components/Table/BulkActions/index.tsx | 2 +- src/components/Table/Filters/index.tsx | 10 +++++----- src/components/Table/HiddenFields.tsx | 4 ++-- src/components/Table/TableHeader/Export/Download.tsx | 2 +- src/components/Table/TableHeader/Export/Export.tsx | 3 ++- src/components/Table/index.tsx | 4 ++-- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/components/SideDrawer/index.tsx b/src/components/SideDrawer/index.tsx index 2a5b5156..a7ebedad 100644 --- a/src/components/SideDrawer/index.tsx +++ b/src/components/SideDrawer/index.tsx @@ -70,7 +70,7 @@ export default function SideDrawer() { if (cell && tableState?.rows[cell.row]) { window.history.pushState( "", - `${tableState?.tablePath}`, + `${tableState?.config.id}`, `${window.location.pathname}?rowRef=${encodeURIComponent( tableState?.rows[cell.row].ref.path )}` diff --git a/src/components/Table/BulkActions/index.tsx b/src/components/Table/BulkActions/index.tsx index 54cd3725..5253f143 100644 --- a/src/components/Table/BulkActions/index.tsx +++ b/src/components/Table/BulkActions/index.tsx @@ -147,7 +147,7 @@ export default function BulkActions({ selectedRows, columns, clearSelection }) { }, column: actionColumn, action: actionType, - schemaDocPath: formatPath(tableState?.tablePath ?? ""), + schemaDocPath: formatPath(tableState?.config.id ?? ""), actionParams: {}, }; return true; diff --git a/src/components/Table/Filters/index.tsx b/src/components/Table/Filters/index.tsx index 02324083..15e5cc94 100644 --- a/src/components/Table/Filters/index.tsx +++ b/src/components/Table/Filters/index.tsx @@ -39,15 +39,15 @@ export default function Filters() { const [anchorEl, setAnchorEl] = useState(null); useEffect(() => { - if (userDoc.state.doc && tableState?.tablePath) { - if (userDoc.state.doc.tables?.[tableState?.tablePath]?.filters) { + if (userDoc.state.doc && tableState?.config.id) { + if (userDoc.state.doc.tables?.[tableState?.config.id]?.filters) { tableActions?.table.filter( - userDoc.state.doc.tables[tableState?.tablePath].filters + userDoc.state.doc.tables[tableState?.config.id].filters ); tableActions?.table.orderBy(); } } - }, [userDoc.state, tableState?.tablePath]); + }, [userDoc.state, tableState?.config.id]); const filterColumns = _sortBy(Object.values(tableState!.columns), "index") .filter((c) => getFieldProp("filter", c.type)) @@ -100,7 +100,7 @@ export default function Filters() { userDoc.dispatch({ action: DocActions.update, data: { - tables: { [`${tableState?.tablePath}`]: { filters } }, + tables: { [`${tableState?.config.id}`]: { filters } }, }, }); }; diff --git a/src/components/Table/HiddenFields.tsx b/src/components/Table/HiddenFields.tsx index edac302c..8a02db85 100644 --- a/src/components/Table/HiddenFields.tsx +++ b/src/components/Table/HiddenFields.tsx @@ -69,7 +69,7 @@ export default function HiddenFields() { // Initialise hiddenFields from user doc const userDocHiddenFields = - userDoc.state.doc?.tables?.[formatSubTableName(tableState?.tablePath!)] + userDoc.state.doc?.tables?.[formatSubTableName(tableState?.config.id!)] ?.hiddenFields; useEffect(() => { if (userDocHiddenFields) setHiddenFields(userDocHiddenFields); @@ -94,7 +94,7 @@ export default function HiddenFields() { action: DocActions.update, data: { tables: { - [formatSubTableName(tableState?.tablePath)]: { hiddenFields }, + [formatSubTableName(tableState?.config.id)]: { hiddenFields }, }, }, }); diff --git a/src/components/Table/TableHeader/Export/Download.tsx b/src/components/Table/TableHeader/Export/Download.tsx index 72b84168..374eacb9 100644 --- a/src/components/Table/TableHeader/Export/Download.tsx +++ b/src/components/Table/TableHeader/Export/Download.tsx @@ -64,7 +64,7 @@ export default function Export({ query, closeModal }) { const [columns, setColumns] = useState([]); const [labelColumnsEnabled, setLabelColumnsEnabled] = useState(false); const [labelColumns, setLabelColumns] = useState([]); - const [packageName, setPackageName] = useState(tableState?.tablePath); + const [packageName, setPackageName] = useState(tableState?.config.id); const handleClose = () => { closeModal(); diff --git a/src/components/Table/TableHeader/Export/Export.tsx b/src/components/Table/TableHeader/Export/Export.tsx index 8c99a9a5..a2b527e6 100644 --- a/src/components/Table/TableHeader/Export/Export.tsx +++ b/src/components/Table/TableHeader/Export/Export.tsx @@ -126,7 +126,8 @@ export default function Export({ query, closeModal }) { ...doc.data(), })); - const fileName = `${tableState?.tablePath!}-${new Date().toISOString()}.${exportType}`; + const fileName = `${tableState?.config + .id!}-${new Date().toISOString()}.${exportType}`; switch (exportType) { case "csv": const csvData = docs.map((doc: any) => diff --git a/src/components/Table/index.tsx b/src/components/Table/index.tsx index 8a69e9ec..01ac6d8b 100644 --- a/src/components/Table/index.tsx +++ b/src/components/Table/index.tsx @@ -38,7 +38,7 @@ export type TableColumn = Column & { }; const rowKeyGetter = (row: any) => row.id; -const SelectColumn = { ..._SelectColumn, width: 42, maxWidth: 42 }; +// const SelectColumn = { ..._SelectColumn, width: 42, maxWidth: 42 }; export default function Table() { const classes = useStyles(); @@ -48,7 +48,7 @@ export default function Table() { const { userDoc } = useAppContext(); const userDocHiddenFields = - userDoc.state.doc?.tables?.[formatSubTableName(tableState?.tablePath)] + userDoc.state.doc?.tables?.[formatSubTableName(tableState?.config.id)] ?.hiddenFields ?? []; const [columns, setColumns] = useState([]);