diff --git a/packages/datalib/src/GridConfig.ts b/packages/datalib/src/GridConfig.ts
index f0f2d96e9..ff94e31e5 100644
--- a/packages/datalib/src/GridConfig.ts
+++ b/packages/datalib/src/GridConfig.ts
@@ -33,6 +33,7 @@ export interface GridConfig extends GridConfigColumns {
formViewKey?: { [uniqueName: string]: string };
formViewKeyRequested?: { [uniqueName: string]: string };
formFilterColumns: string[];
+ formColumnFilterText?: string;
}
export interface GridCache {
diff --git a/packages/web/src/formview/FormView.svelte b/packages/web/src/formview/FormView.svelte
index 79de2c0ef..ff7ce8103 100644
--- a/packages/web/src/formview/FormView.svelte
+++ b/packages/web/src/formview/FormView.svelte
@@ -152,9 +152,12 @@
function isDataCell(cell) {
return cell[1] % 2 == 1;
}
+
@@ -594,4 +615,5 @@
right: 40px;
bottom: 20px;
}
+
diff --git a/packages/web/src/formview/FormViewFilters.svelte b/packages/web/src/formview/FormViewFilters.svelte
index 37795bcb5..217868f84 100644
--- a/packages/web/src/formview/FormViewFilters.svelte
+++ b/packages/web/src/formview/FormViewFilters.svelte
@@ -2,19 +2,46 @@
import _ from 'lodash';
import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte';
+import keycodes from '../utility/keycodes';
import FormViewFilterColumn from './FormViewFilterColumn.svelte';
import PrimaryKeyFilterEditor from './PrimaryKeyFilterEditor.svelte';
export let managerSize;
export let formDisplay;
+ export let setConfig;
$: baseTable = formDisplay?.baseTable;
$: formFilterColumns = formDisplay?.config?.formFilterColumns;
$: filters = formDisplay?.config?.filters;
$: allFilterNames = _.union(_.keys(filters || {}), formFilterColumns || []);
+
+
+
Column filter
+
+ {
+ if (e.keyCode == keycodes.escape) {
+ setConfig(x => ({
+ ...x,
+ formColumnFilterText: '',
+ }));
+ }
+ }}
+ on:input={e =>
+ setConfig(x => ({
+ ...x,
+ // @ts-ignore
+ formColumnFilterText: e.target.value,
+ }))}
+ />
+
+
+
{#if baseTable?.primaryKey}
{#each baseTable.primaryKey.columns as col}