From 84e10c56d083ba8e4a3a99e3e74ffd5c5e719090 Mon Sep 17 00:00:00 2001 From: Gordon Date: Thu, 8 Apr 2021 00:14:58 +0100 Subject: [PATCH] Allow columns to be hidden --- ext-src/KanbnBoardPanel.ts | 1 + src/App.tsx | 3 +++ src/Board.tsx | 6 +++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ext-src/KanbnBoardPanel.ts b/ext-src/KanbnBoardPanel.ts index 554e89f..7e6e5d1 100644 --- a/ext-src/KanbnBoardPanel.ts +++ b/ext-src/KanbnBoardPanel.ts @@ -55,6 +55,7 @@ export default class KanbnBoardPanel { type: 'index', index, tasks, + hiddenColumns: index.options.hiddenColumns ?? [], startedColumns: index.options.startedColumns ?? [], completedColumns: index.options.completedColumns ?? [], dateFormat: KanbnBoardPanel.currentPanel._kanbn.getDateFormat(index) diff --git a/src/App.tsx b/src/App.tsx index ff9a352..7126118 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -13,6 +13,7 @@ function App() { const [name, setName] = useState(''); const [description, setDescription] = useState(''); const [columns, setColumns] = useState({}); + const [hiddenColumns, setHiddenColumns] = useState([]); const [startedColumns, setStartedColumns] = useState([]); const [completedColumns, setCompletedColumns] = useState([]); const [dateFormat, setDateFormat] = useState(''); @@ -34,6 +35,7 @@ function App() { Object.values(event.data.index.columns).map(column => (column as string[]).map(taskId => tasks[taskId])) ) )); + setHiddenColumns(event.data.hiddenColumns); setStartedColumns(event.data.startedColumns); setCompletedColumns(event.data.completedColumns); break; @@ -58,6 +60,7 @@ function App() { name={name} description={description} columns={columns} + hiddenColumns={hiddenColumns} startedColumns={startedColumns} completedColumns={completedColumns} dateFormat={dateFormat} diff --git a/src/Board.tsx b/src/Board.tsx index f775ea7..56e4675 100644 --- a/src/Board.tsx +++ b/src/Board.tsx @@ -128,10 +128,11 @@ const filterTask = (task: KanbnTask, taskFilter: string) => { return result; }; -const Board = ({ name, description, columns, startedColumns, completedColumns, dateFormat, vscode }: { +const Board = ({ name, description, columns, hiddenColumns, startedColumns, completedColumns, dateFormat, vscode }: { name: string, description: string, columns: Record, + hiddenColumns: string[], startedColumns: string[], completedColumns: string[], dateFormat: string, @@ -176,6 +177,9 @@ const Board = ({ name, description, columns, startedColumns, completedColumns, d onDragEnd={result => onDragEnd(result, columns, setColumns, vscode)} > {Object.entries(columns).map(([columnName, column]) => { + if (hiddenColumns.indexOf(columnName) !== -1) { + return false; + } return (