Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for multiple boards per workspace #22

Open
wants to merge 98 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
baf255b
Use updated npm version.
samgiz Nov 20, 2022
0c7a041
Make extension work with updated kanbn API.
samgiz Nov 20, 2022
4fb18cf
Pass directory to Kanbn class instead of changing process directory.
samgiz Nov 20, 2022
a68d714
Update launch.json
samgiz Nov 21, 2022
94f3eef
Update kanbn dependency commit.
samgiz Nov 21, 2022
2d774c7
Initial implementation for using multiple Kanbn boards.
samgiz Nov 21, 2022
e69ad3a
Fix boards not updating when new tasks get added.
samgiz Nov 27, 2022
8f9fe45
Allow for multiple boards to be opened simultaneously.
samgiz Nov 27, 2022
c68738e
Add eslint configuration and fixup linting issues.
samgiz Nov 28, 2022
e53671d
Update README.md.
samgiz Nov 28, 2022
5216b95
Remove superfluous settings.json options.
samgiz Nov 28, 2022
b5f972f
Big refactor and dependency update.
samgiz Dec 30, 2022
9f2d1e2
Fix all linter issues in Board.tsx.
samgiz Dec 31, 2022
8398201
Remove stray console.log statements.
samgiz Dec 31, 2022
de630b9
Fix all linter issues in Burndown.tsx.
samgiz Dec 31, 2022
e78608b
Fix linter issues in TaskEditor.tsx.
samgiz Dec 31, 2022
8cc2295
Fix linter errors in TaskItem.tsx.
samgiz Dec 31, 2022
fe4b0df
Fix linter issues in KanbnTaskPanel.ts.
samgiz Dec 31, 2022
a4b57c2
Fix linter issues in KanbnBurndownPanel.ts.
samgiz Dec 31, 2022
f4226af
Fix linter issues in KanbnBoardPanel.ts.
samgiz Dec 31, 2022
9addb16
Fix linter issues in extension.ts.
samgiz Dec 31, 2022
ae311c5
Fixup mistakes that disallowed saving tasks.
samgiz Jan 1, 2023
142d2af
Make KanbnTaskPanel.panel a map.
samgiz Jan 1, 2023
435b4e6
Merge pull request #1 from samgiz/allow_multiple_boards
samgiz Jan 1, 2023
482b955
Cleanup KanbnTaskPanel to not use a singleton static list of panels.
samgiz Feb 5, 2023
2d7c36b
Make use of vscode.setState/getState.
samgiz Feb 12, 2023
5b9e1df
Merge pull request #2 from samgiz/cleanup
samgiz Feb 12, 2023
5a3aaee
Rename .kanbnBoards -> .kanbn_boards to make it clearer to read.
samgiz Feb 12, 2023
e8e0b23
Make sure webviews only get rerendered once per call to update.
samgiz Feb 12, 2023
d20571c
Add configuration options for more board locations.
samgiz Feb 12, 2023
106c800
Update panel when it is shown after being hidden.
samgiz Feb 12, 2023
b1ade53
Make sure to update taskCache when updating a task.
samgiz Feb 12, 2023
e250034
Fix small bug with updating taskCache on task's name change.
samgiz Feb 12, 2023
e668111
Remove stray console.log statements.
samgiz Feb 12, 2023
3368ff4
Make use of the new React API in index.tsx.
samgiz Feb 13, 2023
e88c8f1
Make the vscode API globally accessible without the need to pass it t…
samgiz Feb 13, 2023
362e20f
Move state management into Board from App, and start rendering Board …
samgiz Feb 13, 2023
940f302
Move state management into Burndown from App, and start rendering Bur…
samgiz Feb 15, 2023
f0cea99
Moving state handling code from App.tsx to TaskEditor.tsx.
samgiz Feb 17, 2023
e4a9b3c
Fix kanbn option names.
samgiz Feb 17, 2023
3eef0ad
Update board cache whenever config changes, as more or less board mig…
samgiz Feb 17, 2023
9928580
Merge pull request #3 from samgiz/more_board_locations
samgiz Feb 17, 2023
7969c15
Update license to include my contribution.
samgiz Feb 23, 2023
04722d6
Update package.json to list samgiz as the publisher.
samgiz Feb 23, 2023
df878d7
Update version and changelog.
samgiz Feb 23, 2023
b4a05fc
Remove svg files from README so I can publish the extension.
samgiz Feb 23, 2023
96a445a
Updated name and displayName as these need to be unique for each exte…
samgiz Feb 23, 2023
91cac69
Add sentence that this is a fork of the original.
samgiz Feb 23, 2023
e0533df
Disable other extensions launch.json.
samgiz Feb 23, 2023
bf5014d
Fix bug with editing task titles.
samgiz Feb 23, 2023
0cbff04
Remove unnecessary paneluuid argument from KanbnTaskPanel and TaskEdi…
samgiz Feb 23, 2023
e5fab0d
Replaced all React.Fragment tags with <>.
samgiz Feb 23, 2023
077fd94
Create new patch.
samgiz Mar 4, 2023
e40bb45
Starting to replace formik with react-hook-form.
samgiz Mar 1, 2023
914c742
Readd validation to form.
samgiz Mar 18, 2023
91e28be
Add most of the setup needed to have react-hook-form.
samgiz Mar 31, 2023
415c9d0
Uninstall formik from the project.
samgiz Mar 31, 2023
d5c5f46
Reintroduce markdown rendering of certain elements.
samgiz Apr 1, 2023
218405c
Add types to form.
samgiz Apr 1, 2023
2e44ccc
TaskEditor now fetches values from the extension process.
samgiz Apr 5, 2023
d5d46ec
Make TaskEditor remember user changes even when the panel is hidden.
samgiz Apr 6, 2023
e63bbab
Merge pull request #6 from samgiz/replace_formik
samgiz Apr 6, 2023
9d67ac1
Cleanup logging statements and useless function calls.
samgiz Apr 6, 2023
cc41294
Rename kanbn.board to kanbn.openBoard in KanbnStatusBarItem.ts.
samgiz Apr 6, 2023
5861259
Fix saving / archiving / deleting tasks.
samgiz Apr 8, 2023
1260c12
Line up minimum description field size when editing and showing markd…
samgiz Apr 8, 2023
5690a60
Add more specific types where that is possible.
samgiz Apr 8, 2023
ec39c74
Fix issues with saving dates and add indication that the first field …
samgiz Apr 8, 2023
9120e1c
Merge pull request #7 from samgiz/fix-5
samgiz Apr 8, 2023
d885038
Update Readme and Changelog, and bump version number.
samgiz Apr 8, 2023
e27fb87
A number of fixes for the task editor.
samgiz Apr 17, 2023
7bcbbe0
Merge pull request #11 from samgiz/task_editor_fixes
samgiz Apr 17, 2023
aaf8faa
Fix issue with not recognising loading board.css files.
samgiz Apr 26, 2023
73480b5
Update changelog.
samgiz Apr 26, 2023
52e9e20
Merge pull request #13 from samgiz/board.css
samgiz Apr 26, 2023
3786e2a
Show task counters at the top of a column.
samgiz Apr 26, 2023
7a52972
Update changelog.
samgiz Apr 26, 2023
5d14c9f
Merge pull request #14 from samgiz/task_counter
samgiz Apr 26, 2023
aa0c308
Fix issue with progress value.
samgiz Apr 26, 2023
1435858
Edit changelog.
samgiz Apr 26, 2023
e704324
Merge pull request #15 from samgiz/progress_fix
samgiz Apr 26, 2023
66c0761
Create FUNDING.yml
samgiz Apr 26, 2023
d923e9b
Bump extension version.
samgiz Apr 26, 2023
4e7c7bc
Merge pull request #16 from samgiz/bump_version
samgiz Apr 26, 2023
2dafab3
Adds command to open task
Jun 21, 2024
4f72f92
Sort open task quick pick by columns
Jun 21, 2024
c1a1907
Fix eslint complaints.
samgiz Jun 23, 2024
8bb3561
Merge pull request #23 from baflo/main
samgiz Jun 23, 2024
24b274c
Fix eslint configuration in .vscode/settings.json.
samgiz Jun 23, 2024
457f824
Allow using boards without opening workspaces with kanbn boards.
samgiz Jun 23, 2024
07ad637
Update version and changelog.
samgiz Jun 23, 2024
6e49012
Merge pull request #24 from samgiz/cleanup
samgiz Jun 23, 2024
3f7e217
Ran npx update-browserslist-db@latest as that was recommended by vsce
samgiz Jun 23, 2024
66227fb
Fix button style when user is in light theme
qinjialei24 Jun 29, 2024
777c0f7
Merge pull request #25 from qinjialei24/main
samgiz Jun 29, 2024
566f55d
Publish new version.
samgiz Jul 6, 2024
45c076f
Init panel title equally for new task and reopened task
baflo Jul 9, 2024
71e6b39
Merge pull request #26 from baflo/main
samgiz Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:react/recommended",
"standard-with-typescript"
],
"overrides": [
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module",
"project": ["tsconfig.json"]
},
"plugins": [
"react"
],
"rules": {
}
}
13 changes: 13 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# These are supported funding model platforms

