@bryntum/taskboard-react-thin 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +52 -0
  2. package/lib/BryntumColumnCombo.d.ts +268 -0
  3. package/lib/BryntumColumnCombo.js +203 -0
  4. package/lib/BryntumColumnCombo.js.map +1 -0
  5. package/lib/BryntumColumnFilterField.d.ts +234 -0
  6. package/lib/BryntumColumnFilterField.js +170 -0
  7. package/lib/BryntumColumnFilterField.js.map +1 -0
  8. package/lib/BryntumColumnPickerButton.d.ts +208 -0
  9. package/lib/BryntumColumnPickerButton.js +149 -0
  10. package/lib/BryntumColumnPickerButton.js.map +1 -0
  11. package/lib/BryntumColumnScrollButton.d.ts +208 -0
  12. package/lib/BryntumColumnScrollButton.js +149 -0
  13. package/lib/BryntumColumnScrollButton.js.map +1 -0
  14. package/lib/BryntumProjectCombo.d.ts +269 -0
  15. package/lib/BryntumProjectCombo.js +204 -0
  16. package/lib/BryntumProjectCombo.js.map +1 -0
  17. package/lib/BryntumResourcesCombo.d.ts +268 -0
  18. package/lib/BryntumResourcesCombo.js +203 -0
  19. package/lib/BryntumResourcesCombo.js.map +1 -0
  20. package/lib/BryntumSwimlaneCombo.d.ts +268 -0
  21. package/lib/BryntumSwimlaneCombo.js +203 -0
  22. package/lib/BryntumSwimlaneCombo.js.map +1 -0
  23. package/lib/BryntumSwimlaneFilterField.d.ts +236 -0
  24. package/lib/BryntumSwimlaneFilterField.js +172 -0
  25. package/lib/BryntumSwimlaneFilterField.js.map +1 -0
  26. package/lib/BryntumSwimlanePickerButton.d.ts +208 -0
  27. package/lib/BryntumSwimlanePickerButton.js +149 -0
  28. package/lib/BryntumSwimlanePickerButton.js.map +1 -0
  29. package/lib/BryntumSwimlaneScrollButton.d.ts +208 -0
  30. package/lib/BryntumSwimlaneScrollButton.js +149 -0
  31. package/lib/BryntumSwimlaneScrollButton.js.map +1 -0
  32. package/lib/BryntumTagCombo.d.ts +269 -0
  33. package/lib/BryntumTagCombo.js +204 -0
  34. package/lib/BryntumTagCombo.js.map +1 -0
  35. package/lib/BryntumTaskBoard.d.ts +610 -0
  36. package/lib/BryntumTaskBoard.js +287 -0
  37. package/lib/BryntumTaskBoard.js.map +1 -0
  38. package/lib/BryntumTaskBoardBase.d.ts +609 -0
  39. package/lib/BryntumTaskBoardBase.js +286 -0
  40. package/lib/BryntumTaskBoardBase.js.map +1 -0
  41. package/lib/BryntumTaskBoardFieldFilterPicker.d.ts +201 -0
  42. package/lib/BryntumTaskBoardFieldFilterPicker.js +159 -0
  43. package/lib/BryntumTaskBoardFieldFilterPicker.js.map +1 -0
  44. package/lib/BryntumTaskBoardFieldFilterPickerGroup.d.ts +209 -0
  45. package/lib/BryntumTaskBoardFieldFilterPickerGroup.js +165 -0
  46. package/lib/BryntumTaskBoardFieldFilterPickerGroup.js.map +1 -0
  47. package/lib/BryntumTaskBoardProjectModel.d.ts +218 -0
  48. package/lib/BryntumTaskBoardProjectModel.js +139 -0
  49. package/lib/BryntumTaskBoardProjectModel.js.map +1 -0
  50. package/lib/BryntumTaskColorCombo.d.ts +232 -0
  51. package/lib/BryntumTaskColorCombo.js +169 -0
  52. package/lib/BryntumTaskColorCombo.js.map +1 -0
  53. package/lib/BryntumTaskFilterField.d.ts +236 -0
  54. package/lib/BryntumTaskFilterField.js +172 -0
  55. package/lib/BryntumTaskFilterField.js.map +1 -0
  56. package/lib/BryntumTodoListField.d.ts +230 -0
  57. package/lib/BryntumTodoListField.js +165 -0
  58. package/lib/BryntumTodoListField.js.map +1 -0
  59. package/lib/BryntumUndoRedo.d.ts +188 -0
  60. package/lib/BryntumUndoRedo.js +150 -0
  61. package/lib/BryntumUndoRedo.js.map +1 -0
  62. package/lib/BryntumZoomSlider.d.ts +186 -0
  63. package/lib/BryntumZoomSlider.js +143 -0
  64. package/lib/BryntumZoomSlider.js.map +1 -0
  65. package/lib/WrapperHelper.d.ts +26 -0
  66. package/lib/WrapperHelper.js +569 -0
  67. package/lib/WrapperHelper.js.map +1 -0
  68. package/lib/index.d.ts +21 -0
  69. package/lib/index.js +22 -0
  70. package/lib/index.js.map +1 -0
  71. package/license.pdf +0 -0
  72. package/licenses.md +310 -0
  73. package/package.json +25 -0
  74. package/src/BryntumColumnCombo.tsx +1240 -0
  75. package/src/BryntumColumnFilterField.tsx +1019 -0
  76. package/src/BryntumColumnPickerButton.tsx +896 -0
  77. package/src/BryntumColumnScrollButton.tsx +896 -0
  78. package/src/BryntumProjectCombo.tsx +1241 -0
  79. package/src/BryntumResourcesCombo.tsx +1239 -0
  80. package/src/BryntumSwimlaneCombo.tsx +1239 -0
  81. package/src/BryntumSwimlaneFilterField.tsx +1032 -0
  82. package/src/BryntumSwimlanePickerButton.tsx +896 -0
  83. package/src/BryntumSwimlaneScrollButton.tsx +896 -0
  84. package/src/BryntumTagCombo.tsx +1244 -0
  85. package/src/BryntumTaskBoard.tsx +2021 -0
  86. package/src/BryntumTaskBoardBase.tsx +2019 -0
  87. package/src/BryntumTaskBoardFieldFilterPicker.tsx +930 -0
  88. package/src/BryntumTaskBoardFieldFilterPickerGroup.tsx +983 -0
  89. package/src/BryntumTaskBoardProjectModel.tsx +779 -0
  90. package/src/BryntumTaskColorCombo.tsx +996 -0
  91. package/src/BryntumTaskFilterField.tsx +1032 -0
  92. package/src/BryntumTodoListField.tsx +986 -0
  93. package/src/BryntumUndoRedo.tsx +871 -0
  94. package/src/BryntumZoomSlider.tsx +824 -0
  95. package/src/WrapperHelper.tsx +1125 -0
  96. package/src/index.ts +25 -0
