fix hidden fields & filters not working with multiple table views

This commit is contained in:
Sidney Alcantara
2021-11-01 15:50:27 +11:00
parent ae0adb8bfe
commit cfea4fde32
7 changed files with 14 additions and 13 deletions

View File

@@ -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
)}`

View File

@@ -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;

View File

@@ -39,15 +39,15 @@ export default function Filters() {
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(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 } },
},
});
};

View File

@@ -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 },
},
},
});

View File

@@ -64,7 +64,7 @@ export default function Export({ query, closeModal }) {
const [columns, setColumns] = useState<any[]>([]);
const [labelColumnsEnabled, setLabelColumnsEnabled] = useState(false);
const [labelColumns, setLabelColumns] = useState<any[]>([]);
const [packageName, setPackageName] = useState(tableState?.tablePath);
const [packageName, setPackageName] = useState(tableState?.config.id);
const handleClose = () => {
closeModal();

View File

@@ -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) =>

View File

@@ -38,7 +38,7 @@ export type TableColumn = Column<any> & {
};
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<TableColumn[]>([]);