payload-kanban-board
v3.0.24
Published
A kanban board plugin for Payload CMS
Maintainers
Readme
Payload kanban plugin
Note This plugin is currently under active development and still in an early stage. Check the roadmap below in this readme for more details / upcoming features.
Installation
The most recent version of payload-kanban-board currently only supports Payload 3.0 and up.
$ yarn add payload-kanban-board
$ npm i payload-kanban-boardTo use it on payload version < 3.0
$ yarn add [email protected]
$ npm i [email protected]Basic usage
import { payloadKanbanBoard } from 'payload-kanban-board';
const config = buildConfig({
collections: [ ... ],
plugins: [
payloadKanbanBoard({
collections: {
posts: {
enabled: true,
config: {
statuses: [
{
value: 'draft',
label: 'Draft',
},
{ value: 'in-progress', label: 'In Progress' },
{
value: 'ready-for-review',
label: 'Ready for review',
dropValidation: ({ user, data }) => {
return { dropAble: false }
//<dropValidation key is optional>
},
},
{ value: 'published', label: 'Published' },
],
defaultStatus: 'todo',
hideNoStatusColumn: true,
},
},
},
})
],
});To use it on payload version < 3.0
import { payloadKanbanBoard } from 'payload-kanban-board';
const config = buildConfig({
collections: [ ... ],
plugins: [
payloadKanbanBoard({
'my-collection-slug': {
statuses: [
{value: 'draft', label: 'Draft', dropValidation:({user,data})=>return true}, //<dropValidation key is optional>
{value: 'in-progress', label: 'In Progress'},
{value: 'ready-for-review', label: 'Ready for review'},
{value: 'published', label: 'Published'},
],
defaultStatus: 'draft',
hideNoStatusColumn: false,
fieldAccess:{
// <These fields are optional>
update:() => true,
create:() => false,
read:() => false,
},
fieldAdmin: {
// <These fields are optional>
hidden:true
// Any admin props for a normal field in payload cms
},
}
})
],
});Differences with the draft/publish system of Payload.
The kanban plugin introduces a new field called kanbanStatus. This field does not interact with the draft/publish
system of Payload.
You can "integrate" the kanban status with the draft/publish system of Payload yourself by using Payloads hooks.
For example: Automatically publish the document when the kanbanStatus has been changed to published.
- [x] Payload 2.0 support
- [x] Payload 3.0 support
- [ ] Customize card properties (currently displays
titleandcreatedAt) - [ ] Edit relationships directly from the card (e.g., assigning users to a document)
- [x] Toggleable column for posts without a kanban status (Currently, documents lacking
kanbanStatusaren't visible on the board) - [ ] Lazy loading of column contents when scrolling (Currently, board only shows
defaultLimitamount of cards) - [x] Validation for changing statuses
- [ ] Allowed transitions between statuses
- [ ] Integration with the draft/publish system of Payload (?)
