fix: reset filter button works now
This commit is contained in:
@@ -15,6 +15,7 @@ const state = {
|
|||||||
status: clone(bootstrap.status),
|
status: clone(bootstrap.status),
|
||||||
projects: normalizeProjects(bootstrap.projects),
|
projects: normalizeProjects(bootstrap.projects),
|
||||||
sidebarContent: clone(bootstrap.content.sidebar),
|
sidebarContent: clone(bootstrap.content.sidebar),
|
||||||
|
sidebarFilterSeeds: clone(bootstrap.content.sidebar),
|
||||||
sidebarFilters: hydrateSidebarFilters(bootstrap.content.sidebar),
|
sidebarFilters: hydrateSidebarFilters(bootstrap.content.sidebar),
|
||||||
projectMenuOpen: false,
|
projectMenuOpen: false,
|
||||||
taskStatus: normalizeTaskStatus(bootstrap.task_status),
|
taskStatus: normalizeTaskStatus(bootstrap.task_status),
|
||||||
@@ -569,9 +570,13 @@ function defaultSidebarFilterState(viewId, data) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sidebarFilterSeed(viewId) {
|
||||||
|
return state.sidebarFilterSeeds[viewId] || state.sidebarContent[viewId] || null;
|
||||||
|
}
|
||||||
|
|
||||||
function currentSidebarFilterState(viewId) {
|
function currentSidebarFilterState(viewId) {
|
||||||
if (!state.sidebarFilters[viewId]) {
|
if (!state.sidebarFilters[viewId]) {
|
||||||
state.sidebarFilters[viewId] = defaultSidebarFilterState(viewId, state.sidebarContent[viewId]);
|
state.sidebarFilters[viewId] = defaultSidebarFilterState(viewId, sidebarFilterSeed(viewId));
|
||||||
}
|
}
|
||||||
|
|
||||||
return state.sidebarFilters[viewId];
|
return state.sidebarFilters[viewId];
|
||||||
@@ -1219,7 +1224,7 @@ function bindEvents() {
|
|||||||
const viewId = button.dataset.sidebarClearFilters;
|
const viewId = button.dataset.sidebarClearFilters;
|
||||||
const existing = currentSidebarFilterState(viewId);
|
const existing = currentSidebarFilterState(viewId);
|
||||||
state.sidebarFilters[viewId] = {
|
state.sidebarFilters[viewId] = {
|
||||||
...defaultSidebarFilterState(viewId, state.sidebarContent[viewId]),
|
...defaultSidebarFilterState(viewId, sidebarFilterSeed(viewId)),
|
||||||
showFilters: existing.showFilters,
|
showFilters: existing.showFilters,
|
||||||
archiveCollapsed: existing.archiveCollapsed,
|
archiveCollapsed: existing.archiveCollapsed,
|
||||||
tagsCollapsed: existing.tagsCollapsed,
|
tagsCollapsed: existing.tagsCollapsed,
|
||||||
|
|||||||
@@ -207,6 +207,15 @@ defmodule BDS.UI.ShellTest do
|
|||||||
assert css =~ ".filter-status"
|
assert css =~ ".filter-status"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "clearing sidebar filters resets from the baseline seed instead of the filtered payload" do
|
||||||
|
js = File.read!("/Users/gb/Projects/bDS2/priv/ui/app.js")
|
||||||
|
|
||||||
|
assert js =~ "sidebarFilterSeeds"
|
||||||
|
assert js =~ "function sidebarFilterSeed(viewId)"
|
||||||
|
assert js =~ "defaultSidebarFilterState(viewId, sidebarFilterSeed(viewId))"
|
||||||
|
refute js =~ "defaultSidebarFilterState(viewId, state.sidebarContent[viewId])"
|
||||||
|
end
|
||||||
|
|
||||||
test "static shell bundle exists for direct browser inspection" do
|
test "static shell bundle exists for direct browser inspection" do
|
||||||
assert File.exists?("/Users/gb/Projects/bDS2/priv/ui/index.html")
|
assert File.exists?("/Users/gb/Projects/bDS2/priv/ui/index.html")
|
||||||
assert File.exists?("/Users/gb/Projects/bDS2/priv/ui/app.css")
|
assert File.exists?("/Users/gb/Projects/bDS2/priv/ui/app.css")
|
||||||
|
|||||||
Reference in New Issue
Block a user