formview - filtering by expanded columns

This commit is contained in:
Jan Prochazka
2021-01-24 08:37:32 +01:00
parent df74dd114b
commit ac59665be4
2 changed files with 10 additions and 6 deletions

View File

@@ -41,6 +41,9 @@ export class FormViewDisplay {
...cfg.filters, ...cfg.filters,
[column.uniqueName]: expr, [column.uniqueName]: expr,
}, },
addedColumns: cfg.addedColumns.includes(column.uniqueName)
? cfg.addedColumns
: [...cfg.addedColumns, column.uniqueName],
})); }));
} }
} }

View File

@@ -86,17 +86,18 @@ export default function FormViewFilters(props) {
{baseTable.primaryKey.columns.map(col => ( {baseTable.primaryKey.columns.map(col => (
<PrimaryKeyFilterEditor key={col.columnName} baseTable={baseTable} column={col} formDisplay={formDisplay} /> <PrimaryKeyFilterEditor key={col.columnName} baseTable={baseTable} column={col} formDisplay={formDisplay} />
))} ))}
{allFilterNames.map(columnName => { {allFilterNames.map(uniqueName => {
const column = baseTable.columns.find(x => x.columnName == columnName); const column = formDisplay.columns.find(x => x.uniqueName == uniqueName)
// const column = baseTable.columns.find(x => x.columnName == columnName);
if (!column) return null; if (!column) return null;
return ( return (
<ColumnWrapper key={columnName}> <ColumnWrapper key={uniqueName}>
<ColumnNameWrapper> <ColumnNameWrapper>
<ColumnLabel {...column} /> <ColumnLabel {...column} />
<InlineButton <InlineButton
square square
onClick={() => { onClick={() => {
formDisplay.removeFilter(column.columnName); formDisplay.removeFilter(column.uniqueName);
}} }}
> >
<FontIcon icon="icon delete" /> <FontIcon icon="icon delete" />
@@ -104,8 +105,8 @@ export default function FormViewFilters(props) {
</ColumnNameWrapper> </ColumnNameWrapper>
<DataFilterControl <DataFilterControl
filterType={getFilterType(column.dataType)} filterType={getFilterType(column.dataType)}
filter={filters[column.columnName]} filter={filters[column.uniqueName]}
setFilter={value => formDisplay.setFilter(column.columnName, value)} setFilter={value => formDisplay.setFilter(column.uniqueName, value)}
/> />
</ColumnWrapper> </ColumnWrapper>
); );