From 1d3304a756c5a567268595a73f205884bab6ac57 Mon Sep 17 00:00:00 2001 From: Josh Hawkins Date: Wed, 20 Mar 2019 10:40:06 -0400 Subject: [PATCH] Ensure that filter column stays active when filtering --- packages/perspective-viewer/src/js/viewer/dragdrop.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/perspective-viewer/src/js/viewer/dragdrop.js b/packages/perspective-viewer/src/js/viewer/dragdrop.js index e07877033c..491fdf1fcf 100644 --- a/packages/perspective-viewer/src/js/viewer/dragdrop.js +++ b/packages/perspective-viewer/src/js/viewer/dragdrop.js @@ -59,7 +59,9 @@ export function drop(ev) { if (data_index !== -1) { columns.splice(data_index, 1); } - if (name.indexOf("filter") > -1) { + + const filtering = name.indexOf("filter") > -1; + if (filtering) { this.setAttribute(name, JSON.stringify(columns.concat([data]))); } else if (name.indexOf("sort") > -1) { this.setAttribute(name, JSON.stringify(columns.concat([[data[0]]]))); @@ -68,7 +70,7 @@ export function drop(ev) { } // Deselect the dropped column - if (this._plugin.deselectMode === "pivots" && this._get_visible_column_count() > 1 && name !== "sort" && name !== "filter") { + if (this._plugin.deselectMode === "pivots" && this._get_visible_column_count() > 1 && name !== "sort" && !filtering) { for (let x of this.shadowRoot.querySelectorAll("#active_columns perspective-row")) { if (x.getAttribute("name") === data[0]) { this._active_columns.removeChild(x);