diff --git a/packages/datalib/src/PerspectiveConfig.ts b/packages/datalib/src/PerspectiveConfig.ts
index a3e836d0f..bf7d2eea8 100644
--- a/packages/datalib/src/PerspectiveConfig.ts
+++ b/packages/datalib/src/PerspectiveConfig.ts
@@ -17,8 +17,14 @@ export interface PerspectiveCustomJoinConfig {
refColumnName: string;
}[];
}
+
+export interface PerspectiveFilterColumnInfo {
+ columnName: string;
+ filterType: string;
+}
export interface PerspectiveConfig extends PerspectiveConfigColumns {
filters: { [uniqueName: string]: string };
+ filterInfos: { [uniqueName: string]: PerspectiveFilterColumnInfo };
sort: {
[parentUniqueName: string]: {
uniqueName: string;
@@ -35,6 +41,7 @@ export function createPerspectiveConfig(): PerspectiveConfig {
uncheckedColumns: [],
customJoins: [],
filters: {},
+ filterInfos: {},
sort: {},
};
}
diff --git a/packages/datalib/src/PerspectiveTreeNode.ts b/packages/datalib/src/PerspectiveTreeNode.ts
index 70e9ca0b5..7a463ed4a 100644
--- a/packages/datalib/src/PerspectiveTreeNode.ts
+++ b/packages/datalib/src/PerspectiveTreeNode.ts
@@ -160,6 +160,13 @@ export abstract class PerspectiveTreeNode {
...cfg.filters,
[this.uniqueName]: value,
},
+ filterInfos: {
+ ...cfg.filterInfos,
+ [this.uniqueName]: {
+ columnName: this.columnName,
+ filterType: this.filterType,
+ },
+ },
}),
true
);
diff --git a/packages/web/src/perspectives/PerspectiveFilters.svelte b/packages/web/src/perspectives/PerspectiveFilters.svelte
new file mode 100644
index 000000000..9b02568b2
--- /dev/null
+++ b/packages/web/src/perspectives/PerspectiveFilters.svelte
@@ -0,0 +1,39 @@
+
+
+