Skip to content

Latest commit

 

History

History
79 lines (64 loc) · 2.74 KB

README.md

File metadata and controls

79 lines (64 loc) · 2.74 KB

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.

Shows an image illustrating the payload-kanban-board plugin

Installation

The most recent version of payload-kanban-board currently only supports Payload 2.0 and up.

$ yarn add payload-kanban-board
$ npm i payload-kanban-board

Basic usage

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.

Roadmap

Upcoming Features / Ideas. Have a suggestion for the plugin? Feel free to open an issue or contribute!
  • Payload 2.0 support
  • Customize card properties (currently displays title and createdAt)
  • Edit relationships directly from the card (e.g., assigning users to a document)
  • Toggleable column for posts without a kanban status (Currently, documents lacking kanbanStatus aren't visible on the board)
  • Lazy loading of column contents when scrolling (Currently, board only shows defaultLimit amount of cards)
  • Validation for changing statuses
  • Allowed transitions between statuses
  • Integration with the draft/publish system of Payload (?)