TaskBoardBase

A thin base class for TaskBoard. Does not include any features by default, allowing smaller custom-built bundles if used in place of TaskBoard.

NOTE: In most scenarios you probably want to use TaskBoard instead of TaskBoardBase.

Configs

157

Common

features: Object

An object containing Feature configuration objects (or true if no configuration is required) keyed by the Feature class name in all lowercase.

Setting this property has no effect when using framework wrappers.

When using framework wrappers, features must be configured via featureNameFeature properties. See Framework Integration Guide for details.

keyMap: Object<String, KeyMapConfig>

See Keyboard shortcuts for details

Path to load resource images from. Used by the for example the resource picker in the task editor and by the ResourceAvatars task item. Set this to display miniature images for each resource using their image field.

NOTE: The path should end with a /:

new TaskBoard({
  resourceImagePath : 'images/resources/'
});
showCountInHeader: Boolean= true

Show task count for a column in its header, appended after the title

new TaskBoard({
  showCountInHeader : false
});
stickyHeaders: Boolean= false

Makes column and swimlane headers sticky

new TaskBoard({
  stickyHeaders : true
});

Setting this will cause cards to expand to share the available width if there are fewer than tasksPerRow.

By default, the tasksPerRow always applies, and if it is 3, then a single card in a column will be 33% of the available width.

To have fewer cards than the tasksPerRow evenly share available column width, configure this as true;

tasksPerRow: Number

Controls how many cards are rendered to a row in each column. Can be controlled on a per column basis by setting tasksPerRow

new TaskBoard({
  tasksPerRow : 3
});
cardSizesResponsiveCards
chainFiltersTaskBoardColumns
columnFieldTaskBoardColumns
columnsTaskBoardColumns
listenersEvents
selectedTasksTaskSelection
showCollapseInHeaderExpandCollapse
swimlaneFieldTaskBoardSwimlanes
swimlanesTaskBoardSwimlanes

Advanced

An empty function by default, but provided so that you can override it. This function is called each time a swimlane is rendered into the task board. It allows you to manipulate the DOM config object used for the swimlane before it is synced to DOM, thus giving you control over styling and contents.

const taskBoard = new TaskBoard({
   swimlaneRenderer({ swimlaneRecord, swimlaneConfig }) {
       // Add an icon to all swimlane headers
       swimlaneConfig.children.header.children.icon = {
           tag   : 'i',
           class : 'fa fa-dog'
       }
   }
});
ParameterTypeDescription
detailObject

An object containing the information needed to render a swimlane.

detail.swimlaneRecordSwimlaneModel

The swimlane.

detail.swimlaneConfigDomConfig

DOM config object for the swimlane

Returns: void
taskSorterFn: function

Allows sorting tasks in the UI independent of how they are sorted in the task store.

Specify true to force sorting tasks by weight.

Supply a sort function to force a custom sort order.

This is likely something you will want to use if combining TaskBoard with other products, sharing the project. Without this, sorting tasks in for example Gantt will also rearrange the cards on the board.

As described above it accepts either a boolean or a Function, but it always returns a sorter function.

ParameterTypeDescription
firstTaskModel

The first task to compare

secondTaskModel

The second task to compare

Returns: Number -

Return 1 if first task is greater than second task, -1 if the opposite is true or 0 if they are equal

activateTaskEventTaskBoardDomEvents
autoGenerateColumnsTaskBoardColumns
autoGenerateSwimlanesTaskBoardSwimlanes
getTaskHeightTaskBoardVirtualization
scrollOptionsTaskBoardScroll

CSS

cssVarPrefix: String= b-task-board

CSS variable prefix, appended to the keys used in css.

Normally you do not need to change this value.

bodyClsPanel
borderContainer
clsWidget
colorWidget
cssStyleable
htmlClsWidget
itemClsContainer
styleWidget
uiPanel

Experimental

Experimental, animate actions that cannot be animated using CSS transitions. Currently includes:

  • Programmatically moving tasks
  • Moving tasks using the task editor
  • Adding tasks
  • Removing tasks
  • Sorting tasks
  • Hiding/showing/filtering columns
  • Hiding/showing/filtering swimlanes
new TaskBoard({
  useDomTransition : true
});

NOTE: This flag is not supported for Lightning Web Components

