Skip to content

Commit 3c67c95

Browse files
authored
Merge pull request #3025 from finos/fix-global-filter-regression
Fix global filter regression
2 parents ac47858 + c81458c commit 3c67c95

File tree

3 files changed

+55
-1
lines changed

3 files changed

+55
-1
lines changed

packages/perspective-viewer-datagrid/src/js/event_handlers/header_click.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ export async function mousedown_listener(regularTable, viewer, event) {
3131
}
3232

3333
event.preventDefault();
34-
event.stopImmediatePropagation();
3534
if (target.classList.contains("psp-tree-label")) {
3635
expandCollapseHandler.call(this, regularTable, event);
3736
return;

packages/perspective-workspace/test/js/global_filter.spec.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,61 @@ function tests(context, compare) {
7373
expect(cfg.viewers.Two.filter).toEqual([["State", "==", "Alabama"]]);
7474
return compare(page, `${context}-treemap-filters-work.txt`);
7575
});
76+
77+
test("Datagrid filters work", async ({ page }) => {
78+
const config = {
79+
viewers: {
80+
One: {
81+
table: "superstore",
82+
name: "Test",
83+
group_by: ["State"],
84+
columns: ["Sales"],
85+
plugin: "Datagrid",
86+
},
87+
Two: { table: "superstore", name: "One" },
88+
},
89+
master: {
90+
widgets: ["One"],
91+
},
92+
detail: {
93+
main: {
94+
currentIndex: 0,
95+
type: "tab-area",
96+
widgets: ["Two"],
97+
},
98+
},
99+
};
100+
101+
const cfg = await page.evaluate(async (config) => {
102+
const workspace = document.getElementById("workspace");
103+
await workspace.restore(config);
104+
await workspace.flush();
105+
const event = new Event("mousedown", { bubbles: true });
106+
event.which = 1;
107+
108+
document
109+
.querySelector(
110+
".workspace-master-widget perspective-viewer-datagrid"
111+
)
112+
.shadowRoot.querySelector(
113+
"tbody tr:nth-child(6) th:last-of-type"
114+
)
115+
.dispatchEvent(event);
116+
117+
let resolve;
118+
const timer = new Promise((x) => {
119+
resolve = x;
120+
});
121+
122+
workspace.addEventListener("workspace-layout-update", resolve);
123+
await timer;
124+
125+
return await workspace.save();
126+
}, config);
127+
128+
expect(cfg.viewers.Two.filter).toEqual([["State", "==", "Colorado"]]);
129+
return compare(page, `${context}-datagrid-filters-work.txt`);
130+
});
76131
}
77132

78133
test.describe("Workspace global filters", () => {
91 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)