A kanban board for effective organization of team work..

Webix Kanban Board is highly customizable and can be adjusted to your needs with ease. Due to its rich API, the widget allows creating Kanban boards of various structure and complexity, adding, editing, filtering tasks, tuning their appearance, assigning tasks to the team members, etc.

Check Kanban Board documentation for more information.


var kanban = webix.ui({
        { header:"Backlog",
            body:{ view:"kanbanlist", status:"new" }
        { header:"In Progress",
            body:{ view:"kanbanlist", status:"work" }
        { header:"Done",
            body:{ view:"kanbanlist", status:"done" }
    url: "tasks.php"

Where to start

add adds an item to the store
addView adds a new view to a layout-like widget or moves an existing one
adjust adjusts the component to the size of the parent HTML container
attachEvent attaches the handler to an inner event of the component
bind binds components
blockEvent temporarily blocks triggering of ALL events of the calling object
callEvent calls an inner event
clearAll removes all items from the component
copy creates a copy of a card and places the copy below the original
count returns the number of currently visible items
define redefines a single configuration property (or a object with properties)
destructor destructs the calling object
detachEvent detaches a handler from an event (which was attached before by the attachEvent method)
disable disables the calling view (makes it dimmed and unclickable)
eachList iterates over all lists in Kanban and calls a function for them
enable enables the calling view that was disabled by the 'disable' method
exists checks whether an item with the specified ID exists
filter filters the component
find returns all rows that match the criterion, or only the first one
getChildViews returns child views of the calling component
getColors returns the set of colored states defined for Kanban cards
getComments returns the view object of the Kanban comments popup
getEditor returns the view object of the Kanban card editor
getFirstId returns the ID of the first item
getFormView returns master form for the input
getIdByIndex returns the ID of the item with the specified index
getIndexById returns the index of the item with the specified ID
getItem gets the object of the data item with the specified ID
getLastId returns the ID of the last item
getMenu returns a view object of the context menu of a Kanban card
getNextId returns the ID of an item that is after the specified item, either directly after or after a number of items (defined by the step)
getNode returns the main HTML container for the calling object
getOwnerList returns Kanbanlist view that displays an item
getParentView returns the parent view of the component
getPrevId returns the ID of an item that is before the specified item, either directly before or before a number of items (defined by the step)
getSelectedId returns the id of the selected task
getStatuses returns a copy of the statuses array
getTags returns a collection of all tags of a Kanban board
getTopParentView returns the top parent view
getUserList returns the view object of the user list
getUsers returns a collection of users
hasEvent checks whether the component has the specified event handler
hide hides the view
index returns the cell index in the layout collection
isEnabled checks whether the view is enabled
isVisible checks whether the view is visible
load loads data from an external data source
loadNext sends a request to load the specified number of records to the end of the client-side dataset or to the specified position
mapEvent routes events from one object to another
parse loads data to the component from an inline data source
queryView returns inner element/elements of a widget that correspond(s) to the defined parameters
reconstruct rebuilds the layout
refresh repaints the whole view or a certain item
remove removes the specified item/items from datastore
removeView removes the specified view of a layout-like component
resize adjusts the view to a new size
resizeChildren resizes all children of the called component
restore restores the saved state of a layout
select selects the specified task
serialize serializes the current layout state to a JSON object
show makes the component visible
showBatch makes visible those elements, the parameter 'batch' of which is set to the specified name
showEditor opens the editor to change the card details or add a new card
sort sorts datastore
sync allows syncing two copies of data (all or just a part of it) from one DataCollection to another
unbind breaks "bind" link
unblockEvent cancels events blocking that was enabled by the 'blockEvent' command
updateItem updates the data item with new properties
waitSave allows to catch the moment when a data operation was saved to the server
onAfterAdd fires after adding an item to the datastore
onAfterCollapse fires after an item collapses in the accordion
onAfterCopy fires after a card has been copied
onAfterDelete fires after an item is removed
onAfterEditorShow fires after the editor is opened
onAfterExpand fires after an item expands in the accordion
onAfterLoad fires after data loading is complete
onAfterSort fires after sorting dataset
onAfterStatusChange fires after an item has been dropped into the list with a different status
onAvatarClick fires on clicking an avatar in the item
onBeforeAdd fires before adding an item to the datastore
onBeforeCopy fires before a card is copied
onBeforeDelete fires before an item is removed
onBeforeEditorAction fires when the user clicks Save/Remove buttons in the Kanban editor
onBeforeEditorShow fires before the Kanban editor is opened
onBeforeLoad fires immediately before data loading has started
onBeforeSort fires before sorting of the dataset
onBeforeStatusChange fires before an item is going to be dropped into the list with a different status
onBindRequest fires when the component is ready to receive data from the master component
onDataRequest fires when data from the server is requested for linear data structures (List, DataTable, DataView etc.) to implement dynamic data loading
onDataUpdate fires when a data item is being updated
onDestruct occurs when component destroyed
onListAfterContextMenu fires after the context menu was called in the item area
onListAfterDrop fires after drag-n-drop has finished
onListAfterSelect fires after an item has been selected
onListBeforeContextMenu fires on an item right click, before the native context menu is displayed
onListBeforeDrag fires before the mouse button is pressed and the cursor is moved over a draggable item
onListBeforeDragIn fires before a dragged element is moved over the droppable list
onListBeforeDrop fires before a dragged element is released over the droppable list
onListBeforeSelect fires before an item selection started
onListDragOut fires when a dragged element is moved outside of the droppable list
onListIconClick fires on clicking any icon in the list item
onListItemClick fires on an item click
onListItemDblClick fires when an item has been double-clicked
onLoadError fires when an error occurs during data loading (invalid server side response)
onViewShow fires when any hidden view is shown
animate defines the type of animation, with which the view is shown, if it is a Multiview cell
attachments the path for uploading attachments for cards
borderless used to hide the component borders
cardActions enables a context menu with card actions
collapsed 'says' to display initially all accordion cells collapsed
colors defines the colored states for Kanban cards
cols array of views objects arranged horizontally
comments enables card comments
container an HTML container (or its ID) where the component should be initialized
css the name of the CSS class or the object with styles that will be applied to the view container
data JavaScript array containing data for the component
datathrottle sets the polling interval (the time period between the completion of a network request and the next request for data)
datatype the type of loaded data
delimiter sets a delimiter for Kanban card actions and tags if they are specified in Kanban configuration as a string
disabled indicates whether an item is enabled
editor enables the default card editor or defines a custom one (details below)
gravity sets the view gravity
height sets the height of the component
hidden defines whether the view will be hidden initially
id the ID of a widget
isolate masks IDs of all inner elements
listFilter a filter for items: defines which items will be included in a certain list
margin defines the space around elements (applies the specified value to all elements)
maxHeight sets the maximum height for the view
maxWidth sets the maximum width for the view
minHeight sets the minimal height for the view
minWidth sets the minimal width for the view
multi enables/disables mode when several panels can be visible at once
on allows attaching custom handlers to inner events of the component
padding defines the space between the element borders and content (applies the specified value to all sides).
paddingX sets the right and left padding (applies the specified value to both sides)
paddingY sets the top and bottom padding (applies the specified value to both sides)
panelClass returns the name of a css class applied to the accordion panels
ready the event handler is called just after the component has been completely initialized
removeMissed defines how to treat items in case of reloading
responsive enables responsive mode for horizontal layout
rows array of views objects arranged vertically
save defines URLs for data saving
scheme defines schemes for data processing
tags defines the set of tags for Kanban board
type defines the layout borders
url the URL which the component will use to load data after its initialization
userList defines a dropdown list for assigning tasks to users
users defines the collection of users in Kanban
visibleBatch sets the batch that will be shown initially
width sets the width of a widget
$getSize returns the current size of the component
$height the current height of the view
$setNode defines HTML element for the component
$setSize sets the component size
$skin the method which will be called when skin is defined
$view reference to the top HTML element of the view
$width the current width of the view
config all options from the initial component configuration
data inner DataStore
name indicates the name of the component (a read-only property)
waitData eventual result of an asynchronous operation ('promise' object) for the loaded data
Back to top
If you have not checked yet, be sure to visit site of our main product Webix web ui framework and page of kanban board tool product.