Misc

htmlEncodeHeaderText: Boolean= true

By default, the header text is HTML-encoded. Set this flag to false disable this and allow html elements in the column headers. Can also be specified on a single column.

collapseTitleExpandCollapse
dataFieldWidget
disabledWidget
iconPanel
localeClassLocalizable
localizableLocalizable
maskedWidget
ownerWidget
pluginsPluggable
readOnlyWidget
refWidget
rippleWidget
showCollapseTooltipExpandCollapse
tabWidget
titlePanel
tooltipWidget

Other

A function which renders the text, HTML, or DomConfig object to show as the column title. If you provide a DomConfig object, it will replace the title element and you are responsible for styling it + laying it out.

new TaskBoard({
    columnTitleRenderer({ columnRecord }) {
        const highPrioCount = columnRecord.taskStore.query(task => task.status === columnRecord.id && task.prio === 'high').length;

        return `${columnRecord.text} <span class="highprio-count">(${highPrioCount} high prio)</span>`;
    }
})
ParameterTypeDescription
renderDataObject
columnRecordColumnModel

The column instance

Returns: String | DomConfig
columnWidget
defaultFocusContainer
drawerPanel
drawOnScrollTaskBoardVirtualization
labelPositionContainer
renditionContainer
responsiveResponsive
responsiveRootResponsive
responsiveStateResponsive
rtlRTL
spanWidget
virtualizeTaskBoardVirtualization

Scrolling

Configuration values for the ScrollManager class. It is used to manage column/body scrolling during task, column or swimlane drag.

new TaskBoard({
    scrollManager : {
        zoneWidth   : 100, // increase zone size
        scrollSpeed : 3    // and scroll speed
    }
})

Task content

taskRenderer: function

An empty function by default, but provided so that you can override it. This function is called each time a task is rendered into the task board. It allows you to manipulate the DOM config object used for the card before it is synced to DOM, thus giving you control over styling and contents.

You should never modify any records inside this method.
const taskBoard = new TaskBoard({
   taskRenderer({ taskRecord, cardConfig }) {
       // Add an icon to all tasks header
       cardConfig.children.header.children.icon = {
           tag   : 'i',
           class : 'fa fa-beer'
       }
   }
});

For more information, see the Customize task contents guide.

ParameterTypeDescription
detailObject

An object containing the information needed to render a task.

detail.taskRecordTaskModel

The task record.

detail.columnRecordColumnModel

The column the task will be displayed in.

detail.swimlaneRecordSwimlaneModel

The swimlane the task will be displayed in.

detail.cardConfigDomConfig

DOM config object for the cards element

Returns: void
bodyItemsTaskItems
footerItemsTaskItems
headerItemsTaskItems
processItemsTaskItems

Accessibility

ariaLabelWidget

Content

bbarPanel
defaultsContainer
footerPanel
headerPanel
itemsContainer
lazyItemsContainer
namedItemsContainer
stripsPanel
tbarPanel
textContentContainer
toolsPanel

Data

assignmentsTaskBoardStores
newTaskDefaultsTaskBoardStores
projectTaskBoardStores
resourcesTaskBoardStores
tasksTaskBoardStores

DOM

adoptWidget
appendToWidget
contentWidget
datasetWidget
htmlWidget
idWidget
tagWidget

Float & align

alignWidget
anchorWidget
centeredWidget
draggableWidget
floatingWidget
xWidget
yWidget

Layout

alignSelfWidget
dockWidget
flexWidget
heightWidget
hiddenWidget
hideWhenEmptyContainer
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
textAlignWidget
weightWidget
widthWidget

Masking

syncMaskTaskBoardStores

misc

tabBarItemsContainer

Record

recordContainer

Selection

isTaskSelectableTaskSelection
selectOnNavigationTaskNavigation

State

stateIdState

Properties

130

Common

Setting this will cause cards to expand to share the available width if there are fewer than tasksPerRow.

By default, the tasksPerRow always applies, and if it is 3, then a single card in a column will be 33% of the available width.

To have fewer cards than the tasksPerRow evenly share available column width, configure this as true;

columnFieldTaskBoardColumns
columnsTaskBoardColumns
projectTaskBoardStores
selectedTasksTaskSelection
swimlaneFieldTaskBoardSwimlanes
swimlanesTaskBoardSwimlanes