@@ -0,0 +1,2019 @@
1
+ /**
2
+ * React wrapper for Bryntum TaskBoardBase
3
+ */
4
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
+ import React, { RefObject } from 'react';
6
+ import { AlignSpec, Base, BryntumScrollOptions, Container, DomConfig, KeyMapConfig, Mask, MaskConfig, Menu, MenuItem, MenuItemEntry, Model, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, Rectangle, ScrollManagerConfig, Scroller, ScrollerConfig, StateProvider, Store, StoreConfig, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, Widget } from '@bryntum/core-thin';
7
+ import { AssignmentModel, AssignmentModelConfig, CardSize, ColumnDrag, ColumnDragConfig, ColumnFilter, ColumnFilterConfig, ColumnHeaderMenu, ColumnHeaderMenuConfig, ColumnLock, ColumnLockConfig, ColumnModel, ColumnModelConfig, ColumnRename, ColumnRenameConfig, ColumnResize, ColumnResizeConfig, ColumnSort, ColumnSortConfig, ColumnToolbars, ColumnToolbarsConfig, TaskBoardContainerItemConfig, FilterBar, FilterBarConfig, ProjectModel, ProjectModelConfig, ResourceModel, ResourceModelConfig, SimpleTaskEdit, SimpleTaskEditConfig, SwimlaneDrag, SwimlaneDragConfig, SwimlaneModel, SwimlaneModelConfig, TaskBoard, TaskBoardBase, TaskBoardBaseListeners, TaskDrag, TaskDragConfig, TaskDragSelect, TaskDragSelectConfig, TaskEdit, TaskEditConfig, TaskEditor, TaskItemOptions, TaskMenu, TaskMenuConfig, TaskModel, TaskModelConfig, TaskTooltip, TaskTooltipConfig } from '@bryntum/taskboard-thin';
8
+
9
+ import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
10
+
11
+ export type BryntumTaskBoardBaseProps = {
12
+ // Configs
13
+ /**
14
+ * The name of the event that should activate a task and trigger editing (if an editing feature is active).
15
+ * Available options are: 'taskClick', 'taskDblClick' or null (disable)
16
+ */
17
+ activateTaskEvent? : 'taskClick'|'taskDblClick'|null
18
+ /**
19
+ * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
20
+ * content will be placed inside this element.
21
+ * ...
22
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-adopt)
23
+ */
24
+ adopt? : HTMLElement|string
25
+ /**
26
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
27
+ * ...
28
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-align)
29
+ */
30
+ align? : AlignSpec|string
31
+ /**
32
+ * When this widget is a child of a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container), it will by default be participating in a
33
+ * flexbox layout. This config allows you to set this widget's
34
+ * [align-self](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) style.
35
+ */
36
+ alignSelf? : string
37
+ /**
38
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating) and being shown through [showBy](#Core/widget/Widget#function-showBy).*
39
+ * `true` to show a connector arrow pointing to the align target.
40
+ */
41
+ anchor? : boolean
42
+ /**
43
+ * Element (or the id of an element) to append this widget's element to. Can be configured, or set once at
44
+ * runtime. To access the element of a rendered widget, see [element](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-element).
45
+ */
46
+ appendTo? : HTMLElement|string
47
+ /**
48
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
49
+ * into an element which will be linked using the `aria-describedby` attribute.
50
+ * ...
51
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-ariaDescription)
52
+ */
53
+ ariaDescription? : string
54
+ /**
55
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
56
+ * the `aria-label` attribute.
57
+ * ...
58
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-ariaLabel)
59
+ */
60
+ ariaLabel? : string
61
+ /**
62
+ * Inline [assignments](https://bryntum.com/products/scheduler/docs#Scheduler/model/AssignmentModel), will be loaded into an internally created
63
+ * [AssignmentStore](https://bryntum.com/products/scheduler/docs#Scheduler/data/AssignmentStore) as a part of a [project](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel).
64
+ */
65
+ assignments? : AssignmentModel[]|object[]|AssignmentModelConfig[]
66
+ /**
67
+ * Set to `true` to auto generate columns when [columns](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardColumns#config-columns) is undefined.
68
+ * ...
69
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-autoGenerateColumns)
70
+ */
71
+ autoGenerateColumns? : boolean
72
+ /**
73
+ * Set to `true` to auto generate swimlanes when [swimlanes](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardSwimlanes#config-swimlanes) is undefined.
74
+ * ...
75
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-autoGenerateSwimlanes)
76
+ */
77
+ autoGenerateSwimlanes? : boolean
78
+ /**
79
+ * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar),
80
+ * or array of config objects representing the child items of a Toolbar. Another way to add a bbar is to use [strips](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips).
81
+ * ...
82
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-bbar)
83
+ */
84
+ bbar? : (TaskBoardContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
85
+ /**
86
+ * Custom CSS classes to add to the panel's body element.
87
+ * ...
88
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-bodyCls)
89
+ */
90
+ bodyCls? : string|object
91
+ /**
92
+ * Items to add to each card's body.
93
+ * ...
94
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-bodyItems)
95
+ */
96
+ bodyItems? : Record<string, TaskItemOptions>
97
+ /**
98
+ * An object where property names with a truthy value indicate which events should bubble up the ownership
99
+ * hierarchy when triggered.
100
+ * ...
101
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-bubbleEvents)
102
+ */
103
+ bubbleEvents? : object
104
+ /**
105
+ * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
106
+ * ...
107
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-callOnFunctions)
108
+ */
109
+ callOnFunctions? : boolean
110
+ /**
111
+ * An array of [CardSize](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/ResponsiveCards#typedef-CardSize) objects to use as responsive levels based on card widths.
112
+ * ...
113
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-cardSizes)
114
+ */
115
+ cardSizes? : CardSize
116
+ /**
117
+ * By default, if an event handler throws an exception, the error propagates up the stack and the
118
+ * application state is undefined. Code which follows the event handler will *not* be executed.
119
+ * ...
120
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-catchEventHandlerExceptions)
121
+ */
122
+ catchEventHandlerExceptions? : boolean
123
+ /**
124
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
125
+ * Set to `true` to centre the Widget in browser viewport space.
126
+ */
127
+ centered? : boolean
128
+ /**
129
+ * Columns hold their tasks in stores chained off the project's task store. Filters applied to the project store
130
+ * are by default not applied to the column stores; they are only affected by their own filters. By configuring
131
+ * `chainFilters : true`, the filters from the project store will also be taken into account when filtering the
132
+ * columns.
133
+ * ...
134
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-chainFilters)
135
+ */
136
+ chainFilters? : boolean
137
+ /**
138
+ * Custom CSS classes to add to element.
139
+ * May be specified as a space separated string, or as an object in which property names
140
+ * with truthy values are used as the class names:
141
+ * ...
142
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-cls)
143
+ */
144
+ cls? : string|object
145
+ /**
146
+ * Controls whether the panel is collapsed (the body of the panel is hidden while only the header is
147
+ * visible). Only valid if the panel is [collapsible](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsible).
148
+ */
149
+ collapsed? : boolean
150
+ /**
151
+ * Specify `true` to hide the column title instead of rotating it on collapse.
152
+ * ...
153
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-collapseTitle)
154
+ */
155
+ collapseTitle? : boolean
156
+ /**
157
+ * This config enables collapsibility for the panel. See [collapsed](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsed).
158
+ * ...
159
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-collapsible)
160
+ */
161
+ collapsible? : boolean|PanelCollapserConfig|PanelCollapserOverlayConfig
162
+ /**
163
+ * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
164
+ * `style` block.
165
+ * ...
166
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-color)
167
+ */
168
+ color? : string
169
+ /**
170
+ * Programmatic control over which column to start in when used in a grid layout.
171
+ */
172
+ column? : number
173
+ /**
174
+ * Field on a task record used to determine which column the task belongs to.
175
+ * ...
176
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-columnField)
177
+ */
178
+ columnField? : string
179
+ /**
180
+ * Store containing the TaskBoard columns. A tasks [columnField](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardColumns#config-columnField) is matched against the `id` of a
181
+ * column to determine in which column it is displayed.
182
+ * ...
183
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-columns)
184
+ */
185
+ columns? : ColumnModel[]|ColumnModelConfig[]|string[]|Store|string|StoreConfig
186
+ /**
187
+ * A function which renders the text, HTML, or `DomConfig` object to show as the column title. If you provide a
188
+ * `DomConfig` object, it will replace the title element and you are responsible for styling it + laying it out.
189
+ * ...
190
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-columnTitleRenderer)
191
+ * @param {object} renderData
192
+ * @param {TaskBoard.model.ColumnModel} columnRecord The column instance
193
+ * @returns {string,DomConfig}
194
+ */
195
+ columnTitleRenderer? : (renderData: object, columnRecord: ColumnModel) => string|DomConfig
196
+ config? : object
197
+ /**
198
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating) or [positioned](#Core/widget/Widget#config-positioned).*
199
+ * Element, Widget or Rectangle to which this Widget is constrained.
200
+ */
201
+ constrainTo? : HTMLElement|Widget|Rectangle
202
+ /**
203
+ * Initial CSS variables to set.
204
+ * ...
205
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-css)
206
+ */
207
+ css? : Record<string, string>
208
+ /**
209
+ * CSS variable prefix, appended to the keys used in [css](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-css).
210
+ * ...
211
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-cssVarPrefix)
212
+ */
213
+ cssVarPrefix? : string
214
+ /**
215
+ * When this Widget configuration is used in the Grid's RowExpander feature's `widget` config, provide the
216
+ * field on the expanded record to use for populating this widget's store (if applicable)
217
+ */
218
+ dataField? : string
219
+ /**
220
+ * Object to apply to elements dataset (each key will be used as a data-attribute on the element)
221
+ */
222
+ dataset? : Record<string, string>
223
+ /**
224
+ * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
225
+ * ...
226
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-detectCSSCompatibilityIssues)
227
+ */
228
+ detectCSSCompatibilityIssues? : boolean
229
+ /**
230
+ * Disable or enable the widget. It is similar to [readOnly](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-readOnly) except a disabled widget
231
+ * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
232
+ * ...
233
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-disabled)
234
+ */
235
+ disabled? : boolean|'inert'
236
+ /**
237
+ * Controls the placement of this widget when it is added to a [panel's ](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel)
238
+ * [strips collection](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
239
+ * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
240
+ * body. Such widgets are called "edge strips".
241
+ * ...
242
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-dock)
243
+ */
244
+ dock? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
245
+ /**
246
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
247
+ * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
248
+ * property which controls when a drag should start.
249
+ * ...
250
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-draggable)
251
+ */
252
+ draggable? : boolean|{
253
+ handleSelector?: string
254
+ }
255
+ /**
256
+ * Make this Panel a docked drawer which slides out from one side of the browser viewport by default.
257
+ * ...
258
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-drawer)
259
+ * @param {'start','left','end','right','top','bottom'} side The side of the viewport to dock the drawer to. * `'start'` means the `inline-start` side. * `'end'` means the `inline-end` side.
260
+ * @param {string,number} size The size of the drawer in its collapsible axis.
261
+ * @param {boolean} inline If using the [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-appendTo) config to place the drawer inside a host widget, this may be set to `true` to make the drawer inline within that host. Note that, if using this, the layout of the host element must have `flex-direction` set appropriately.
262
+ * @param {boolean,object} autoClose Specifies what user actions should automatically close the drawer. Defaults to closing when the user clicks outside of the drawer or when focus moves outside of the drawer.
263
+ * @param {boolean,string} autoClose.mousedown If the user clicks outside of the drawer, the drawer will automatically be hidden. If the value is a string, it is used as a CSS selector to filter clicks which should close the drawer.
264
+ * @param {boolean,string} autoClose.focusout If focus moves outside of the drawer, the drawer will automatically be hidden.
265
+ * @param {string} autoClose.mouseout Hides the drawer when the mouse leaves the drawer after the `autoCloseDelay` period.
266
+ * @param {number} autoCloseDelay When using `mouseout`, this is the delay in milliseconds
267
+ */
268
+ drawer? : boolean|{side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: boolean, autoClose: { mousedown?: boolean|string, focusout?: boolean|string, mouseout?: string }, autoCloseDelay?: number}
269
+ /**
270
+ * Whether to draw cards on scroll, or only when scrolling ends.
271
+ * ...
272
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-drawOnScroll)
273
+ */
274
+ drawOnScroll? : boolean
275
+ /**
276
+ * An object specifying attributes to assign to the root element of this widget.
277
+ * Set `null` value to attribute to remove it.
278
+ * ...
279
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-elementAttributes)
280
+ */
281
+ elementAttributes? : Record<string, string|null>
282
+ extraData? : any
283
+ /**
284
+ * When this widget is a child of a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container), it will by default be participating in a
285
+ * flexbox layout. This config allows you to set this widget's
286
+ * [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) style.
287
+ * This may be configured as a single number or a `&lt;flex-grow&gt; &lt;flex-shrink&gt; &lt;flex-basis&gt;` format string.
288
+ * numeric-only values are interpreted as the `flex-grow` value.
289
+ */
290
+ flex? : number|string
291
+ /**
292
+ * Set to `true` to move the widget out of the document flow and position it
293
+ * absolutely in browser viewport space.
294
+ */
295
+ floating? : boolean
296
+ /**
297
+ * Config object of a footer. May contain a `dock`, `html` and a `cls` property. A footer is not a widget,
298
+ * but rather plain HTML that follows the last element of the panel's body and [strips](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips).
299
+ * ...
300
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-footer)
301
+ */
302
+ footer? : {
303
+ dock?: 'top'|'right'|'bottom'|'left'|'start'|'end'
304
+ html?: string
305
+ cls?: string
306
+ }|string
307
+ /**
308
+ * Items to add to each card's footer.
309
+ * ...
310
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-footerItems)
311
+ */
312
+ footerItems? : Record<string, TaskItemOptions>
313
+ /**
314
+ * The function is called for each task as part of the render loop, and is expected to return the height in
315
+ * pixels for the task. Using this function is only recommended when using partial virtualized rendering, see
316
+ * the [virtualize](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardVirtualization#config-virtualize) setting.
317
+ * ...
318
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-getTaskHeight)
319
+ * @param {TaskBoard.model.TaskModel} taskRecord The task record
320
+ * @returns {number} The height of the task in pixels
321
+ */
322
+ getTaskHeight? : (taskRecord: TaskModel) => number
323
+ /**
324
+ * A config [object](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#typedef-PanelHeader) for the panel's header or a string in place of a `title`.
325
+ * ...
326
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-header)
327
+ */
328
+ header? : string|boolean|PanelHeader
329
+ /**
330
+ * Items to add to each card's header.
331
+ * ...
332
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-headerItems)
333
+ */
334
+ headerItems? : Record<string, TaskItemOptions>
335
+ /**
336
+ * Widget's height, used to set element `style.height`. Either specify a valid height string or a number,
337
+ * which will get 'px' appended. We recommend using CSS as the primary way to control height, but in some
338
+ * cases this config is convenient.
339
+ */
340
+ height? : string|number
341
+ /**
342
+ * Configure with true to make widget initially hidden.
343
+ */
344
+ hidden? : boolean
345
+ /**
346
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
347
+ * ...
348
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-hideAnimation)
349
+ */
350
+ hideAnimation? : boolean|object
351
+ /**
352
+ * By default, the header text is HTML-encoded. Set this flag to `false` disable this and allow html
353
+ * elements in the column headers. Can also be specified on a single
354
+ * [column](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-htmlEncodeHeaderText).
355
+ */
356
+ htmlEncodeHeaderText? : boolean
357
+ /**
358
+ * An icon to show before the [title](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-title). Either pass a CSS class as a string, or pass a
359
+ * [DomConfig](https://bryntum.com/products/taskboard/docs/api/Core/helper/DomHelper#typedef-DomConfig) object describing an element to represent the icon.
360
+ */
361
+ icon? : string|DomConfig
362
+ /**
363
+ * Widget id, if not specified one will be generated. Also used for lookups through Widget.getById
364
+ */
365
+ id? : string
366
+ /**
367
+ * Determines if the widgets read-only state should be controlled by its parent.
368
+ * ...
369
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-ignoreParentReadOnly)
370
+ */
371
+ ignoreParentReadOnly? : boolean
372
+ /**
373
+ * Convenience setting to align input fields of child widgets. By default, the Field input element is
374
+ * placed immediately following the `label`. If you prefer to have all input fields aligned to the
375
+ * right, set this config to `'end'`.
376
+ * ...
377
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-inputFieldAlign)
378
+ */
379
+ inputFieldAlign? : 'start'|'end'
380
+ /**
381
+ * Element (or element id) to insert this widget before. If provided, [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
382
+ */
383
+ insertBefore? : HTMLElement|string
384
+ /**
385
+ * Element (or element id) to append this widget element to, as a first child. If provided, [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
386
+ */
387
+ insertFirst? : HTMLElement|string
388
+ /**
389
+ * A template method (empty by default) allowing you to control if a task can be selected or not.
390
+ * ...
391
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-isTaskSelectable)
392
+ * @param {TaskBoard.model.TaskModel} taskRecord The task record
393
+ * @returns {boolean} `true` if the task can be selected, otherwise `false`
394
+ */
395
+ isTaskSelectable? : (taskRecord: TaskModel) => boolean
396
+ /**
397
+ * See [Keyboard shortcuts](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#keyboard-shortcuts) for details
398
+ */
399
+ keyMap? : Record<string, KeyMapConfig>
400
+ /**
401
+ * Convenience setting to use same label placement on all child widgets.
402
+ * ...
403
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-labelPosition)
404
+ */
405
+ labelPosition? : 'before'|'above'|'align-before'|'auto'|null
406
+ /**
407
+ * The listener set for this object.
408
+ * ...
409
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-listeners)
410
+ */
411
+ listeners? : TaskBoardBaseListeners
412
+ /**
413
+ * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object, or a message to be shown when a store is performing a remote
414
+ * operation, or Crud Manager is loading data from the sever. Set to `null` to disable default load mask.
415
+ */
416
+ loadMask? : string|MaskConfig|null
417
+ /**
418
+ * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
419
+ * when data is loading. The message and optional configuration from the
420
+ * [loadMask](https://bryntum.com/products/taskboard/docs/api/Core/mixin/LoadMaskable#config-loadMask) config take priority over these options, just as they do
421
+ * for `maskDefaults`, respectively.
422
+ * ...
423
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-loadMaskDefaults)
424
+ */
425
+ loadMaskDefaults? : MaskConfig
426
+ /**
427
+ * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
428
+ * when an error occurs loading data.
429
+ * ...
430
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-loadMaskError)
431
+ */
432
+ loadMaskError? : MaskConfig|Mask|boolean
433
+ /**
434
+ * A class translations of which are used for translating this entity.
435
+ * This is often used when translations of an item are defined on its container class.
436
+ * For example:
437
+ * ...
438
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-localeClass)
439
+ */
440
+ localeClass? : typeof Base
441
+ /**
442
+ * Set to `false` to disable localization of this object.
443
+ */
444
+ localizable? : boolean
445
+ /**
446
+ * List of properties which values should be translated automatically upon a locale applying.
447
+ * In case there is a need to localize not typical value (not a String value or a field with re-defined setter/getter),
448
+ * you could use 'localeKey' meta configuration.
449
+ * Example:
450
+ * ...
451
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-localizableProperties)
452
+ */
453
+ localizableProperties? : string[]
454
+ /**
455
+ * Widget's margin. This may be configured as a single number or a `TRBL` format string.
456
+ * numeric-only values are interpreted as pixels.
457
+ */
458
+ margin? : number|string
459
+ /**
460
+ * This config object contains the defaults for the [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) created for the
461
+ * [masked](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-masked) config. Any properties specified in the `masked` config will override these
462
+ * values.
463
+ */
464
+ maskDefaults? : MaskConfig
465
+ /**
466
+ * Set to `true` to apply the default mask to the widget. Alternatively, this can be the mask message or a
467
+ * [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object.
468
+ */
469
+ masked? : boolean|string|MaskConfig
470
+ /**
471
+ * The element's maxHeight. Can be either a String or a Number (which will have 'px' appended). Note that
472
+ * like [height](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
473
+ */
474
+ maxHeight? : string|number
475
+ /**
476
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
477
+ * ...
478
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-maximizeOnMobile)
479
+ */
480
+ maximizeOnMobile? : number|string
481
+ /**
482
+ * The elements maxWidth. Can be either a String or a Number (which will have 'px' appended). Note that
483
+ * like [width](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
484
+ */
485
+ maxWidth? : string|number
486
+ /**
487
+ * The element's minHeight. Can be either a String or a Number (which will have 'px' appended). Note that
488
+ * like [height](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
489
+ */
490
+ minHeight? : string|number
491
+ /**
492
+ * The elements minWidth. Can be either a String or a Number (which will have 'px' appended). Note that
493
+ * like [width](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
494
+ */
495
+ minWidth? : string|number
496
+ /**
497
+ * Default values to apply to task records created by task boards features (such as the column header menu and
498
+ * the column toolbar)
499
+ */
500
+ newTaskDefaults? : TaskModelConfig
501
+ /**
502
+ * The owning Widget of this Widget. If this Widget is directly contained (that is, it is one of the
503
+ * [items](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#property-items) of a Container), this config will be ignored. In this case
504
+ * the owner is <strong>always</strong> the encapsulating Container.
505
+ * ...
506
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-owner)
507
+ */
508
+ owner? : Widget|any
509
+ /**
510
+ * Specify plugins (an array of classes) in config
511
+ */
512
+ plugins? : Function[]
513
+ /**
514
+ * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-contentElement), but must
515
+ * not participate in the standard layout of that widget, and must be positioned relatively to that
516
+ * widget's [contentElement](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-contentElement).
517
+ * ...
518
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-positioned)
519
+ */
520
+ positioned? : boolean
521
+ /**
522
+ * A function called on each render before adding items to a tasks card, allowing runtime manipulation of them.
523
+ * ...
524
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-processItems)
525
+ * @param {object} context
526
+ * @param {Record<string, TaskItemOptions>} context.headerItems Item config objects for the task header, keyed by ref
527
+ * @param {Record<string, TaskItemOptions>} context.bodyItems Item config objects for the task body, keyed by ref
528
+ * @param {Record<string, TaskItemOptions>} context.footerItems Item config objects for the task footer, keyed by ref
529
+ * @param {TaskBoard.model.TaskModel} context.taskRecord Record representing task to be rendered
530
+ * @returns {boolean,void} Returning `false` from this function prevents the menu being shown
531
+ */
532
+ processItems? : (context: { headerItems: Record<string, TaskItemOptions>, bodyItems: Record<string, TaskItemOptions>, footerItems: Record<string, TaskItemOptions>, taskRecord: TaskModel }) => boolean|void
533
+ /**
534
+ * A [project config object](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel#configs) or an instance that holds all stores and
535
+ * data used by the TaskBoard.
536
+ * ...
537
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-project)
538
+ */
539
+ project? : ProjectModel|ProjectModelConfig|RefObject<any>
540
+ /**
541
+ * Whether this widget is read-only. This is only valid if the widget is an input
542
+ * field, <strong>or contains input fields at any depth</strong>.
543
+ * ...
544
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-readOnly)
545
+ */
546
+ readOnly? : boolean
547
+ /**
548
+ * [Record](https://bryntum.com/products/taskboard/docs/api/Core/data/Model) whose values will be used to populate fields in the container.
549
+ * ...
550
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-record)
551
+ */
552
+ record? : Model
553
+ relayStoreEvents? : boolean
554
+ /**
555
+ * Either a default `rendition` to apply to all child widgets, or a map of renditions keyed by child widget
556
+ * `type`.
557
+ * ...
558
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-rendition)
559
+ */
560
+ rendition? : string|Record<string, string>|null
561
+ /**
562
+ * Path to load resource images from. Used by the for example the resource picker in the task editor and by the
563
+ * ResourceAvatars task item. Set this to display miniature images for each resource using their `image` field.
564
+ * ...
565
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-resourceImagePath)
566
+ */
567
+ resourceImagePath? : string
568
+ /**
569
+ * Inline [resources](https://bryntum.com/products/scheduler/docs#Scheduler/model/ResourceModel), will be loaded into an internally created
570
+ * [ResourceStore](https://bryntum.com/products/scheduler/docs#Scheduler/data/ResourceStore) as a part of a [project](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel).
571
+ */
572
+ resources? : ResourceModel[]|object[]|ResourceModelConfig[]
573
+ /**
574
+ * Specifies the various responsive state objects keyed by their name. Each key (except `'*'`, see below) in
575
+ * this object is a state name (see [responsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveState)) and its corresponding value is the
576
+ * associated [ResponsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#typedef-ResponsiveState) object.
577
+ * ...
578
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-responsive)
579
+ */
580
+ responsive? : object
581
+ /**
582
+ * Set to `true` to mark this instance as the default [responsiveTarget](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveTarget) for descendants that do
583
+ * not specify an explicit [responsiveTarget](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveTarget) of their own.
584
+ */
585
+ responsiveRoot? : boolean
586
+ /**
587
+ * The name of the active state of the [responsive](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsive) config. This is assigned internally
588
+ * and should not be assigned directly.
589
+ */
590
+ responsiveState? : string
591
+ /**
592
+ * The widget whose size and other properties drive this object's responsive behavior. If this config is not
593
+ * specified, the closest ancestor that specified [responsiveRoot=true](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveRoot) will be
594
+ * used. If there is no such ancestor, then the instance using this mixin is used.
595
+ * ...
596
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-responsiveTarget)
597
+ */
598
+ responsiveTarget? : string|Widget
599
+ /**
600
+ * If you are rendering this widget to a shadow root inside a web component, set this config to the shadowRoot. If not inside a web component, set it to `document.body`
601
+ */
602
+ rootElement? : ShadowRoot|HTMLElement
603
+ /**
604
+ * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
605
+ * ...
606
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-rtl)
607
+ */
608
+ rtl? : boolean
609
+ /**
610
+ * Specifies whether (and optionally in which axes) a Widget may scroll. `true` means this widget may scroll
611
+ * in both axes. May be an object containing boolean `overflowX` and `overflowY` properties which are
612
+ * applied to CSS style properties `overflowX` and `overflowY`. If they are boolean, they are translated to
613
+ * CSS overflow properties thus:
614
+ * ...
615
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-scrollable)
616
+ */
617
+ scrollable? : boolean|ScrollerConfig|Scroller
618
+ /**
619
+ * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
620
+ * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
621
+ */
622
+ scrollAction? : 'hide'|'realign'|null
623
+ /**
624
+ * Configuration values for the [ScrollManager](https://bryntum.com/products/taskboard/docs/api/Core/util/ScrollManager) class. It is used to manage column/body
625
+ * scrolling during task, column or swimlane drag.
626
+ * ...
627
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-scrollManager)
628
+ */
629
+ scrollManager? : ScrollManagerConfig
630
+ /**
631
+ * Default scroll options, see the options for [scrollIntoView](https://bryntum.com/products/taskboard/docs/api/Core/helper/util/Scroller#function-scrollIntoView)
632
+ * ...
633
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-scrollOptions)
634
+ */
635
+ scrollOptions? : BryntumScrollOptions
636
+ /**
637
+ * Selected tasks.
638
+ */
639
+ selectedTasks? : TaskModel[]
640
+ /**
641
+ * Configure with `true` to change the default behaviour of keyboard navigation from moving focus to selecting
642
+ * tasks:
643
+ * ...
644
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-selectOnNavigation)
645
+ */
646
+ selectOnNavigation? : boolean|string
647
+ /**
648
+ * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
649
+ * ...
650
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-showAnimation)
651
+ */
652
+ showAnimation? : boolean|object
653
+ /**
654
+ * Show an icon to expand/collapse columns and swimlanes in their headers.
655
+ * ...
656
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-showCollapseInHeader)
657
+ */
658
+ showCollapseInHeader? : boolean
659
+ /**
660
+ * By default, a tooltip showing `Expand XX`/`Collapse XX` is shown when hovering the expand/collapse icon for
661
+ * a column or swimlane. To disable the tooltip, set this to `false`.
662
+ */
663
+ showCollapseTooltip? : boolean
664
+ /**
665
+ * Show task count for a column in its header, appended after the title
666
+ * ...
667
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-showCountInHeader)
668
+ */
669
+ showCountInHeader? : boolean
670
+ /**
671
+ * Programmatic control over how many columns to span when used in a grid layout.
672
+ */
673
+ span? : number
674
+ /**
675
+ * This value can be one of the following:
676
+ * ...
677
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-stateful)
678
+ */
679
+ stateful? : boolean|object|string[]
680
+ /**
681
+ * The events that, when fired by this component, should trigger it to save its state by calling
682
+ * [saveState](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#function-saveState).
683
+ * ...
684
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-statefulEvents)
685
+ */
686
+ statefulEvents? : object|string[]
687
+ /**
688
+ * The key to use when saving this object's state in the [stateProvider](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#config-stateProvider). If this config is
689
+ * not assigned, and [stateful](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#config-stateful) is not set to `false`, the [id](#Core/widget/Widget#config-id)
690
+ * (if explicitly specified) will be used as the `stateId`.
691
+ * ...
692
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-stateId)
693
+ */
694
+ stateId? : string
695
+ /**
696
+ * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#property-state). By default, `state`
697
+ * will be saved using the [default state provider](https://bryntum.com/products/taskboard/docs/api/Core/state/StateProvider#property-instance-static).
698
+ * ...
699
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-stateProvider)
700
+ */
701
+ stateProvider? : StateProvider
702
+ /**
703
+ * Makes column and swimlane headers sticky
704
+ * ...
705
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-stickyHeaders)
706
+ */
707
+ stickyHeaders? : boolean
708
+ /**
709
+ * Setting this will cause cards to expand to share the available width if there are fewer than
710
+ * [tasksPerRow](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tasksPerRow).
711
+ * ...
712
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-stretchCards)
713
+ */
714
+ stretchCards? : boolean
715
+ /**
716
+ * Specify `true` to match fields by their `name` property only when assigning a [record](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#config-record),
717
+ * without falling back to `ref`.
718
+ */
719
+ strictRecordMapping? : boolean
720
+ /**
721
+ * An object containing widgets keyed by name. By default (when no `type` is given), strips are
722
+ * [toolbars](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar). If you want to pass an array, you can use
723
+ * the toolbar's [items](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#config-items).
724
+ * ...
725
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-strips)
726
+ */
727
+ strips? : Record<string, TaskBoardContainerItemConfig>
728
+ /**
729
+ * Field on a task record used to determine which swimlane the task belongs to.
730
+ * ...
731
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-swimlaneField)
732
+ */
733
+ swimlaneField? : string
734
+ /**
735
+ * An empty function by default, but provided so that you can override it. This function is called each time
736
+ * a swimlane is rendered into the task board. It allows you to manipulate the DOM config object used for the
737
+ * swimlane before it is synced to DOM, thus giving you control over styling and contents.
738
+ * ...
739
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-swimlaneRenderer)
740
+ * @param {object} detail An object containing the information needed to render a swimlane.
741
+ * @param {TaskBoard.model.SwimlaneModel} detail.swimlaneRecord The swimlane.
742
+ * @param {DomConfig} detail.swimlaneConfig DOM config object for the swimlane
743
+ * @returns {void}
744
+ */
745
+ swimlaneRenderer? : (detail: { swimlaneRecord: SwimlaneModel, swimlaneConfig: DomConfig }) => void
746
+ /**
747
+ * Store containing the TaskBoard swimlanes. A tasks [swimlaneField](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardSwimlanes#config-swimlaneField) is matched against the `id`
748
+ * of a swimlane to determine in which swimlane it is displayed.
749
+ * ...
750
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-swimlanes)
751
+ */
752
+ swimlanes? : SwimlaneModel[]|SwimlaneModelConfig[]|Store|string|StoreConfig
753
+ /**
754
+ * TaskBoard does not use a sync mask by default. If you want one, see
755
+ * [syncMask](https://bryntum.com/products/taskboard/docs/api/Core/mixin/LoadMaskable#config-syncMask) for configuration options.
756
+ */
757
+ syncMask? : string|object|null
758
+ /**
759
+ * A configuration for the [tab](https://bryntum.com/products/taskboard/docs/api/Core/widget/Tab) created for this widget when it is placed in a
760
+ * [TabPanel](https://bryntum.com/products/taskboard/docs/api/Core/widget/TabPanel). For example, this config can be used to control the icon of the `tab` for
761
+ * this widget:
762
+ * ...
763
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tab)
764
+ */
765
+ tab? : boolean|TabConfig
766
+ /**
767
+ * When this container is used as a tab in a TabPanel, these items are added to the
768
+ * [TabBar](https://bryntum.com/products/taskboard/docs/api/Core/widget/TabBar) when this container is the active tab.
769
+ * ...
770
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tabBarItems)
771
+ */
772
+ tabBarItems? : ToolbarItems[]|Widget[]
773
+ /**
774
+ * An empty function by default, but provided so that you can override it. This function is called each time
775
+ * a task is rendered into the task board. It allows you to manipulate the DOM config object used for the card
776
+ * before it is synced to DOM, thus giving you control over styling and contents.
777
+ * ...
778
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-taskRenderer)
779
+ * @param {object} detail An object containing the information needed to render a task.
780
+ * @param {TaskBoard.model.TaskModel} detail.taskRecord The task record.
781
+ * @param {TaskBoard.model.ColumnModel} detail.columnRecord The column the task will be displayed in.
782
+ * @param {TaskBoard.model.SwimlaneModel} detail.swimlaneRecord The swimlane the task will be displayed in.
783
+ * @param {DomConfig} detail.cardConfig DOM config object for the cards element
784
+ * @returns {void}
785
+ */
786
+ taskRenderer? : (detail: { taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, cardConfig: DomConfig }) => void
787
+ /**
788
+ * Inline [tasks](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/TaskModel), will be loaded into an internally created
789
+ * [TaskStore](https://bryntum.com/products/taskboard/docs/api/TaskBoard/store/TaskStore) as a part of a [project](#TaskBoard/model/ProjectModel).
790
+ */
791
+ tasks? : TaskModel[]|object[]|TaskModelConfig[]
792
+ /**
793
+ * Allows sorting tasks in the UI independent of how they are sorted in the task store.
794
+ * ...
795
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-taskSorterFn)
796
+ * @param {TaskBoard.model.TaskModel} first The first task to compare
797
+ * @param {TaskBoard.model.TaskModel} second The second task to compare
798
+ * @returns {number} Return `1` if first task is greater than second task, `-1` if the opposite is true or `0` if they are equal
799
+ */
800
+ taskSorterFn? : boolean|((first: TaskModel, second: TaskModel) => number)
801
+ /**
802
+ * Controls how many cards are rendered to a row in each column. Can be controlled on a per column basis by
803
+ * setting [tasksPerRow](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-tasksPerRow)
804
+ * ...
805
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tasksPerRow)
806
+ */
807
+ tasksPerRow? : number
808
+ /**
809
+ * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar),
810
+ * or array of config objects representing the child items of a Toolbar.
811
+ * This creates a toolbar docked to the top of the panel immediately below the header.
812
+ * ...
813
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tbar)
814
+ */
815
+ tbar? : (TaskBoardContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
816
+ /**
817
+ * A title to display in the header or owning TabPanel. Causes creation and docking of a header
818
+ * to the top if no header is configured.
819
+ * ...
820
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-title)
821
+ */
822
+ title? : string
823
+ /**
824
+ * The [tools](https://bryntum.com/products/taskboard/docs/api/Core/widget/Tool) to add either before or after the `title` in the Panel header. Each
825
+ * property name is the reference by which an instantiated tool may be retrieved from the live
826
+ * `[tools](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Toolable#property-tools)` property.
827
+ * ...
828
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tools)
829
+ */
830
+ tools? : Record<string, ToolConfig>|null
831
+ /**
832
+ * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
833
+ * as a space separated string, an array of strings, or as an object in which property names with truthy
834
+ * values are used as the class names.
835
+ * ...
836
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-ui)
837
+ */
838
+ ui? : 'plain'|'toolbar'|string|object
839
+ /**
840
+ * Experimental, animate actions that cannot be animated using CSS transitions. Currently includes:
841
+ * ...
842
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-useDomTransition)
843
+ */
844
+ useDomTransition? : boolean
845
+ /**
846
+ * By turning on this setting you enable partial virtualized rendering for the board, which reduces initial
847
+ * rendering time and makes interaction less sluggish when using thousands of tasks. The tradeoff is that
848
+ * scrolling in most cases will be slower.
849
+ * ...
850
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-virtualize)
851
+ */
852
+ virtualize? : boolean
853
+ /**
854
+ * A widgets weight determines its position among siblings when added to a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container).
855
+ * Higher weights go further down.
856
+ */
857
+ weight? : number
858
+ /**
859
+ * Widget's width, used to set element `style.width`. Either specify a valid width string or a number, which
860
+ * will get 'px' appended. We recommend using CSS as the primary way to control width, but in some cases
861
+ * this config is convenient.
862
+ */
863
+ width? : string|number
864
+ /**
865
+ * The x position for the widget.
866
+ * ...
867
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-x)
868
+ */
869
+ x? : number
870
+ /**
871
+ * The y position for the widget.
872
+ * ...
873
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-y)
874
+ */
875
+ y? : number
876
+
877
+ // Events
878
+ /**
879
+ * Triggered when a task is "activated" by pressing `Enter` or double clicking it.
880
+ * ...
881
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-activateTask)
882
+ * @param {object} event Event object
883
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
884
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task record
885
+ * @param {MouseEvent} event.event Browser event
886
+ */
887
+ onActivateTask? : ((event: { source: TaskBoard, taskRecord: TaskModel, event: MouseEvent }) => void)|string
888
+ /**
889
+ * Fires on the owning TaskBoard before column dragging starts. Return `false` to prevent the action
890
+ * @param {object} event Event object
891
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
892
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column to be dragged
893
+ */
894
+ onBeforeColumnDrag? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => Promise<boolean>|boolean|void)|string
895
+ /**
896
+ * Fires on the owning TaskBoard when dropping a column, before the operation completes. Handles async
897
+ * listeners, returning `false` from one will abort the operation
898
+ * ...
899
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeColumnDrop)
900
+ * @param {object} event Event object
901
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
902
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Dropped column
903
+ * @param {TaskBoard.model.ColumnModel} event.beforeColumn Dropped before this column
904
+ */
905
+ onBeforeColumnDrop? : ((event: { source: TaskBoard, columnRecord: ColumnModel, beforeColumn: ColumnModel }) => Promise<boolean>|boolean|void)|string
906
+ /**
907
+ * This event is fired prior to starting a column resize gesture. The resize is canceled if a listener returns
908
+ * `false`.
909
+ * @param {object} event Event object
910
+ * @param {TaskBoard.view.TaskBoard} event.source The TaskBoard instance
911
+ * @param {TaskBoard.model.ColumnModel} event.column The column
912
+ * @param {Event} event.domEvent The browser event
913
+ */
914
+ onBeforeColumnResize? : ((event: { source: TaskBoard, column: ColumnModel, domEvent: Event }) => Promise<boolean>|boolean|void)|string
915
+ /**
916
+ * Fires before an object is destroyed.
917
+ * @param {object} event Event object
918
+ * @param {Core.Base} event.source The Object that is being destroyed.
919
+ */
920
+ onBeforeDestroy? : ((event: { source: Base }) => void)|string
921
+ /**
922
+ * Triggered before a widget is hidden. Return `false` to prevent the action.
923
+ * @param {object} event Event object
924
+ * @param {Core.widget.Widget} event.source The widget being hidden.
925
+ */
926
+ onBeforeHide? : ((event: { source: Widget }) => Promise<boolean>|boolean|void)|string
927
+ /**
928
+ * Triggered before a new [responsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveState) is applied.
929
+ * @param {object} event Event object
930
+ * @param {Core.widget.Widget} event.source The widget whose `responsiveState` is to be changed
931
+ * @param {string} event.state The new value for the widget's `responsiveState`
932
+ * @param {string} event.oldState The previous value for the widget's `responsiveState`
933
+ */
934
+ onBeforeResponsiveStateChange? : ((event: { source: Widget, state: string, oldState: string }) => void)|string
935
+ /**
936
+ * Triggered before a widget is shown. Return `false` to prevent the action.
937
+ * @param {object} event Event object
938
+ * @param {Core.widget.Widget,any} event.source The widget being shown
939
+ */
940
+ onBeforeShow? : ((event: { source: Widget|any }) => Promise<boolean>|boolean|void)|string
941
+ /**
942
+ * Fires on the owning TaskBoard before displaying an inline editor. Returning `false` stops the editor from
943
+ * being shown.
944
+ * ...
945
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeSimpleTaskEdit)
946
+ * @param {object} event Event object
947
+ * @param {TaskBoard.view.TaskBoard} event.source The task board
948
+ * @param {TaskBoard.feature.SimpleTaskEdit} event.simpleTaskEdit The simpleTaskEdit feature
949
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The record about to be shown in the editor
950
+ * @param {string} event.field Field name being edited
951
+ */
952
+ onBeforeSimpleTaskEdit? : ((event: { source: TaskBoard, simpleTaskEdit: SimpleTaskEdit, taskRecord: TaskModel, field: string }) => Promise<boolean>|boolean|void)|string
953
+ /**
954
+ * Fired before state is applied to the source. Allows editing the state object or preventing the operation.
955
+ * @param {object} event Event object
956
+ * @param {any} event.state State object config
957
+ */
958
+ onBeforeStateApply? : ((event: { state: any }) => Promise<boolean>|boolean|void)|string
959
+ /**
960
+ * Fired before state is saved by the StateProvider. Allows editing the state object or preventing the operation.
961
+ * @param {object} event Event object
962
+ * @param {any} event.state State object config
963
+ */
964
+ onBeforeStateSave? : ((event: { state: any }) => Promise<boolean>|boolean|void)|string
965
+ /**
966
+ * Fires on the owning TaskBoard before task dragging starts. Return `false` to prevent the action
967
+ * @param {object} event Event object
968
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
969
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Tasks to be dragged
970
+ * @param {Event} event.domEvent The mouse event
971
+ */
972
+ onBeforeTaskDrag? : ((event: { source: TaskBoard, taskRecords: TaskModel[], domEvent: Event }) => Promise<boolean>|boolean|void)|string
973
+ /**
974
+ * Fires on the owning TaskBoard when tasks are dropped, before the operation completes. Handles async
975
+ * listeners, returning `false` from one will abort the operation
976
+ * ...
977
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeTaskDrop)
978
+ * @param {object} event Event object
979
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
980
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Dropped tasks
981
+ * @param {TaskBoard.model.ColumnModel} event.targetColumn Dropped on this column
982
+ * @param {TaskBoard.model.SwimlaneModel} event.targetSwimlane Dropped in this swimlane (if used)
983
+ * @param {Event} event.domEvent The mouse event
984
+ */
985
+ onBeforeTaskDrop? : ((event: { source: TaskBoard, taskRecords: TaskModel[], targetColumn: ColumnModel, targetSwimlane: SwimlaneModel, domEvent: Event }) => Promise<boolean>|boolean|void)|string
986
+ /**
987
+ * Fires on the owning TaskBoard before a task is displayed in an editor.
988
+ * ...
989
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeTaskEdit)
990
+ * @param {object} event Event object
991
+ * @param {TaskBoard.view.TaskBoard} event.source The owning TaskBoard
992
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The record about to be shown in the task editor
993
+ */
994
+ onBeforeTaskEdit? : ((event: { source: TaskBoard, taskRecord: TaskModel }) => Promise<boolean>|boolean|void)|string
995
+ /**
996
+ * Fires on the owning TaskBoard when the editor for a task is available, but before it is populated with data
997
+ * and shown. Allows manipulating fields etc.
998
+ * ...
999
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeTaskEditShow)
1000
+ * @param {object} event Event object
1001
+ * @param {TaskBoard.view.TaskBoard} event.source The owning TaskBoard
1002
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The record about to be shown in the task editor
1003
+ * @param {TaskBoard.widget.TaskEditor} event.editor The editor
1004
+ */
1005
+ onBeforeTaskEditShow? : ((event: { source: TaskBoard, taskRecord: TaskModel, editor: TaskEditor }) => void)|string
1006
+ /**
1007
+ * Triggered when one or more tasks are to be removed by a call to `removeTask()`.
1008
+ * ...
1009
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-beforeTaskRemove)
1010
+ * @param {object} event Event object
1011
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1012
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Task records to be removed
1013
+ */
1014
+ onBeforeTaskRemove? : ((event: { source: TaskBoard, taskRecords: TaskModel[] }) => Promise<boolean>|boolean|void)|string
1015
+ /**
1016
+ * Fires when any other event is fired from the object.
1017
+ * ...
1018
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-catchAll)
1019
+ * @param {object} event Event object
1020
+ * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
1021
+ * @param {string} event.event.type The type of the event which is caught by the listener
1022
+ */
1023
+ onCatchAll? : ((event: {[key: string]: any, type: string}) => void)|string
1024
+ /**
1025
+ * This event fires on the owning TaskBoard when an item is selected in the column header menu.
1026
+ * @param {object} event Event object
1027
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1028
+ * @param {Core.widget.Menu} event.menu The menu
1029
+ * @param {Core.widget.MenuItem} event.item Selected menu item
1030
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord The column
1031
+ */
1032
+ onCellMenuItem? : ((event: { source: TaskBoard, menu: Menu, item: MenuItem, columnRecord: ColumnModel }) => void)|string
1033
+ /**
1034
+ * This event fires on the owning TaskBoard after the context menu is shown for a column header.
1035
+ * @param {object} event Event object
1036
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1037
+ * @param {Core.widget.Menu} event.menu The menu
1038
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
1039
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord The column
1040
+ */
1041
+ onCellMenuShow? : ((event: { source: TaskBoard, menu: Menu, items: Record<string, MenuItemEntry>, columnRecord: ColumnModel }) => void)|string
1042
+ /**
1043
+ * This event fires on the owning TaskBoard when a check item is toggled in the column header menu.
1044
+ * @param {object} event Event object
1045
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1046
+ * @param {Core.widget.Menu} event.menu The menu
1047
+ * @param {Core.widget.MenuItem} event.item Selected menu item
1048
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord The column
1049
+ * @param {boolean} event.checked Checked or not
1050
+ */
1051
+ onCellMenuToggleItem? : ((event: { source: TaskBoard, menu: Menu, item: MenuItem, columnRecord: ColumnModel, checked: boolean }) => void)|string
1052
+ /**
1053
+ * Fires when a Panel is collapsed using the [collapsible](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsible) setting.
1054
+ * @param {object} event Event object
1055
+ * @param {Core.widget.Panel} event.source This Panel.
1056
+ */
1057
+ onCollapse? : ((event: { source: Panel }) => void)|string
1058
+ /**
1059
+ * Triggered when a column is collapsed.
1060
+ * @param {object} event Event object
1061
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1062
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1063
+ */
1064
+ onColumnCollapse? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1065
+ /**
1066
+ * Fires on the owning TaskBoard when a column is dragged, if the drag leads to a change compared to
1067
+ * the last columnDrag event.
1068
+ * ...
1069
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnDrag)
1070
+ * @param {object} event Event object
1071
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1072
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column being dragged
1073
+ * @param {TaskBoard.model.ColumnModel} event.beforeColumn Insert before this column on drop, `null` if last
1074
+ */
1075
+ onColumnDrag? : ((event: { source: TaskBoard, columnRecord: ColumnModel, beforeColumn: ColumnModel }) => void)|string
1076
+ /**
1077
+ * Fires on the owning TaskBoard when a drag operation is aborted (invalid drop or aborted using ESC)
1078
+ * @param {object} event Event object
1079
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1080
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Dragged column
1081
+ */
1082
+ onColumnDragAbort? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1083
+ /**
1084
+ * Fires on the owning TaskBoard when a previously started drag operation ends, no matter the
1085
+ * outcome of it (whether valid, invalid or aborted)
1086
+ * @param {object} event Event object
1087
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1088
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Affected column
1089
+ */
1090
+ onColumnDragEnd? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1091
+ /**
1092
+ * Fires on the owning TaskBoard when column dragging starts
1093
+ * @param {object} event Event object
1094
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1095
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column to be dragged
1096
+ */
1097
+ onColumnDragStart? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1098
+ /**
1099
+ * Fires on the owning TaskBoard when a column is successfully dropped (after the drop transition
1100
+ * has finished)
1101
+ * @param {object} event Event object
1102
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1103
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Dropped column
1104
+ * @param {TaskBoard.model.ColumnModel} event.beforeColumn Dropped before this column (`null` if last)
1105
+ * @param {TaskBoard.model.SwimlaneModel} event.targetSwimlane Dropped in this swimlane (if used)
1106
+ */
1107
+ onColumnDrop? : ((event: { source: TaskBoard, columnRecord: ColumnModel, beforeColumn: ColumnModel, targetSwimlane: SwimlaneModel }) => void)|string
1108
+ /**
1109
+ * Triggered when a column is expanded.
1110
+ * @param {object} event Event object
1111
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1112
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1113
+ */
1114
+ onColumnExpand? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1115
+ /**
1116
+ * Triggered when the column filter is hidden.
1117
+ * @param {object} event Event object
1118
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1119
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1120
+ */
1121
+ onColumnFilterHide? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1122
+ /**
1123
+ * Triggered when the column filter is displayed.
1124
+ * @param {object} event Event object
1125
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1126
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1127
+ */
1128
+ onColumnFilterShow? : ((event: { source: TaskBoard, columnRecord: ColumnModel }) => void)|string
1129
+ /**
1130
+ * Triggered when the column filter visibility is toggled.
1131
+ * @param {object} event Event object
1132
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1133
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1134
+ * @param {boolean} event.visible True if filter popup is visible, false otherwise
1135
+ */
1136
+ onColumnFilterToggle? : ((event: { source: TaskBoard, columnRecord: ColumnModel, visible: boolean }) => void)|string
1137
+ /**
1138
+ * Triggered when a column header is clicked.
1139
+ * ...
1140
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnHeaderClick)
1141
+ * @param {object} event Event object
1142
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1143
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1144
+ * @param {MouseEvent} event.event Browser event
1145
+ */
1146
+ onColumnHeaderClick? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1147
+ /**
1148
+ * Triggered when a column header is right-clicked.
1149
+ * ...
1150
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnHeaderContextMenu)
1151
+ * @param {object} event Event object
1152
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1153
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1154
+ * @param {MouseEvent} event.event Browser event
1155
+ */
1156
+ onColumnHeaderContextMenu? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1157
+ /**
1158
+ * Triggered when a column header is double-clicked.
1159
+ * ...
1160
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnHeaderDblClick)
1161
+ * @param {object} event Event object
1162
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1163
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1164
+ * @param {MouseEvent} event.event Browser event
1165
+ */
1166
+ onColumnHeaderDblClick? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1167
+ /**
1168
+ * This event fires on the owning TaskBoard before the menu is shown for a column header.
1169
+ * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnHeaderMenu#config-processItems).
1170
+ * ...
1171
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnHeaderMenuBeforeShow)
1172
+ * @param {object} event Event object
1173
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1174
+ * @param {Core.widget.Menu} event.menu The menu
1175
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
1176
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord The column
1177
+ */
1178
+ onColumnHeaderMenuBeforeShow? : ((event: { source: TaskBoard, menu: Menu, items: Record<string, MenuItemEntry>, columnRecord: ColumnModel }) => Promise<boolean>|boolean|void)|string
1179
+ /**
1180
+ * This event is fired after a resize gesture is completed.
1181
+ * @param {object} event Event object
1182
+ * @param {TaskBoard.view.TaskBoard} event.source The TaskBoard instance
1183
+ * @param {TaskBoard.model.ColumnModel} event.column The column
1184
+ * @param {Event} event.domEvent The browser event
1185
+ */
1186
+ onColumnResize? : ((event: { source: TaskBoard, column: ColumnModel, domEvent: Event }) => void)|string
1187
+ /**
1188
+ * This event is fired when a column resize gesture starts.
1189
+ * @param {object} event Event object
1190
+ * @param {TaskBoard.view.TaskBoard} event.source The TaskBoard instance
1191
+ * @param {TaskBoard.model.ColumnModel} event.column The column
1192
+ * @param {Event} event.domEvent The browser event
1193
+ */
1194
+ onColumnResizeStart? : ((event: { source: TaskBoard, column: ColumnModel, domEvent: Event }) => void)|string
1195
+ /**
1196
+ * Triggered when a column title element is clicked.
1197
+ * ...
1198
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnTitleClick)
1199
+ * @param {object} event Event object
1200
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1201
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1202
+ * @param {MouseEvent} event.event Browser event
1203
+ */
1204
+ onColumnTitleClick? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1205
+ /**
1206
+ * Triggered when a column title element is right-clicked.
1207
+ * ...
1208
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnTitleContextMenu)
1209
+ * @param {object} event Event object
1210
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1211
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1212
+ * @param {MouseEvent} event.event Browser event
1213
+ */
1214
+ onColumnTitleContextMenu? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1215
+ /**
1216
+ * Triggered when a column title element is double-clicked.
1217
+ * ...
1218
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-columnTitleDblClick)
1219
+ * @param {object} event Event object
1220
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1221
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1222
+ * @param {MouseEvent} event.event Browser event
1223
+ */
1224
+ onColumnTitleDblClick? : ((event: { source: TaskBoard, columnRecord: ColumnModel, event: MouseEvent }) => void)|string
1225
+ /**
1226
+ * Triggered when the column collapsed state is toggled.
1227
+ * @param {object} event Event object
1228
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1229
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record
1230
+ * @param {boolean} event.collapse `true` if the column is being collapsed.
1231
+ */
1232
+ onColumnToggle? : ((event: { source: TaskBoard, columnRecord: ColumnModel, collapse: boolean }) => void)|string
1233
+ /**
1234
+ * Fires when an object is destroyed.
1235
+ * @param {object} event Event object
1236
+ * @param {Core.Base} event.source The Object that is being destroyed.
1237
+ */
1238
+ onDestroy? : ((event: { source: Base }) => void)|string
1239
+ /**
1240
+ * Fires when a field is mutated and the state of the [hasChanges](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#property-hasChanges) property changes
1241
+ * @param {object} event Event object
1242
+ * @param {Core.widget.Container} event.source The container.
1243
+ * @param {boolean} event.dirty The dirty state of the Container - `true` if there are any fields which have been changed since initial load.
1244
+ */
1245
+ onDirtyStateChange? : ((event: { source: Container, dirty: boolean }) => void)|string
1246
+ /**
1247
+ * Triggered when a widget's [element](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-element) is available.
1248
+ * @param {object} event Event object
1249
+ * @param {HTMLElement} event.element The Widget's element.
1250
+ */
1251
+ onElementCreated? : ((event: { element: HTMLElement }) => void)|string
1252
+ /**
1253
+ * Fires when a Panel is expanded using the [collapsible](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsible) setting.
1254
+ * @param {object} event Event object
1255
+ * @param {Core.widget.Panel} event.source This Panel.
1256
+ */
1257
+ onExpand? : ((event: { source: Panel }) => void)|string
1258
+ /**
1259
+ * Fired when focus enters this Widget.
1260
+ * @param {object} event Event object
1261
+ * @param {Core.widget.Widget} event.source This Widget
1262
+ * @param {HTMLElement} event.fromElement The element which lost focus.
1263
+ * @param {HTMLElement} event.toElement The element which gained focus.
1264
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
1265
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
1266
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
1267
+ */
1268
+ onFocusIn? : ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string
1269
+ /**
1270
+ * Fired when focus exits this Widget's ownership tree. This is different from a `blur` event.
1271
+ * focus moving from within this Widget's ownership tree, even if there are floating widgets
1272
+ * will not trigger this event. This is when focus exits this widget completely.
1273
+ * @param {object} event Event object
1274
+ * @param {Core.widget.Widget} event.source This Widget
1275
+ * @param {HTMLElement} event.fromElement The element which lost focus.
1276
+ * @param {HTMLElement} event.toElement The element which gained focus.
1277
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
1278
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
1279
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
1280
+ */
1281
+ onFocusOut? : ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string
1282
+ /**
1283
+ * Triggered after a widget was hidden
1284
+ * @param {object} event Event object
1285
+ * @param {Core.widget.Widget} event.source The widget
1286
+ */
1287
+ onHide? : ((event: { source: Widget }) => void)|string
1288
+ /**
1289
+ * Triggered when a widget which had been in a non-visible state for any reason
1290
+ * achieves visibility.
1291
+ * ...
1292
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-paint)
1293
+ * @param {object} event Event object
1294
+ * @param {Core.widget.Widget} event.source The widget being painted.
1295
+ * @param {boolean} event.firstPaint `true` if this is the first paint.
1296
+ */
1297
+ onPaint? : ((event: { source: Widget, firstPaint: boolean }) => void)|string
1298
+ /**
1299
+ * Fired when a Widget's read only state is toggled
1300
+ * @param {object} event Event object
1301
+ * @param {boolean} event.readOnly Read only or not
1302
+ */
1303
+ onReadOnly? : ((event: { readOnly: boolean }) => void)|string
1304
+ /**
1305
+ * This event is fired after a widget's elements have been synchronized due to a direct or indirect call
1306
+ * to [recompose](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#function-recompose), if this results in some change to the widget's rendered DOM elements.
1307
+ */
1308
+ onRecompose? : (() => void)|string
1309
+ /**
1310
+ * Triggered when a tasks element is removed.
1311
+ * ...
1312
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-removeTaskElement)
1313
+ * @param {object} event Event object
1314
+ * @param {TaskBoard.view.TaskBoard} event.source TaskBoard instance
1315
+ * @param {string,number} event.taskId Id of the task (not the record itself since it might be removed)
1316
+ * @param {HTMLElement} event.element Tasks element
1317
+ */
1318
+ onRemoveTaskElement? : ((event: { source: TaskBoard, taskId: string|number, element: HTMLElement }) => void)|string
1319
+ /**
1320
+ * Triggered when a task is rendered.
1321
+ * ...
1322
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-renderTask)
1323
+ * @param {object} event Event object
1324
+ * @param {TaskBoard.view.TaskBoard} event.source TaskBoard instance
1325
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task being rendered
1326
+ * @param {boolean} event.isRefresh `true` if the element was updated, `false` if it was added
1327
+ * @param {HTMLElement} event.element Tasks element
1328
+ */
1329
+ onRenderTask? : ((event: { source: TaskBoard, taskRecord: TaskModel, isRefresh: boolean, element: HTMLElement }) => void)|string
1330
+ /**
1331
+ * Triggered when all tasks in the task board are rendered
1332
+ * @param {object} event Event object
1333
+ * @param {TaskBoard.view.TaskBoard} event.source TaskBoard instance
1334
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Tasks being rendered
1335
+ */
1336
+ onRenderTasks? : ((event: { source: TaskBoard, taskRecords: TaskModel[] }) => void)|string
1337
+ /**
1338
+ * Fired when the encapsulating element of a Widget resizes *only when [monitorResize](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-monitorResize) is `true`*.
1339
+ * @param {object} event Event object
1340
+ * @param {Core.widget.Widget} event.source This Widget
1341
+ * @param {number} event.width The new width
1342
+ * @param {number} event.height The new height
1343
+ * @param {number} event.oldWidth The old width
1344
+ * @param {number} event.oldHeight The old height
1345
+ */
1346
+ onResize? : ((event: { source: Widget, width: number, height: number, oldWidth: number, oldHeight: number }) => void)|string
1347
+ /**
1348
+ * Triggered when a new [responsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveState) is applied.
1349
+ * @param {object} event Event object
1350
+ * @param {Core.widget.Widget} event.source The widget whose `responsiveState` has changed
1351
+ * @param {string} event.state The new value for the widget's `responsiveState`
1352
+ * @param {string} event.oldState The previous value for the widget's `responsiveState`
1353
+ */
1354
+ onResponsiveStateChange? : ((event: { source: Widget, state: string, oldState: string }) => void)|string
1355
+ /**
1356
+ * Triggered when task selection changes.
1357
+ * @param {object} event Event object
1358
+ * @param {TaskBoard.view.TaskBoard} event.source TaskBoard instance
1359
+ * @param {'select','deselect'} event.action Either 'select' or 'deselect', depending on operation
1360
+ * @param {TaskBoard.model.TaskModel[]} event.selection All currently selected tasks
1361
+ * @param {TaskBoard.model.TaskModel[]} event.select Tasks selected by the operation
1362
+ * @param {TaskBoard.model.TaskModel[]} event.deselect Tasks deselected by the operation
1363
+ */
1364
+ onSelectionChange? : ((event: { source: TaskBoard, action: 'select'|'deselect', selection: TaskModel[], select: TaskModel[], deselect: TaskModel[] }) => void)|string
1365
+ /**
1366
+ * Triggered after a widget is shown.
1367
+ * @param {object} event Event object
1368
+ * @param {Core.widget.Widget} event.source The widget
1369
+ */
1370
+ onShow? : ((event: { source: Widget }) => void)|string
1371
+ /**
1372
+ * Fires on the owning TaskBoard when inline editing of a field is cancelled (by pressing ESC).
1373
+ * ...
1374
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-simpleTaskEditCancel)
1375
+ * @param {object} event Event object
1376
+ * @param {TaskBoard.view.TaskBoard} event.source The task board
1377
+ * @param {TaskBoard.feature.SimpleTaskEdit} event.simpleTaskEdit The simpleTaskEdit feature
1378
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Record that was edited
1379
+ * @param {string} event.field Field name being edited
1380
+ */
1381
+ onSimpleTaskEditCancel? : ((event: { source: TaskBoard, simpleTaskEdit: SimpleTaskEdit, taskRecord: TaskModel, field: string }) => Promise<boolean>|boolean|void)|string
1382
+ /**
1383
+ * Fires on the owning TaskBoard when inline editing of a field has successfully finished.
1384
+ * ...
1385
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-simpleTaskEditComplete)
1386
+ * @param {object} event Event object
1387
+ * @param {TaskBoard.view.TaskBoard} event.source The task board
1388
+ * @param {TaskBoard.feature.SimpleTaskEdit} event.simpleTaskEdit The simpleTaskEdit feature
1389
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Record that was edited
1390
+ * @param {string} event.field Field name being edited
1391
+ */
1392
+ onSimpleTaskEditComplete? : ((event: { source: TaskBoard, simpleTaskEdit: SimpleTaskEdit, taskRecord: TaskModel, field: string }) => Promise<boolean>|boolean|void)|string
1393
+ /**
1394
+ * Triggered when a swimlane is collapsed.
1395
+ * @param {object} event Event object
1396
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1397
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1398
+ */
1399
+ onSwimlaneCollapse? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel }) => void)|string
1400
+ /**
1401
+ * Triggered when a swimlane is expanded.
1402
+ * @param {object} event Event object
1403
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1404
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1405
+ */
1406
+ onSwimlaneExpand? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel }) => void)|string
1407
+ /**
1408
+ * Triggered when a swimlane header is clicked.
1409
+ * ...
1410
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-swimlaneHeaderClick)
1411
+ * @param {object} event Event object
1412
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1413
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1414
+ * @param {MouseEvent} event.event Browser event
1415
+ */
1416
+ onSwimlaneHeaderClick? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1417
+ /**
1418
+ * Triggered when a swimlane header is right-clicked.
1419
+ * ...
1420
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-swimlaneHeaderContextMenu)
1421
+ * @param {object} event Event object
1422
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1423
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1424
+ * @param {MouseEvent} event.event Browser event
1425
+ */
1426
+ onSwimlaneHeaderContextMenu? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1427
+ /**
1428
+ * Triggered when a swimlane header is double-clicked.
1429
+ * ...
1430
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-swimlaneHeaderDblClick)
1431
+ * @param {object} event Event object
1432
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1433
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1434
+ * @param {MouseEvent} event.event Browser event
1435
+ */
1436
+ onSwimlaneHeaderDblClick? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1437
+ /**
1438
+ * Triggered when the swimlane collapsed state is toggled.
1439
+ * @param {object} event Event object
1440
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1441
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record
1442
+ * @param {boolean} event.collapse `true` if the column is being collapsed.
1443
+ */
1444
+ onSwimlaneToggle? : ((event: { source: TaskBoard, swimlaneRecord: SwimlaneModel, collapse: boolean }) => void)|string
1445
+ /**
1446
+ * Triggered when a card is clicked.
1447
+ * ...
1448
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskClick)
1449
+ * @param {object} event Event object
1450
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1451
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task record
1452
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record for the tasks column
1453
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record for the tasks swimlane (if used)
1454
+ * @param {MouseEvent} event.event Browser event
1455
+ */
1456
+ onTaskClick? : ((event: { source: TaskBoard, taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1457
+ /**
1458
+ * Triggered when a card is double-clicked
1459
+ * ...
1460
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskDblClick)
1461
+ * @param {object} event Event object
1462
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1463
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task record
1464
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record for the tasks column
1465
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record for the tasks swimlane (if used)
1466
+ * @param {MouseEvent} event.event Browser event
1467
+ */
1468
+ onTaskDblClick? : ((event: { source: TaskBoard, taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1469
+ /**
1470
+ * Fires on the owning TaskBoard when tasks are dragged, if the drag leads to any changes compared to
1471
+ * the last taskDrag event (moved to a new column or changed order within a column).
1472
+ * ...
1473
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskDrag)
1474
+ * @param {object} event Event object
1475
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1476
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Dragged tasks
1477
+ * @param {TaskBoard.model.ColumnModel} event.targetColumn Currently over this column
1478
+ * @param {TaskBoard.model.SwimlaneModel} event.targetSwimlane Currently over this swimlane (if used)
1479
+ * @param {Event} event.domEvent The mouse event
1480
+ */
1481
+ onTaskDrag? : ((event: { source: TaskBoard, taskRecords: TaskModel[], targetColumn: ColumnModel, targetSwimlane: SwimlaneModel, domEvent: Event }) => void)|string
1482
+ /**
1483
+ * Fires on the owning TaskBoard when a drag operation is aborted (invalid drop or aborted using ESC)
1484
+ * @param {object} event Event object
1485
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1486
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Dragged tasks
1487
+ */
1488
+ onTaskDragAbort? : ((event: { source: TaskBoard, taskRecords: TaskModel[] }) => void)|string
1489
+ /**
1490
+ * Fires on the owning TaskBoard when a previously started drag operation ends, no matter the
1491
+ * outcome of it (whether valid, invalid or aborted)
1492
+ * @param {object} event Event object
1493
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1494
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Affected tasks
1495
+ * @param {Event} event.domEvent The mouse event
1496
+ */
1497
+ onTaskDragEnd? : ((event: { source: TaskBoard, taskRecords: TaskModel[], domEvent: Event }) => void)|string
1498
+ /**
1499
+ * Fires on the owning TaskBoard when task dragging starts
1500
+ * @param {object} event Event object
1501
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1502
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Tasks to be dragged
1503
+ * @param {Event} event.domEvent The mouse event
1504
+ */
1505
+ onTaskDragStart? : ((event: { source: TaskBoard, taskRecords: TaskModel[], domEvent: Event }) => void)|string
1506
+ /**
1507
+ * Fires on the owning TaskBoard when tasks are successfully dropped (after the drop transition has
1508
+ * finished)
1509
+ * @param {object} event Event object
1510
+ * @param {TaskBoard.view.TaskBoard} event.source Owning TaskBoard
1511
+ * @param {TaskBoard.model.TaskModel[]} event.taskRecords Dropped tasks
1512
+ * @param {TaskBoard.model.ColumnModel} event.targetColumn Dropped on this column
1513
+ * @param {TaskBoard.model.SwimlaneModel} event.targetSwimlane Dropped in this swimlane (if used)
1514
+ * @param {Event} event.domEvent The mouse event
1515
+ */
1516
+ onTaskDrop? : ((event: { source: TaskBoard, taskRecords: TaskModel[], targetColumn: ColumnModel, targetSwimlane: SwimlaneModel, domEvent: Event }) => void)|string
1517
+ /**
1518
+ * This event fires on the owning TaskBoard before the context menu is shown for a task.
1519
+ * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskMenu#config-processItems).
1520
+ * ...
1521
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskMenuBeforeShow)
1522
+ * @param {object} event Event object
1523
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1524
+ * @param {Core.widget.Menu} event.menu The menu
1525
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
1526
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The task
1527
+ */
1528
+ onTaskMenuBeforeShow? : ((event: { source: TaskBoard, menu: Menu, items: Record<string, MenuItemEntry>, taskRecord: TaskModel }) => Promise<boolean>|boolean|void)|string
1529
+ /**
1530
+ * This event fires on the owning TaskBoard when an item is selected in the task context menu.
1531
+ * @param {object} event Event object
1532
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1533
+ * @param {Core.widget.Menu} event.menu The menu
1534
+ * @param {Core.widget.MenuItem} event.item Selected menu item
1535
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The task
1536
+ */
1537
+ onTaskMenuItem? : ((event: { source: TaskBoard, menu: Menu, item: MenuItem, taskRecord: TaskModel }) => void)|string
1538
+ /**
1539
+ * This event fires on the owning TaskBoard after the context menu is shown for a task.
1540
+ * @param {object} event Event object
1541
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1542
+ * @param {Core.widget.Menu} event.menu The menu
1543
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
1544
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The task
1545
+ */
1546
+ onTaskMenuShow? : ((event: { source: TaskBoard, menu: Menu, items: Record<string, MenuItemEntry>, taskRecord: TaskModel }) => void)|string
1547
+ /**
1548
+ * This event fires on the owning TaskBoard when a check item is toggled in the task context menu.
1549
+ * @param {object} event Event object
1550
+ * @param {TaskBoard.view.TaskBoard} event.source The grid
1551
+ * @param {Core.widget.Menu} event.menu The menu
1552
+ * @param {Core.widget.MenuItem} event.item Selected menu item
1553
+ * @param {TaskBoard.model.TaskModel} event.taskRecord The task
1554
+ * @param {boolean} event.checked Checked or not
1555
+ */
1556
+ onTaskMenuToggleItem? : ((event: { source: TaskBoard, menu: Menu, item: MenuItem, taskRecord: TaskModel, checked: boolean }) => void)|string
1557
+ /**
1558
+ * Triggered when the mouse enters a card
1559
+ * ...
1560
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskMouseEnter)
1561
+ * @param {object} event Event object
1562
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1563
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task record
1564
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record for the tasks column
1565
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record for the tasks swimlane (if used)
1566
+ * @param {MouseEvent} event.event Browser event
1567
+ */
1568
+ onTaskMouseEnter? : ((event: { source: TaskBoard, taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1569
+ /**
1570
+ * Triggered when the mouse leaves a card
1571
+ * ...
1572
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#event-taskMouseLeave)
1573
+ * @param {object} event Event object
1574
+ * @param {TaskBoard.view.TaskBoard} event.source This TaskBoard
1575
+ * @param {TaskBoard.model.TaskModel} event.taskRecord Task record
1576
+ * @param {TaskBoard.model.ColumnModel} event.columnRecord Column record for the tasks column
1577
+ * @param {TaskBoard.model.SwimlaneModel} event.swimlaneRecord Swimlane record for the tasks swimlane (if used)
1578
+ * @param {MouseEvent} event.event Browser event
1579
+ */
1580
+ onTaskMouseLeave? : ((event: { source: TaskBoard, taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, event: MouseEvent }) => void)|string
1581
+ /**
1582
+ * A header [tool](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-tools) has been clicked.
1583
+ * @param {object} event Event object
1584
+ * @param {Core.widget.Tool} event.source This Panel.
1585
+ * @param {Core.widget.Tool} event.tool The tool which is being clicked.
1586
+ */
1587
+ onToolClick? : ((event: { source: Tool, tool: Tool }) => void)|string
1588
+
1589
+ // Features
1590
+ /**
1591
+ * This feature allows users to drag columns on the TaskBoard to change the column order. Drag is initiated upon
1592
+ * mouse down in the column header. Try it out below!
1593
+ * ...
1594
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnDrag)
1595
+ */
1596
+ columnDragFeature? : object|boolean|string|ColumnDrag|ColumnDragConfig
1597
+ /**
1598
+ * Adds the ability to filter each column of the TaskBoard.
1599
+ * ...
1600
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnFilter)
1601
+ */
1602
+ columnFilterFeature? : object|boolean|string|ColumnFilter|ColumnFilterConfig
1603
+ /**
1604
+ * Adds a menu button (`···`) to column headers, clicking it displays a menu. Items are populated by other features
1605
+ * and/or application code.
1606
+ * ...
1607
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnHeaderMenu)
1608
+ */
1609
+ columnHeaderMenuFeature? : object|boolean|string|ColumnHeaderMenu|ColumnHeaderMenuConfig
1610
+ /**
1611
+ * Allows user to lock columns to the left or right using the new [locked](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-locked) field
1612
+ * on columns.
1613
+ * ...
1614
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnLock)
1615
+ */
1616
+ columnLockFeature? : object|boolean|string|ColumnLock|ColumnLockConfig
1617
+ /**
1618
+ * Allows user to rename columns by either double-clicking column text, or via the column header menu.
1619
+ * ...
1620
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnRename)
1621
+ */
1622
+ columnRenameFeature? : object|boolean|string|ColumnRename|ColumnRenameConfig
1623
+ /**
1624
+ * This feature allows users to change the width of individual TaskBoard columns. Resize is initiated upon mouse down on
1625
+ * the separator element between column headers. Try it out below!
1626
+ * ...
1627
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnResize)
1628
+ */
1629
+ columnResizeFeature? : object|boolean|string|ColumnResize|ColumnResizeConfig
1630
+ /**
1631
+ * Adds the ability to sort each column of the TaskBoard.
1632
+ * ...
1633
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnSort)
1634
+ */
1635
+ columnSortFeature? : object|boolean|string|ColumnSort|ColumnSortConfig
1636
+ /**
1637
+ * Adds toolbars to the top and/or bottom of each column. By default it adds a bottom toolbar containing a single button
1638
+ * for adding events to that column/swimlane:
1639
+ * ...
1640
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnToolbars)
1641
+ */
1642
+ columnToolbarsFeature? : object|boolean|string|ColumnToolbars|ColumnToolbarsConfig
1643
+ /**
1644
+ * Adds the ability to quick search in configured fields of tasks.
1645
+ * Renders a filter bar below each column's header.
1646
+ * ...
1647
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/FilterBar)
1648
+ */
1649
+ filterBarFeature? : object|boolean|string|FilterBar|FilterBarConfig
1650
+ /**
1651
+ * This feature allows inline editing of tasks. Double-clicking an item starts editing it:
1652
+ * ...
1653
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/SimpleTaskEdit)
1654
+ */
1655
+ simpleTaskEditFeature? : object|boolean|string|SimpleTaskEdit|SimpleTaskEditConfig
1656
+ /**
1657
+ * This feature allows users to drag drop swimlanes on the TaskBoard changing their order (by grabbing their header).
1658
+ * ...
1659
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/SwimlaneDrag)
1660
+ */
1661
+ swimlaneDragFeature? : object|boolean|string|SwimlaneDrag|SwimlaneDragConfig
1662
+ /**
1663
+ * This feature allows cards on the TaskBoard to be dragged across swimlanes and columns but also vertically in the
1664
+ * same column to change the order:
1665
+ * ...
1666
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskDrag)
1667
+ */
1668
+ taskDragFeature? : object|boolean|string|TaskDrag|TaskDragConfig
1669
+ /**
1670
+ * Enables users to click and drag to select cards on the TaskBoard (marquee selection).
1671
+ * ...
1672
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskDragSelect)
1673
+ */
1674
+ taskDragSelectFeature? : object|boolean|string|TaskDragSelect|TaskDragSelectConfig
1675
+ /**
1676
+ * This features allows the user to edit tasks in a popup editor that can either be shown centered on screen (the
1677
+ * default, double click a task to show the editor):
1678
+ * ...
1679
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskEdit)
1680
+ */
1681
+ taskEditFeature? : object|boolean|string|TaskEdit|TaskEditConfig
1682
+ /**
1683
+ * Displays a context menu for tasks. Items are populated by other features and/or application code.
1684
+ * ...
1685
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskMenu)
1686
+ */
1687
+ taskMenuFeature? : object|boolean|string|TaskMenu|TaskMenuConfig
1688
+ /**
1689
+ * Displays a tooltip when hovering a task. By default the tooltip displays:
1690
+ * ...
1691
+ * [View online docs...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskTooltip)
1692
+ */
1693
+ taskTooltipFeature? : object|boolean|string|TaskTooltip|TaskTooltipConfig
1694
+
1695
+ }
1696
+
1697
+ export class BryntumTaskBoardBase extends React.Component<BryntumTaskBoardBaseProps> {
1698
+
1699
+ static instanceClass = TaskBoardBase;
1700
+
1701
+ static instanceName = 'TaskBoardBase';
1702
+
1703
+ processWidgetContent = processWidgetContent;
1704
+
1705
+ // Component is View class
1706
+ static isView = true;
1707
+
1708
+ // Hidden div to host unused portals DOM
1709
+ portalsCache? : HTMLElement;
1710
+
1711
+ // CSS class used for individual portal containers
1712
+ portalContainerClass = 'b-react-portal-container';
1713
+
1714
+ state = {
1715
+ // Holds React portals
1716
+ portals : new Map(),
1717
+
1718
+ // Needed to trigger refresh when portals change
1719
+ generation : 0
1720
+ };
1721
+
1722
+ static featureNames = [
1723
+ 'columnDragFeature',
1724
+ 'columnFilterFeature',
1725
+ 'columnHeaderMenuFeature',
1726
+ 'columnLockFeature',
1727
+ 'columnRenameFeature',
1728
+ 'columnResizeFeature',
1729
+ 'columnSortFeature',
1730
+ 'columnToolbarsFeature',
1731
+ 'filterBarFeature',
1732
+ 'simpleTaskEditFeature',
1733
+ 'swimlaneDragFeature',
1734
+ 'taskDragFeature',
1735
+ 'taskDragSelectFeature',
1736
+ 'taskEditFeature',
1737
+ 'taskMenuFeature',
1738
+ 'taskTooltipFeature'
1739
+ ];
1740
+
1741
+ projectStores = true;
1742
+
1743
+ dataStores = {
1744
+ 'assignmentStore': 'assignments',
1745
+ 'dependencyStore': 'dependencies',
1746
+ 'eventStore': 'events',
1747
+ 'resourceStore': 'resources',
1748
+ 'taskStore': 'tasks'
1749
+ };
1750
+
1751
+ static configNames = [
1752
+ 'activateTaskEvent',
1753
+ 'adopt',
1754
+ 'align',
1755
+ 'anchor',
1756
+ 'ariaDescription',
1757
+ 'ariaLabel',
1758
+ 'autoGenerateColumns',
1759
+ 'autoGenerateSwimlanes',
1760
+ 'bbar',
1761
+ 'bodyCls',
1762
+ 'bubbleEvents',
1763
+ 'cardSizes',
1764
+ 'centered',
1765
+ 'chainFilters',
1766
+ 'collapseTitle',
1767
+ 'collapsible',
1768
+ 'color',
1769
+ 'columnTitleRenderer',
1770
+ 'config',
1771
+ 'constrainTo',
1772
+ 'cssVarPrefix',
1773
+ 'dataField',
1774
+ 'detectCSSCompatibilityIssues',
1775
+ 'dock',
1776
+ 'draggable',
1777
+ 'drawer',
1778
+ 'elementAttributes',
1779
+ 'floating',
1780
+ 'footer',
1781
+ 'header',
1782
+ 'hideAnimation',
1783
+ 'htmlEncodeHeaderText',
1784
+ 'icon',
1785
+ 'ignoreParentReadOnly',
1786
+ 'listeners',
1787
+ 'loadMask',
1788
+ 'loadMaskDefaults',
1789
+ 'loadMaskError',
1790
+ 'localeClass',
1791
+ 'localizable',
1792
+ 'localizableProperties',
1793
+ 'maskDefaults',
1794
+ 'masked',
1795
+ 'newTaskDefaults',
1796
+ 'owner',
1797
+ 'plugins',
1798
+ 'positioned',
1799
+ 'processItems',
1800
+ 'record',
1801
+ 'relayStoreEvents',
1802
+ 'resourceImagePath',
1803
+ 'responsive',
1804
+ 'responsiveRoot',
1805
+ 'responsiveState',
1806
+ 'responsiveTarget',
1807
+ 'rootElement',
1808
+ 'scrollable',
1809
+ 'scrollAction',
1810
+ 'scrollManager',
1811
+ 'scrollOptions',
1812
+ 'selectOnNavigation',
1813
+ 'showAnimation',
1814
+ 'showCollapseInHeader',
1815
+ 'showCountInHeader',
1816
+ 'stateful',
1817
+ 'statefulEvents',
1818
+ 'stateId',
1819
+ 'stateProvider',
1820
+ 'stickyHeaders',
1821
+ 'strips',
1822
+ 'swimlaneRenderer',
1823
+ 'syncMask',
1824
+ 'tab',
1825
+ 'tabBarItems',
1826
+ 'taskRenderer',
1827
+ 'taskSorterFn',
1828
+ 'tasksPerRow',
1829
+ 'tbar',
1830
+ 'ui',
1831
+ 'useDomTransition',
1832
+ 'weight'
1833
+ ];
1834
+
1835
+ static propertyConfigNames = [
1836
+ 'alignSelf',
1837
+ 'appendTo',
1838
+ 'assignments',
1839
+ 'bodyItems',
1840
+ 'callOnFunctions',
1841
+ 'catchEventHandlerExceptions',
1842
+ 'cls',
1843
+ 'collapsed',
1844
+ 'column',
1845
+ 'columnField',
1846
+ 'columns',
1847
+ 'css',
1848
+ 'dataset',
1849
+ 'disabled',
1850
+ 'drawOnScroll',
1851
+ 'extraData',
1852
+ 'flex',
1853
+ 'footerItems',
1854
+ 'getTaskHeight',
1855
+ 'headerItems',
1856
+ 'height',
1857
+ 'hidden',
1858
+ 'id',
1859
+ 'inputFieldAlign',
1860
+ 'insertBefore',
1861
+ 'insertFirst',
1862
+ 'isTaskSelectable',
1863
+ 'keyMap',
1864
+ 'labelPosition',
1865
+ 'margin',
1866
+ 'maxHeight',
1867
+ 'maximizeOnMobile',
1868
+ 'maxWidth',
1869
+ 'minHeight',
1870
+ 'minWidth',
1871
+ 'onActivateTask',
1872
+ 'onBeforeColumnDrag',
1873
+ 'onBeforeColumnDrop',
1874
+ 'onBeforeColumnResize',
1875
+ 'onBeforeDestroy',
1876
+ 'onBeforeHide',
1877
+ 'onBeforeResponsiveStateChange',
1878
+ 'onBeforeShow',
1879
+ 'onBeforeSimpleTaskEdit',
1880
+ 'onBeforeStateApply',
1881
+ 'onBeforeStateSave',
1882
+ 'onBeforeTaskDrag',
1883
+ 'onBeforeTaskDrop',
1884
+ 'onBeforeTaskEdit',
1885
+ 'onBeforeTaskEditShow',
1886
+ 'onBeforeTaskRemove',
1887
+ 'onCatchAll',
1888
+ 'onCellMenuItem',
1889
+ 'onCellMenuShow',
1890
+ 'onCellMenuToggleItem',
1891
+ 'onCollapse',
1892
+ 'onColumnCollapse',
1893
+ 'onColumnDrag',
1894
+ 'onColumnDragAbort',
1895
+ 'onColumnDragEnd',
1896
+ 'onColumnDragStart',
1897
+ 'onColumnDrop',
1898
+ 'onColumnExpand',
1899
+ 'onColumnFilterHide',
1900
+ 'onColumnFilterShow',
1901
+ 'onColumnFilterToggle',
1902
+ 'onColumnHeaderClick',
1903
+ 'onColumnHeaderContextMenu',
1904
+ 'onColumnHeaderDblClick',
1905
+ 'onColumnHeaderMenuBeforeShow',
1906
+ 'onColumnResize',
1907
+ 'onColumnResizeStart',
1908
+ 'onColumnTitleClick',
1909
+ 'onColumnTitleContextMenu',
1910
+ 'onColumnTitleDblClick',
1911
+ 'onColumnToggle',
1912
+ 'onDestroy',
1913
+ 'onDirtyStateChange',
1914
+ 'onElementCreated',
1915
+ 'onExpand',
1916
+ 'onFocusIn',
1917
+ 'onFocusOut',
1918
+ 'onHide',
1919
+ 'onPaint',
1920
+ 'onReadOnly',
1921
+ 'onRecompose',
1922
+ 'onRemoveTaskElement',
1923
+ 'onRenderTask',
1924
+ 'onRenderTasks',
1925
+ 'onResize',
1926
+ 'onResponsiveStateChange',
1927
+ 'onSelectionChange',
1928
+ 'onShow',
1929
+ 'onSimpleTaskEditCancel',
1930
+ 'onSimpleTaskEditComplete',
1931
+ 'onSwimlaneCollapse',
1932
+ 'onSwimlaneExpand',
1933
+ 'onSwimlaneHeaderClick',
1934
+ 'onSwimlaneHeaderContextMenu',
1935
+ 'onSwimlaneHeaderDblClick',
1936
+ 'onSwimlaneToggle',
1937
+ 'onTaskClick',
1938
+ 'onTaskDblClick',
1939
+ 'onTaskDrag',
1940
+ 'onTaskDragAbort',
1941
+ 'onTaskDragEnd',
1942
+ 'onTaskDragStart',
1943
+ 'onTaskDrop',
1944
+ 'onTaskMenuBeforeShow',
1945
+ 'onTaskMenuItem',
1946
+ 'onTaskMenuShow',
1947
+ 'onTaskMenuToggleItem',
1948
+ 'onTaskMouseEnter',
1949
+ 'onTaskMouseLeave',
1950
+ 'onToolClick',
1951
+ 'project',
1952
+ 'readOnly',
1953
+ 'rendition',
1954
+ 'resources',
1955
+ 'rtl',
1956
+ 'selectedTasks',
1957
+ 'showCollapseTooltip',
1958
+ 'span',
1959
+ 'stretchCards',
1960
+ 'strictRecordMapping',
1961
+ 'swimlaneField',
1962
+ 'swimlanes',
1963
+ 'tasks',
1964
+ 'title',
1965
+ 'tools',
1966
+ 'virtualize',
1967
+ 'width',
1968
+ 'x',
1969
+ 'y'
1970
+ ];
1971
+
1972
+ static propertyNames = [
1973
+ 'anchorSize',
1974
+ 'focusVisible',
1975
+ 'hasChanges',
1976
+ 'parent',
1977
+ 'state'
1978
+ ];
1979
+
1980
+ // Component instance
1981
+ instance!: TaskBoardBase;
1982
+
1983
+ // Component element
1984
+ element! : HTMLElement;
1985
+
1986
+ componentDidMount(): void {
1987
+ this.instance = createWidget(this);
1988
+ }
1989
+
1990
+ componentWillUnmount(): void {
1991
+ // @ts-ignore
1992
+ this.instance?.destroy?.();
1993
+ }
1994
+
1995
+ /**
1996
+ * Component about to be updated, from changing a prop using state.
1997
+ * React to it depending on what changed and prevent react from re-rendering our component.
1998
+ * @param nextProps
1999
+ * @param nextState
2000
+ * @returns {boolean}
2001
+ */
2002
+ shouldComponentUpdate(nextProps: Readonly<BryntumTaskBoardBaseProps>, nextState: Readonly<{}>): boolean {
2003
+ return shouldComponentUpdate(this, nextProps, nextState);
2004
+ }
2005
+
2006
+ render(): React.ReactNode {
2007
+
2008
+ const className = `b-react-task-board-base-container`;
2009
+ return (
2010
+ <React.Fragment>
2011
+ <div className={className} ref={(element) => (this.element = element!)}>
2012
+ {Array.from(this.state.portals).map((item) => item[1])}
2013
+ </div>
2014
+ <div ref={el => (this.portalsCache = el!)} className="b-react-portals-cache" style={{ display : 'none' }}></div>
2015
+ </React.Fragment>
2016
+ );
2017
+
2018
+ }
2019
+ }