fix: show toggle unknown button while unknown column is shown
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { TaskStatus } from "@/model/taskStatus";
|
||||
import { filterDefaultHiddenStatuses } from "./filterDefaultHiddenStatuses";
|
||||
|
||||
describe("filterDefaultHiddenStatuses", () => {
|
||||
it("excludes unknown when no unknown tasks and column not shown", () => {
|
||||
const result = filterDefaultHiddenStatuses(false, []);
|
||||
expect(result).not.toContain(TaskStatus.UNKNOWN);
|
||||
});
|
||||
|
||||
it("includes unknown when unknown tasks exist", () => {
|
||||
const result = filterDefaultHiddenStatuses(true, []);
|
||||
expect(result).toContain(TaskStatus.UNKNOWN);
|
||||
});
|
||||
|
||||
it("includes unknown when column is shown even without unknown tasks", () => {
|
||||
const result = filterDefaultHiddenStatuses(false, [TaskStatus.UNKNOWN]);
|
||||
expect(result).toContain(TaskStatus.UNKNOWN);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
import {
|
||||
TaskStatus,
|
||||
TASK_STATUS_META,
|
||||
TASK_STATUS_ORDER,
|
||||
} from "@/model/taskStatus";
|
||||
|
||||
export function filterDefaultHiddenStatuses(
|
||||
hasUnknown: boolean,
|
||||
shownHiddenColumns: TaskStatus[],
|
||||
): TaskStatus[] {
|
||||
return TASK_STATUS_ORDER.filter(
|
||||
(s) =>
|
||||
TASK_STATUS_META[s].defaultHidden &&
|
||||
(s !== TaskStatus.UNKNOWN || hasUnknown || shownHiddenColumns.includes(TaskStatus.UNKNOWN)),
|
||||
);
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { listLocatedTasks } from "@/commands/listLocatedTasks";
|
||||
import { resolveTaskLocations } from "@/commands/resolveTaskLocations";
|
||||
import { appError, AppErrorVariant } from "@/error";
|
||||
import { buildKanbanBoard } from "@/kanban/buildKanbanBoard";
|
||||
import { filterDefaultHiddenStatuses } from "@/kanban/filterDefaultHiddenStatuses";
|
||||
import {
|
||||
parseKanbanInboundMessage,
|
||||
type KanbanInboundMessage,
|
||||
@@ -290,10 +291,9 @@ export class TaskKanbanPanel {
|
||||
board,
|
||||
scopeFilter: this.#scopeFilter,
|
||||
shownHiddenColumns: this.#shownHiddenColumns,
|
||||
defaultHiddenStatuses: TASK_STATUS_ORDER.filter(
|
||||
(s) =>
|
||||
TASK_STATUS_META[s].defaultHidden &&
|
||||
(s !== TaskStatus.UNKNOWN || hasUnknown),
|
||||
defaultHiddenStatuses: filterDefaultHiddenStatuses(
|
||||
hasUnknown,
|
||||
this.#shownHiddenColumns,
|
||||
),
|
||||
availableScopes: this.#availableScopes(),
|
||||
dangerStatuses: hasUnknown ? [TaskStatus.UNKNOWN] : [],
|
||||
|
||||
Reference in New Issue
Block a user