Class hierarchy

isTaskBoardBase: Boolean= truereadonly
Identifies an object as an instance of TaskBoardBase class, or subclass thereof.
isTaskBoardBase: Boolean= truereadonlystatic
Identifies an object as an instance of TaskBoardBase class, or subclass thereof.
isContainerContainer
isCrudManagerViewCrudManagerView
isDelayableDelayable
isEventsEvents
isExpandCollapseExpandCollapse
isKeyMapKeyMap
isLocalizableLocalizable
isPanelPanel
isPluggablePluggable
isResponsiveResponsive
isResponsiveCardsResponsiveCards
isStateState
isStyleableStyleable
isTaskBoardColumnsTaskBoardColumns
isTaskBoardDomTaskBoardDom
isTaskBoardDomEventsTaskBoardDomEvents
isTaskBoardScrollTaskBoardScroll
isTaskBoardStoresTaskBoardStores
isTaskBoardSwimlanesTaskBoardSwimlanes
isTaskBoardVirtualizationTaskBoardVirtualization
isTaskItemsTaskItems
isTaskNavigationTaskNavigation
isTaskSelectionTaskSelection
isToolableToolable
isWidgetWidget

Accessibility

keyMapKeyMap

Advanced

getTaskHeightTaskBoardVirtualization

Content

bbarPanel
tbarPanel

CSS

clsWidget

Data

assignmentsTaskBoardStores
resourcesTaskBoardStores
tasksTaskBoardStores

DOM

appendToWidget
contentWidget
cssStyleable
datasetWidget
elementWidget
htmlWidget
idWidget
styleWidget

Float & align

xWidget
yWidget

Layout

alignSelfWidget
flexWidget
heightWidget
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
widthWidget

Lifecycle

configBase

Misc

cellInfoWidget
disabledWidget
localeHelperLocalizable
localeManagerLocalizable
pluginsPluggable
readOnlyWidget
refWidget
showCollapseTooltipExpandCollapse
tabWidget
titlePanel
tooltipWidget

Other

$namestaticWidget
columnWidget
drawOnScrollTaskBoardVirtualization
firstItemContainer
hasChangesContainer
isValidContainer
itemsContainer
labelPositionContainer
lastItemContainer
renditionContainer
rtlRTL
spanWidget
toolsPanel
typestaticWidget
valuesContainer
virtualizeTaskBoardVirtualization

Record

recordContainer

Selection

isTaskSelectableTaskSelection

State

stateState

Task content

bodyItemsTaskItems
footerItemsTaskItems
headerItemsTaskItems

Visibility

hiddenWidget
isVisibleWidget

Widget hierarchy

ownerWidget
parentWidget
widgetMapContainer

Functions

101

Common

addTaskTaskBoardStores
removeTaskTaskBoardStores

Configuration

applyDefaultsstaticBase

DOM

getColumnElementTaskBoardDom
getColumnElementsTaskBoardDom
getSwimlaneElementTaskBoardDom
getTaskElementTaskBoardDom
resolveTaskRecordTaskBoardDom

Events

Expand & collapse

collapseExpandCollapse
expandExpandCollapse
toggleCollapseExpandCollapse

Float & align

alignToWidget
setXYWidget
showByWidget
toFrontWidget

Lifecycle

createstaticWidget
destroystaticBase
initClassstaticWidget

Misc

addPluginsPluggable
attachTooltipstaticWidget
fromElementstaticWidget
fromSelectorstaticWidget
getByIdstaticWidget
getPluginPluggable
hasPluginPluggable
isOfTypeNamestaticBase
mixinstaticBase
optionalLstaticLocalizable

Other

addContainer
composeWidget
createOnFrameDelayable
disableWidget
enableWidget
focusWidget
getAtContainer
getWidgetByIdContainer
insertContainer
LstaticLocalizable
maskWidget
onEvents
recomposeWidget
relayAllEvents
removeContainer
removeAllContainer
resetValuesContainer
setValuesContainer
triggerEvents
unEvents
unmaskWidget

Scrolling

scrollToColumnTaskBoardScroll
scrollToIntersectionTaskBoardScroll
scrollToSwimlaneTaskBoardScroll
scrollToTaskTaskBoardScroll