github: [samgiz] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v16.18.0
49 changes: 32 additions & 17 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceRoot}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/out/src/**/*.js"
]
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--disable-extensions"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
],
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
7 changes: 6 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,10 @@
},
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
"typescript.tsc.autoDetect": "off",
"todo-tree.tree.scanMode": "workspace only" // Turn off tsc task auto detection since we have the necessary task as npm scripts
"eslint.validate": [
"typescript",
"typescriptreact"
],
"editor.formatOnSave": true,
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
}
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
# 0.14.1

Fix to the colour scheme of butttons on light themes: [#25](https://github.com/samgiz/vscode-kanbn/pull/25).

# 0.14.0

* New `Open Task` command to open an existing task to edit.
* All commands now allow selecting a board even if no workspaces are open, when there are global boards configured through `Additional Boards` in User settings.

# 0.13.2

* Fixed issue with custom `board.css` not being loaded by the extension. The custom styles should now work in all panels.
* Added task counters to the top of all columns. This used to be a feature in the past and I had accidentally removed it.
* Fix a bug where a task wouldn't save if it had a progress value set.

# 0.13.1

* Fixed a few of issues with mapping between the extension server and task editor panel that disallowed saving a task that had tags, subtasks or custom fields.
* Fixed a name validation issue that didn't allow saving tasks unless the task name had changed.
* Fixed rendering of dates in the task editor.
* Fixed small rendering issues of custom fields in the board panel.

# 0.13.0

A number of changes to the task editor:
* Editor state is now saved even when the editor is hidden, and restored once the editor is shown again. Previously hiding an editor would discard any user changes to the task being edited if it wasn't saved.
* A revamp to markdown components in the task editor: `Edit` buttons are no more. Instead simply click on the text area to enter editing mode; click away to see the resulting markdown.
* Moved away from `Formik` to `react-hook-form`, which should result in a small performance improvement.
* Some other small visual changes.

Other changes:
* Fixed functionality of the kanbn status bar item. Clicking on it used to throw an error, now it shows a choice of boards to open (same as the Open Board command from the command palette).

# 0.12.1

* Fixed an issue with not being able to update titles more than one letter at a time when writing titles.

# 0.12.0

* Added support for multiple boards. New boards are stored under `.kanbn_boards/<board_name>/.kanbn`, though the legacy location `.kanbn` is still supported. Use the new `createBoard` and `openBoard` commands to choose which board you want to open at any given point, or even open all of them at once!
* Added user and workspace options called `additionalBoards` that allow specifying non-standard board locations to be accessible from a workspace or globally.
* The extension webview panels now take up much less memory when hidden.
* Updated most of the dependencies.

# 0.11.0

* KaTeX support in task markdown (description and comments) using `$$...$$` for blocks and `$...$` for inline
Expand Down
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2021 Gordon Larrigan
Copyright (c) 2023 Zigmas Bitinas

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Kanbn Extension for Visual Studio Code

![Marketplace version](https://vsmarketplacebadge.apphb.com/version-short/gordonlarrigan.vscode-kanbn.svg?color=lightblue) ![Marketplace installs](https://vsmarketplacebadge.apphb.com/installs-short/gordonlarrigan.vscode-kanbn.svg?color=lightblue) ![Marketplace rating](https://vsmarketplacebadge.apphb.com/rating-short/gordonlarrigan.vscode-kanbn.svg?color=lightblue) [![MIT License](https://img.shields.io/github/license/basementuniverse/vscode-kanbn?color=orange)](https://opensource.org/licenses/MIT)
[![MIT License](https://img.shields.io/github/license/basementuniverse/vscode-kanbn?color=orange)](https://opensource.org/licenses/MIT)

This extension adds a [Kanbn](https://www.npmjs.com/package/@basementuniverse/kanbn)-powered kanban board to Visual Studio Code.

This extension is a fork of the original [Kanbn Extension](https://github.com/basementuniverse/vscode-kanbn). Some documentation may be out of date. Please report any issues through [GitHub](https://github.com/samgiz/vscode-kanbn/issues/new).

![Kanbn](docs/preview.gif "Kanbn")

## What is Kanbn?
Expand Down Expand Up @@ -36,8 +38,8 @@ You can also modify the index or task files directly, or by using Kanbn CLI comm

The following commands are available:

- `Kanbn: Initialise Kanbn` will initialise Kanbn in the open workspace.
- `Kanbn: Open board` will open open the Kanbn board.
- `Kanbn: Create board` will create a Kanbn board in the current workspace.
- `Kanbn: Open board` will open open a Kanbn board.
- `Kanbn: Open burndown chart` will open a burndown chart.
- `Kanbn: Add task` will open the task editor.
- `Kanbn: Archive tasks` will send tasks to the archive.
Expand Down
Loading