From d889148e568893f8ae8ee9748d9ae99b844b3480 Mon Sep 17 00:00:00 2001 From: Gordon Date: Mon, 5 Apr 2021 23:55:14 +0100 Subject: [PATCH] Style updates, add more TODOs --- docs/styles.md | 7 +++- ext-src/KanbnTaskPanel.ts | 1 + src/TaskEditor.tsx | 67 ++++++++++++++++++++++++++++++++++++++- src/index.css | 16 ++++++---- 4 files changed, 83 insertions(+), 8 deletions(-) diff --git a/docs/styles.md b/docs/styles.md index cf948e4..d9b50b6 100644 --- a/docs/styles.md +++ b/docs/styles.md @@ -38,4 +38,9 @@ The kanbn board has a default style which is based on the current vscode theme, ### Task editor -- `// TODO add task editor classes` +- `div.kanbn-task-editor` + - `h1.kanbn-task-editor-title` + - `div.kanbn-task-editor-form` + - `div.kanbn-task-editor-column-left` + - `div.kanbn-task-editor-column-right` + - `// TODO finish class structure docs...` diff --git a/ext-src/KanbnTaskPanel.ts b/ext-src/KanbnTaskPanel.ts index 55e86ab..cddb050 100644 --- a/ext-src/KanbnTaskPanel.ts +++ b/ext-src/KanbnTaskPanel.ts @@ -146,6 +146,7 @@ export default class KanbnTaskPanel { // Delete a task case 'kanbn.delete': // TODO delete task + // TODO add yes/no confirmation buttons to information message, then delete task and close task panel vscode.window.showInformationMessage('delete task'); return; } diff --git a/src/TaskEditor.tsx b/src/TaskEditor.tsx index 2a89700..4e001ac 100644 --- a/src/TaskEditor.tsx +++ b/src/TaskEditor.tsx @@ -28,6 +28,19 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, vscode } }); }; + // Called when the delete task button is clicked + const handleRemoveTask = () => { + vscode.postMessage({ + command: 'kanbn.delete', + taskId: task!.id + }); + }; + + // TODO progress bar below progress input + // TODO auto-colour tags while typing + // TODO comments + // TODO make sure all buttons have title attributes, maybe remove labels from array delete buttons? + return (

{editing ? 'Update task' : 'Create new task'}

@@ -50,6 +63,10 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, vscode } }} validate={values => { const errors: { name?: string } = {}; + + // TODO validation + + // Task name cannot be empty if (!values.name) { errors.name = 'Task name is required.'; } @@ -80,7 +97,7 @@ const TaskEditor = ({ task, tasks, columnName, columnNames, dateFormat, vscode } isSubmitting }) => (
-
+
+
+ + + {({ insert, remove, push }) => ( +
+ {( + 'tags' in values.metadata && + values.metadata.tags!.length > 0 + ) && values.metadata.tags!.map((tag, index) => ( +
+
+ + +
+
+ +
+
+ ))} +
+ +
+
+ )} +
+
diff --git a/src/index.css b/src/index.css index 4e78a6b..9950fe5 100644 --- a/src/index.css +++ b/src/index.css @@ -174,32 +174,32 @@ body { border-radius: 4px; } -.kanbn-task-tag-Nothing { +.kanbn-task-tag-nothing { background-color: #6bf; color: #333; } -.kanbn-task-tag-Tiny { +.kanbn-task-tag-tiny { background-color: #36d; color: #333; } -.kanbn-task-tag-Small { +.kanbn-task-tag-small { background-color: #194; color: #333; } -.kanbn-task-tag-Medium { +.kanbn-task-tag-medium { background-color: #eb1; color: #333; } -.kanbn-task-tag-Large { +.kanbn-task-tag-large { background-color: #e83; color: #333; } -.kanbn-task-tag-Huge { +.kanbn-task-tag-huge { background-color: #f42; color: #333; } @@ -220,6 +220,10 @@ body { border-bottom: 1px var(--vscode-activityBar-inactiveForeground) solid; } +.kanbn-task-editor-form { + display: flex; +} + .kanbn-task-editor-field .kanbn-task-editor-title { font-size: 1.1em; padding: 0.5em 0;