Selection

deselectAllTaskSelection
deselectTaskTaskSelection
isSelectedTaskSelection
selectTaskTaskSelection

State

Visibility

hideWidget
showWidget

Widget hierarchy

closestWidget
containsWidget
ownsWidget
queryWidget
queryAllWidget
upWidget

Events

48
activateTaskTaskBoardDomEvents
beforeTaskRemoveTaskBoardStores
catchAllEvents
columnCollapseExpandCollapse
columnExpandExpandCollapse
columnHeaderClickTaskBoardDomEvents
columnHeaderContextMenuTaskBoardDomEvents
columnHeaderDblClickTaskBoardDomEvents
columnTitleClickTaskBoardDomEvents
columnTitleContextMenuTaskBoardDomEvents
columnTitleDblClickTaskBoardDomEvents
columnToggleExpandCollapse
destroyEvents
expandPanel
focusInWidget
focusOutWidget
hideWidget
paintWidget
readOnlyWidget
recomposeWidget
removeTaskElementTaskBoardDomEvents
renderTaskTaskBoardDomEvents
renderTasksTaskBoardDomEvents
resizeWidget
selectionChangeTaskSelection
showWidget
swimlaneCollapseExpandCollapse
swimlaneExpandExpandCollapse
swimlaneHeaderClickTaskBoardDomEvents
swimlaneHeaderContextMenuTaskBoardDomEvents
swimlaneHeaderDblClickTaskBoardDomEvents
swimlaneToggleExpandCollapse
taskClickTaskBoardDomEvents
taskDblClickTaskBoardDomEvents
taskMouseEnterTaskBoardDomEvents
taskMouseLeaveTaskBoardDomEvents

Event handlers

48
onActivateTaskTaskBoardDomEvents
onBeforeTaskRemoveTaskBoardStores
onColumnCollapseExpandCollapse
onColumnExpandExpandCollapse
onColumnHeaderClickTaskBoardDomEvents
onColumnHeaderContextMenuTaskBoardDomEvents
onColumnHeaderDblClickTaskBoardDomEvents
onColumnTitleClickTaskBoardDomEvents
onColumnTitleContextMenuTaskBoardDomEvents
onColumnTitleDblClickTaskBoardDomEvents
onColumnToggleExpandCollapse
onDestroyEvents
onFocusInWidget
onHideWidget
onPaintWidget
onRemoveTaskElementTaskBoardDomEvents
onRenderTaskTaskBoardDomEvents
onRenderTasksTaskBoardDomEvents
onResizeWidget
onSelectionChangeTaskSelection
onShowWidget
onSwimlaneCollapseExpandCollapse
onSwimlaneExpandExpandCollapse
onSwimlaneHeaderClickTaskBoardDomEvents
onSwimlaneHeaderContextMenuTaskBoardDomEvents
onSwimlaneHeaderDblClickTaskBoardDomEvents
onSwimlaneToggleExpandCollapse
onTaskClickTaskBoardDomEvents
onTaskDblClickTaskBoardDomEvents
onTaskMouseEnterTaskBoardDomEvents
onTaskMouseLeaveTaskBoardDomEvents

Typedefs

9

CSS variables

140
NameDescription
--b-task-board-backgroundBoard background
--b-task-board-colorDefault text color
--b-task-board-font-sizeDefault font size
--b-task-board-gapDefault gap (used as the default in multiple places)
--b-task-board-header-text-transformDefault header text transformed (applied to column & swimlane headers)
--b-task-board-body-paddingBoard body padding (requires a unit for calc to work as intended)
--b-task-board-column-headers-sticky-backgroundColumn header background when using sticky headers
--b-task-board-column-count-colorColumn task count badge color
--b-task-board-column-count-backgroundColumn task count badge background
--b-task-board-column-count-font-sizeColumn task count badge font size
--b-task-board-column-gapGap between columns
--b-task-board-column-paddingColumn padding
--b-task-board-column-backgroundColumn background (by default also applies to the column header)
--b-task-board-column-border-radiusColumn border radius
--b-task-board-column-borderColumn border
--b-task-board-column-separator-borderColumn separator border (between columns)
--b-task-board-column-box-shadowColumn box shadow
--b-task-board-column-min-widthColumn min width
--b-task-board-column-header-backgroundColumn header background (defaults to using column's background)
--b-task-board-column-header-border-radiusColumn header border radius
--b-task-board-column-header-border-topColumn header top border
--b-task-board-column-header-border-bottomColumn header bottom border
--b-task-board-column-header-box-shadowColumn header box shadow
--b-task-board-column-header-colorColumn header text color
--b-task-board-column-header-icon-colorColumn header icon color
--b-task-board-column-header-font-sizeColumn header font size
--b-task-board-column-header-font-weightColumn header font weight
--b-task-board-column-header-gapColumn header gap
--b-task-board-column-header-sticky-heightHeight of sticky headers
--b-task-board-column-header-text-alignColumn header text alignment
--b-task-board-column-header-text-transformColumn header text transform (defaults to using header text transform)
--b-task-board-column-header-paddingColumn header padding
--b-task-board-column-header-collapsed-title-topCollapsed column's title's top offset
--b-task-board-swimlane-header-backgroundSwimlane header background
--b-task-board-swimlane-header-border-radiusSwimlane header border radius
--b-task-board-swimlane-header-border-bottomSwimlane header border bottom
--b-task-board-swimlane-header-border-topSwimlane header border top
--b-task-board-swimlane-header-box-shadowSwimlane header box shadow
--b-task-board-swimlane-header-colorSwimlane header text color
--b-task-board-swimlane-header-font-sizeSwimlane header font size
--b-task-board-swimlane-header-icon-colorSwimlane header icon color
--b-task-board-swimlane-header-paddingSwimlane header padding
--b-task-board-swimlane-header-text-transformSwimlane header text transform (defaults to using header text transform)
--b-task-board-swimlane-backgroundSwimlane body background
--b-task-board-card-backgroundCard background
--b-task-board-card-borderCard border
--b-task-board-card-border-topCard border top
--b-task-board-card-border-inline-endCard border inline end
--b-task-board-card-border-bottomCard border bottom
--b-task-board-card-border-inline-startCard border inline start
--b-task-board-card-border-top-radiusCard border top radius
--b-task-board-card-border-bottom-radiusCard border bottom radius
--b-task-board-card-box-shadowCard box shadow
--b-task-board-card-gapGap between cards
--b-task-board-card-inline-heightCard height, when displaying more than one card per row
--b-task-board-card-inline-large-heightCard height, when displaying more than one card per row and there are only two cards per row
--b-task-board-card-paddingCard padding
--b-task-board-card-header-backgroundCard header background
--b-task-board-card-header-colorCard header color
--b-task-board-card-header-font-sizeCard header font size
--b-task-board-card-header-font-weightCard header font weight
--b-task-board-card-header-gapGap between items in card header
--b-task-board-card-header-paddingCard header padding
--b-task-board-card-body-colorCard body text color
--b-task-board-card-body-gapGap between items in card body
--b-task-board-card-body-paddingCard body padding
--b-task-board-card-highlight-colorColor used for highlighting scrolled to card
--b-task-board-column-collapse-durationTransition duration when collapsing/expanding columns
Focused
--b-task-board-card-focus-outline-offsetCard focus outline offset
--b-task-board-card-focus-backgroundFocused card's background
--b-task-board-card-focus-outlineCard focus outline
Hovered
--b-task-board-card-hover-backgroundHovered card's background
--b-task-board-card-hover-box-shadowHovered card's box shadow
--b-task-board-card-hover-transformHovered card's transform
Read-only
--b-task-board-card-readonly-colorRead-only card's text color
--b-task-board-card-readonly-backgroundRead-only card's background
Selected
--b-task-board-card-selected-box-shadowSelected card's box shadow
--b-task-board-card-selected-transformSelected card's transform
--b-task-board-card-selected-animationSelected card's animation
--b-task-board-card-selected-outlineSelected card's outline
--b-task-board-card-unselected-opacityUnselected card's opacity (when another card is selected)
--b-task-board-card-unselected-hover-opacityUnselected card's hover opacity (when another card is selected)
--b-task-board-card-unselected-box-shadowUnselected card's box shadow (when another card is selected)
--b-task-board-card-selected-backgroundSelected card's background

Inherited