@bryntum/gantt-angular-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 (28) hide show
  1. package/README.md +44 -0
  2. package/bryntum-gantt-angular-thin.d.ts +5 -0
  3. package/bundles/bryntum-gantt-angular-thin.umd.js +14832 -0
  4. package/bundles/bryntum-gantt-angular-thin.umd.js.map +1 -0
  5. package/esm2015/bryntum-gantt-angular-thin.js +5 -0
  6. package/esm2015/lib/bryntum-assignment-field.component.js +941 -0
  7. package/esm2015/lib/bryntum-assignment-grid.component.js +2111 -0
  8. package/esm2015/lib/bryntum-calendar-picker.component.js +933 -0
  9. package/esm2015/lib/bryntum-dependency-field.component.js +961 -0
  10. package/esm2015/lib/bryntum-gantt-base.component.js +4219 -0
  11. package/esm2015/lib/bryntum-gantt-project-model.component.js +923 -0
  12. package/esm2015/lib/bryntum-gantt.component.js +4223 -0
  13. package/esm2015/lib/gantt.module.js +54 -0
  14. package/esm2015/lib/wrapper.helper.js +74 -0
  15. package/esm2015/public-api.js +12 -0
  16. package/fesm2015/bryntum-gantt-angular-thin.js +14387 -0
  17. package/fesm2015/bryntum-gantt-angular-thin.js.map +1 -0
  18. package/lib/bryntum-assignment-field.component.d.ts +1225 -0
  19. package/lib/bryntum-assignment-grid.component.d.ts +2292 -0
  20. package/lib/bryntum-calendar-picker.component.d.ts +1200 -0
  21. package/lib/bryntum-dependency-field.component.d.ts +1241 -0
  22. package/lib/bryntum-gantt-base.component.d.ts +4468 -0
  23. package/lib/bryntum-gantt-project-model.component.d.ts +1106 -0
  24. package/lib/bryntum-gantt.component.d.ts +4470 -0
  25. package/lib/gantt.module.d.ts +13 -0
  26. package/lib/wrapper.helper.d.ts +26 -0
  27. package/package.json +33 -0
  28. package/public-api.d.ts +8 -0
@@ -0,0 +1,4470 @@
1
+ /**
2
+ * Angular wrapper for Bryntum Gantt
3
+ */
4
+ import { ElementRef, SimpleChanges, OnDestroy, OnInit } from '@angular/core';
5
+ import { AjaxStore, AjaxStoreConfig, BryntumScrollOptions, DomClassList, DomConfig, DurationUnit, FormulaProviderConfig, KeyMapConfig, Mask, MaskConfig, Model, ModelConfig, PagingToolbarConfig, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ScrollManager, ScrollManagerConfig, Scroller, ScrollerConfig, StateProvider, Store, StoreConfig, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, Widget } from '@bryntum/core-thin';
6
+ import { AIFilter, AIFilterConfig, CellCopyPaste, CellCopyPasteConfig, CellMenu, CellMenuConfig, CellTooltip, CellTooltipConfig, Charts, ChartsConfig, ColumnAutoWidth, ColumnAutoWidthConfig, ColumnDragToolbar, ColumnDragToolbarConfig, ColumnPicker, ColumnPickerConfig, ColumnRename, ColumnRenameConfig, ColumnReorder, ColumnReorderConfig, ColumnResize, ColumnResizeConfig, ColumnStore, ColumnStoreConfig, EmptyTextDomConfig, ExcelExporter as GridExcelExporter, ExcelExporterConfig as GridExcelExporterConfig, FileDrop, FileDropConfig, FillHandle, FillHandleConfig, Filter, FilterBar, FilterBarConfig, FilterConfig, GridLocation, GridLocationConfig, GridSelectionMode, Group, GroupConfig, GroupSummary as GridGroupSummary, GroupSummaryConfig as GridGroupSummaryConfig, HeaderMenu, HeaderMenuConfig, LockRows as GridLockRows, LockRowsConfig as GridLockRowsConfig, MergeCells, MergeCellsConfig, PinColumns, PinColumnsConfig, PreserveScrollOptions, QuickFind, QuickFindConfig, RegionResize, RegionResizeConfig, ResponsiveLevelConfig, RowCopyPaste, RowCopyPasteConfig, RowEdit, RowEditConfig, RowExpander, RowExpanderConfig, RowResize as GridRowResize, RowResizeConfig as GridRowResizeConfig, Search, SearchConfig, Sort, SortConfig, Split as GridSplit, SplitConfig as GridSplitConfig, StickyCells, StickyCellsConfig, Stripe, StripeConfig, SubGridConfig, Tree, TreeConfig } from '@bryntum/grid-thin';
7
+ import { ColumnLines, ColumnLinesConfig, DateConstraint, DependencyBaseModel, EventColor, EventFilter, EventFilterConfig, HeaderZoom, HeaderZoomConfig, NonWorkingTime, NonWorkingTimeConfig, Pan, PanConfig, PresetStore, RecurrenceConfirmationPopup, RecurrenceConfirmationPopupConfig, RowReorder, RowReorderConfig, ScheduleMenu, ScheduleMenuConfig, ScheduleTooltip, ScheduleTooltipConfig, TimeAxis, TimeAxisConfig, TimeAxisHeaderMenu, TimeAxisHeaderMenuConfig, TimeRanges, TimeRangesConfig, TimeSpan, TimeSpanConfig, TimelineBase, TimelineStateInfo, ViewPreset, ViewPresetConfig, VisibleDate } from '@bryntum/scheduler-thin';
8
+ import { CycleResolutionPopup, DependencyEdit, DependencyEditConfig, EventSegments, EventSegmentsConfig, PercentBar, PercentBarConfig, SchedulingIssueResolutionPopup, TimeSpanHighlight, TimeSpanHighlightConfig } from '@bryntum/schedulerpro-thin';
9
+ import { AssignmentModel, AssignmentModelConfig, Baselines, BaselinesConfig, CalendarManagerStore, CalendarModel, CalendarModelConfig, CellEdit, CellEditConfig, GanttContainerItemConfig, CriticalPaths, CriticalPathsConfig, Dependencies, DependenciesConfig, DependencyModel, DependencyModelConfig, Gantt, GanttListeners, GanttColumnConfig, Indicators, IndicatorsConfig, Labels, LabelsConfig, MspExport, MspExportConfig, ParentArea, ParentAreaConfig, PdfExport, PdfExportConfig, Print, PrintConfig, ProgressLine, ProgressLineConfig, ProjectEdit, ProjectEditConfig, ProjectLines, ProjectLinesConfig, ProjectModel, ProjectModelConfig, ResourceModel, ResourceModelConfig, Rollups, RollupsConfig, ScrollButtons, ScrollButtonsConfig, Summary, SummaryConfig, TaskCopyPaste, TaskCopyPasteConfig, TaskDrag, TaskDragConfig, TaskDragCreate, TaskDragCreateConfig, TaskEdit, TaskEditConfig, TaskMenu, TaskMenuConfig, TaskModel, TaskModelConfig, TaskNonWorkingTime, TaskNonWorkingTimeConfig, TaskResize, TaskResizeConfig, TaskSegmentDrag, TaskSegmentDragConfig, TaskSegmentResize, TaskSegmentResizeConfig, TaskStore, TaskStoreConfig, TaskTooltip, TaskTooltipConfig, TimelineChart, TimelineChartConfig, TreeGroup, TreeGroupConfig, Versions, VersionsConfig } from '@bryntum/gantt-thin';
10
+ import * as i0 from "@angular/core";
11
+ export declare type BryntumGanttProps = {
12
+ /**
13
+ * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
14
+ * content will be placed inside this element.
15
+ * ...
16
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-adopt)
17
+ */
18
+ adopt?: HTMLElement | string;
19
+ /**
20
+ * When this widget is a child of a [Container](https://bryntum.com/products/gantt/docs/api/Core/widget/Container), it will by default be participating in a
21
+ * flexbox layout. This config allows you to set this widget's
22
+ * [align-self](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) style.
23
+ */
24
+ alignSelf?: string;
25
+ /**
26
+ * Set to `false` to not allow creating dependencies
27
+ */
28
+ allowCreate?: boolean;
29
+ /**
30
+ * Set it to `true` to allow dependency creation only for parent events (only applies to Scheduler Pro using the `NestedEvents` feature). Normally the nested event container
31
+ * inside parent events cannot be scrolled when using dependencies, but by enabling this setting and limiting
32
+ * to where dependencies can be drawn scrolling will be enabled.
33
+ */
34
+ allowCreateOnlyParent?: boolean;
35
+ /**
36
+ * `false` to require a drop on a target event bar side circle to define the dependency type.
37
+ * If dropped on the event bar, the `defaultValue` of the DependencyModel `type` field will be used to
38
+ * determine the target task side.
39
+ */
40
+ allowDropOnEventBar?: boolean;
41
+ /**
42
+ * Set to `true` to animate row removals caused by filtering.
43
+ * @deprecated 7.0.0 Deprecated `animateFilterRemovals`. Use `transition.filterRemoval` instead
44
+ */
45
+ animateFilterRemovals?: boolean;
46
+ /**
47
+ * Controls if removing and inserting rows should be animated. Set to `false` to prevent those animations,
48
+ * removing the related delays.
49
+ * @deprecated 7.0.0 Deprecated `animateRemovingRows`. Use `transition.removeRecord` instead
50
+ */
51
+ animateRemovingRows?: boolean;
52
+ /**
53
+ * When the [Tree](https://bryntum.com/products/gantt/docs/api/Grid/feature/Tree) feature is in use and the Store is a tree store, this
54
+ * config may be set to `true` to visually animate branch node expand and collapse operations.
55
+ * *This is not supported in Scheduler and Gantt*
56
+ * @deprecated 7.0.0 Deprecated `animateTreeNodeToggle`. Use `transition.toggleTreeNode` instead
57
+ */
58
+ animateTreeNodeToggle?: boolean;
59
+ /**
60
+ * Element (or the id of an element) to append this widget's element to. Can be configured, or set once at
61
+ * runtime. To access the element of a rendered widget, see [element](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#property-element).
62
+ */
63
+ appendTo?: HTMLElement | string;
64
+ /**
65
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
66
+ * into an element which will be linked using the `aria-describedby` attribute.
67
+ * ...
68
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-ariaDescription)
69
+ */
70
+ ariaDescription?: string;
71
+ /**
72
+ * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
73
+ * the `aria-label` attribute.
74
+ * ...
75
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-ariaLabel)
76
+ */
77
+ ariaLabel?: string;
78
+ /**
79
+ * Inline assignments, will be loaded into the backing project's AssignmentStore.
80
+ */
81
+ assignments?: AssignmentModel[] | AssignmentModelConfig[];
82
+ /**
83
+ * You can set this option to `false` to make the timeline panel start and end on the exact provided
84
+ * [startDate](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-startDate)/[endDate](#Scheduler/view/TimelineBase#config-endDate) w/o adjusting them.
85
+ */
86
+ autoAdjustTimeAxis?: boolean;
87
+ /**
88
+ * Automatically set grids height to fit all rows (no scrolling in the grid). In general you should avoid
89
+ * using `autoHeight: true`, since it will bypass Grids virtual rendering and render all rows at once, which
90
+ * in a larger grid is really bad for performance.
91
+ */
92
+ autoHeight?: boolean;
93
+ /**
94
+ * Controls how much space to leave between stacked event bars in px.
95
+ * ...
96
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-barMargin)
97
+ */
98
+ barMargin?: number;
99
+ /**
100
+ * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/gantt/docs/api/Core/widget/Toolbar),
101
+ * 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/gantt/docs/api/Core/widget/Panel#config-strips).
102
+ * ...
103
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-bbar)
104
+ */
105
+ bbar?: (GanttContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
106
+ /**
107
+ * Custom CSS classes to add to the panel's body element.
108
+ * ...
109
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-bodyCls)
110
+ */
111
+ bodyCls?: string | object;
112
+ /**
113
+ * An object where property names with a truthy value indicate which events should bubble up the ownership
114
+ * hierarchy when triggered.
115
+ * ...
116
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-bubbleEvents)
117
+ */
118
+ bubbleEvents?: object;
119
+ /**
120
+ * This config defines the size of the start and end invisible parts of the timespan when [infiniteScroll](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineScroll#config-infiniteScroll) set to `true`.
121
+ * ...
122
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-bufferCoef)
123
+ */
124
+ bufferCoef?: number;
125
+ /**
126
+ * This config defines the scroll limit, which, when exceeded will cause a timespan shift.
127
+ * The limit is calculated as the `panelWidth * [bufferCoef](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineScroll#config-bufferCoef) * bufferThreshold`. During scrolling, if the left or right side
128
+ * has less than that of the rendered content - a shift is triggered.
129
+ * ...
130
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-bufferThreshold)
131
+ */
132
+ bufferThreshold?: number;
133
+ /**
134
+ * Inline calendars, will be loaded into the backing project's CalendarManagerStore.
135
+ */
136
+ calendars?: CalendarModel[] | CalendarModelConfig[];
137
+ /**
138
+ * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
139
+ * ...
140
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-callOnFunctions)
141
+ */
142
+ callOnFunctions?: boolean;
143
+ /**
144
+ * By default, if an event handler throws an exception, the error propagates up the stack and the
145
+ * application state is undefined. Code which follows the event handler will *not* be executed.
146
+ * ...
147
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-catchEventHandlerExceptions)
148
+ */
149
+ catchEventHandlerExceptions?: boolean;
150
+ /**
151
+ * Set to `false` to crop text in grid cells without ellipsis (...). When enabled, cells containing pure
152
+ * use `display : block`, instead of `display : flex` to allow ellipsis to work.
153
+ * <strong>NOTE</strong> Only supported in browsers that support `:has()` CSS selector
154
+ */
155
+ cellEllipsis?: boolean;
156
+ /**
157
+ * Custom CSS classes to add to element.
158
+ * May be specified as a space separated string, or as an object in which property names
159
+ * with truthy values are used as the class names:
160
+ * ...
161
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-cls)
162
+ */
163
+ cls?: string | object;
164
+ /**
165
+ * Controls whether the panel is collapsed (the body of the panel is hidden while only the header is
166
+ * visible). Only valid if the panel is [collapsible](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-collapsible).
167
+ */
168
+ collapsed?: boolean;
169
+ /**
170
+ * This config enables collapsibility for the panel. See [collapsed](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-collapsed).
171
+ * ...
172
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-collapsible)
173
+ */
174
+ collapsible?: boolean | PanelCollapserConfig | PanelCollapserOverlayConfig;
175
+ /**
176
+ * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
177
+ * `style` block.
178
+ * ...
179
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-color)
180
+ */
181
+ color?: string;
182
+ /**
183
+ * Programmatic control over which column to start in when used in a grid layout.
184
+ */
185
+ column?: number;
186
+ /**
187
+ * Set to `false` to not show column lines. End result might be overruled by/differ between themes.
188
+ */
189
+ columnLines?: boolean;
190
+ /**
191
+ * Accepts column definitions for the grid during initialization. They will be used to create
192
+ * [Column](https://bryntum.com/products/gantt/docs/api/Grid/column/Column) instances that are added to a [ColumnStore](#Grid/data/ColumnStore).
193
+ * ...
194
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-columns)
195
+ */
196
+ columns?: ColumnStore | GanttColumnConfig[] | ColumnStoreConfig;
197
+ config?: object;
198
+ /**
199
+ * Custom CSS classes to add to the [contentElement](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#property-contentElement).
200
+ * May be specified as a space separated string, or as an object in which property names
201
+ * with truthy values are used as the class names:
202
+ * ...
203
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-contentElementCls)
204
+ */
205
+ contentElementCls?: string | object;
206
+ /**
207
+ * Event which is used to show context menus.
208
+ * Available options are: 'contextmenu', 'click', 'dblclick'.
209
+ */
210
+ contextMenuTriggerEvent?: 'contextmenu' | 'click' | 'dblclick';
211
+ /**
212
+ * A tooltip config object that will be applied to the dependency creation [Tooltip](https://bryntum.com/products/gantt/docs/api/Core/widget/Tooltip)
213
+ */
214
+ creationTooltip?: TooltipConfig;
215
+ /**
216
+ * A template function that will be called to generate the HTML contents of the dependency creation tooltip.
217
+ * You can return either an HTML string or a [DomConfig](https://bryntum.com/products/gantt/docs/api/Core/helper/DomHelper#typedef-DomConfig) object.
218
+ * @param {object} data Data about the dependency being created
219
+ * @param {Scheduler.model.TimeSpan} data.source The from event
220
+ * @param {Scheduler.model.TimeSpan} data.target The target event
221
+ * @param {string} data.fromSide The from side (start, end, top, bottom)
222
+ * @param {string} data.toSide The target side (start, end, top, bottom)
223
+ * @param {boolean} data.valid The validity of the dependency
224
+ * @returns {string,DomConfig}
225
+ */
226
+ creationTooltipTemplate?: (data: {
227
+ source: TimeSpan;
228
+ target: TimeSpan;
229
+ fromSide: string;
230
+ toSide: string;
231
+ valid: boolean;
232
+ }) => string | DomConfig;
233
+ /**
234
+ * Class implementing the popup resolving *scheduling cycles*.
235
+ * ...
236
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-cycleResolutionPopupClass)
237
+ */
238
+ cycleResolutionPopupClass?: typeof CycleResolutionPopup;
239
+ /**
240
+ * Convenient shortcut to set data in grids store both during initialization and at runtime. Can also be
241
+ * used to retrieve data at runtime, although we do recommend interacting with Grids store instead using
242
+ * the [store](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#property-store) property.
243
+ * ...
244
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-data)
245
+ */
246
+ data?: object[] | Model[] | ModelConfig[];
247
+ /**
248
+ * When this Widget configuration is used in the Grid's RowExpander feature's `widget` config, provide the
249
+ * field on the expanded record to use for populating this widget's store (if applicable)
250
+ */
251
+ dataField?: string;
252
+ /**
253
+ * Object to apply to elements dataset (each key will be used as a data-attribute on the element)
254
+ */
255
+ dataset?: Record<string, string>;
256
+ /**
257
+ * Region to which columns are added when they have none specified
258
+ */
259
+ defaultRegion?: string;
260
+ /**
261
+ * The file name of an image file to use when a resource has no image, or its image cannot be loaded.
262
+ */
263
+ defaultResourceImageName?: string;
264
+ /**
265
+ * Inline dependencies, will be loaded into the backing project's DependencyStore.
266
+ */
267
+ dependencies?: DependencyModel[] | DependencyModelConfig[];
268
+ /**
269
+ * A task field (id, wbsCode, sequenceNumber etc) that will be used when displaying and editing linked tasks.
270
+ */
271
+ dependencyIdField?: string;
272
+ /**
273
+ * Set to `true` to destroy the store when the grid is destroyed.
274
+ */
275
+ destroyStore?: boolean;
276
+ /**
277
+ * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
278
+ * ...
279
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-detectCSSCompatibilityIssues)
280
+ */
281
+ detectCSSCompatibilityIssues?: boolean;
282
+ /**
283
+ * Disable or enable the widget. It is similar to [readOnly](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-readOnly) except a disabled widget
284
+ * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
285
+ * ...
286
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-disabled)
287
+ */
288
+ disabled?: boolean | 'inert';
289
+ /**
290
+ * Set to `true` to not get a warning when calling [getState](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#function-getState) when there is a column
291
+ * configured without an `id`. But the recommended action is to always configure columns with an `id` when
292
+ * using states.
293
+ */
294
+ disableGridColumnIdWarning?: boolean;
295
+ /**
296
+ * Set to `true` to not get a warning when using another base class than GridRowModel for your grid data. If
297
+ * you do, and would like to use the full feature set of the grid then include the fields from GridRowModel
298
+ * in your model definition.
299
+ */
300
+ disableGridRowModelWarning?: boolean;
301
+ /**
302
+ * Defines how dates will be formatted in tooltips etc. This config has priority over similar config on the
303
+ * view preset. For allowed values see [format](https://bryntum.com/products/gantt/docs/api/Core/helper/DateHelper#function-format-static).
304
+ * ...
305
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-displayDateFormat)
306
+ */
307
+ displayDateFormat?: string;
308
+ /**
309
+ * Set to `true` to display special popups allowing user
310
+ * to resolve [scheduling conflicts](https://bryntum.com/products/gantt/docs/api/SchedulerPro/widget/SchedulingIssueResolutionPopup),
311
+ * [cycles](https://bryntum.com/products/gantt/docs/api/SchedulerPro/widget/CycleResolutionPopup) or calendar misconfigurations.
312
+ * The popup will suggest user ways to resolve the corresponding case.
313
+ */
314
+ displaySchedulingIssueResolutionPopup?: boolean;
315
+ /**
316
+ * Controls the placement of this widget when it is added to a [panel's ](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel)
317
+ * [strips collection](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
318
+ * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
319
+ * body. Such widgets are called "edge strips".
320
+ * ...
321
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-dock)
322
+ */
323
+ dock?: 'top' | 'bottom' | 'left' | 'right' | 'start' | 'end' | 'header' | 'pre-header' | object;
324
+ /**
325
+ * Make this Panel a docked drawer which slides out from one side of the browser viewport by default.
326
+ * ...
327
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-drawer)
328
+ * @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.
329
+ * @param {string,number} size The size of the drawer in its collapsible axis.
330
+ * @param {boolean} inline If using the [appendTo](https://bryntum.com/products/gantt/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.
331
+ * @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.
332
+ * @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.
333
+ * @param {boolean,string} autoClose.focusout If focus moves outside of the drawer, the drawer will automatically be hidden.
334
+ * @param {string} autoClose.mouseout Hides the drawer when the mouse leaves the drawer after the `autoCloseDelay` period.
335
+ * @param {number} autoCloseDelay When using `mouseout`, this is the delay in milliseconds
336
+ */
337
+ drawer?: boolean | {
338
+ side?: 'start' | 'left' | 'end' | 'right' | 'top' | 'bottom';
339
+ size?: string | number;
340
+ inline?: boolean;
341
+ autoClose: {
342
+ mousedown?: boolean | string;
343
+ focusout?: boolean | string;
344
+ mouseout?: string;
345
+ };
346
+ autoCloseDelay?: number;
347
+ };
348
+ /**
349
+ * Decimal precision used when displaying durations, used by tooltips and DurationColumn.
350
+ * Specify `false` to use raw value
351
+ */
352
+ durationDisplayPrecision?: number | boolean;
353
+ /**
354
+ * An object specifying attributes to assign to the root element of this widget.
355
+ * Set `null` value to attribute to remove it.
356
+ * ...
357
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-elementAttributes)
358
+ */
359
+ elementAttributes?: Record<string, string | null>;
360
+ /**
361
+ * Text or HTML, or a [EmptyTextDomConfig](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#typedef-EmptyTextDomConfig) block to display when there is no data to display in the grid.
362
+ * When using multiple Grid regions, provide the `region` property to decide where the text is shown.
363
+ * By default, it is shown in the first region.
364
+ * ...
365
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-emptyText)
366
+ */
367
+ emptyText?: string | EmptyTextDomConfig;
368
+ /**
369
+ * Allow using [Delete] and [Backspace] to remove events/assignments
370
+ */
371
+ enableDeleteKey?: boolean;
372
+ /**
373
+ * Set to `false` if you don't want event bar DOM updates to animate.
374
+ * @deprecated 7.0.0 Deprecated `enableEventAnimations`. Use `transition.changeEvent` instead
375
+ */
376
+ enableEventAnimations?: boolean;
377
+ /**
378
+ * Enables showing occurrences of recurring events across the scheduler's time axis. If you want to disable
379
+ * the recurrence popup, you can choose set the `defaultAction` to `future` to affect all future
380
+ * occurrences, or `single` to just affect the currently selected event.
381
+ * ...
382
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-enableRecurringEvents)
383
+ */
384
+ enableRecurringEvents?: boolean | {
385
+ defaultAction?: 'single' | 'future';
386
+ };
387
+ /**
388
+ * Configure this as `true` to allow elements within cells to be styled as `position: sticky`.
389
+ * ...
390
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-enableSticky)
391
+ */
392
+ enableSticky?: boolean;
393
+ /**
394
+ * Set to `true` to allow text selection in the grid cells. Note, this cannot be used simultaneously with the
395
+ * `RowReorder` feature.
396
+ */
397
+ enableTextSelection?: boolean;
398
+ /**
399
+ * When true, some features will start a project transaction, blocking the project queue, suspending
400
+ * store events and preventing UI from updates. It behaves similar to
401
+ * [instantUpdate](https://bryntum.com/products/gantt/docs/api/Grid/column/Column#config-instantUpdate) set to `false`.
402
+ * Set `false` to not use project queue.
403
+ */
404
+ enableTransactionalFeatures?: boolean;
405
+ /**
406
+ * Set to `true` to listen for CTRL-Z (CMD-Z on Mac OS) keyboard event and trigger undo (redo when SHIFT is
407
+ * pressed). Only applicable when using a [StateTrackingManager](https://bryntum.com/products/gantt/docs/api/Core/data/stm/StateTrackingManager).
408
+ */
409
+ enableUndoRedoKeys?: boolean;
410
+ /**
411
+ * The end date of the timeline (if not configure with [infiniteScroll](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-infiniteScroll)).
412
+ * ...
413
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-endDate)
414
+ */
415
+ endDate?: Date | string;
416
+ /**
417
+ * Task color used by default. Tasks can specify their own [eventColor](https://bryntum.com/products/gantt/docs/api/Gantt/model/TaskModel#field-eventColor),
418
+ * which will override this config.
419
+ * ...
420
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-eventColor)
421
+ */
422
+ eventColor?: EventColor;
423
+ /**
424
+ * Event style used by default. Events and resources can specify their own style, with priority order being:
425
+ * Event -&gt; Resource -&gt; Scheduler default. Determines the appearance of the event by assigning a CSS class
426
+ * to it. Available styles are:
427
+ * ...
428
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-eventStyle)
429
+ */
430
+ eventStyle?: 'tonal' | 'filled' | 'bordered' | 'traced' | 'outlined' | 'indented' | 'line' | 'dashed' | 'minimal' | 'rounded' | 'calendar' | 'interday' | 'gantt' | null;
431
+ extraData?: any;
432
+ /**
433
+ * Set to `true` to stretch the last column in a grid with all fixed width columns
434
+ * to fill extra available space if the grid's width is wider than the sum of all
435
+ * configured column widths.
436
+ */
437
+ fillLastColumn?: boolean;
438
+ /**
439
+ * Specify `true` to force rendered events/tasks to fill entire ticks. This only affects rendering, start
440
+ * and end dates retain their value on the data level.
441
+ * ...
442
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-fillTicks)
443
+ */
444
+ fillTicks?: boolean;
445
+ /**
446
+ * Use fixed row height. Setting this to `true` will configure the underlying RowManager to use fixed row
447
+ * height, which sacrifices the ability to use rows with variable height to gain a fraction better
448
+ * performance.
449
+ * ...
450
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-fixedRowHeight)
451
+ */
452
+ fixedRowHeight?: boolean;
453
+ /**
454
+ * When this widget is a child of a [Container](https://bryntum.com/products/gantt/docs/api/Core/widget/Container), it will by default be participating in a
455
+ * flexbox layout. This config allows you to set this widget's
456
+ * [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) style.
457
+ * This may be configured as a single number or a `&lt;flex-grow&gt; &lt;flex-shrink&gt; &lt;flex-basis&gt;` format string.
458
+ * numeric-only values are interpreted as the `flex-grow` value.
459
+ */
460
+ flex?: number | string;
461
+ /**
462
+ * Config object of a footer. May contain a `dock`, `html` and a `cls` property. A footer is not a widget,
463
+ * but rather plain HTML that follows the last element of the panel's body and [strips](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-strips).
464
+ * ...
465
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-footer)
466
+ */
467
+ footer?: {
468
+ dock?: 'top' | 'right' | 'bottom' | 'left' | 'start' | 'end';
469
+ html?: string;
470
+ cls?: string;
471
+ } | string;
472
+ /**
473
+ * Set to `true` to force the time columns to fit to the available space (horizontal or vertical depends on mode).
474
+ * Note that setting [suppressFit](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-suppressFit) to `true`, will disable `forceFit` functionality. Zooming
475
+ * cannot be used when `forceFit` is set.
476
+ */
477
+ forceFit?: boolean;
478
+ /**
479
+ * An object which names formula prefixes which will be applied to all columns configured with
480
+ * `formula : true`.
481
+ * ...
482
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-formulaProviders)
483
+ */
484
+ formulaProviders?: Record<string, FormulaProviderConfig>;
485
+ /**
486
+ * Refresh entire row when a record changes (`true`) or, if possible, only the cells affected (`false`).
487
+ * ...
488
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-fullRowRefresh)
489
+ */
490
+ fullRowRefresh?: boolean;
491
+ /**
492
+ * Returns dates that will constrain resize and drag operations. The method will be called with the
493
+ * task being dragged.
494
+ * @param {Gantt.model.TaskModel} taskRecord The task record being moved or resized.
495
+ * @returns {DateConstraint} Constraining object containing `start` and `end` constraints. Omitting either will mean that end is not constrained. So you can prevent a resize or move from moving *before* a certain time while not constraining the end date.
496
+ */
497
+ getDateConstraints?: (taskRecord: TaskModel) => DateConstraint;
498
+ /**
499
+ * A function called for each row to determine its height. It is passed a [record](https://bryntum.com/products/gantt/docs/api/Core/data/Model) and
500
+ * expected to return the desired height of that records row. If the function returns a falsy value, Grids
501
+ * configured [rowHeight](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#config-rowHeight) is used.
502
+ * ...
503
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-getRowHeight)
504
+ * @param {Core.data.Model} getRowHeight.record Record to determine row height for
505
+ * @returns {number} Desired row height
506
+ */
507
+ getRowHeight?: (getRowHeight: {
508
+ record: Model;
509
+ }) => number;
510
+ /**
511
+ * A config [object](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#typedef-PanelHeader) for the panel's header or a string in place of a `title`.
512
+ * ...
513
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-header)
514
+ */
515
+ header?: string | boolean | PanelHeader;
516
+ /**
517
+ * Widget's height, used to set element `style.height`. Either specify a valid height string or a number,
518
+ * which will get 'px' appended. We recommend using CSS as the primary way to control height, but in some
519
+ * cases this config is convenient.
520
+ */
521
+ height?: string | number;
522
+ /**
523
+ * Configure with true to make widget initially hidden.
524
+ */
525
+ hidden?: boolean;
526
+ /**
527
+ * Set to `true` to hide the footer elements
528
+ */
529
+ hideFooters?: boolean;
530
+ /**
531
+ * Set to `true` to hide the column header elements
532
+ */
533
+ hideHeaders?: boolean;
534
+ /**
535
+ * Set to `true` to hide the Grid's horizontal scrollbar(s)
536
+ */
537
+ hideHorizontalScrollbar?: boolean;
538
+ /**
539
+ * By default the row hover effect is not visible in the Scheduler part of the grid.
540
+ * ...
541
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-hideRowHover)
542
+ */
543
+ hideRowHover?: boolean;
544
+ /**
545
+ * A CSS class to add to hovered row elements
546
+ */
547
+ hoverCls?: string;
548
+ /**
549
+ * An icon to show before the [title](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-title). Either pass a CSS class as a string, or pass a
550
+ * [DomConfig](https://bryntum.com/products/gantt/docs/api/Core/helper/DomHelper#typedef-DomConfig) object describing an element to represent the icon.
551
+ */
552
+ icon?: string | DomConfig;
553
+ /**
554
+ * Widget id, if not specified one will be generated. Also used for lookups through Widget.getById
555
+ */
556
+ id?: string;
557
+ /**
558
+ * Set to `true` to ignore reacting to DOM events (mouseover/mouseout etc) while scrolling. Useful if you
559
+ * want to maximize scroll performance.
560
+ */
561
+ ignoreDomEventsWhileScrolling?: boolean;
562
+ /**
563
+ * Determines if the widgets read-only state should be controlled by its parent.
564
+ * ...
565
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-ignoreParentReadOnly)
566
+ */
567
+ ignoreParentReadOnly?: boolean;
568
+ /**
569
+ * Set to `true` to automatically adjust the panel timespan during scrolling in the time dimension,
570
+ * when the scroller comes close to the start/end edges.
571
+ * ...
572
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-infiniteScroll)
573
+ */
574
+ infiniteScroll?: boolean;
575
+ /**
576
+ * Convenience setting to align input fields of child widgets. By default, the Field input element is
577
+ * placed immediately following the `label`. If you prefer to have all input fields aligned to the
578
+ * right, set this config to `'end'`.
579
+ * ...
580
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-inputFieldAlign)
581
+ */
582
+ inputFieldAlign?: 'start' | 'end';
583
+ /**
584
+ * Element (or element id) to insert this widget before. If provided, [appendTo](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
585
+ */
586
+ insertBefore?: HTMLElement | string;
587
+ /**
588
+ * Element (or element id) to append this widget element to, as a first child. If provided, [appendTo](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
589
+ */
590
+ insertFirst?: HTMLElement | string;
591
+ /**
592
+ * See [Keyboard shortcuts](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#keyboard-shortcuts) for details
593
+ */
594
+ keyMap?: Record<string, KeyMapConfig>;
595
+ /**
596
+ * Convenience setting to use same label placement on all child widgets.
597
+ * ...
598
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-labelPosition)
599
+ */
600
+ labelPosition?: 'before' | 'above' | 'align-before' | 'auto' | null;
601
+ /**
602
+ * The listener set for this object.
603
+ * ...
604
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-listeners)
605
+ */
606
+ listeners?: GanttListeners;
607
+ /**
608
+ * A [Mask](https://bryntum.com/products/gantt/docs/api/Core/widget/Mask) config object, or a message to be shown when a store is performing a remote
609
+ * operation, or Crud Manager is loading data from the sever. Set to `null` to disable default load mask.
610
+ */
611
+ loadMask?: string | MaskConfig | null;
612
+ /**
613
+ * A [Mask](https://bryntum.com/products/gantt/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
614
+ * when data is loading. The message and optional configuration from the
615
+ * [loadMask](https://bryntum.com/products/gantt/docs/api/Core/mixin/LoadMaskable#config-loadMask) config take priority over these options, just as they do
616
+ * for `maskDefaults`, respectively.
617
+ * ...
618
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-loadMaskDefaults)
619
+ */
620
+ loadMaskDefaults?: MaskConfig;
621
+ /**
622
+ * A [Mask](https://bryntum.com/products/gantt/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
623
+ * when an error occurs loading data.
624
+ * ...
625
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-loadMaskError)
626
+ */
627
+ loadMaskError?: MaskConfig | Mask | boolean;
628
+ /**
629
+ * Set to `false` to disable localization of this object.
630
+ */
631
+ localizable?: boolean;
632
+ /**
633
+ * Time in ms until a longpress is triggered
634
+ */
635
+ longPressTime?: number;
636
+ /**
637
+ * When `true`, events are sized and positioned based on rowHeight, resourceMargin and barMargin settings.
638
+ * Set this to `false` if you want to control height and vertical position using CSS instead.
639
+ * ...
640
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-managedEventSizing)
641
+ */
642
+ managedEventSizing?: boolean;
643
+ /**
644
+ * Widget's margin. This may be configured as a single number or a `TRBL` format string.
645
+ * numeric-only values are interpreted as pixels.
646
+ */
647
+ margin?: number | string;
648
+ /**
649
+ * Grids change the `maskDefaults` to cover only their `body` element.
650
+ */
651
+ maskDefaults?: MaskConfig;
652
+ /**
653
+ * Set to `true` to apply the default mask to the widget. Alternatively, this can be the mask message or a
654
+ * [Mask](https://bryntum.com/products/gantt/docs/api/Core/widget/Mask) config object.
655
+ */
656
+ masked?: boolean | string | MaskConfig;
657
+ /**
658
+ * Get/set end date limit of the timeline.
659
+ * Actions such as timeline scrolling, all types of timeline zooms and shifts
660
+ * will respect this limit.
661
+ */
662
+ maxDate?: Date | string;
663
+ /**
664
+ * The element's maxHeight. Can be either a String or a Number (which will have 'px' appended). Note that
665
+ * like [height](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
666
+ */
667
+ maxHeight?: string | number;
668
+ /**
669
+ * The maximum time axis unit to display non-working ranges for ('hour' or 'day' etc).
670
+ * When zooming to a view with a larger unit, no non-working time elements will be rendered.
671
+ * ...
672
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-maxTimeAxisUnit)
673
+ */
674
+ maxTimeAxisUnit?: DurationUnit;
675
+ /**
676
+ * The elements maxWidth. Can be either a String or a Number (which will have 'px' appended). Note that
677
+ * like [width](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
678
+ */
679
+ maxWidth?: string | number;
680
+ /**
681
+ * The maximum zoom level to which [zoomIn](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineZoomable#function-zoomIn) will work. Defaults to the number of
682
+ * [ViewPresets](https://bryntum.com/products/gantt/docs/api/Scheduler/preset/ViewPreset) available, see [presets](#Scheduler/view/mixin/TimelineViewPresets#property-presets)
683
+ * for information. Unless you have modified the collection of available presets, the max zoom level is
684
+ * milliseconds.
685
+ */
686
+ maxZoomLevel?: number;
687
+ /**
688
+ * Get/set start date limit of the timeline.
689
+ * Actions such as timeline scrolling, all types of timeline zooms and shifts
690
+ * will respect this limit.
691
+ */
692
+ minDate?: Date | string;
693
+ /**
694
+ * Grid's `min-height`. Defaults to `10em` to be sure that the Grid always has a height wherever it is
695
+ * inserted.
696
+ * ...
697
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-minHeight)
698
+ */
699
+ minHeight?: string | number;
700
+ /**
701
+ * The elements minWidth. Can be either a String or a Number (which will have 'px' appended). Note that
702
+ * like [width](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
703
+ */
704
+ minWidth?: string | number;
705
+ /**
706
+ * The minimum zoom level to which [zoomOut](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineZoomable#function-zoomOut) will work. Defaults to 0 (year ticks)
707
+ */
708
+ minZoomLevel?: number;
709
+ /**
710
+ * Grid monitors window resize by default.
711
+ */
712
+ monitorResize?: boolean;
713
+ /**
714
+ * A callback function or a set of `name: value` properties to apply on tasks created using the task context menu.
715
+ * Be aware that `name` value will be ignored since it's auto generated and may be configured with localization.
716
+ * ...
717
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-newTaskDefaults)
718
+ * @returns {Gantt.model.TaskModelConfig,object} Set of properties to apply on tasks created using the task context menu
719
+ */
720
+ newTaskDefaults?: TaskModelConfig | object | (() => TaskModelConfig | object);
721
+ /**
722
+ * The owning Widget of this Widget. If this Widget is directly contained (that is, it is one of the
723
+ * [items](https://bryntum.com/products/gantt/docs/api/Core/widget/Container#property-items) of a Container), this config will be ignored. In this case
724
+ * the owner is <strong>always</strong> the encapsulating Container.
725
+ * ...
726
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-owner)
727
+ */
728
+ owner?: Widget | any;
729
+ /**
730
+ * Partners this Timeline panel with another Timeline in order to sync their region sizes (sub-grids like locked, normal will get the same width),
731
+ * start and end dates, view preset, zoom level and scrolling position. All these values will be synced with the timeline defined as the `partner`.
732
+ * ...
733
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-partner)
734
+ */
735
+ partner?: TimelineBase;
736
+ /**
737
+ * Specify plugins (an array of classes) in config
738
+ */
739
+ plugins?: Function[];
740
+ /**
741
+ * True to preserve focused cell after loading new data
742
+ */
743
+ preserveFocusOnDatasetChange?: boolean;
744
+ /**
745
+ * Preserve the grid's vertical scroll position when changesets are applied, as in the case of remote
746
+ * changes, or when stores are configured with [syncDataOnLoad](https://bryntum.com/products/gantt/docs/api/Core/data/Store#config-syncDataOnLoad).
747
+ */
748
+ preserveScroll?: PreserveScrollOptions | boolean;
749
+ /**
750
+ * Specify `true` to preserve vertical scroll position after store actions that trigger a `refresh` event,
751
+ * such as loading new data and filtering.
752
+ */
753
+ preserveScrollOnDatasetChange?: boolean;
754
+ /**
755
+ * An array of [ViewPreset](https://bryntum.com/products/gantt/docs/api/Scheduler/preset/ViewPreset) config objects
756
+ * which describes the available timeline layouts for this scheduler.
757
+ * ...
758
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-presets)
759
+ */
760
+ presets?: ViewPresetConfig[];
761
+ /**
762
+ * Prevent tooltip from being displayed on touch devices. Useful for example for buttons that display a
763
+ * menu on click etc, since the tooltip would be displayed at the same time.
764
+ */
765
+ preventTooltipOnTouch?: boolean;
766
+ /**
767
+ * A [ProjectModel](https://bryntum.com/products/gantt/docs/api/Gantt/model/ProjectModel) instance or a config object. The project holds all Gantt data.
768
+ */
769
+ project?: ProjectModel | ProjectModelConfig | object;
770
+ /**
771
+ * Accepts the following values:
772
+ * ...
773
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-projectProgressReporting)
774
+ */
775
+ projectProgressReporting?: string | null;
776
+ /**
777
+ * Configure as `true` to make the Gantt read-only, by disabling any UIs for modifying data.
778
+ * ...
779
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-readOnly)
780
+ */
781
+ readOnly?: boolean;
782
+ /**
783
+ * The confirmation dialog shown when a recurring event is edited.
784
+ * ...
785
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-recurrenceConfirmationPopup)
786
+ */
787
+ recurrenceConfirmationPopup?: RecurrenceConfirmationPopupConfig | RecurrenceConfirmationPopup;
788
+ relayStoreEvents?: boolean;
789
+ /**
790
+ * Either a default `rendition` to apply to all child widgets, or a map of renditions keyed by child widget
791
+ * `type`.
792
+ * ...
793
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-rendition)
794
+ */
795
+ rendition?: string | Record<string, string> | null;
796
+ /**
797
+ * Configure this property to allow the widget/component to be resized. Pressing <kbd>Shift</kbd> while resizing will
798
+ * constrain the aspect ratio.
799
+ * ...
800
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-resizable)
801
+ */
802
+ resizable?: boolean | {
803
+ minWidth?: number;
804
+ maxWidth?: number;
805
+ minHeight?: number;
806
+ maxHeight?: number;
807
+ handles?: object;
808
+ };
809
+ /**
810
+ * Set to `false` to only measure cell contents when double-clicking the edge between column headers.
811
+ */
812
+ resizeToFitIncludesHeader?: boolean;
813
+ /**
814
+ * The path for resource images, used by various widgets such as the resource assignment column.
815
+ * @deprecated 7.0 In favor of [resourceImagePath](https://bryntum.com/products/gantt/docs/api/Gantt/view/GanttBase#config-resourceImagePath)
816
+ */
817
+ resourceImageFolderPath?: string;
818
+ /**
819
+ * The path for resource images, used by various widgets such as the resource assignment column.
820
+ */
821
+ resourceImagePath?: string;
822
+ /**
823
+ * Inline resources, will be loaded into the backing project's ResourceStore.
824
+ */
825
+ resources?: ResourceModel[] | ResourceModelConfig[];
826
+ /**
827
+ * "Break points" for which responsive config to use for columns and css.
828
+ * ...
829
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-responsiveLevels)
830
+ */
831
+ responsiveLevels?: Record<string, number | string | ResponsiveLevelConfig>;
832
+ /**
833
+ * Configure as `true` to have the component display a translucent ripple when its
834
+ * [focusElement](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#property-focusElement), or [element](#Core/widget/Widget#property-element) is tapped <em>if the
835
+ * current theme supports ripples</em>. Out of the box, only the Material theme supports ripples.
836
+ * ...
837
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-ripple)
838
+ */
839
+ ripple?: boolean | {
840
+ delegate?: string;
841
+ color?: string;
842
+ radius?: number;
843
+ clip?: string;
844
+ };
845
+ /**
846
+ * 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`
847
+ */
848
+ rootElement?: ShadowRoot | HTMLElement;
849
+ /**
850
+ * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
851
+ * overriden by specifying a [rowHeight](https://bryntum.com/products/gantt/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
852
+ * a column [renderer](https://bryntum.com/products/gantt/docs/api/Grid/column/Column#config-renderer).
853
+ * ...
854
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-rowHeight)
855
+ */
856
+ rowHeight?: number;
857
+ /**
858
+ * Set to `false` to not show row lines. End result might be overruled by/differ between themes.
859
+ */
860
+ rowLines?: boolean;
861
+ /**
862
+ * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
863
+ * ...
864
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-rtl)
865
+ */
866
+ rtl?: boolean;
867
+ /**
868
+ * Class implementing the popup resolving *scheduling conflicts* and *calendar misconfigurations*.
869
+ * ...
870
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-schedulingIssueResolutionPopupClass)
871
+ */
872
+ schedulingIssueResolutionPopupClass?: typeof SchedulingIssueResolutionPopup;
873
+ /**
874
+ * Configures whether the grid is scrollable in the `Y` axis. This is used to configure a [Scroller](https://bryntum.com/products/gantt/docs/api/Core/helper/util/Scroller).
875
+ * See the [scrollerClass](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#config-scrollerClass) config option.
876
+ * ...
877
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-scrollable)
878
+ */
879
+ scrollable?: boolean | ScrollerConfig | Scroller;
880
+ /**
881
+ * The class to instantiate to use as the [scrollable](https://bryntum.com/products/gantt/docs/api/Grid/view/GridBase#config-scrollable). Defaults to [Scroller](#Core/helper/util/Scroller).
882
+ */
883
+ scrollerClass?: typeof Scroller;
884
+ /**
885
+ * Configuration values for the [ScrollManager](https://bryntum.com/products/gantt/docs/api/Core/util/ScrollManager) class on initialization. Returns the
886
+ * [ScrollManager](https://bryntum.com/products/gantt/docs/api/Core/util/ScrollManager) at runtime.
887
+ */
888
+ scrollManager?: ScrollManagerConfig | ScrollManager;
889
+ /**
890
+ * True to scroll the task bar into view when clicking a cell, you can also pass a
891
+ * [scroll config](https://bryntum.com/products/gantt/docs/api/Gantt/view/GanttBase#function-scrollTaskIntoView) object.
892
+ */
893
+ scrollTaskIntoViewOnCellClick?: boolean | BryntumScrollOptions;
894
+ /**
895
+ * Selection configuration settings, change these properties to control how selection works and what can be
896
+ * selected.
897
+ * ...
898
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-selectionMode)
899
+ */
900
+ selectionMode?: GridSelectionMode;
901
+ /**
902
+ * If set to `true` this will:
903
+ * ...
904
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-showCostControls)
905
+ */
906
+ showCostControls?: boolean;
907
+ /**
908
+ * `false` to not show a tooltip while creating a dependency
909
+ */
910
+ showCreationTooltip?: boolean;
911
+ /**
912
+ * Configure as `true` to have the grid show a red "changed" tag in cells whose
913
+ * field value has changed and not yet been committed.
914
+ * ...
915
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-showDirty)
916
+ */
917
+ showDirty?: boolean | {
918
+ duringEdit?: boolean;
919
+ newRecord?: boolean;
920
+ };
921
+ /**
922
+ * Set to `true` to show the lag in the tooltip
923
+ */
924
+ showLagInTooltip?: boolean;
925
+ /**
926
+ * Set to `false` to hide recurring fields in event editor, even if the
927
+ * [Recurring Events](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/RecurringEvents#config-enableRecurringEvents) is `true`
928
+ * and a recurring event is being edited.
929
+ */
930
+ showRecurringUI?: boolean;
931
+ /**
932
+ * If set to `true` this will show a color field in the [TaskEdit](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskEdit) editor and also a
933
+ * picker in the [TaskMenu](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskMenu). Both enables the user to choose a color which will be
934
+ * applied to the task bar's background. See TaskModel's [eventColor](https://bryntum.com/products/gantt/docs/api/Gantt/model/TaskModel#field-eventColor)
935
+ * config.
936
+ */
937
+ showTaskColorPickers?: boolean;
938
+ /**
939
+ * Set to `true` to show a tooltip when hovering a dependency line
940
+ */
941
+ showTooltip?: boolean;
942
+ /**
943
+ * Specify as `false` to not show unscheduled tasks on the Gantt chart. Unscheduled tasks will be rendered as
944
+ * an icon
945
+ */
946
+ showUnscheduledTasks?: boolean;
947
+ /**
948
+ * Set to `true` to snap to the current time resolution increment while interacting with scheduled events.
949
+ * ...
950
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-snap)
951
+ */
952
+ snap?: boolean;
953
+ /**
954
+ * Affects drag drop and resizing of events when [snap](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineDateMapper#config-snap)
955
+ * is enabled.
956
+ * ...
957
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-snapRelativeToEventStartDate)
958
+ */
959
+ snapRelativeToEventStartDate?: boolean;
960
+ /**
961
+ * Programmatic control over how many columns to span when used in a grid layout.
962
+ */
963
+ span?: number;
964
+ /**
965
+ * The start date of the timeline (if not configure with [infiniteScroll](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-infiniteScroll)).
966
+ * ...
967
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-startDate)
968
+ */
969
+ startDate?: Date | string;
970
+ /**
971
+ * This value can be one of the following:
972
+ * ...
973
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-stateful)
974
+ */
975
+ stateful?: boolean | object | string[];
976
+ /**
977
+ * The events that, when fired by this component, should trigger it to save its state by calling
978
+ * [saveState](https://bryntum.com/products/gantt/docs/api/Core/mixin/State#function-saveState).
979
+ * ...
980
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-statefulEvents)
981
+ */
982
+ statefulEvents?: object | string[];
983
+ /**
984
+ * The key to use when saving this object's state in the [stateProvider](https://bryntum.com/products/gantt/docs/api/Core/mixin/State#config-stateProvider). If this config is
985
+ * not assigned, and [stateful](https://bryntum.com/products/gantt/docs/api/Core/mixin/State#config-stateful) is not set to `false`, the [id](#Core/widget/Widget#config-id)
986
+ * (if explicitly specified) will be used as the `stateId`.
987
+ * ...
988
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-stateId)
989
+ */
990
+ stateId?: string;
991
+ /**
992
+ * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/gantt/docs/api/Core/mixin/State#property-state). By default, `state`
993
+ * will be saved using the [default state provider](https://bryntum.com/products/gantt/docs/api/Core/state/StateProvider#property-instance-static).
994
+ * ...
995
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-stateProvider)
996
+ */
997
+ stateProvider?: StateProvider;
998
+ /**
999
+ * The properties of this settings object controls how grid is restored from state data.
1000
+ * ...
1001
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-stateSettings)
1002
+ */
1003
+ stateSettings?: {
1004
+ restoreUnconfiguredColumns?: boolean;
1005
+ };
1006
+ /**
1007
+ * When set, the text in the major time axis header sticks in the scrolling viewport as long as possible.
1008
+ */
1009
+ stickyHeaders?: boolean;
1010
+ /**
1011
+ * Store that holds records to display in the grid, or a store config object. If the configuration contains
1012
+ * a `readUrl`, an `AjaxStore` will be created.
1013
+ * ...
1014
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-store)
1015
+ */
1016
+ store?: Store | StoreConfig | AjaxStore | AjaxStoreConfig;
1017
+ /**
1018
+ * An object containing widgets keyed by name. By default (when no `type` is given), strips are
1019
+ * [toolbars](https://bryntum.com/products/gantt/docs/api/Core/widget/Toolbar). If you want to pass an array, you can use
1020
+ * the toolbar's [items](https://bryntum.com/products/gantt/docs/api/Core/widget/Container#config-items).
1021
+ * ...
1022
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-strips)
1023
+ */
1024
+ strips?: Record<string, GanttContainerItemConfig>;
1025
+ /**
1026
+ * An object containing sub grid configuration objects keyed by a `region` property.
1027
+ * By default, grid has a 'locked' region (if configured with locked columns) and a 'normal' region.
1028
+ * The 'normal' region defaults to use `flex: 1`.
1029
+ * ...
1030
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-subGridConfigs)
1031
+ */
1032
+ subGridConfigs?: Record<string, SubGridConfig>;
1033
+ /**
1034
+ * Set to `true` to prevent auto calculating of a minimal [tickSize](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineEventRendering#property-tickSize)
1035
+ * to always fit the content to the screen size. Setting this property on `true` will disable [forceFit](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-forceFit) behaviour.
1036
+ */
1037
+ suppressFit?: boolean;
1038
+ /**
1039
+ * A [Mask](https://bryntum.com/products/gantt/docs/api/Core/widget/Mask) config object, or a message to be shown when Crud Manager
1040
+ * is persisting changes on the server. Set to `null` to disable default sync mask.
1041
+ * ...
1042
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-syncMask)
1043
+ */
1044
+ syncMask?: string | MaskConfig | null;
1045
+ /**
1046
+ * A configuration for the [tab](https://bryntum.com/products/gantt/docs/api/Core/widget/Tab) created for this widget when it is placed in a
1047
+ * [TabPanel](https://bryntum.com/products/gantt/docs/api/Core/widget/TabPanel). For example, this config can be used to control the icon of the `tab` for
1048
+ * this widget:
1049
+ * ...
1050
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-tab)
1051
+ */
1052
+ tab?: boolean | TabConfig;
1053
+ /**
1054
+ * When this container is used as a tab in a TabPanel, these items are added to the
1055
+ * [TabBar](https://bryntum.com/products/gantt/docs/api/Core/widget/TabBar) when this container is the active tab.
1056
+ * ...
1057
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-tabBarItems)
1058
+ */
1059
+ tabBarItems?: ToolbarItems[] | Widget[];
1060
+ /**
1061
+ * An empty function by default, but provided so that you can override it. This function is called each time
1062
+ * a task is rendered into the gantt to render the contents of the task.
1063
+ * ...
1064
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-taskRenderer)
1065
+ * @param {object} detail An object containing the information needed to render a Task.
1066
+ * @param {Gantt.model.TaskModel} detail.taskRecord The task record.
1067
+ * @param {object} detail.renderData An object containing details about the task rendering.
1068
+ * @param {Core.helper.util.DomClassList,string} detail.renderData.cls An object whose property names represent the CSS class names to be added to the tasks's element. Set a property's value to truthy or falsy to add or remove the class name based on the property name. Using this technique, you do not have to know whether the class is already there, or deal with concatenation.
1069
+ * @param {string,Record<string, string>} detail.renderData.style Inline styles for the task bar DOM element. Use either 'border: 1px solid black' or { border: '1px solid black' }
1070
+ * @param {Core.helper.util.DomClassList,string} detail.renderData.wrapperCls An object whose property names represent the CSS class names to be added to the event wrapper element. Set a property's value to truthy or falsy to add or remove the class name based on the property name. Using this technique, you do not have to know whether the class is already there, or deal with concatenation.
1071
+ * @param {Core.helper.util.DomClassList,string} detail.renderData.iconCls An object whose property names represent the CSS class names to be added to a task icon element.
1072
+ * @param {Scheduler.model.TimeSpan[],TimeSpanConfig[]} indicators An array that can be populated with TimeSpan records or their config objects to have them rendered in the task row
1073
+ * @returns {string,DomConfig,DomConfig[]} A simple string, or a DomConfig object defining the actual HTML
1074
+ */
1075
+ taskRenderer?: (detail: {
1076
+ taskRecord: TaskModel;
1077
+ renderData: {
1078
+ cls: DomClassList | string;
1079
+ style: string | Record<string, string>;
1080
+ wrapperCls: DomClassList | string;
1081
+ iconCls: DomClassList | string;
1082
+ };
1083
+ }, indicators: TimeSpan[] | TimeSpanConfig[]) => string | DomConfig | DomConfig[];
1084
+ /**
1085
+ * Inline tasks, will be loaded into an internally created TaskStore.
1086
+ */
1087
+ tasks?: TaskModel[] | TaskModelConfig[];
1088
+ /**
1089
+ * The [TaskStore](https://bryntum.com/products/gantt/docs/api/Gantt/data/TaskStore) holding the tasks to be rendered into the Gantt.
1090
+ */
1091
+ taskStore?: TaskStore | TaskStoreConfig;
1092
+ /**
1093
+ * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/gantt/docs/api/Core/widget/Toolbar),
1094
+ * or array of config objects representing the child items of a Toolbar.
1095
+ * This creates a toolbar docked to the top of the panel immediately below the header.
1096
+ * ...
1097
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-tbar)
1098
+ */
1099
+ tbar?: (GanttContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
1100
+ /**
1101
+ * CSS class used for terminals
1102
+ */
1103
+ terminalCls?: string;
1104
+ /**
1105
+ * Delay in ms before hiding the terminals when the mouse leaves an event bar or terminal.
1106
+ * ...
1107
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-terminalHideDelay)
1108
+ */
1109
+ terminalHideDelay?: number;
1110
+ /**
1111
+ * Terminal offset from their initial position, in px. Positive values move terminals further away from the
1112
+ * event bar, negative values inside the event bar.
1113
+ * ...
1114
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-terminalOffset)
1115
+ */
1116
+ terminalOffset?: number;
1117
+ /**
1118
+ * Delay in ms before showing the terminals when hovering over an event bar.
1119
+ * ...
1120
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-terminalShowDelay)
1121
+ */
1122
+ terminalShowDelay?: number;
1123
+ /**
1124
+ * Where (on event bar edges) to display terminals. The sides are `'start'`, `'top'`,
1125
+ * `'end'` and `'bottom'`
1126
+ */
1127
+ terminalSides?: string[];
1128
+ /**
1129
+ * Terminal diameter in px, overrides the default CSS value for it (which might depend on theme).
1130
+ * ...
1131
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-terminalSize)
1132
+ */
1133
+ terminalSize?: number | string;
1134
+ /**
1135
+ * The width/height (depending on vertical / horizontal mode) of all the time columns.
1136
+ * ...
1137
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-tickSize)
1138
+ */
1139
+ tickSize?: number;
1140
+ /**
1141
+ * A [TimeAxis](https://bryntum.com/products/gantt/docs/api/Scheduler/data/TimeAxis) config object or instance, used to create a backing data store of
1142
+ * 'ticks' providing the input date data for the time axis of timeline panel. Created automatically if none
1143
+ * supplied.
1144
+ */
1145
+ timeAxis?: TimeAxisConfig | TimeAxis;
1146
+ /**
1147
+ * Inline time ranges, will be loaded into the backing project's time range store.
1148
+ */
1149
+ timeRanges?: TimeSpan[] | TimeSpanConfig[];
1150
+ /**
1151
+ * Gets/sets the current time resolution object, which contains a unit identifier and an increment count
1152
+ * `{ unit, increment }`. This value means minimal task duration you can create using UI.
1153
+ * ...
1154
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-timeResolution)
1155
+ */
1156
+ timeResolution?: {
1157
+ increment?: number;
1158
+ unit?: DurationUnit;
1159
+ } | number;
1160
+ /**
1161
+ * Set to a time zone or a UTC offset. This will set the projects
1162
+ * [timeZone](https://bryntum.com/products/gantt/docs/api/Scheduler/model/ProjectModel#config-timeZone) config accordingly. As this config is only a referer,
1163
+ * please see project's config [documentation](https://bryntum.com/products/gantt/docs/api/Scheduler/model/ProjectModel#config-timeZone) for more
1164
+ * information.
1165
+ * ...
1166
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-timeZone)
1167
+ */
1168
+ timeZone?: string | number;
1169
+ /**
1170
+ * A title to display in the header or owning TabPanel. Causes creation and docking of a header
1171
+ * to the top if no header is configured.
1172
+ * ...
1173
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-title)
1174
+ */
1175
+ title?: string;
1176
+ /**
1177
+ * True to toggle the collapsed/expanded state when clicking a parent task bar.
1178
+ */
1179
+ toggleParentTasksOnClick?: boolean;
1180
+ /**
1181
+ * The [tools](https://bryntum.com/products/gantt/docs/api/Core/widget/Tool) to add either before or after the `title` in the Panel header. Each
1182
+ * property name is the reference by which an instantiated tool may be retrieved from the live
1183
+ * `[tools](https://bryntum.com/products/gantt/docs/api/Core/widget/mixin/Toolable#property-tools)` property.
1184
+ * ...
1185
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-tools)
1186
+ */
1187
+ tools?: Record<string, ToolConfig> | null;
1188
+ /**
1189
+ * A template function allowing you to configure the contents of the tooltip shown when hovering a
1190
+ * dependency line. You can return either an HTML string or a [DomConfig](https://bryntum.com/products/gantt/docs/api/Core/helper/DomHelper#typedef-DomConfig) object.
1191
+ * @param {Scheduler.model.DependencyBaseModel} dependency The dependency record
1192
+ * @returns {string,DomConfig}
1193
+ */
1194
+ tooltipTemplate?: (dependency: DependencyBaseModel) => string | DomConfig;
1195
+ /**
1196
+ * Configure UI transitions for various actions in the grid.
1197
+ */
1198
+ transition?: {
1199
+ insertRecord?: boolean;
1200
+ removeRecord?: boolean;
1201
+ toggleColumn?: boolean;
1202
+ expandCollapseColumn?: boolean;
1203
+ toggleRegion?: boolean;
1204
+ toggleTreeNode?: boolean;
1205
+ toggleGroup?: boolean;
1206
+ filterRemoval?: boolean;
1207
+ removeEvent?: boolean;
1208
+ changeEvent?: boolean;
1209
+ };
1210
+ /**
1211
+ * Animation transition duration in milliseconds.
1212
+ */
1213
+ transitionDuration?: number;
1214
+ type?: 'gantt';
1215
+ /**
1216
+ * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
1217
+ * as a space separated string, an array of strings, or as an object in which property names with truthy
1218
+ * values are used as the class names.
1219
+ * ...
1220
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-ui)
1221
+ */
1222
+ ui?: 'plain' | 'toolbar' | string | object;
1223
+ /**
1224
+ * By default, the day of week and week of month of the event's start date are used to create
1225
+ * helpful contextual recurrence types when editing a non-recurring event record and choosing
1226
+ * an initial recurrence type.
1227
+ * ...
1228
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-useContextualRecurrenceRules)
1229
+ */
1230
+ useContextualRecurrenceRules?: boolean;
1231
+ /**
1232
+ * A string key used to lookup a predefined [ViewPreset](https://bryntum.com/products/gantt/docs/api/Scheduler/preset/ViewPreset) (e.g. 'weekAndDay', 'hourAndDay'),
1233
+ * managed by [PresetManager](https://bryntum.com/products/gantt/docs/api/Scheduler/preset/PresetManager). See [PresetManager](#Scheduler/preset/PresetManager) for more information.
1234
+ * Or a config object for a viewPreset.
1235
+ * ...
1236
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-viewPreset)
1237
+ */
1238
+ viewPreset?: string | ViewPresetConfig;
1239
+ /**
1240
+ * A date to bring into view initially on the scrollable timeline.
1241
+ * ...
1242
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-visibleDate)
1243
+ */
1244
+ visibleDate?: Date | VisibleDate;
1245
+ /**
1246
+ * Integer number indicating the size of timespan during zooming. When zooming, the timespan is adjusted to make
1247
+ * the scrolling area `visibleZoomFactor` times wider than the timeline area itself. Used in
1248
+ * [zoomToSpan](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineZoomable#function-zoomToSpan) and [zoomToLevel](#Scheduler/view/mixin/TimelineZoomable#function-zoomToLevel) functions.
1249
+ */
1250
+ visibleZoomFactor?: number;
1251
+ /**
1252
+ * A valid JS day index between 0-6 (0: Sunday, 1: Monday etc.) to be considered the start day of the week.
1253
+ * When omitted, the week start day is retrieved from the active locale class.
1254
+ */
1255
+ weekStartDay?: number;
1256
+ /**
1257
+ * A widgets weight determines its position among siblings when added to a [Container](https://bryntum.com/products/gantt/docs/api/Core/widget/Container).
1258
+ * Higher weights go further down.
1259
+ */
1260
+ weight?: number;
1261
+ /**
1262
+ * Widget's width, used to set element `style.width`. Either specify a valid width string or a number, which
1263
+ * will get 'px' appended. We recommend using CSS as the primary way to control width, but in some cases
1264
+ * this config is convenient.
1265
+ */
1266
+ width?: string | number;
1267
+ /**
1268
+ * An object with format `{ fromDay, toDay, fromHour, toHour }` that describes the working days and hours.
1269
+ * This object will be used to populate TimeAxis [include](https://bryntum.com/products/gantt/docs/api/Scheduler/data/TimeAxis#config-include) property.
1270
+ * ...
1271
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#config-workingTime)
1272
+ */
1273
+ workingTime?: {
1274
+ fromDay?: number;
1275
+ toDay?: number;
1276
+ fromHour?: number;
1277
+ toHour?: number;
1278
+ };
1279
+ /**
1280
+ * Whether the originally rendered timespan should be preserved while zooming. By default, it is set to `false`,
1281
+ * meaning the timeline panel will adjust the currently rendered timespan to limit the amount of HTML content to
1282
+ * render. When setting this option to `true`, be careful not to allow to zoom a big timespan in seconds
1283
+ * resolution for example. That will cause <strong>a lot</strong> of HTML content to be rendered and affect performance. You
1284
+ * can use [minZoomLevel](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineZoomable#config-minZoomLevel) and [maxZoomLevel](#Scheduler/view/mixin/TimelineZoomable#config-maxZoomLevel) config options for that.
1285
+ */
1286
+ zoomKeepsOriginalTimespan?: boolean;
1287
+ /**
1288
+ * If true, you can zoom in and out on the time axis using CTRL-key + mouse wheel.
1289
+ */
1290
+ zoomOnMouseWheel?: boolean;
1291
+ /**
1292
+ * True to zoom to time span when double-clicking a time axis cell.
1293
+ */
1294
+ zoomOnTimeAxisDoubleClick?: boolean;
1295
+ /**
1296
+ * AI-powered filter feature for Grid. Allows users to type natural language queries to filter grid data.
1297
+ * ...
1298
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ai/AIFilter)
1299
+ */
1300
+ aiFilterFeature?: object | boolean | string | AIFilter | AIFilterConfig;
1301
+ /**
1302
+ * Displays a [task](https://bryntum.com/products/gantt/docs/api/Gantt/model/TaskModel)'s [baselines](#Gantt/model/TaskModel#field-baselines) below the tasks in the
1303
+ * timeline.
1304
+ * ...
1305
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Baselines)
1306
+ */
1307
+ baselinesFeature?: object | boolean | string | Baselines | BaselinesConfig;
1308
+ /**
1309
+ * Allows using `[Ctrl/CMD + C]`, `[Ctrl/CMD + X]` and `[Ctrl/CMD + V]` to cut, copy and paste cell or cell ranges. Also
1310
+ * makes cut, copy and paste actions available via the cell context menu.
1311
+ * ...
1312
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellCopyPaste)
1313
+ */
1314
+ cellCopyPasteFeature?: object | boolean | string | CellCopyPaste | CellCopyPasteConfig;
1315
+ /**
1316
+ * Extends the [CellEdit](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellEdit) to encapsulate Gantt functionality. This feature is enabled by <b>default</b>
1317
+ * ...
1318
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/CellEdit)
1319
+ */
1320
+ cellEditFeature?: object | boolean | string | CellEdit | CellEditConfig;
1321
+ /**
1322
+ * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
1323
+ * `SPACE` key when the cell is focused.
1324
+ * ...
1325
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellMenu)
1326
+ */
1327
+ cellMenuFeature?: object | boolean | string | CellMenu | CellMenuConfig;
1328
+ /**
1329
+ * Displays a tooltip when hovering cells.
1330
+ * ...
1331
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellTooltip)
1332
+ */
1333
+ cellTooltipFeature?: object | boolean | string | CellTooltip | CellTooltipConfig;
1334
+ /**
1335
+ * Adds interactive charting to a Grid. [Charts](https://bryntum.com/products/gantt/docs/api/Chart/widget/Chart) can be created from a selection of Grid data
1336
+ * and updated in realtime as data changes. Supports many common chart types with extensive styling and customization
1337
+ * options.
1338
+ * ...
1339
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Charts)
1340
+ */
1341
+ chartsFeature?: object | boolean | string | Charts | ChartsConfig;
1342
+ /**
1343
+ * Enables the [autoWidth](https://bryntum.com/products/gantt/docs/api/Grid/column/Column#config-autoWidth) config for a grid's columns.
1344
+ * ...
1345
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnAutoWidth)
1346
+ */
1347
+ columnAutoWidthFeature?: object | boolean | string | ColumnAutoWidth | ColumnAutoWidthConfig;
1348
+ /**
1349
+ * Displays a toolbar while dragging column headers. Drop on a button in the toolbar to activate a certain function,
1350
+ * for example to group by that column. This feature simplifies certain operations on touch devices.
1351
+ * ...
1352
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnDragToolbar)
1353
+ */
1354
+ columnDragToolbarFeature?: object | boolean | string | ColumnDragToolbar | ColumnDragToolbarConfig;
1355
+ /**
1356
+ * Displays column lines for ticks, with a different styling for major ticks (by default they are darker). If this
1357
+ * feature is disabled, no lines are shown. If it's enabled, line are shown for the tick level which is set in current
1358
+ * ViewPreset. Please see [columnLinesFor](https://bryntum.com/products/gantt/docs/api/Scheduler/preset/ViewPreset#field-columnLinesFor) config for details.
1359
+ * ...
1360
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/ColumnLines)
1361
+ */
1362
+ columnLinesFeature?: object | boolean | string | ColumnLines | ColumnLinesConfig;
1363
+ /**
1364
+ * Displays a column picker (to show/hide columns) in the header context menu. Columns can be displayed in sub menus
1365
+ * by region or tag. Grouped headers are displayed as menu hierarchies.
1366
+ * ...
1367
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnPicker)
1368
+ */
1369
+ columnPickerFeature?: object | boolean | string | ColumnPicker | ColumnPickerConfig;
1370
+ /**
1371
+ * Allows user to rename columns by either right-clicking column header or using keyboard shortcuts when column header
1372
+ * is focused.
1373
+ * ...
1374
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnRename)
1375
+ */
1376
+ columnRenameFeature?: object | boolean | string | ColumnRename | ColumnRenameConfig;
1377
+ /**
1378
+ * Allows user to reorder columns by dragging headers. To get notified about column reorder listen to `change` event
1379
+ * on [columns](https://bryntum.com/products/gantt/docs/api/Grid/data/ColumnStore) store.
1380
+ * ...
1381
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnReorder)
1382
+ */
1383
+ columnReorderFeature?: object | boolean | string | ColumnReorder | ColumnReorderConfig;
1384
+ /**
1385
+ * Enables user to resize columns by dragging a handle on the right hand side of the header. To get notified about column
1386
+ * resize listen to `change` event on [columns](https://bryntum.com/products/gantt/docs/api/Grid/data/ColumnStore) store.
1387
+ * ...
1388
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/ColumnResize)
1389
+ */
1390
+ columnResizeFeature?: object | boolean | string | ColumnResize | ColumnResizeConfig;
1391
+ /**
1392
+ * This feature highlights the project *critical paths*.
1393
+ * Every task is important, but only some of them are critical.
1394
+ * The critical path is a chain of linked tasks that directly affects the project finish date.
1395
+ * If any task on the critical path is late, the whole project is late.
1396
+ * ...
1397
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/CriticalPaths)
1398
+ */
1399
+ criticalPathsFeature?: object | boolean | string | CriticalPaths | CriticalPathsConfig;
1400
+ /**
1401
+ * This feature draws dependencies between tasks. Uses a dependency
1402
+ * [store](https://bryntum.com/products/gantt/docs/api/Gantt/model/ProjectModel#property-dependencyStore) to determine which dependencies to draw.
1403
+ * ...
1404
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Dependencies)
1405
+ */
1406
+ dependenciesFeature?: object | boolean | string | Dependencies | DependenciesConfig;
1407
+ /**
1408
+ * Feature that displays a popup containing fields for editing dependency data.
1409
+ * ...
1410
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/DependencyEdit)
1411
+ */
1412
+ dependencyEditFeature?: object | boolean | string | DependencyEdit | DependencyEditConfig;
1413
+ /**
1414
+ * Adds event filter menu items to the timeline header context menu.
1415
+ * ...
1416
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/EventFilter)
1417
+ */
1418
+ eventFilterFeature?: object | boolean | string | EventFilter | EventFilterConfig;
1419
+ /**
1420
+ * This feature provides segmented events support. It implements rendering of such events and also adds a entries to the
1421
+ * event context menu allowing to split the selected event and rename segments.
1422
+ * ...
1423
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/EventSegments)
1424
+ */
1425
+ eventSegmentsFeature?: object | boolean | string | EventSegments | EventSegmentsConfig;
1426
+ /**
1427
+ * A feature that allows exporting Grid data to Excel or CSV without involving the server. It uses
1428
+ * [TableExporter](https://bryntum.com/products/gantt/docs/api/Grid/util/TableExporter) class as data provider, 3rd party provider to generate XLS files, and
1429
+ * [Microsoft XML specification](https://msdn.microsoft.com/en-us/library/office/documentformat.openxml.spreadsheet.aspx).
1430
+ * ...
1431
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/experimental/ExcelExporter)
1432
+ */
1433
+ excelExporterFeature?: object | boolean | string | GridExcelExporter | GridExcelExporterConfig;
1434
+ /**
1435
+ * An experimental feature that lets users drop files on a Widget. The widget fires an event when a file is dropped onto it.
1436
+ * In the event, you get access to the raw files as strings, that were parsed by calling `readAsBinaryString`.
1437
+ * ...
1438
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/experimental/FileDrop)
1439
+ */
1440
+ fileDropFeature?: object | boolean | string | FileDrop | FileDropConfig;
1441
+ /**
1442
+ * This feature adds a fill handle to a Grid range selection, which when dragged, fills the cells being dragged over
1443
+ * with values based on the values in the original selected range. This is similar to functionality normally seen in
1444
+ * various spreadsheet applications.
1445
+ * ...
1446
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/FillHandle)
1447
+ */
1448
+ fillHandleFeature?: object | boolean | string | FillHandle | FillHandleConfig;
1449
+ /**
1450
+ * Feature that allows filtering of the grid by settings filters on columns. The actual filtering is done by the store.
1451
+ * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/gantt/docs/api/Core/data/mixin/StoreFilter).
1452
+ * ...
1453
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Filter)
1454
+ */
1455
+ filterFeature?: object | boolean | string | Filter | FilterConfig;
1456
+ /**
1457
+ * Feature that allows filtering of the grid by entering filters on column headers.
1458
+ * The actual filtering is done by the store.
1459
+ * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/gantt/docs/api/Core/data/mixin/StoreFilter).
1460
+ * ...
1461
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/FilterBar)
1462
+ */
1463
+ filterBarFeature?: object | boolean | string | FilterBar | FilterBarConfig;
1464
+ /**
1465
+ * Enables rendering and handling of row groups. The actual grouping is done in the store, but triggered by
1466
+ * <kbd>shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1467
+ * one anywhere on grid). Use <kbd>shift</kbd> + <kbd>alt</kbd> + click, or the context menu, to remove a column
1468
+ * grouper.
1469
+ * ...
1470
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Group)
1471
+ */
1472
+ groupFeature?: object | boolean | string | Group | GroupConfig;
1473
+ /**
1474
+ * Displays a summary row as a group footer in a grouped grid. Uses the same configuration options on columns as
1475
+ * [Summary](https://bryntum.com/products/gantt/docs/api/Grid/feature/Summary).
1476
+ * ...
1477
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/GroupSummary)
1478
+ */
1479
+ groupSummaryFeature?: object | boolean | string | GridGroupSummary | GridGroupSummaryConfig;
1480
+ /**
1481
+ * Right click column header or focus it and press SPACE key to show the context menu for headers.
1482
+ * ...
1483
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/HeaderMenu)
1484
+ */
1485
+ headerMenuFeature?: object | boolean | string | HeaderMenu | HeaderMenuConfig;
1486
+ /**
1487
+ * Enables users to click and drag to zoom to a date range in Scheduler's header time axis. Only supported in horizontal
1488
+ * mode.
1489
+ * ...
1490
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/HeaderZoom)
1491
+ */
1492
+ headerZoomFeature?: object | boolean | string | HeaderZoom | HeaderZoomConfig;
1493
+ /**
1494
+ * The Indicators feature displays indicators (icons) for different dates related to a task in its row. Hovering an
1495
+ * indicator will show a tooltip with its name and date(s). The owning task `id` is embedded in the indicator element
1496
+ * dataset as `taskRecordId` which can be useful if you want to have custom actions when clicking (showing a menu for example).
1497
+ * ...
1498
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Indicators)
1499
+ */
1500
+ indicatorsFeature?: object | boolean | string | Indicators | IndicatorsConfig;
1501
+ /**
1502
+ * A feature that lets you display a label on each side of a Gantt task bar. See
1503
+ * [Labels](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/Labels) for more information.
1504
+ * ...
1505
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Labels)
1506
+ */
1507
+ labelsFeature?: object | boolean | string | Labels | LabelsConfig;
1508
+ /**
1509
+ * This feature allows records which satisfy a certain condition to be locked at the top of the grid.
1510
+ * ...
1511
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/LockRows)
1512
+ */
1513
+ lockRowsFeature?: object | boolean | string | GridLockRows | GridLockRowsConfig;
1514
+ /**
1515
+ * This feature merges cells that have the same value in sorted (or [optionally](https://bryntum.com/products/gantt/docs/api/Grid/feature/MergeCells#config-sortedOnly) any) columns
1516
+ * configured to [mergeCells](https://bryntum.com/products/gantt/docs/api/Grid/column/Column#config-mergeCells).
1517
+ * ...
1518
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/MergeCells)
1519
+ */
1520
+ mergeCellsFeature?: object | boolean | string | MergeCells | MergeCellsConfig;
1521
+ /**
1522
+ * A feature that allows exporting Gantt to Microsoft Project without involving a server.
1523
+ * ...
1524
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/export/MspExport)
1525
+ */
1526
+ mspExportFeature?: object | boolean | string | MspExport | MspExportConfig;
1527
+ /**
1528
+ * Feature that allows styling of weekends (and other non-working time) by adding timeRanges for those days.
1529
+ * ...
1530
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/NonWorkingTime)
1531
+ */
1532
+ nonWorkingTimeFeature?: object | boolean | string | NonWorkingTime | NonWorkingTimeConfig;
1533
+ /**
1534
+ * Makes the scheduler's timeline pannable by dragging with the mouse. Try it out in the demo below.
1535
+ * ...
1536
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/Pan)
1537
+ */
1538
+ panFeature?: object | boolean | string | Pan | PanConfig;
1539
+ /**
1540
+ * Highlights the area encapsulating all child tasks of a parent task in a semi-transparent layer. You can style
1541
+ * these layer elements using the `b-parent-area` CSS class.
1542
+ * ...
1543
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ParentArea)
1544
+ */
1545
+ parentAreaFeature?: object | boolean | string | ParentArea | ParentAreaConfig;
1546
+ /**
1547
+ * Generates PDF/PNG files from the Gantt component.
1548
+ * ...
1549
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/export/PdfExport)
1550
+ */
1551
+ pdfExportFeature?: object | boolean | string | PdfExport | PdfExportConfig;
1552
+ /**
1553
+ * This feature visualizes the [percentDone](https://bryntum.com/products/gantt/docs/api/SchedulerPro/model/mixin/PercentDoneMixin#field-percentDone) field as a
1554
+ * progress bar on the event elements. Each progress bar also optionally has a drag handle which users can drag can
1555
+ * change the value.
1556
+ * ...
1557
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/PercentBar)
1558
+ */
1559
+ percentBarFeature?: object | boolean | string | PercentBar | PercentBarConfig;
1560
+ /**
1561
+ * Allows pinning columns to the start or end region of the grid without any additional subGrid configurations.
1562
+ * When pinning to a region that does not yet exist, the feature creates the required subGrid on the fly.
1563
+ * ...
1564
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/PinColumns)
1565
+ */
1566
+ pinColumnsFeature?: object | boolean | string | PinColumns | PinColumnsConfig;
1567
+ /**
1568
+ * Allows printing Gantt contents using browser print dialog.
1569
+ * ...
1570
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/export/Print)
1571
+ */
1572
+ printFeature?: object | boolean | string | Print | PrintConfig;
1573
+ /**
1574
+ * This feature draws project progress line with SVG lines. Requires [PercentBar](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/PercentBar) to be enabled (which
1575
+ * by default, it is)
1576
+ * ...
1577
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ProgressLine)
1578
+ */
1579
+ progressLineFeature?: object | boolean | string | ProgressLine | ProgressLineConfig;
1580
+ /**
1581
+ * Feature that displays the [project editor](https://bryntum.com/products/gantt/docs/api/Gantt/widget/ProjectEditor) allowing users to edit
1582
+ * the project settings.
1583
+ * ...
1584
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ProjectEdit)
1585
+ */
1586
+ projectEditFeature?: object | boolean | string | ProjectEdit | ProjectEditConfig;
1587
+ /**
1588
+ * This feature draws the vertical lines in the schedule area, indicating project start/end dates
1589
+ * and also its [status date](https://bryntum.com/products/gantt/docs/api/Gantt/model/ProjectModel#field-statusDate). The latter can be disabled
1590
+ * with the [showStatusDate](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ProjectLines#config-showStatusDate) config.
1591
+ * ...
1592
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ProjectLines)
1593
+ */
1594
+ projectLinesFeature?: object | boolean | string | ProjectLines | ProjectLinesConfig;
1595
+ /**
1596
+ * Feature that allows the user to search in a column by focusing a cell and typing. Navigate between hits using the
1597
+ * keyboard, [f3] or [ctrl]/[cmd] + [g] moves to next, also pressing [shift] moves to previous.
1598
+ * ...
1599
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/QuickFind)
1600
+ */
1601
+ quickFindFeature?: object | boolean | string | QuickFind | QuickFindConfig;
1602
+ /**
1603
+ * Makes the splitter between grid [sections](https://bryntum.com/products/gantt/docs/api/Grid/view/SubGrid) draggable, to let users resize, and
1604
+ * collapse/expand the sections.
1605
+ * ...
1606
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/RegionResize)
1607
+ */
1608
+ regionResizeFeature?: object | boolean | string | RegionResize | RegionResizeConfig;
1609
+ /**
1610
+ * If the task's [rollup](https://bryntum.com/products/gantt/docs/api/Gantt/model/TaskModel#field-rollup) data field is set to `true`, it displays a small bar or diamond below its summary task in the timeline.
1611
+ * Each of the rollup elements show a tooltip when hovering it with details of the task.
1612
+ * The tooltip content is customizable, see [template](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Rollups#config-template) config for details.
1613
+ * ...
1614
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Rollups)
1615
+ */
1616
+ rollupsFeature?: object | boolean | string | Rollups | RollupsConfig;
1617
+ /**
1618
+ * Allow using [Ctrl/CMD + C/X] and [Ctrl/CMD + V] to copy/cut-and-paste rows. Also makes cut, copy and paste actions
1619
+ * available via the cell context menu.
1620
+ * ...
1621
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowCopyPaste)
1622
+ */
1623
+ rowCopyPasteFeature?: object | boolean | string | RowCopyPaste | RowCopyPasteConfig;
1624
+ /**
1625
+ * This feature allows editing of entire rows in a grid in a docked panel which by default slides out from the right.
1626
+ * ...
1627
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowEdit)
1628
+ */
1629
+ rowEditFeature?: object | boolean | string | RowEdit | RowEditConfig;
1630
+ /**
1631
+ * Enables expanding of Grid rows by either row click or double click, or by adding a separate Grid column which renders
1632
+ * a button that expands or collapses the row.
1633
+ * ...
1634
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowExpander)
1635
+ */
1636
+ rowExpanderFeature?: object | boolean | string | RowExpander | RowExpanderConfig;
1637
+ /**
1638
+ * This feature implements support for project transactions and used by default in Gantt. For general RowReorder feature
1639
+ * documentation see [RowReorder](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowReorder).
1640
+ * ...
1641
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/RowReorder)
1642
+ */
1643
+ rowReorderFeature?: object | boolean | string | RowReorder | RowReorderConfig;
1644
+ /**
1645
+ * Enables user to change row height by dragging the bottom row border. After a resize operation, the [rowHeight](https://bryntum.com/products/gantt/docs/api/Grid/data/GridRowModel#field-rowHeight)
1646
+ * field of the record is updated (when [applyToAllRows](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowResize#config-applyToAllRows) is `false`).
1647
+ * ...
1648
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/RowResize)
1649
+ */
1650
+ rowResizeFeature?: object | boolean | string | GridRowResize | GridRowResizeConfig;
1651
+ /**
1652
+ * Displays a context menu for empty parts of the schedule. Items are populated in the first place
1653
+ * by configurations of this Feature, then by other features and/or application code.
1654
+ * ...
1655
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/ScheduleMenu)
1656
+ */
1657
+ scheduleMenuFeature?: object | boolean | string | ScheduleMenu | ScheduleMenuConfig;
1658
+ /**
1659
+ * Feature that displays a tooltip containing the time at the mouse position when hovering empty parts of the schedule.
1660
+ * ...
1661
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/ScheduleTooltip)
1662
+ */
1663
+ scheduleTooltipFeature?: object | boolean | string | ScheduleTooltip | ScheduleTooltipConfig;
1664
+ /**
1665
+ * This feature injects buttons in each row that scrolls the task bar into view. It can optionally show a label along
1666
+ * with the button, using the [labelRenderer](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ScrollButtons#config-labelRenderer).
1667
+ * ...
1668
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/ScrollButtons)
1669
+ */
1670
+ scrollButtonsFeature?: object | boolean | string | ScrollButtons | ScrollButtonsConfig;
1671
+ /**
1672
+ * <div class="external-example vertical" data-file="Grid/feature/Search.js"></div>
1673
+ * ...
1674
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Search)
1675
+ */
1676
+ searchFeature?: object | boolean | string | Search | SearchConfig;
1677
+ /**
1678
+ * Allows sorting of grid by clicking (or tapping) headers, also displays which columns grid is sorted by (numbered if
1679
+ * using multisort). Use modifier keys for multisorting: [Ctrl/CMD + click] to add sorter, [Ctrl/CMD + Alt + click] to remove sorter.
1680
+ * The actual sorting is done by the store, see [Store.sort()](https://bryntum.com/products/gantt/docs/api/Core/data/mixin/StoreSort#function-sort).
1681
+ * ...
1682
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Sort)
1683
+ */
1684
+ sortFeature?: object | boolean | string | Sort | SortConfig;
1685
+ /**
1686
+ * This feature allows splitting the Grid into multiple views, either by using the cell context menu, or
1687
+ * programmatically by calling [split()](https://bryntum.com/products/gantt/docs/api/Grid/feature/Split#function-split).
1688
+ * ...
1689
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Split)
1690
+ */
1691
+ splitFeature?: object | boolean | string | GridSplit | GridSplitConfig;
1692
+ /**
1693
+ * A feature which pins configurable content from a grid row to the top of the grid
1694
+ * while the row scrolls off the top but is still visible.
1695
+ * ...
1696
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/StickyCells)
1697
+ */
1698
+ stickyCellsFeature?: object | boolean | string | StickyCells | StickyCellsConfig;
1699
+ /**
1700
+ * Stripes rows by adding alternating CSS classes to all row elements (`b-even` and `b-odd`).
1701
+ * ...
1702
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Stripe)
1703
+ */
1704
+ stripeFeature?: object | boolean | string | Stripe | StripeConfig;
1705
+ /**
1706
+ * A feature displaying a summary bar in the grid footer.
1707
+ * ...
1708
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Summary)
1709
+ */
1710
+ summaryFeature?: object | boolean | string | Summary | SummaryConfig;
1711
+ /**
1712
+ * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
1713
+ * <kbd>V</kbd> to copy/cut and paste tasks. You can configure how a newly pasted record is named using
1714
+ * [generateNewName](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskCopyPaste#config-generateNewName)
1715
+ * ...
1716
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskCopyPaste)
1717
+ */
1718
+ taskCopyPasteFeature?: object | boolean | string | TaskCopyPaste | TaskCopyPasteConfig;
1719
+ /**
1720
+ * Allows user to drag and drop tasks within Gantt, to change their start date.
1721
+ * ...
1722
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskDrag)
1723
+ */
1724
+ taskDragFeature?: object | boolean | string | TaskDrag | TaskDragConfig;
1725
+ /**
1726
+ * A feature that allows the user to schedule tasks by dragging in the empty parts of the gantt timeline row. Note, this feature is only applicable for unscheduled tasks.
1727
+ * ...
1728
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskDragCreate)
1729
+ */
1730
+ taskDragCreateFeature?: object | boolean | string | TaskDragCreate | TaskDragCreateConfig;
1731
+ /**
1732
+ * Feature that allows editing tasks using a [TaskEditor](https://bryntum.com/products/gantt/docs/api/Gantt/widget/TaskEditor), a popup with fields for editing task data.
1733
+ * ...
1734
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskEdit)
1735
+ */
1736
+ taskEditFeature?: object | boolean | string | TaskEdit | TaskEditConfig;
1737
+ /**
1738
+ * Displays a context menu for tasks. Items are populated by other features and/or application code.
1739
+ * Configure it with `false` to disable it completely. If enabled, [CellMenu](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellMenu) feature
1740
+ * is not available. Cell context menu items are handled by this feature.
1741
+ * ...
1742
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskMenu)
1743
+ */
1744
+ taskMenuFeature?: object | boolean | string | TaskMenu | TaskMenuConfig;
1745
+ /**
1746
+ * Feature highlighting the non-working time intervals for tasks, based on their [calendar](https://bryntum.com/products/gantt/docs/api/Gantt/model/TaskModel#field-calendar).
1747
+ * If a task has no calendar defined, the project's calendar will be used. The non-working time interval can also be
1748
+ * recurring. You can find a live example showing how to achieve this in the [Task Calendars Demo](../examples/calendars/).
1749
+ * ...
1750
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskNonWorkingTime)
1751
+ */
1752
+ taskNonWorkingTimeFeature?: object | boolean | string | TaskNonWorkingTime | TaskNonWorkingTimeConfig;
1753
+ /**
1754
+ * Feature that allows resizing a task by dragging its end date. Resizing a task by dragging its start date is not allowed.
1755
+ * ...
1756
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskResize)
1757
+ */
1758
+ taskResizeFeature?: object | boolean | string | TaskResize | TaskResizeConfig;
1759
+ /**
1760
+ * Allows user to drag and drop task segments, to change their start date.
1761
+ * ...
1762
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskSegmentDrag)
1763
+ */
1764
+ taskSegmentDragFeature?: object | boolean | string | TaskSegmentDrag | TaskSegmentDragConfig;
1765
+ /**
1766
+ * Feature that allows resizing a task segment by dragging its end.
1767
+ * ...
1768
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskSegmentResize)
1769
+ */
1770
+ taskSegmentResizeFeature?: object | boolean | string | TaskSegmentResize | TaskSegmentResizeConfig;
1771
+ /**
1772
+ * This feature displays a task tooltip on mouse hover. The template of the tooltip is customizable
1773
+ * with the [template](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskTooltip#config-template) function.
1774
+ * ...
1775
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskTooltip)
1776
+ */
1777
+ taskTooltipFeature?: object | boolean | string | TaskTooltip | TaskTooltipConfig;
1778
+ /**
1779
+ * Adds scheduler specific menu items to the timeline header context menu.
1780
+ * ...
1781
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/TimeAxisHeaderMenu)
1782
+ */
1783
+ timeAxisHeaderMenuFeature?: object | boolean | string | TimeAxisHeaderMenu | TimeAxisHeaderMenuConfig;
1784
+ /**
1785
+ * This feature allows drawing line charts on top of the timeline area. Feature consists of two parts: chart and
1786
+ * data providers. Chart provider is responsible for rendering the chart, while data provider is responsible
1787
+ * for providing data for the chart. Feature itself manages the interaction between them, and tracks lifecycle events
1788
+ * of the Gantt chart.
1789
+ * ...
1790
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TimelineChart)
1791
+ */
1792
+ timelineChartFeature?: object | boolean | string | TimelineChart | TimelineChartConfig;
1793
+ /**
1794
+ * Feature that renders global ranges of time in the timeline. Use this feature to visualize a `range` like a 1 hr lunch
1795
+ * or some important point in time (a `line`, i.e. a range with 0 duration). This feature can also show a current time
1796
+ * indicator if you set [showCurrentTimeLine](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/TimeRanges#config-showCurrentTimeLine) to true. To style the rendered elements, use the
1797
+ * [cls](https://bryntum.com/products/gantt/docs/api/Scheduler/model/TimeSpan#field-cls) field of the `TimeSpan` class.
1798
+ * ...
1799
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/TimeRanges)
1800
+ */
1801
+ timeRangesFeature?: object | boolean | string | TimeRanges | TimeRangesConfig;
1802
+ /**
1803
+ * This feature exposes methods on the owning Scheduler or Gantt widget which you can use to highlight one or multiple time spans
1804
+ * in the schedule. Please see [highlightTimeSpan](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/TimeSpanHighlight#function-highlightTimeSpan) and [highlightTimeSpans](#SchedulerPro/feature/TimeSpanHighlight#function-highlightTimeSpans) to learn
1805
+ * more or try the demo below:
1806
+ * ...
1807
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/SchedulerPro/feature/TimeSpanHighlight)
1808
+ */
1809
+ timeSpanHighlightFeature?: object | boolean | string | TimeSpanHighlight | TimeSpanHighlightConfig;
1810
+ /**
1811
+ * Feature that makes the grid work more like a tree. Included by default in [TreeGrid](https://bryntum.com/products/gantt/docs/api/Grid/view/TreeGrid). Requires
1812
+ * exactly one [TreeColumn](https://bryntum.com/products/gantt/docs/api/Grid/column/TreeColumn) among grids columns. That column will have its renderer replaced with a
1813
+ * tree renderer that adds padding and icon to give the appearance of a tree. The original renderer is preserved and
1814
+ * also called.
1815
+ * ...
1816
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Grid/feature/Tree)
1817
+ */
1818
+ treeFeature?: object | boolean | string | Tree | TreeConfig;
1819
+ /**
1820
+ * Extends Grid's [TreeGroup](https://bryntum.com/products/gantt/docs/api/Grid/feature/TreeGroup) (follow the link for more info) feature to enable using it with Gantt.
1821
+ * Allows generating a new task tree where parents are determined by the values of specified task fields/functions:
1822
+ * ...
1823
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TreeGroup)
1824
+ */
1825
+ treeGroupFeature?: object | boolean | string | TreeGroup | TreeGroupConfig;
1826
+ /**
1827
+ * Captures versions (snapshots) of the active project, including a detailed log of the changes new in each version.
1828
+ * ...
1829
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/feature/Versions)
1830
+ */
1831
+ versionsFeature?: object | boolean | string | Versions | VersionsConfig;
1832
+ };
1833
+ export declare class BryntumGanttComponent implements OnInit, OnDestroy {
1834
+ static instanceClass: typeof Gantt;
1835
+ static instanceName: string;
1836
+ private static bryntumEvents;
1837
+ private static bryntumFeatureNames;
1838
+ private static bryntumConfigs;
1839
+ private static bryntumConfigsOnly;
1840
+ private static bryntumProps;
1841
+ private elementRef;
1842
+ instance: Gantt;
1843
+ private bryntumConfig;
1844
+ constructor(element: ElementRef);
1845
+ adopt: HTMLElement | string;
1846
+ allowCreate: boolean;
1847
+ allowCreateOnlyParent: boolean;
1848
+ animateFilterRemovals: boolean;
1849
+ animateRemovingRows: boolean;
1850
+ ariaDescription: string;
1851
+ ariaLabel: string;
1852
+ autoAdjustTimeAxis: boolean;
1853
+ autoHeight: boolean;
1854
+ bbar: (GanttContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
1855
+ bodyCls: string | object;
1856
+ bubbleEvents: object;
1857
+ bufferCoef: number;
1858
+ bufferThreshold: number;
1859
+ collapsible: boolean | PanelCollapserConfig | PanelCollapserOverlayConfig;
1860
+ color: string;
1861
+ config: object;
1862
+ contentElementCls: string | object;
1863
+ contextMenuTriggerEvent: 'contextmenu' | 'click' | 'dblclick';
1864
+ creationTooltip: TooltipConfig;
1865
+ cycleResolutionPopupClass: typeof CycleResolutionPopup;
1866
+ dataField: string;
1867
+ defaultRegion: string;
1868
+ defaultResourceImageName: string;
1869
+ dependencyIdField: string;
1870
+ destroyStore: boolean;
1871
+ detectCSSCompatibilityIssues: boolean;
1872
+ disableGridColumnIdWarning: boolean;
1873
+ disableGridRowModelWarning: boolean;
1874
+ displaySchedulingIssueResolutionPopup: boolean;
1875
+ dock: 'top' | 'bottom' | 'left' | 'right' | 'start' | 'end' | 'header' | 'pre-header' | object;
1876
+ drawer: boolean | {
1877
+ side?: 'start' | 'left' | 'end' | 'right' | 'top' | 'bottom';
1878
+ size?: string | number;
1879
+ inline?: boolean;
1880
+ autoClose: {
1881
+ mousedown?: boolean | string;
1882
+ focusout?: boolean | string;
1883
+ mouseout?: string;
1884
+ };
1885
+ autoCloseDelay?: number;
1886
+ };
1887
+ durationDisplayPrecision: number | boolean;
1888
+ elementAttributes: Record<string, string | null>;
1889
+ enableDeleteKey: boolean;
1890
+ enableRecurringEvents: boolean | {
1891
+ defaultAction?: 'single' | 'future';
1892
+ };
1893
+ enableSticky: boolean;
1894
+ enableTextSelection: boolean;
1895
+ enableTransactionalFeatures: boolean;
1896
+ fillLastColumn: boolean;
1897
+ fixedRowHeight: boolean;
1898
+ footer: {
1899
+ dock?: 'top' | 'right' | 'bottom' | 'left' | 'start' | 'end';
1900
+ html?: string;
1901
+ cls?: string;
1902
+ } | string;
1903
+ formulaProviders: Record<string, FormulaProviderConfig>;
1904
+ fullRowRefresh: boolean;
1905
+ getDateConstraints: (taskRecord: TaskModel) => DateConstraint;
1906
+ getRowHeight: (getRowHeight: {
1907
+ record: Model;
1908
+ }) => number;
1909
+ header: string | boolean | PanelHeader;
1910
+ hideHorizontalScrollbar: boolean;
1911
+ hoverCls: string;
1912
+ icon: string | DomConfig;
1913
+ ignoreDomEventsWhileScrolling: boolean;
1914
+ ignoreParentReadOnly: boolean;
1915
+ listeners: GanttListeners;
1916
+ loadMask: string | MaskConfig | null;
1917
+ loadMaskDefaults: MaskConfig;
1918
+ loadMaskError: MaskConfig | Mask | boolean;
1919
+ localizable: boolean;
1920
+ managedEventSizing: boolean;
1921
+ maskDefaults: MaskConfig;
1922
+ masked: boolean | string | MaskConfig;
1923
+ maxDate: Date | string;
1924
+ maxTimeAxisUnit: DurationUnit;
1925
+ minDate: Date | string;
1926
+ monitorResize: boolean;
1927
+ newTaskDefaults: TaskModelConfig | object | (() => TaskModelConfig | object);
1928
+ owner: Widget | any;
1929
+ partner: TimelineBase;
1930
+ plugins: Function[];
1931
+ preserveFocusOnDatasetChange: boolean;
1932
+ preserveScrollOnDatasetChange: boolean;
1933
+ preventTooltipOnTouch: boolean;
1934
+ projectProgressReporting: string | null;
1935
+ relayStoreEvents: boolean;
1936
+ resizable: boolean | {
1937
+ minWidth?: number;
1938
+ maxWidth?: number;
1939
+ minHeight?: number;
1940
+ maxHeight?: number;
1941
+ handles?: object;
1942
+ };
1943
+ resizeToFitIncludesHeader: boolean;
1944
+ resourceImageFolderPath: string;
1945
+ resourceImagePath: string;
1946
+ responsiveLevels: Record<string, number | string | ResponsiveLevelConfig>;
1947
+ ripple: boolean | {
1948
+ delegate?: string;
1949
+ color?: string;
1950
+ radius?: number;
1951
+ clip?: string;
1952
+ };
1953
+ rootElement: ShadowRoot | HTMLElement;
1954
+ schedulingIssueResolutionPopupClass: typeof SchedulingIssueResolutionPopup;
1955
+ scrollerClass: typeof Scroller;
1956
+ scrollManager: ScrollManagerConfig | ScrollManager;
1957
+ showCostControls: boolean;
1958
+ showCreationTooltip: boolean;
1959
+ showDirty: boolean | {
1960
+ duringEdit?: boolean;
1961
+ newRecord?: boolean;
1962
+ };
1963
+ showLagInTooltip: boolean;
1964
+ showRecurringUI: boolean;
1965
+ showTaskColorPickers: boolean;
1966
+ snapRelativeToEventStartDate: boolean;
1967
+ stateful: boolean | object | string[];
1968
+ statefulEvents: object | string[];
1969
+ stateId: string;
1970
+ stateProvider: StateProvider;
1971
+ stickyHeaders: boolean;
1972
+ strips: Record<string, GanttContainerItemConfig>;
1973
+ subGridConfigs: Record<string, SubGridConfig>;
1974
+ syncMask: string | MaskConfig | null;
1975
+ tab: boolean | TabConfig;
1976
+ tabBarItems: ToolbarItems[] | Widget[];
1977
+ taskRenderer: (detail: {
1978
+ taskRecord: TaskModel;
1979
+ renderData: {
1980
+ cls: DomClassList | string;
1981
+ style: string | Record<string, string>;
1982
+ wrapperCls: DomClassList | string;
1983
+ iconCls: DomClassList | string;
1984
+ };
1985
+ }, indicators: TimeSpan[] | TimeSpanConfig[]) => string | DomConfig | DomConfig[];
1986
+ tbar: (GanttContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
1987
+ terminalCls: string;
1988
+ terminalSides: string[];
1989
+ timeAxis: TimeAxisConfig | TimeAxis;
1990
+ type: 'gantt';
1991
+ ui: 'plain' | 'toolbar' | string | object;
1992
+ visibleZoomFactor: number;
1993
+ weekStartDay: number;
1994
+ weight: number;
1995
+ zoomKeepsOriginalTimespan: boolean;
1996
+ zoomOnMouseWheel: boolean;
1997
+ zoomOnTimeAxisDoubleClick: boolean;
1998
+ alignSelf: string;
1999
+ allowDropOnEventBar: boolean;
2000
+ animateTreeNodeToggle: boolean;
2001
+ appendTo: HTMLElement | string;
2002
+ assignments: AssignmentModel[] | AssignmentModelConfig[];
2003
+ barMargin: number;
2004
+ calendars: CalendarModel[] | CalendarModelConfig[];
2005
+ callOnFunctions: boolean;
2006
+ catchEventHandlerExceptions: boolean;
2007
+ cellEllipsis: boolean;
2008
+ cls: string | object;
2009
+ collapsed: boolean;
2010
+ column: number;
2011
+ columnLines: boolean;
2012
+ columns: ColumnStore | GanttColumnConfig[] | ColumnStoreConfig;
2013
+ creationTooltipTemplate: (data: {
2014
+ source: TimeSpan;
2015
+ target: TimeSpan;
2016
+ fromSide: string;
2017
+ toSide: string;
2018
+ valid: boolean;
2019
+ }) => string | DomConfig;
2020
+ data: object[] | Model[] | ModelConfig[];
2021
+ dataset: object | Record<string, string>;
2022
+ dependencies: DependencyModel[] | DependencyModelConfig[];
2023
+ disabled: boolean | 'inert';
2024
+ displayDateFormat: string;
2025
+ emptyText: string | EmptyTextDomConfig;
2026
+ enableEventAnimations: boolean;
2027
+ enableUndoRedoKeys: boolean;
2028
+ endDate: Date | string;
2029
+ eventColor: EventColor;
2030
+ eventStyle: 'tonal' | 'filled' | 'bordered' | 'traced' | 'outlined' | 'indented' | 'line' | 'dashed' | 'minimal' | 'rounded' | 'calendar' | 'interday' | 'gantt' | null;
2031
+ extraData: any;
2032
+ fillTicks: boolean;
2033
+ flex: number | string;
2034
+ forceFit: boolean;
2035
+ height: number | string;
2036
+ hidden: boolean;
2037
+ hideFooters: boolean;
2038
+ hideHeaders: boolean;
2039
+ hideRowHover: boolean;
2040
+ id: string;
2041
+ infiniteScroll: boolean;
2042
+ inputFieldAlign: 'start' | 'end';
2043
+ insertBefore: HTMLElement | string;
2044
+ insertFirst: HTMLElement | string;
2045
+ keyMap: Record<string, KeyMapConfig>;
2046
+ labelPosition: 'before' | 'above' | 'align-before' | 'auto' | null;
2047
+ longPressTime: number;
2048
+ margin: number | string;
2049
+ maxHeight: string | number;
2050
+ maxWidth: string | number;
2051
+ maxZoomLevel: number;
2052
+ minHeight: string | number;
2053
+ minWidth: string | number;
2054
+ minZoomLevel: number;
2055
+ preserveScroll: PreserveScrollOptions | boolean;
2056
+ presets: PresetStore | ViewPresetConfig[];
2057
+ project: ProjectModel | ProjectModelConfig | object;
2058
+ readOnly: boolean;
2059
+ recurrenceConfirmationPopup: RecurrenceConfirmationPopupConfig | RecurrenceConfirmationPopup;
2060
+ rendition: string | Record<string, string> | null;
2061
+ resources: ResourceModel[] | ResourceModelConfig[];
2062
+ rowHeight: number;
2063
+ rowLines: boolean;
2064
+ rtl: boolean;
2065
+ scrollable: Scroller | boolean | ScrollerConfig;
2066
+ scrollTaskIntoViewOnCellClick: boolean | BryntumScrollOptions;
2067
+ selectionMode: GridSelectionMode;
2068
+ showTooltip: boolean;
2069
+ showUnscheduledTasks: boolean;
2070
+ snap: boolean;
2071
+ span: number;
2072
+ startDate: Date | string;
2073
+ stateSettings: {
2074
+ restoreUnconfiguredColumns?: boolean;
2075
+ };
2076
+ store: Store | StoreConfig | AjaxStore | AjaxStoreConfig;
2077
+ suppressFit: boolean;
2078
+ tasks: TaskModel[] | TaskModelConfig[];
2079
+ taskStore: TaskStore | TaskStoreConfig;
2080
+ terminalHideDelay: number;
2081
+ terminalOffset: number;
2082
+ terminalShowDelay: number;
2083
+ terminalSize: number | string;
2084
+ tickSize: number;
2085
+ timeRanges: TimeSpan[] | TimeSpanConfig[];
2086
+ timeResolution: {
2087
+ increment?: number;
2088
+ unit?: DurationUnit;
2089
+ } | number;
2090
+ timeZone: string | number;
2091
+ title: string;
2092
+ toggleParentTasksOnClick: boolean;
2093
+ tools: Record<string, Tool | ToolConfig> | null | Record<string, Tool> | Record<string, ToolConfig>;
2094
+ tooltipTemplate: (dependency: DependencyBaseModel) => string | DomConfig;
2095
+ transition: {
2096
+ insertRecord?: boolean;
2097
+ removeRecord?: boolean;
2098
+ toggleColumn?: boolean;
2099
+ expandCollapseColumn?: boolean;
2100
+ toggleRegion?: boolean;
2101
+ toggleTreeNode?: boolean;
2102
+ toggleGroup?: boolean;
2103
+ filterRemoval?: boolean;
2104
+ removeEvent?: boolean;
2105
+ changeEvent?: boolean;
2106
+ };
2107
+ transitionDuration: number;
2108
+ useContextualRecurrenceRules: boolean;
2109
+ viewPreset: ViewPreset | ViewPresetConfig | string;
2110
+ visibleDate: object | Date | VisibleDate;
2111
+ width: number | string;
2112
+ workingTime: {
2113
+ fromDay?: number;
2114
+ toDay?: number;
2115
+ fromHour?: number;
2116
+ toHour?: number;
2117
+ };
2118
+ calendarManagerStore: CalendarManagerStore;
2119
+ focusVisible: boolean;
2120
+ hasChanges: boolean;
2121
+ originalStore: Store;
2122
+ parent: Widget;
2123
+ scrollLeft: number;
2124
+ scrollTop: number;
2125
+ scrollX: number;
2126
+ selectedCell: GridLocation | GridLocationConfig;
2127
+ selectedCells: GridLocation[] | GridLocationConfig[];
2128
+ selectedRecord: Model;
2129
+ selectedRecords: Model[] | number[];
2130
+ selectedRows: Model[] | number[];
2131
+ state: TimelineStateInfo;
2132
+ tooltip: string | TooltipConfig;
2133
+ zoomLevel: number;
2134
+ aiFilterFeature: object | boolean | string | AIFilter | AIFilterConfig;
2135
+ baselinesFeature: object | boolean | string | Baselines | BaselinesConfig;
2136
+ cellCopyPasteFeature: object | boolean | string | CellCopyPaste | CellCopyPasteConfig;
2137
+ cellEditFeature: object | boolean | string | CellEdit | CellEditConfig;
2138
+ cellMenuFeature: object | boolean | string | CellMenu | CellMenuConfig;
2139
+ cellTooltipFeature: object | boolean | string | CellTooltip | CellTooltipConfig;
2140
+ chartsFeature: object | boolean | string | Charts | ChartsConfig;
2141
+ columnAutoWidthFeature: object | boolean | string | ColumnAutoWidth | ColumnAutoWidthConfig;
2142
+ columnDragToolbarFeature: object | boolean | string | ColumnDragToolbar | ColumnDragToolbarConfig;
2143
+ columnLinesFeature: object | boolean | string | ColumnLines | ColumnLinesConfig;
2144
+ columnPickerFeature: object | boolean | string | ColumnPicker | ColumnPickerConfig;
2145
+ columnRenameFeature: object | boolean | string | ColumnRename | ColumnRenameConfig;
2146
+ columnReorderFeature: object | boolean | string | ColumnReorder | ColumnReorderConfig;
2147
+ columnResizeFeature: object | boolean | string | ColumnResize | ColumnResizeConfig;
2148
+ criticalPathsFeature: object | boolean | string | CriticalPaths | CriticalPathsConfig;
2149
+ dependenciesFeature: object | boolean | string | Dependencies | DependenciesConfig;
2150
+ dependencyEditFeature: object | boolean | string | DependencyEdit | DependencyEditConfig;
2151
+ eventFilterFeature: object | boolean | string | EventFilter | EventFilterConfig;
2152
+ eventSegmentsFeature: object | boolean | string | EventSegments | EventSegmentsConfig;
2153
+ excelExporterFeature: object | boolean | string | GridExcelExporter | GridExcelExporterConfig;
2154
+ fileDropFeature: object | boolean | string | FileDrop | FileDropConfig;
2155
+ fillHandleFeature: object | boolean | string | FillHandle | FillHandleConfig;
2156
+ filterFeature: object | boolean | string | Filter | FilterConfig;
2157
+ filterBarFeature: object | boolean | string | FilterBar | FilterBarConfig;
2158
+ groupFeature: object | boolean | string | Group | GroupConfig;
2159
+ groupSummaryFeature: object | boolean | string | GridGroupSummary | GridGroupSummaryConfig;
2160
+ headerMenuFeature: object | boolean | string | HeaderMenu | HeaderMenuConfig;
2161
+ headerZoomFeature: object | boolean | string | HeaderZoom | HeaderZoomConfig;
2162
+ indicatorsFeature: object | boolean | string | Indicators | IndicatorsConfig;
2163
+ labelsFeature: object | boolean | string | Labels | LabelsConfig;
2164
+ lockRowsFeature: object | boolean | string | GridLockRows | GridLockRowsConfig;
2165
+ mergeCellsFeature: object | boolean | string | MergeCells | MergeCellsConfig;
2166
+ mspExportFeature: object | boolean | string | MspExport | MspExportConfig;
2167
+ nonWorkingTimeFeature: object | boolean | string | NonWorkingTime | NonWorkingTimeConfig;
2168
+ panFeature: object | boolean | string | Pan | PanConfig;
2169
+ parentAreaFeature: object | boolean | string | ParentArea | ParentAreaConfig;
2170
+ pdfExportFeature: object | boolean | string | PdfExport | PdfExportConfig;
2171
+ percentBarFeature: object | boolean | string | PercentBar | PercentBarConfig;
2172
+ pinColumnsFeature: object | boolean | string | PinColumns | PinColumnsConfig;
2173
+ printFeature: object | boolean | string | Print | PrintConfig;
2174
+ progressLineFeature: object | boolean | string | ProgressLine | ProgressLineConfig;
2175
+ projectEditFeature: object | boolean | string | ProjectEdit | ProjectEditConfig;
2176
+ projectLinesFeature: object | boolean | string | ProjectLines | ProjectLinesConfig;
2177
+ quickFindFeature: object | boolean | string | QuickFind | QuickFindConfig;
2178
+ regionResizeFeature: object | boolean | string | RegionResize | RegionResizeConfig;
2179
+ rollupsFeature: object | boolean | string | Rollups | RollupsConfig;
2180
+ rowCopyPasteFeature: object | boolean | string | RowCopyPaste | RowCopyPasteConfig;
2181
+ rowEditFeature: object | boolean | string | RowEdit | RowEditConfig;
2182
+ rowExpanderFeature: object | boolean | string | RowExpander | RowExpanderConfig;
2183
+ rowReorderFeature: object | boolean | string | RowReorder | RowReorderConfig;
2184
+ rowResizeFeature: object | boolean | string | GridRowResize | GridRowResizeConfig;
2185
+ scheduleMenuFeature: object | boolean | string | ScheduleMenu | ScheduleMenuConfig;
2186
+ scheduleTooltipFeature: object | boolean | string | ScheduleTooltip | ScheduleTooltipConfig;
2187
+ scrollButtonsFeature: object | boolean | string | ScrollButtons | ScrollButtonsConfig;
2188
+ searchFeature: object | boolean | string | Search | SearchConfig;
2189
+ sortFeature: object | boolean | string | Sort | SortConfig;
2190
+ splitFeature: object | boolean | string | GridSplit | GridSplitConfig;
2191
+ stickyCellsFeature: object | boolean | string | StickyCells | StickyCellsConfig;
2192
+ stripeFeature: object | boolean | string | Stripe | StripeConfig;
2193
+ summaryFeature: object | boolean | string | Summary | SummaryConfig;
2194
+ taskCopyPasteFeature: object | boolean | string | TaskCopyPaste | TaskCopyPasteConfig;
2195
+ taskDragFeature: object | boolean | string | TaskDrag | TaskDragConfig;
2196
+ taskDragCreateFeature: object | boolean | string | TaskDragCreate | TaskDragCreateConfig;
2197
+ taskEditFeature: object | boolean | string | TaskEdit | TaskEditConfig;
2198
+ taskMenuFeature: object | boolean | string | TaskMenu | TaskMenuConfig;
2199
+ taskNonWorkingTimeFeature: object | boolean | string | TaskNonWorkingTime | TaskNonWorkingTimeConfig;
2200
+ taskResizeFeature: object | boolean | string | TaskResize | TaskResizeConfig;
2201
+ taskSegmentDragFeature: object | boolean | string | TaskSegmentDrag | TaskSegmentDragConfig;
2202
+ taskSegmentResizeFeature: object | boolean | string | TaskSegmentResize | TaskSegmentResizeConfig;
2203
+ taskTooltipFeature: object | boolean | string | TaskTooltip | TaskTooltipConfig;
2204
+ timeAxisHeaderMenuFeature: object | boolean | string | TimeAxisHeaderMenu | TimeAxisHeaderMenuConfig;
2205
+ timelineChartFeature: object | boolean | string | TimelineChart | TimelineChartConfig;
2206
+ timeRangesFeature: object | boolean | string | TimeRanges | TimeRangesConfig;
2207
+ timeSpanHighlightFeature: object | boolean | string | TimeSpanHighlight | TimeSpanHighlightConfig;
2208
+ treeFeature: object | boolean | string | Tree | TreeConfig;
2209
+ treeGroupFeature: object | boolean | string | TreeGroup | TreeGroupConfig;
2210
+ versionsFeature: object | boolean | string | Versions | VersionsConfig;
2211
+ /**
2212
+ * Fired on the owning Scheduler/Gantt after a dependency drag creation operation finished, no matter to outcome
2213
+ * @param {object} event Event object
2214
+ * @param {Scheduler.model.TimeSpan} event.source The source task
2215
+ * @param {Scheduler.model.TimeSpan} event.target The target task
2216
+ * @param {Scheduler.model.DependencyBaseModel} event.dependency The created dependency
2217
+ */
2218
+ onAfterDependencyCreateDrop: any;
2219
+ /**
2220
+ * Fires on the owning Scheduler or Gantt widget after a dependency is successfully saved using the
2221
+ * dependency edit popup
2222
+ * @param {object} event Event object
2223
+ * @param {Scheduler.view.Scheduler} event.source The scheduler instance or Gantt instance
2224
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The dependency about to be saved
2225
+ */
2226
+ onAfterDependencySave: any;
2227
+ /**
2228
+ * Fires on the owning Gantt at the end of the drag create gesture whether or not
2229
+ * a task was scheduled by the gesture.
2230
+ * @param {object} event Event object
2231
+ * @param {Gantt.view.Gantt} event.source
2232
+ * @param {HTMLElement} event.proxyElement The element showing the drag creation zone.
2233
+ */
2234
+ onAfterDragCreate: any;
2235
+ /**
2236
+ * Fires on the owning Scheduler after editor is closed by any action - save, delete or cancel
2237
+ * @param {object} event Event object
2238
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
2239
+ * @param {'save','delete','cancel'} event.action The action that was taken to end the edit. One of 'save', 'delete' or 'cancel'
2240
+ * @param {Scheduler.feature.EventEdit} event.eventEdit The eventEdit feature
2241
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord The record that has been edited.
2242
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord The Resource record for the event. If the event is being created, it will not contain a resource, so this parameter specifies the resource the event is being created for.
2243
+ * @param {HTMLElement} event.eventElement The element which represents the event in the scheduler display.
2244
+ * @param {Core.widget.Popup} event.editor The editor
2245
+ */
2246
+ onAfterEventEdit: any;
2247
+ /**
2248
+ * Fires on the owning Scheduler or Gantt widget instance after an event record is saved
2249
+ * @param {object} event Event object
2250
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2251
+ * @param {SchedulerPro.model.EventModel} event.eventRecord The event record about to be saved
2252
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2253
+ */
2254
+ onAfterEventSave: any;
2255
+ /**
2256
+ * Fires on the owning Gantt widget instance after project editing is finished by applying changes or
2257
+ * cancelling them.
2258
+ * @param {object} event Event object
2259
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2260
+ * @param {Gantt.model.ProjectModel} event.projectRecord The edited project record
2261
+ * @param {Gantt.widget.ProjectEditor} event.editor The editor widget
2262
+ */
2263
+ onAfterProjectEdit: any;
2264
+ /**
2265
+ * Fires on the owning Gantt widget instance after a project is saved
2266
+ * @param {object} event Event object
2267
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2268
+ * @param {Gantt.model.ProjectModel} event.projectRecord The project about to be saved
2269
+ * @param {Gantt.widget.ProjectEditor} event.editor The editor widget
2270
+ */
2271
+ onAfterProjectSave: any;
2272
+ /**
2273
+ * Fires on the owning Gantt after a task drop, regardless if the drop validity
2274
+ * @param {object} event Event object
2275
+ * @param {Gantt.view.Gantt} event.source
2276
+ * @param {Gantt.model.TaskModel[]} event.taskRecords
2277
+ * @param {boolean} event.valid
2278
+ */
2279
+ onAfterTaskDrop: any;
2280
+ /**
2281
+ * Fires on the owning Scheduler or Gantt widget instance after task editing is finished by applying changes, cancelling them
2282
+ * or deleting the task record.
2283
+ * @param {object} event Event object
2284
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2285
+ * @param {SchedulerPro.model.EventModel} event.taskRecord Task record used in the task editor
2286
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2287
+ */
2288
+ onAfterTaskEdit: any;
2289
+ /**
2290
+ * Fires on the owning Scheduler or Gantt widget instance after a task is saved
2291
+ * @param {object} event Event object
2292
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2293
+ * @param {SchedulerPro.model.EventModel} event.taskRecord The task about to be saved
2294
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2295
+ */
2296
+ onAfterTaskSave: any;
2297
+ /**
2298
+ * Fires on the owning Gantt after a task drop, regardless if the drop validity
2299
+ * @param {object} event Event object
2300
+ * @param {Gantt.view.Gantt} event.source
2301
+ * @param {Gantt.model.TaskModel[]} event.taskRecords Dropped segments
2302
+ * @param {boolean} event.valid
2303
+ */
2304
+ onAfterTaskSegmentDrop: any;
2305
+ /**
2306
+ * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
2307
+ * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
2308
+ * case records should be "manually" removed after confirmation:
2309
+ * ...
2310
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeAssignmentDelete)
2311
+ * @param {object} event Event object
2312
+ * @param {Scheduler.view.Scheduler} event.source The Scheduler instance
2313
+ * @param {Scheduler.model.SchedulerAssignmentModel[]} event.assignmentRecords The assignment records about to be deleted
2314
+ * @param {object} event.context Additional removal context:
2315
+ * @param {Function} event.context.finalize Function to call to finalize the removal. Used to asynchronously decide to remove the records or not. Provide `false` to the function to prevent the removal.
2316
+ * @param {boolean} event.context.finalize.removeRecords Provide `false` to the function to prevent the removal.
2317
+ */
2318
+ onBeforeAssignmentDelete: any;
2319
+ /**
2320
+ * Fires on the owning Grid before the cell editing is canceled, return `false` to prevent cancellation.
2321
+ * @param {object} event Event object
2322
+ * @param {Grid.view.Grid} event.source Owner grid
2323
+ * @param {Grid.util.GridLocation} event.editorContext Editing context
2324
+ */
2325
+ onBeforeCancelCellEdit: any;
2326
+ /**
2327
+ * Fires on the owning Grid before the row editing is canceled, return false to signal that the value is invalid and editing should not be finalized.
2328
+ * ...
2329
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeCancelRowEdit)
2330
+ * @param {object} event Event object
2331
+ * @param {Grid.view.Grid} event.grid Target grid
2332
+ * @param {RowEditorContext} event.editorContext Editing context
2333
+ */
2334
+ onBeforeCancelRowEdit: any;
2335
+ /**
2336
+ * Fires on the owning Grid before editing starts, return `false` to prevent editing
2337
+ * @param {object} event Event object
2338
+ * @param {Grid.view.Grid} event.source Owner grid
2339
+ * @param {CellEditorContext} event.editorContext Editing context
2340
+ */
2341
+ onBeforeCellEditStart: any;
2342
+ /**
2343
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
2344
+ * buttons while [autoEdit](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
2345
+ * @param {object} event Event object
2346
+ * @param {Grid.view.Grid} event.source Owner grid
2347
+ * @param {(Grid.util.GridLocation|Core.data.Model)[]} event.gridSelection An array of cell selectors or records that will have their values deleted (the records themselves will not get deleted, only visible column values).
2348
+ */
2349
+ onBeforeCellRangeDelete: any;
2350
+ /**
2351
+ * Fires for each selected record on the owning Grid before editing a range of selected cell values
2352
+ * @param {object} event Event object
2353
+ * @param {Core.data.Model} event.record Current selected record from the range
2354
+ * @param {string} event.field The field being changed
2355
+ * @param {any} event.value The value being set
2356
+ */
2357
+ onBeforeCellRangeEdit: any;
2358
+ /**
2359
+ * This event is fired prior to starting a column drag gesture. The drag is canceled if a listener returns `false`.
2360
+ * @param {object} event Event object
2361
+ * @param {Grid.view.Grid} event.source The grid instance.
2362
+ * @param {Grid.column.Column} event.column The dragged column.
2363
+ * @param {Event} event.event The browser event.
2364
+ */
2365
+ onBeforeColumnDragStart: any;
2366
+ /**
2367
+ * This event is fired when a column is dropped, and you can return false from a listener to abort the operation.
2368
+ * @param {object} event Event object
2369
+ * @param {Grid.view.Grid} event.source The grid instance.
2370
+ * @param {Grid.column.Column} event.column The dragged column.
2371
+ * @param {Grid.column.Column} event.insertBefore The column before which the dragged column will be inserted.
2372
+ * @param {Grid.column.Column} event.newParent The new parent column.
2373
+ * @param {Event} event.event The browser event.
2374
+ * @param {string} event.region The region where the column was dropped.
2375
+ */
2376
+ onBeforeColumnDropFinalize: any;
2377
+ /**
2378
+ * This event is fired prior to starting a column resize gesture. The resize is canceled if a listener returns
2379
+ * `false`.
2380
+ * @param {object} event Event object
2381
+ * @param {Grid.view.Grid} event.source The grid instance
2382
+ * @param {Grid.column.Column} event.column The column
2383
+ * @param {Event} event.domEvent The browser event
2384
+ */
2385
+ onBeforeColumnResize: any;
2386
+ /**
2387
+ * Fires on the owning Grid before a copy action is performed, return `false` to prevent the action
2388
+ * @param {object} event Event object
2389
+ * @param {Grid.view.Grid} event.source Owner grid
2390
+ * @param {Grid.util.GridLocation[]} event.cells The cells about to be copied or cut
2391
+ * @param {string} event.data The string data about to be copied or cut
2392
+ * @param {boolean} event.isCut `true` if this is a cut action
2393
+ * @param {string} event.entityName 'cell' to distinguish this event from other beforeCopy events
2394
+ */
2395
+ onBeforeCopy: any;
2396
+ /**
2397
+ * Fires on the owning Grid before CSV export starts. Return `false` to cancel the export.
2398
+ * @param {object} event Event object
2399
+ * @param {ExportConfig} event.config Export config
2400
+ * @param {Grid.column.Column[]} event.columns An array of columns to export
2401
+ * @param {Core.data.Model[]} event.rows An array of records to export
2402
+ * @param {string} event.lineDelimiter The CSV delimiter to separate lines
2403
+ * @param {string} event.columnDelimiter The CSV delimiter to separate values on one line
2404
+ */
2405
+ onBeforeCSVExport: any;
2406
+ /**
2407
+ * Fires on the owning Scheduler or Gantt widget before a dependency is added from the dependency
2408
+ * edit popup
2409
+ * @param {object} event Event object
2410
+ * @param {Scheduler.view.Scheduler} event.source The scheduler or Gantt instance
2411
+ * @param {Scheduler.feature.SchedulerDependencyEdit} event.dependencyEdit The dependency edit feature
2412
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The dependency about to be added
2413
+ */
2414
+ onBeforeDependencyAdd: any;
2415
+ /**
2416
+ * Fired on the owning Scheduler/Gantt before a dependency creation drag operation starts. Return `false` to
2417
+ * prevent it
2418
+ * @param {object} event Event object
2419
+ * @param {Scheduler.model.TimeSpan} event.source The source task
2420
+ */
2421
+ onBeforeDependencyCreateDrag: any;
2422
+ /**
2423
+ * Fired on the owning Scheduler/Gantt when a dependency drag creation operation is about to finalize
2424
+ * @param {object} event Event object
2425
+ * @param {Scheduler.model.TimeSpan} event.source The source task
2426
+ * @param {Scheduler.model.TimeSpan} event.target The target task
2427
+ * @param {'start','end','top','bottom'} event.fromSide The from side (start / end / top / bottom)
2428
+ * @param {'start','end','top','bottom'} event.toSide The to side (start / end / top / bottom)
2429
+ */
2430
+ onBeforeDependencyCreateFinalize: any;
2431
+ /**
2432
+ * Fires on the owning Scheduler or Gantt widget before a dependency is deleted from the dependency
2433
+ * edit popup, or when clicking the delete icon on a selected dependency line.
2434
+ * @param {object} event Event object
2435
+ * @param {Scheduler.view.Scheduler} event.source The scheduler instance
2436
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The dependency record about to be deleted
2437
+ */
2438
+ onBeforeDependencyDelete: any;
2439
+ /**
2440
+ * Fires on the owning Scheduler or Gantt widget before an dependency is displayed in the editor.
2441
+ * This may be listened for to allow an application to take over dependency editing duties. Return `false` to
2442
+ * stop the default editing UI from being shown or a `Promise` yielding `true` or `false` for async vetoing.
2443
+ * @param {object} event Event object
2444
+ * @param {Scheduler.view.Scheduler} event.source The scheduler or Gantt instance
2445
+ * @param {Scheduler.feature.SchedulerDependencyEdit} event.dependencyEdit The dependencyEdit feature
2446
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The record about to be shown in the editor.
2447
+ */
2448
+ onBeforeDependencyEdit: any;
2449
+ /**
2450
+ * Fires on the owning Scheduler or Gantt widget when the editor for a dependency is available, but before it is shown. Allows
2451
+ * manipulating fields before the widget is shown.
2452
+ * @param {object} event Event object
2453
+ * @param {Scheduler.view.Scheduler} event.source The scheduler or Gantt instance
2454
+ * @param {Scheduler.feature.SchedulerDependencyEdit} event.dependencyEdit The dependencyEdit feature
2455
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The record about to be shown in the editor.
2456
+ * @param {Core.widget.Popup} event.editor The editor popup
2457
+ */
2458
+ onBeforeDependencyEditShow: any;
2459
+ /**
2460
+ * Fires on the owning Scheduler or Gantt widget before a dependency is saved using the dependency edit popup
2461
+ * @param {object} event Event object
2462
+ * @param {Scheduler.view.Scheduler} event.source The scheduler or Gantt instance
2463
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependencyRecord The dependency about to be saved
2464
+ * @param {object} event.values The new values
2465
+ */
2466
+ onBeforeDependencySave: any;
2467
+ /**
2468
+ * Fires before an object is destroyed.
2469
+ * @param {object} event Event object
2470
+ * @param {Core.Base} event.source The Object that is being destroyed.
2471
+ */
2472
+ onBeforeDestroy: any;
2473
+ /**
2474
+ * Fires on the owning Gantt at the beginning of the drag gesture
2475
+ * @param {object} event Event object
2476
+ * @param {Gantt.view.Gantt} event.source
2477
+ * @param {Gantt.model.TaskModel} event.taskRecord
2478
+ * @param {Date} event.date The datetime associated with the drag start point.
2479
+ */
2480
+ onBeforeDragCreate: any;
2481
+ /**
2482
+ * Fires on the owning Gantt to allow implementer to prevent immediate finalization by setting `data.context.async = true`
2483
+ * in the listener, to show a confirmation popup etc
2484
+ * ...
2485
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeDragCreateFinalize)
2486
+ * @param {object} event Event object
2487
+ * @param {Gantt.view.Gantt} event.source Scheduler instance
2488
+ * @param {HTMLElement} event.proxyElement Proxy element, representing future event
2489
+ * @param {object} event.context
2490
+ * @param {boolean} event.context.async Set true to handle drag create asynchronously (e.g. to wait for user confirmation)
2491
+ * @param {Function} event.context.finalize Call this method to finalize drag create. This method accepts one argument: pass true to update records, or false, to ignore changes
2492
+ */
2493
+ onBeforeDragCreateFinalize: any;
2494
+ /**
2495
+ * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
2496
+ * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
2497
+ * for async vetoing).
2498
+ * ...
2499
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeEventDelete)
2500
+ * @param {object} event Event object
2501
+ * @param {Scheduler.view.Scheduler,any} event.source The Scheduler instance
2502
+ * @param {Scheduler.model.SchedulerEventModel[]} event.eventRecords The records about to be deleted
2503
+ * @param {object} event.context Additional removal context:
2504
+ * @param {Function} event.context.finalize Function to call to finalize the removal. Used to asynchronously decide to remove the records or not. Provide `false` to the function to prevent the removal.
2505
+ * @param {boolean} event.context.finalize.removeRecords Provide `false` to the function to prevent the removal.
2506
+ */
2507
+ onBeforeEventDelete: any;
2508
+ /**
2509
+ * Fires on the owning Scheduler before an event is displayed in an editor.
2510
+ * This may be listened for to allow an application to take over event editing duties. Returning `false`
2511
+ * stops the default editing UI from being shown.
2512
+ * ...
2513
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeEventEdit)
2514
+ * @param {object} event Event object
2515
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
2516
+ * @param {Scheduler.feature.EventEdit} event.eventEdit The eventEdit feature
2517
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord The record about to be shown in the event editor.
2518
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord The Resource record for the event. If the event is being created, it will not contain a resource, so this parameter specifies the resource the event is being created for.
2519
+ * @param {HTMLElement} event.eventElement The element which represents the event in the scheduler display.
2520
+ */
2521
+ onBeforeEventEdit: any;
2522
+ /**
2523
+ * Fires on the owning Scheduler when the editor for an event is available but before it is populated with
2524
+ * data and shown. Allows manipulating fields etc.
2525
+ * @param {object} event Event object
2526
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
2527
+ * @param {Scheduler.feature.EventEdit} event.eventEdit The eventEdit feature
2528
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord The record about to be shown in the event editor.
2529
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord The Resource record for the event. If the event is being created, it will not contain a resource, so this parameter specifies the resource the event is being created for.
2530
+ * @param {HTMLElement} event.eventElement The element which represents the event in the scheduler display.
2531
+ * @param {Core.widget.Popup} event.editor The editor
2532
+ */
2533
+ onBeforeEventEditShow: any;
2534
+ /**
2535
+ * Fired on the owning Scheduler before resizing starts. Return `false` to prevent the action.
2536
+ * @param {object} event Event object
2537
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
2538
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record being resized
2539
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record the resize starts within
2540
+ * @param {MouseEvent} event.event Browser event
2541
+ */
2542
+ onBeforeEventResize: any;
2543
+ /**
2544
+ * Fired on the owning Scheduler to allow implementer to prevent immediate finalization by returning a promise
2545
+ * in the listener, to show a confirmation popup etc
2546
+ * ...
2547
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeEventResizeFinalize)
2548
+ * @param {object} event Event object
2549
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
2550
+ * @param {object} event.context [DEPRECATED] de-nested to outer params object
2551
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record being resized
2552
+ * @param {Date} event.startDate New startDate (changed if resizing start side)
2553
+ * @param {Date} event.endDate New endDate (changed if resizing end side)
2554
+ * @param {Date} event.originalStartDate Start date before resize
2555
+ * @param {Date} event.originalEndDate End date before resize
2556
+ * @param {boolean} event.async Set true to handle resize asynchronously (e.g. to wait for user confirmation)
2557
+ * @param {Function} event.finalize Call this method to finalize resize. This method accepts one argument: pass `true` to update records, or `false`, to ignore changes
2558
+ * @param {Event} event.event Browser event
2559
+ * @param {EventResizeData[]} event.resizeData Data of all events that are being resized
2560
+ */
2561
+ onBeforeEventResizeFinalize: any;
2562
+ /**
2563
+ * Fires on the owning Scheduler or Gantt widget instance before an event record is saved, return `false` to prevent it.
2564
+ * ...
2565
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeEventSave)
2566
+ * @param {object} event Event object
2567
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2568
+ * @param {SchedulerPro.model.EventModel} event.eventRecord The event record about to be saved
2569
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2570
+ */
2571
+ onBeforeEventSave: any;
2572
+ /**
2573
+ * Fired on the owning Scheduler Pro before resizing starts. Return `false` to prevent the action.
2574
+ * @param {object} event Event object
2575
+ * @param {SchedulerPro.view.SchedulerPro} event.source Scheduler Pro instance
2576
+ * @param {SchedulerPro.model.EventModel} event.eventRecord Segment being resized
2577
+ * @param {SchedulerPro.model.SchedulerProResourceModel} event.resourceRecord Resource record the resize starts within
2578
+ * @param {MouseEvent} event.event Browser event
2579
+ */
2580
+ onBeforeEventSegmentResize: any;
2581
+ /**
2582
+ * Fired on the owning Scheduler Pro to allow implementer to prevent immediate finalization by setting
2583
+ * `data.context.async = true` in the listener, to show a confirmation popup etc
2584
+ * ...
2585
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeEventSegmentResizeFinalize)
2586
+ * @param {object} event Event object
2587
+ * @param {SchedulerPro.view.SchedulerPro} event.source Scheduler Pro instance
2588
+ * @param {object} event.context
2589
+ * @param {boolean} event.context.async Set true to handle resize asynchronously (e.g. to wait for user confirmation)
2590
+ * @param {Function} event.context.finalize Call this method to finalize resize. This method accepts one argument: pass `true` to update records, or `false`, to ignore changes
2591
+ */
2592
+ onBeforeEventSegmentResizeFinalize: any;
2593
+ /**
2594
+ * Fires on the owning Grid before Excel export starts. Return `false` to cancel the export.
2595
+ * @param {object} event Event object
2596
+ * @param {ExportConfig} event.config Export config
2597
+ * @param {XLSColumn[]} event.columns An array of columns to export
2598
+ * @param {any[][]} event.rows An array of records to export
2599
+ */
2600
+ onBeforeExcelExport: any;
2601
+ /**
2602
+ * Fired before dragging of the FillHandle starts, return `false` to prevent the drag operation.
2603
+ * @param {object} event Event object
2604
+ * @param {Grid.util.GridLocation} event.cell Information about the column / record
2605
+ * @param {MouseEvent} event.domEvent The raw DOM event
2606
+ */
2607
+ onBeforeFillHandleDragStart: any;
2608
+ /**
2609
+ * Fires on the owning Grid before the cell editing is finished, return false to signal that the value is invalid and editing should not be finalized.
2610
+ * @param {object} event Event object
2611
+ * @param {Grid.view.Grid} event.grid Target grid
2612
+ * @param {CellEditorContext} event.editorContext Editing context
2613
+ */
2614
+ onBeforeFinishCellEdit: any;
2615
+ /**
2616
+ * Fires on the owning Grid before the row editing is finished, return false to signal that the value is invalid and editing should not be finalized.
2617
+ * ...
2618
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeFinishRowEdit)
2619
+ * @param {object} event Event object
2620
+ * @param {Grid.view.Grid} event.grid Target grid
2621
+ * @param {RowEditorContext} event.editorContext Editing context
2622
+ */
2623
+ onBeforeFinishRowEdit: any;
2624
+ /**
2625
+ * Triggered before a widget is hidden. Return `false` to prevent the action.
2626
+ * @param {object} event Event object
2627
+ * @param {Core.widget.Widget} event.source The widget being hidden.
2628
+ */
2629
+ onBeforeHide: any;
2630
+ /**
2631
+ * Fires on the owning Gantt before export starts. Return `false` to cancel the export.
2632
+ * @param {object} event Event object
2633
+ * @param {object} event.config Export config
2634
+ */
2635
+ onBeforeMspExport: any;
2636
+ /**
2637
+ * Fires on the owning Scheduler or Gantt widget before pan starts. Return `false` to prevent the operation.
2638
+ * @param {object} event Event object
2639
+ * @param {Event} event.event The native browser DOM event
2640
+ */
2641
+ onBeforePan: any;
2642
+ /**
2643
+ * Fires on the owning Grid before a paste action is performed, return `false` to prevent the action
2644
+ * @param {object} event Event object
2645
+ * @param {Grid.view.Grid} event.source Owner grid
2646
+ * @param {string} event.clipboardData The clipboardData about to be pasted
2647
+ * @param {Grid.util.GridLocation} event.targetCell The cell from which the paste will be started
2648
+ * @param {string} event.entityName 'cell' to distinguish this event from other beforePaste events
2649
+ * @param {string} event.text The raw text from clipboard
2650
+ */
2651
+ onBeforePaste: any;
2652
+ /**
2653
+ * Fires on the owning Grid before export started. Return `false` to cancel the export.
2654
+ * @param {object} event Event object
2655
+ * @param {object} event.config Export config
2656
+ */
2657
+ onBeforePdfExport: any;
2658
+ /**
2659
+ * Fired before the [viewPreset](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineViewPresets#config-viewPreset) is changed.
2660
+ * @param {object} event Event object
2661
+ * @param {Scheduler.view.Scheduler} event.source This Scheduler instance.
2662
+ * @param {Date} event.startDate The new start date of the timeline.
2663
+ * @param {Date} event.endDate The new end date of the timeline.
2664
+ * @param {Scheduler.preset.ViewPreset} event.from The outgoing ViewPreset.
2665
+ * @param {Scheduler.preset.ViewPreset} event.to The ViewPreset being switched to.
2666
+ */
2667
+ onBeforePresetChange: any;
2668
+ /**
2669
+ * Fires on the owning Gantt widget instance before a project is displayed in the editor.
2670
+ * This may be listened to in order to take over the project editing flow. Returning `false`
2671
+ * stops the default editing UI from being shown.
2672
+ * ...
2673
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeProjectEdit)
2674
+ * @param {object} event Event object
2675
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2676
+ * @param {Gantt.feature.ProjectEdit} event.projectEdit The projectEdit feature
2677
+ * @param {Gantt.model.ProjectModel} event.projectRecord The project about to be shown in the editor.
2678
+ */
2679
+ onBeforeProjectEdit: any;
2680
+ /**
2681
+ * Fires on the owning Gantt widget when the editor for a project is available but
2682
+ * before it is shown. Allows manipulating fields etc.
2683
+ * @param {object} event Event object
2684
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2685
+ * @param {Gantt.feature.ProjectEdit} event.projectEdit The projectEdit feature
2686
+ * @param {Gantt.model.ProjectModel} event.projectRecord The project about to be shown in the editor.
2687
+ * @param {Gantt.widget.ProjectEditor} event.editor The editor
2688
+ */
2689
+ onBeforeProjectEditShow: any;
2690
+ /**
2691
+ * Fires on the owning Gantt widget instance before a project is saved, return `false` to prevent it.
2692
+ * ...
2693
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeProjectSave)
2694
+ * @param {object} event Event object
2695
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2696
+ * @param {Gantt.model.ProjectModel} event.projectRecord The project about to be saved
2697
+ * @param {Gantt.widget.ProjectEditor} event.editor The editor widget
2698
+ */
2699
+ onBeforeProjectSave: any;
2700
+ /**
2701
+ * Fires before a row is rendered.
2702
+ * @param {object} event Event object
2703
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
2704
+ * @param {Grid.row.Row} event.row The row about to be rendered.
2705
+ * @param {Core.data.Model} event.record The record for the row.
2706
+ * @param {number} event.recordIndex The zero-based index of the record.
2707
+ */
2708
+ onBeforeRenderRow: any;
2709
+ /**
2710
+ * Grid rows are about to be rendered
2711
+ * @param {object} event Event object
2712
+ * @param {Grid.view.Grid} event.source This grid.
2713
+ */
2714
+ onBeforeRenderRows: any;
2715
+ /**
2716
+ * This event fires before row collapse is started.
2717
+ * ...
2718
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeRowCollapse)
2719
+ * @param {object} event Event object
2720
+ * @param {Core.data.Model} event.record Record
2721
+ */
2722
+ onBeforeRowCollapse: any;
2723
+ /**
2724
+ * This event fires before row expand is started.
2725
+ * ...
2726
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeRowExpand)
2727
+ * @param {object} event Event object
2728
+ * @param {Core.data.Model} event.record Record
2729
+ */
2730
+ onBeforeRowExpand: any;
2731
+ /**
2732
+ * Fires before the selection changes. Returning `false` from a listener prevents the change
2733
+ * @param {object} event Event object
2734
+ * @param {string} event.action `'select'`/`'deselect'`
2735
+ * @param {'row','cell'} event.mode `'row'`/`'cell'`
2736
+ * @param {Grid.view.Grid} event.source
2737
+ * @param {Core.data.Model[]} event.deselected The records to be deselected in this operation.
2738
+ * @param {Core.data.Model[]} event.selected The records to be selected in this operation.
2739
+ * @param {Core.data.Model[]} event.selection The records in the current selection, before applying `selected` and `deselected`
2740
+ * @param {Grid.util.GridLocation[]} event.deselectedCells The cells to be deselected in this operation.
2741
+ * @param {Grid.util.GridLocation[]} event.selectedCells The cells to be selected in this operation.
2742
+ * @param {Grid.util.GridLocation[]} event.cellSelection The cells in the current selection, before applying `selectedCells` and `deselectedCells`
2743
+ */
2744
+ onBeforeSelectionChange: any;
2745
+ /**
2746
+ * Fired before this container will load record values into its child fields. This is useful if you
2747
+ * want to modify the UI before data is loaded (e.g. set some input field to be readonly)
2748
+ * @param {object} event Event object
2749
+ * @param {Core.widget.Container} event.source The container
2750
+ * @param {Core.data.Model} event.record The record
2751
+ */
2752
+ onBeforeSetRecord: any;
2753
+ /**
2754
+ * Triggered before a widget is shown. Return `false` to prevent the action.
2755
+ * @param {object} event Event object
2756
+ * @param {Core.widget.Widget,any} event.source The widget being shown
2757
+ */
2758
+ onBeforeShow: any;
2759
+ /**
2760
+ * Fired on the owning Scheduler/Gantt before showing dependency terminals on a task or event. Return `false` to
2761
+ * prevent it
2762
+ * @param {object} event Event object
2763
+ * @param {Scheduler.model.TimeSpan} event.source The hovered task
2764
+ */
2765
+ onBeforeShowTerminals: any;
2766
+ /**
2767
+ * Fires on the owning Grid before editing starts, return `false` to prevent editing
2768
+ * @param {object} event Event object
2769
+ * @param {Grid.view.Grid} event.source Owner grid
2770
+ * @param {RowEditorContext} event.editorContext Editing context
2771
+ */
2772
+ onBeforeStartRowEdit: any;
2773
+ /**
2774
+ * Fired before state is applied to the source. Allows editing the state object or preventing the operation.
2775
+ * @param {object} event Event object
2776
+ * @param {GridStateInfo} event.state State object config
2777
+ */
2778
+ onBeforeStateApply: any;
2779
+ /**
2780
+ * Fired before state is saved by the StateProvider. Allows editing the state object or preventing the operation.
2781
+ * @param {object} event Event object
2782
+ * @param {GridStateInfo} event.state State object config
2783
+ */
2784
+ onBeforeStateSave: any;
2785
+ /**
2786
+ * Fires when adding a task from the UI to allow data mutation.
2787
+ * @param {object} event Event object
2788
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
2789
+ * @param {Gantt.model.TaskModel} event.taskRecord The task
2790
+ */
2791
+ onBeforeTaskAdd: any;
2792
+ /**
2793
+ * Fires on the owning Scheduler or Gantt widget before a task is deleted, return `false` to prevent it.
2794
+ * ...
2795
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskDelete)
2796
+ * @param {object} event Event object
2797
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance.
2798
+ * @param {SchedulerPro.model.EventModel} event.taskRecord The record about to be deleted
2799
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2800
+ */
2801
+ onBeforeTaskDelete: any;
2802
+ /**
2803
+ * Fires on the owning Gantt before task dragging starts. Return false to prevent the action.
2804
+ * @param {object} event Event object
2805
+ * @param {Gantt.view.Gantt} event.source
2806
+ * @param {Gantt.model.TaskModel} event.taskRecord
2807
+ * @param {Event} event.event The native browser event
2808
+ */
2809
+ onBeforeTaskDrag: any;
2810
+ /**
2811
+ * Fires on the owning Gantt to allow implementer to prevent immediate finalization by setting `data.context.async = true`
2812
+ * in the listener, to show a confirmation popup etc
2813
+ * ...
2814
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskDropFinalize)
2815
+ * @param {object} event Event object
2816
+ * @param {Gantt.view.Gantt} event.source Gantt instance
2817
+ * @param {object} event.context
2818
+ * @param {Gantt.model.TaskModel[]} event.context.taskRecords The dragged task records
2819
+ * @param {boolean} event.context.valid Set this to `false` to mark the drop as invalid
2820
+ * @param {boolean} event.context.async Set true to handle dragdrop asynchronously (e.g. to wait for user confirmation)
2821
+ * @param {Function} event.context.finalize Call this method to finalize dragdrop. This method accepts one argument: pass true to update records, or false, to ignore changes
2822
+ */
2823
+ onBeforeTaskDropFinalize: any;
2824
+ /**
2825
+ * Fires on the owning Scheduler or Gantt widget instance before a task is displayed in the editor.
2826
+ * This may be listened to in order to take over the task editing flow. Returning `false`
2827
+ * stops the default editing UI from being shown.
2828
+ * ...
2829
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskEdit)
2830
+ * @param {object} event Event object
2831
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2832
+ * @param {SchedulerPro.feature.SchedulerProTaskEdit} event.taskEdit The taskEdit feature
2833
+ * @param {SchedulerPro.model.EventModel} event.taskRecord The task about to be shown in the editor.
2834
+ * @param {HTMLElement} event.taskElement The element which represents the task
2835
+ */
2836
+ onBeforeTaskEdit: any;
2837
+ /**
2838
+ * Fires on the owning Scheduler or Gantt widget when the editor for an event is available but before it is shown. Allows
2839
+ * manipulating fields etc.
2840
+ * @param {object} event Event object
2841
+ * @param {SchedulerPro.view.SchedulerPro} event.source The SchedulerPro instance
2842
+ * @param {SchedulerPro.feature.SchedulerProTaskEdit} event.taskEdit The taskEdit feature
2843
+ * @param {SchedulerPro.model.EventModel} event.taskRecord The task about to be shown in the editor.
2844
+ * @param {HTMLElement} event.eventElement The element which represents the task
2845
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor
2846
+ */
2847
+ onBeforeTaskEditShow: any;
2848
+ /**
2849
+ * Fires on the owning Gantt before resizing starts. Return `false` to prevent the operation.
2850
+ * @param {object} event Event object
2851
+ * @param {Gantt.model.TaskModel} event.taskRecord
2852
+ * @param {Event} event.event
2853
+ */
2854
+ onBeforeTaskResize: any;
2855
+ /**
2856
+ * Fires on the owning Gantt to allow implementer to prevent immediate finalization by setting
2857
+ * `data.context.async = true` in the listener, to show a confirmation popup etc.
2858
+ * ...
2859
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskResizeFinalize)
2860
+ * @param {object} event Event object
2861
+ * @param {Gantt.model.TaskModel} event.taskRecord
2862
+ * @param {Gantt.view.Gantt} event.source Gantt instance
2863
+ * @param {object} event.context
2864
+ * @param {Date} event.context.endDate New endDate
2865
+ * @param {Date} event.context.originalEndDate End date before resize
2866
+ * @param {TaskResizeData[]} event.context.resizeData Resize data for selected tasks. Only available when [resizeSelected](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskResize#config-resizeSelected) is `true`.
2867
+ * @param {Event} event.event Browser event
2868
+ * @param {boolean} event.context.async Set true to handle resize asynchronously (e.g. to wait for user confirmation)
2869
+ * @param {Function} event.context.finalize Call this method to finalize resize. This method accepts one argument: pass true to update records, or false, to ignore changes
2870
+ */
2871
+ onBeforeTaskResizeFinalize: any;
2872
+ /**
2873
+ * Fires on the owning Scheduler or Gantt widget instance before a task is saved, return `false` to prevent it.
2874
+ * ...
2875
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskSave)
2876
+ * @param {object} event Event object
2877
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
2878
+ * @param {SchedulerPro.model.EventModel} event.taskRecord The task about to be saved
2879
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor widget
2880
+ */
2881
+ onBeforeTaskSave: any;
2882
+ /**
2883
+ * Fires on the owning Gantt before segment dragging starts. Return `false` to prevent the action.
2884
+ * @param {object} event Event object
2885
+ * @param {Gantt.view.Gantt} event.source
2886
+ * @param {Gantt.model.TaskModel} event.taskRecord The segment about to be dragged
2887
+ * @param {Event} event.event The native browser event
2888
+ */
2889
+ onBeforeTaskSegmentDrag: any;
2890
+ /**
2891
+ * Fires on the owning Gantt to allow implementer to prevent immediate finalization by setting `data.context.async = true`
2892
+ * in the listener, to show a confirmation popup etc
2893
+ * ...
2894
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskSegmentDropFinalize)
2895
+ * @param {object} event Event object
2896
+ * @param {Gantt.view.Gantt} event.source Gantt instance
2897
+ * @param {object} event.context
2898
+ * @param {Gantt.model.TaskModel[]} event.context.taskRecords Dragged segments
2899
+ * @param {boolean} event.context.valid Set this to `false` to mark the drop as invalid
2900
+ * @param {boolean} event.context.async Set true to handle dragdrop asynchronously (e.g. to wait for user confirmation)
2901
+ * @param {Function} event.context.finalize Call this method to finalize dragdrop. This method accepts one argument: pass true to update records, or false, to ignore changes
2902
+ */
2903
+ onBeforeTaskSegmentDropFinalize: any;
2904
+ /**
2905
+ * Fired on the owning Gantt before resizing starts. Return `false` to prevent the action.
2906
+ * @param {object} event Event object
2907
+ * @param {Gantt.view.Gantt} event.source Gantt instance
2908
+ * @param {Gantt.model.TaskModel} event.taskRecord Segment being resized
2909
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record the resize starts within
2910
+ * @param {MouseEvent} event.event Browser event
2911
+ */
2912
+ onBeforeTaskSegmentResize: any;
2913
+ /**
2914
+ * Fired on the owning Gantt to allow implementer to prevent immediate finalization by setting
2915
+ * `data.context.async = true` in the listener, to show a confirmation popup etc.
2916
+ * ...
2917
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-beforeTaskSegmentResizeFinalize)
2918
+ * @param {object} event Event object
2919
+ * @param {Gantt.view.Gantt} event.source Gantt instance
2920
+ * @param {object} event.context
2921
+ * @param {boolean} event.context.async Set true to handle resize asynchronously (e.g. to wait for user confirmation)
2922
+ * @param {Function} event.context.finalize Call this method to finalize resize. This method accepts one argument: pass `true` to update records, or `false`, to ignore changes
2923
+ */
2924
+ onBeforeTaskSegmentResizeFinalize: any;
2925
+ /**
2926
+ * Fired when a group is going to be expanded or collapsed using the UI.
2927
+ * Returning `false` from a listener prevents the operation
2928
+ * @param {object} event Event object
2929
+ * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
2930
+ * @param {Core.data.Model[]} event.groupRecords The group records being toggled
2931
+ * @param {boolean} event.collapse Collapsed (true) or expanded (false)
2932
+ * @param {Event} event.domEvent The user interaction event (eg a `click` event) if the toggle request was instigated by user interaction.
2933
+ */
2934
+ onBeforeToggleGroup: any;
2935
+ /**
2936
+ * Fired before a parent node record toggles its collapsed state.
2937
+ * @param {object} event Event object
2938
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
2939
+ * @param {Core.data.Model} event.record The record being toggled.
2940
+ * @param {boolean} event.collapse `true` if the node is being collapsed.
2941
+ */
2942
+ onBeforeToggleNode: any;
2943
+ /**
2944
+ * Fires on the owning Grid when editing is cancelled
2945
+ * @param {object} event Event object
2946
+ * @param {Grid.view.Grid} event.source Owner grid
2947
+ * @param {Grid.util.GridLocation} event.editorContext Editing context
2948
+ * @param {Event} event.event Included if the cancellation was triggered by a DOM event
2949
+ */
2950
+ onCancelCellEdit: any;
2951
+ /**
2952
+ * Fires when any other event is fired from the object.
2953
+ * ...
2954
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-catchAll)
2955
+ * @param {object} event Event object
2956
+ * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
2957
+ * @param {string} event.event.type The type of the event which is caught by the listener
2958
+ */
2959
+ onCatchAll: any;
2960
+ /**
2961
+ * Fired when user clicks in a grid cell
2962
+ * @param {object} event Event object
2963
+ * @param {Grid.view.Grid} event.grid The grid instance
2964
+ * @param {Core.data.Model} event.record The record representing the row
2965
+ * @param {Grid.column.Column} event.column The column to which the cell belongs
2966
+ * @param {HTMLElement} event.cellElement The cell HTML element
2967
+ * @param {HTMLElement} event.target The target element
2968
+ * @param {MouseEvent} event.event The native DOM event
2969
+ */
2970
+ onCellClick: any;
2971
+ /**
2972
+ * Fired when user activates contextmenu in a grid cell
2973
+ * @param {object} event Event object
2974
+ * @param {Grid.view.Grid} event.grid The grid instance
2975
+ * @param {Core.data.Model} event.record The record representing the row
2976
+ * @param {Grid.column.Column} event.column The column to which the cell belongs
2977
+ * @param {HTMLElement} event.cellElement The cell HTML element
2978
+ * @param {HTMLElement} event.target The target element
2979
+ * @param {MouseEvent} event.event The native DOM event
2980
+ */
2981
+ onCellContextMenu: any;
2982
+ /**
2983
+ * Fired when user double clicks a grid cell
2984
+ * @param {object} event Event object
2985
+ * @param {Grid.view.Grid} event.grid The grid instance
2986
+ * @param {Core.data.Model} event.record The record representing the row
2987
+ * @param {Grid.column.Column} event.column The column to which the cell belongs
2988
+ * @param {HTMLElement} event.cellElement The cell HTML element
2989
+ * @param {HTMLElement} event.target The target element
2990
+ * @param {MouseEvent} event.event The native DOM event
2991
+ */
2992
+ onCellDblClick: any;
2993
+ /**
2994
+ * This event fires on the owning grid before the context menu is shown for a cell.
2995
+ * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/gantt/docs/api/Grid/feature/CellMenu#config-processItems).
2996
+ * ...
2997
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-cellMenuBeforeShow)
2998
+ * @param {object} event Event object
2999
+ * @param {Grid.view.Grid} event.source The grid
3000
+ * @param {Core.widget.Menu} event.menu The menu
3001
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3002
+ * @param {Grid.column.Column} event.column Column
3003
+ * @param {Core.data.Model} event.record Record
3004
+ */
3005
+ onCellMenuBeforeShow: any;
3006
+ /**
3007
+ * This event fires on the owning grid when an item is selected in the cell context menu.
3008
+ * @param {object} event Event object
3009
+ * @param {Grid.view.Grid} event.source The grid
3010
+ * @param {Core.widget.Menu} event.menu The menu
3011
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3012
+ * @param {Grid.column.Column} event.column Column
3013
+ * @param {Core.data.Model} event.record Record
3014
+ */
3015
+ onCellMenuItem: any;
3016
+ /**
3017
+ * This event fires on the owning grid after the context menu is shown for a cell.
3018
+ * @param {object} event Event object
3019
+ * @param {Grid.view.Grid} event.source The grid
3020
+ * @param {Core.widget.Menu} event.menu The menu
3021
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3022
+ * @param {Grid.column.Column} event.column Column
3023
+ * @param {Core.data.Model} event.record Record
3024
+ */
3025
+ onCellMenuShow: any;
3026
+ /**
3027
+ * This event fires on the owning grid when a check item is toggled in the cell context menu.
3028
+ * @param {object} event Event object
3029
+ * @param {Grid.view.Grid} event.source The grid
3030
+ * @param {Core.widget.Menu} event.menu The menu
3031
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3032
+ * @param {Grid.column.Column} event.column Column
3033
+ * @param {Core.data.Model} event.record Record
3034
+ * @param {boolean} event.checked Checked or not
3035
+ */
3036
+ onCellMenuToggleItem: any;
3037
+ /**
3038
+ * Fired when the mouse enters a cell
3039
+ * @param {object} event Event object
3040
+ * @param {Grid.view.Grid} event.source The grid instance
3041
+ * @param {Core.data.Model} event.record The record representing the hovered cell
3042
+ * @param {Grid.column.Column} event.column The column currently hovered
3043
+ * @param {HTMLElement} event.cellElement The cell HTML element
3044
+ * @param {MouseEvent} event.event The native DOM event
3045
+ */
3046
+ onCellMouseEnter: any;
3047
+ /**
3048
+ * Fired when the mouse leaves a cell
3049
+ * @param {object} event Event object
3050
+ * @param {Grid.view.Grid} event.source The grid instance
3051
+ * @param {Core.data.Model} event.record The record representing the cell that the mouse left
3052
+ * @param {Grid.column.Column} event.column The column representing the cell that the mouse left
3053
+ * @param {HTMLElement} event.cellElement The cell HTML element that the mouse left
3054
+ * @param {MouseEvent} event.event The native DOM event
3055
+ */
3056
+ onCellMouseLeave: any;
3057
+ /**
3058
+ * Fired when a user moves the mouse out of a grid cell
3059
+ * @param {object} event Event object
3060
+ * @param {Grid.view.Grid} event.grid The grid instance
3061
+ * @param {Core.data.Model} event.record The record representing the row
3062
+ * @param {Grid.column.Column} event.column The column to which the cell belongs
3063
+ * @param {HTMLElement} event.cellElement The cell HTML element
3064
+ * @param {HTMLElement} event.target The target element
3065
+ * @param {MouseEvent} event.event The native DOM event
3066
+ */
3067
+ onCellMouseOut: any;
3068
+ /**
3069
+ * Fired when user moves the mouse over a grid cell
3070
+ * @param {object} event Event object
3071
+ * @param {Grid.view.Grid} event.grid The grid instance
3072
+ * @param {Core.data.Model} event.record The record representing the row
3073
+ * @param {Grid.column.Column} event.column The column to which the cell belongs
3074
+ * @param {HTMLElement} event.cellElement The cell HTML element
3075
+ * @param {HTMLElement} event.target The target element
3076
+ * @param {MouseEvent} event.event The native DOM event
3077
+ */
3078
+ onCellMouseOver: any;
3079
+ /**
3080
+ * Fires when a Panel is collapsed using the [collapsible](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-collapsible) setting.
3081
+ * @param {object} event Event object
3082
+ * @param {Core.widget.Panel} event.source This Panel.
3083
+ */
3084
+ onCollapse: any;
3085
+ /**
3086
+ * Fired before a parent node record is collapsed.
3087
+ * @param {object} event Event object
3088
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
3089
+ * @param {Core.data.Model} event.record The record which has been collapsed.
3090
+ */
3091
+ onCollapseNode: any;
3092
+ /**
3093
+ * This event is fired when a column is being dragged, and you can set the `valid` flag on the `context` object
3094
+ * to indicate whether the drop position is valid or not.
3095
+ * @param {object} event Event object
3096
+ * @param {Grid.view.Grid} event.source The grid instance.
3097
+ * @param {Grid.column.Column} event.column The dragged column.
3098
+ * @param {Grid.column.Column} event.insertBefore The column before which the dragged column will be inserted (if not last).
3099
+ * @param {Event} event.event The browser event.
3100
+ * @param {object} event.context
3101
+ * @param {boolean} event.context.valid Set this to `true` or `false` to indicate whether the drop position is valid.
3102
+ */
3103
+ onColumnDrag: any;
3104
+ /**
3105
+ * This event is fired when a column drag gesture has started.
3106
+ * @param {object} event Event object
3107
+ * @param {Grid.view.Grid} event.source The grid instance.
3108
+ * @param {Grid.column.Column} event.column The dragged column.
3109
+ * @param {Event} event.event The browser event.
3110
+ */
3111
+ onColumnDragStart: any;
3112
+ /**
3113
+ * This event is always fired after a column is dropped. The `valid` param is `true` if the operation was not
3114
+ * vetoed and the column was moved in the column store.
3115
+ * @param {object} event Event object
3116
+ * @param {Grid.view.Grid} event.source The grid instance.
3117
+ * @param {Grid.column.Column} event.column The dragged column.
3118
+ * @param {Grid.column.Column} event.insertBefore The column before which the dragged column will be inserted.
3119
+ * @param {Grid.column.Column} event.newParent The new parent column.
3120
+ * @param {boolean} event.valid `true` if the operation was not vetoed.
3121
+ * @param {Event} event.event The browser event.
3122
+ * @param {string} event.region The region where the column was dropped.
3123
+ */
3124
+ onColumnDrop: any;
3125
+ /**
3126
+ * This event is fired after a resize gesture is completed.
3127
+ * @param {object} event Event object
3128
+ * @param {Grid.view.Grid} event.source The grid instance
3129
+ * @param {Grid.column.Column} event.column The resized column
3130
+ * @param {Event} event.domEvent The browser event
3131
+ */
3132
+ onColumnResize: any;
3133
+ /**
3134
+ * This event is fired when a column resize gesture starts.
3135
+ * @param {object} event Event object
3136
+ * @param {Grid.view.Grid} event.source The grid instance
3137
+ * @param {Grid.column.Column} event.column The column
3138
+ * @param {Event} event.domEvent The browser event
3139
+ */
3140
+ onColumnResizeStart: any;
3141
+ /**
3142
+ * This event fires on the owning widget when an item is selected in the context menu.
3143
+ * @param {object} event Event object
3144
+ * @param {Core.widget.Widget} event.source The owning widget
3145
+ * @param {Core.widget.Menu} event.menu The menu
3146
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3147
+ */
3148
+ onContextMenuItem: any;
3149
+ /**
3150
+ * This event fires on the owning widget when a check item is toggled in the context menu.
3151
+ * @param {object} event Event object
3152
+ * @param {Core.widget.Widget} event.source The owning widget
3153
+ * @param {Core.widget.Menu} event.menu The menu
3154
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3155
+ * @param {boolean} event.checked Checked or not
3156
+ */
3157
+ onContextMenuToggleItem: any;
3158
+ /**
3159
+ * Fires on the owning Grid after a copy action is performed.
3160
+ * @param {object} event Event object
3161
+ * @param {Grid.view.Grid} event.source Owner grid
3162
+ * @param {Grid.util.GridLocation[]} event.cells The cells about to be copied or cut
3163
+ * @param {string} event.copiedDataString The concatenated data string that was copied or cut
3164
+ * @param {boolean} event.isCut `true` if this was a cut action
3165
+ * @param {string} event.entityName 'cell' to distinguish this event from other copy events
3166
+ */
3167
+ onCopy: any;
3168
+ /**
3169
+ * Fired when critical paths get highlighted.
3170
+ * ...
3171
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-criticalPathsHighlighted)
3172
+ */
3173
+ onCriticalPathsHighlighted: any;
3174
+ /**
3175
+ * Fired when critical paths get hidden.
3176
+ * ...
3177
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-criticalPathsUnhighlighted)
3178
+ */
3179
+ onCriticalPathsUnhighlighted: any;
3180
+ /**
3181
+ * Fires on the owning Scheduler/Gantt when the line indicating the current time is updated (see [currentTimeLineUpdateInterval](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/TimeRanges#config-currentTimeLineUpdateInterval)).
3182
+ * @param {object} event Event object
3183
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3184
+ * @param {Date} event.date The current date
3185
+ */
3186
+ onCurrentTimelineUpdate: any;
3187
+ /**
3188
+ * Fired when data in the store changes.
3189
+ * ...
3190
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-dataChange)
3191
+ * @param {object} event Event object
3192
+ * @param {Grid.view.Grid} event.source Owning grid
3193
+ * @param {Core.data.Store} event.store The originating store
3194
+ * @param {'remove','removeAll','add','clearchanges','filter','update','dataset','replace'} event.action Name of action which triggered the change. May be one of: * `'remove'` * `'removeAll'` * `'add'` * `'clearchanges'` * `'filter'` * `'update'` * `'dataset'` * `'replace'`
3195
+ * @param {Core.data.Model} event.record Changed record, for actions that affects exactly one record (`'update'`)
3196
+ * @param {Core.data.Model[]} event.records Changed records, passed for all actions except `'removeAll'`
3197
+ * @param {object} event.changes Passed for the `'update'` action, info on which record fields changed
3198
+ */
3199
+ onDataChange: any;
3200
+ /**
3201
+ * Fired when the range of dates encapsulated by the UI changes. This will be when
3202
+ * moving a view in time by reconfiguring its [timeAxis](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-timeAxis). This will happen
3203
+ * when zooming, or changing [viewPreset](https://bryntum.com/products/gantt/docs/api/Scheduler/view/TimelineBase#config-viewPreset).
3204
+ * ...
3205
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-dateRangeChange)
3206
+ * @param {object} event Event object
3207
+ * @param {Scheduler.view.TimelineBase} event.source This Scheduler/Gantt instance.
3208
+ * @param {object} event.old The old date range
3209
+ * @param {Date} event.old.startDate the old start date.
3210
+ * @param {Date} event.old.endDate the old end date.
3211
+ * @param {object} event.new The new date range
3212
+ * @param {Date} event.new.startDate the new start date.
3213
+ * @param {Date} event.new.endDate the new end date.
3214
+ */
3215
+ onDateRangeChange: any;
3216
+ /**
3217
+ * Fired when dependencies are rendered
3218
+ */
3219
+ onDependenciesDrawn: any;
3220
+ /**
3221
+ * Fires on the owning Scheduler/Gantt when a click is registered on a dependency line.
3222
+ * @param {object} event Event object
3223
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3224
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependency
3225
+ * @param {MouseEvent} event.event
3226
+ */
3227
+ onDependencyClick: any;
3228
+ /**
3229
+ * Fires on the owning Scheduler/Gantt when a context menu event is registered on a dependency line.
3230
+ * @param {object} event Event object
3231
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3232
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependency
3233
+ * @param {MouseEvent} event.event
3234
+ */
3235
+ onDependencyContextMenu: any;
3236
+ /**
3237
+ * Fired on the owning Scheduler/Gantt when a dependency creation drag operation starts
3238
+ * @param {object} event Event object
3239
+ * @param {Scheduler.model.TimeSpan} event.source The source task
3240
+ */
3241
+ onDependencyCreateDragStart: any;
3242
+ /**
3243
+ * Fired on the owning Scheduler/Gantt when a dependency drag creation operation succeeds
3244
+ * @param {object} event Event object
3245
+ * @param {Scheduler.model.TimeSpan} event.source The source task
3246
+ * @param {Scheduler.model.TimeSpan} event.target The target task
3247
+ * @param {Scheduler.model.DependencyBaseModel} event.dependency The created dependency
3248
+ */
3249
+ onDependencyCreateDrop: any;
3250
+ /**
3251
+ * Fires on the owning Scheduler/Gantt when a double click is registered on a dependency line.
3252
+ * @param {object} event Event object
3253
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3254
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependency
3255
+ * @param {MouseEvent} event.event
3256
+ */
3257
+ onDependencyDblClick: any;
3258
+ /**
3259
+ * Fires on the owning Scheduler/Gantt when the mouse moves out of a dependency line.
3260
+ * @param {object} event Event object
3261
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3262
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependency
3263
+ * @param {MouseEvent} event.event
3264
+ */
3265
+ onDependencyMouseOut: any;
3266
+ /**
3267
+ * Fires on the owning Scheduler/Gantt when the mouse moves over a dependency line.
3268
+ * @param {object} event Event object
3269
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
3270
+ * @param {Scheduler.model.SchedulerDependencyModel} event.dependency
3271
+ * @param {MouseEvent} event.event
3272
+ */
3273
+ onDependencyMouseOver: any;
3274
+ /**
3275
+ * Fired on the owning Scheduler/Gantt when asynchronous dependency validation completes
3276
+ * @param {object} event Event object
3277
+ * @param {Scheduler.model.TimeSpan} event.source The source task
3278
+ * @param {Scheduler.model.TimeSpan} event.target The target task
3279
+ * @param {number} event.dependencyType The dependency type, see [Type](https://bryntum.com/products/gantt/docs/api/Scheduler/model/DependencyBaseModel#property-Type-static)
3280
+ */
3281
+ onDependencyValidationComplete: any;
3282
+ /**
3283
+ * Fired on the owning Scheduler/Gantt when asynchronous dependency validation starts
3284
+ * @param {object} event Event object
3285
+ * @param {Scheduler.model.TimeSpan} event.source The source task
3286
+ * @param {Scheduler.model.TimeSpan} event.target The target task
3287
+ * @param {number} event.dependencyType The dependency type, see [Type](https://bryntum.com/products/gantt/docs/api/Scheduler/model/DependencyBaseModel#property-Type-static)
3288
+ */
3289
+ onDependencyValidationStart: any;
3290
+ /**
3291
+ * Fires when an object is destroyed.
3292
+ * @param {object} event Event object
3293
+ * @param {Core.Base} event.source The Object that is being destroyed.
3294
+ */
3295
+ onDestroy: any;
3296
+ /**
3297
+ * Fires when a field is mutated and the state of the [hasChanges](https://bryntum.com/products/gantt/docs/api/Core/widget/Container#property-hasChanges) property changes
3298
+ * @param {object} event Event object
3299
+ * @param {Core.widget.Container} event.source The container.
3300
+ * @param {boolean} event.dirty The dirty state of the Container - `true` if there are any fields which have been changed since initial load.
3301
+ */
3302
+ onDirtyStateChange: any;
3303
+ /**
3304
+ * Fires on the owning Gantt after the task has been scheduled.
3305
+ * @param {object} event Event object
3306
+ * @param {Gantt.view.Gantt} event.source
3307
+ * @param {Gantt.model.TaskModel} event.taskRecord
3308
+ * @param {MouseEvent} event.event The ending mouseup event.
3309
+ * @param {HTMLElement} event.proxyElement The proxy element showing the drag creation zone.
3310
+ */
3311
+ onDragCreateEnd: any;
3312
+ /**
3313
+ * Fires on the owning Gantt after the drag start has created a proxy element.
3314
+ * @param {object} event Event object
3315
+ * @param {Gantt.view.Gantt} event.source
3316
+ * @param {HTMLElement} event.proxyElement The proxy representing the new event.
3317
+ */
3318
+ onDragCreateStart: any;
3319
+ /**
3320
+ * Fires while drag selecting. UI will update with current range, but the cells will not be selected until
3321
+ * mouse up. This event can be listened for to perform actions while drag selecting.
3322
+ * @param {object} event Event object
3323
+ * @param {Grid.view.Grid} event.source
3324
+ * @param {GridLocationConfig[],Grid.util.GridLocation[]} event.selectedCells The cells that is currently being dragged over
3325
+ * @param {Core.data.Model[]} event.selectedRecords The records that is currently being dragged over
3326
+ */
3327
+ onDragSelecting: any;
3328
+ /**
3329
+ * Triggered when a widget's [element](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#property-element) is available.
3330
+ * @param {object} event Event object
3331
+ * @param {HTMLElement} event.element The Widget's element.
3332
+ */
3333
+ onElementCreated: any;
3334
+ /**
3335
+ * Fired before the editor will load the event record data into its input fields. This is useful if you
3336
+ * want to modify the fields before data is loaded (e.g. set some input field to be readonly)
3337
+ * @param {object} event Event object
3338
+ * @param {Core.widget.Container} event.source The editor widget
3339
+ * @param {Scheduler.model.SchedulerEventModel} event.record The record
3340
+ */
3341
+ onEventEditBeforeSetRecord: any;
3342
+ /**
3343
+ * This event fires on the owning Scheduler before the context menu is shown for an event. Allows manipulation of the items
3344
+ * to show in the same way as in `processItems`. Returning `false` from a listener prevents the menu from
3345
+ * being shown.
3346
+ * @param {object} event Event object
3347
+ * @param {Scheduler.view.Scheduler} event.source
3348
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3349
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record for which the menu was triggered
3350
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record
3351
+ * @param {Scheduler.model.SchedulerAssignmentModel} event.assignmentRecord Assignment record, if assignments are used
3352
+ * @param {HTMLElement} event.eventElement
3353
+ * @param {MouseEvent} event.event Pointer event which triggered the context menu (if any)
3354
+ */
3355
+ onEventMenuBeforeShow: any;
3356
+ /**
3357
+ * This event fires on the owning Scheduler when an item is selected in the context menu.
3358
+ * @param {object} event Event object
3359
+ * @param {Scheduler.view.Scheduler} event.source
3360
+ * @param {Core.widget.MenuItem} event.item
3361
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord
3362
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord
3363
+ * @param {Scheduler.model.SchedulerAssignmentModel} event.assignmentRecord Assignment record, if assignments are used
3364
+ * @param {HTMLElement} event.eventElement
3365
+ */
3366
+ onEventMenuItem: any;
3367
+ /**
3368
+ * This event fires on the owning Scheduler after showing the context menu for an event
3369
+ * @param {object} event Event object
3370
+ * @param {Scheduler.view.Scheduler} event.source
3371
+ * @param {Core.widget.Menu} event.menu The menu
3372
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record for which the menu was triggered
3373
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record
3374
+ * @param {Scheduler.model.SchedulerAssignmentModel} event.assignmentRecord Assignment record, if assignments are used
3375
+ * @param {HTMLElement} event.eventElement
3376
+ */
3377
+ onEventMenuShow: any;
3378
+ /**
3379
+ * Fires on the owning Scheduler on each resize move event
3380
+ * @param {object} event Event object
3381
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
3382
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record being resized
3383
+ * @param {Date} event.startDate
3384
+ * @param {Date} event.endDate
3385
+ * @param {HTMLElement} event.element
3386
+ * @param {EventResizeData[]} event.resizeData Resize data for selected events
3387
+ */
3388
+ onEventPartialResize: any;
3389
+ /**
3390
+ * Fires on the owning Scheduler after the resizing gesture has finished.
3391
+ * @param {object} event Event object
3392
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
3393
+ * @param {boolean} event.changed Shows if the record has been changed by the resize action
3394
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record being resized
3395
+ * @param {EventResizeData[]} event.resizeData Resize data for selected events
3396
+ */
3397
+ onEventResizeEnd: any;
3398
+ /**
3399
+ * Fires on the owning Scheduler when event resizing starts
3400
+ * @param {object} event Event object
3401
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
3402
+ * @param {Scheduler.model.SchedulerEventModel} event.eventRecord Event record being resized
3403
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record the resize starts within
3404
+ * @param {MouseEvent} event.event Browser event
3405
+ * @param {EventResizeData[]} event.resizeData Resize data for selected events. Only available when [resizeSelected](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/EventResize#config-resizeSelected) is `true`
3406
+ */
3407
+ onEventResizeStart: any;
3408
+ /**
3409
+ * Fires on the owning Scheduler Pro on each segment resize move event
3410
+ * @param {object} event Event object
3411
+ * @param {SchedulerPro.view.SchedulerPro} event.source Scheduler Pro instance
3412
+ * @param {SchedulerPro.model.EventModel} event.eventRecord Segment being resized
3413
+ * @param {Date} event.startDate
3414
+ * @param {Date} event.endDate
3415
+ * @param {HTMLElement} event.element
3416
+ */
3417
+ onEventSegmentPartialResize: any;
3418
+ /**
3419
+ * Fires on the owning Scheduler Pro after the resizing gesture has finished.
3420
+ * @param {object} event Event object
3421
+ * @param {SchedulerPro.view.SchedulerPro} event.source Scheduler Pro instance
3422
+ * @param {boolean} event.changed Shows if the record has been changed by the resize action
3423
+ * @param {SchedulerPro.model.EventModel} event.eventRecord Segment being resized
3424
+ */
3425
+ onEventSegmentResizeEnd: any;
3426
+ /**
3427
+ * Fires on the owning Scheduler Pro when segment resizing starts
3428
+ * @param {object} event Event object
3429
+ * @param {SchedulerPro.view.SchedulerPro} event.source Scheduler Pro instance
3430
+ * @param {SchedulerPro.model.EventModel} event.eventRecord Segment being resized
3431
+ * @param {SchedulerPro.model.SchedulerProResourceModel} event.resourceRecord Resource record the resize starts within
3432
+ * @param {MouseEvent} event.event Browser event
3433
+ */
3434
+ onEventSegmentResizeStart: any;
3435
+ /**
3436
+ * Fires when a Panel is expanded using the [collapsible](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-collapsible) setting.
3437
+ * @param {object} event Event object
3438
+ * @param {Core.widget.Panel} event.source This Panel.
3439
+ */
3440
+ onExpand: any;
3441
+ /**
3442
+ * Fired after a parent node record is expanded.
3443
+ * @param {object} event Event object
3444
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
3445
+ * @param {Core.data.Model} event.record The record which has been expanded.
3446
+ */
3447
+ onExpandNode: any;
3448
+ /**
3449
+ * Fired when a file is dropped on the widget element
3450
+ * @param {object} event Event object
3451
+ * @param {Grid.view.Grid} event.source The owning Grid instance
3452
+ * @param {DataTransferItem} event.file The dropped file descriptor
3453
+ * @param {DragEvent} event.domEvent The native DragEvent
3454
+ */
3455
+ onFileDrop: any;
3456
+ /**
3457
+ * Fired before the FillHandle dragging is finalized and values are applied to cells, return `false` to prevent the
3458
+ * drag operation from applying data changes.
3459
+ * @param {object} event Event object
3460
+ * @param {Grid.util.GridLocation} event.from The from cell
3461
+ * @param {Grid.util.GridLocation} event.to The to cell
3462
+ * @param {MouseEvent} event.domEvent The raw DOM event
3463
+ */
3464
+ onFillHandleBeforeDragFinalize: any;
3465
+ /**
3466
+ * Fired while dragging the FillHandle.
3467
+ * @param {object} event Event object
3468
+ * @param {Grid.util.GridLocation} event.from The from cell
3469
+ * @param {Grid.util.GridLocation} event.to The to cell
3470
+ * @param {MouseEvent} event.domEvent The raw DOM event
3471
+ */
3472
+ onFillHandleDrag: any;
3473
+ /**
3474
+ * Fired when a FillHandle drag operation is aborted.
3475
+ */
3476
+ onFillHandleDragAbort: any;
3477
+ /**
3478
+ * Fired after a FillHandle drag operation.
3479
+ * @param {object} event Event object
3480
+ * @param {Grid.util.GridLocation} event.from The from cell
3481
+ * @param {Grid.util.GridLocation} event.to The to cell
3482
+ * @param {MouseEvent} event.domEvent The raw DOM event
3483
+ */
3484
+ onFillHandleDragEnd: any;
3485
+ /**
3486
+ * Fired when dragging of the FillHandle starts.
3487
+ * @param {object} event Event object
3488
+ * @param {Grid.util.GridLocation} event.cell Information about the column / record
3489
+ * @param {MouseEvent} event.domEvent The raw DOM event
3490
+ */
3491
+ onFillHandleDragStart: any;
3492
+ /**
3493
+ * Fires on the owning Grid when cell editing is finished
3494
+ * @param {object} event Event object
3495
+ * @param {Grid.view.Grid} event.grid Target grid
3496
+ * @param {CellEditorContext} event.editorContext Editing context
3497
+ */
3498
+ onFinishCellEdit: any;
3499
+ /**
3500
+ * Fires on the owning Grid before the row editing is finished, return false to signal that the value is invalid and editing should not be finalized.
3501
+ * ...
3502
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-finishRowEdit)
3503
+ * @param {object} event Event object
3504
+ * @param {Grid.view.Grid} event.grid Target grid
3505
+ * @param {RowEditorContext} event.editorContext Editing context
3506
+ */
3507
+ onFinishRowEdit: any;
3508
+ /**
3509
+ * Fired when focus enters this Widget.
3510
+ * @param {object} event Event object
3511
+ * @param {Core.widget.Widget} event.source This Widget
3512
+ * @param {HTMLElement} event.fromElement The element which lost focus.
3513
+ * @param {HTMLElement} event.toElement The element which gained focus.
3514
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
3515
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
3516
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
3517
+ */
3518
+ onFocusIn: any;
3519
+ /**
3520
+ * Fired when focus exits this Widget's ownership tree. This is different from a `blur` event.
3521
+ * focus moving from within this Widget's ownership tree, even if there are floating widgets
3522
+ * will not trigger this event. This is when focus exits this widget completely.
3523
+ * @param {object} event Event object
3524
+ * @param {Core.widget.Widget} event.source This Widget
3525
+ * @param {HTMLElement} event.fromElement The element which lost focus.
3526
+ * @param {HTMLElement} event.toElement The element which gained focus.
3527
+ * @param {Core.widget.Widget} event.fromWidget The widget which lost focus.
3528
+ * @param {Core.widget.Widget} event.toWidget The widget which gained focus.
3529
+ * @param {boolean} event.backwards `true` if the `toElement` is before the `fromElement` in document order.
3530
+ */
3531
+ onFocusOut: any;
3532
+ /**
3533
+ * Fired before dragging starts, return false to prevent the drag operation.
3534
+ * @param {object} event Event object
3535
+ * @param {Grid.view.GridBase} event.source
3536
+ * @param {object} event.context
3537
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3538
+ * @param {MouseEvent,TouchEvent} event.event
3539
+ */
3540
+ onGridRowBeforeDragStart: any;
3541
+ /**
3542
+ * Fired before the row drop operation is finalized. You can return false to abort the drop operation, or a
3543
+ * Promise yielding `true` / `false` which allows for asynchronous abort (e.g. first show user a confirmation dialog).
3544
+ * @param {object} event Event object
3545
+ * @param {Grid.view.GridBase} event.source
3546
+ * @param {object} event.context
3547
+ * @param {boolean} event.context.valid Set this to true or false to indicate whether the drop position is valid
3548
+ * @param {Core.data.Model} event.context.insertBefore The record to insert before (`null` if inserting at last position of a parent node)
3549
+ * @param {Core.data.Model} event.context.parent The parent record of the current drop position (only applicable for trees)
3550
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3551
+ * @param {RecordPositionContext[]} event.context.oldPositionContext An array of objects with information about the previous tree position. Objects contain the `record`, and its original `parentIndex` and `parentId` values
3552
+ * @param {MouseEvent} event.event
3553
+ */
3554
+ onGridRowBeforeDropFinalize: any;
3555
+ /**
3556
+ * Fired while the row is being dragged, in the listener function you have access to `context.insertBefore` a grid /
3557
+ * tree record, and additionally `context.parent` (a TreeNode) for trees. You can signal that the drop position is
3558
+ * valid or invalid by setting `context.valid = false;`
3559
+ * @param {object} event Event object
3560
+ * @param {Grid.view.GridBase} event.source
3561
+ * @param {object} event.context
3562
+ * @param {boolean} event.context.valid Set this to true or false to indicate whether the drop position is valid.
3563
+ * @param {Core.data.Model} event.context.insertBefore The record to insert before (`null` if inserting at last position of a parent node)
3564
+ * @param {Core.data.Model} event.context.parent The parent record of the current drop position (only applicable for trees)
3565
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3566
+ * @param {MouseEvent} event.event
3567
+ */
3568
+ onGridRowDrag: any;
3569
+ /**
3570
+ * Fired when a row drag operation is aborted
3571
+ * @param {object} event Event object
3572
+ * @param {Grid.view.GridBase} event.source
3573
+ * @param {object} event.context
3574
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3575
+ * @param {MouseEvent} event.event
3576
+ */
3577
+ onGridRowDragAbort: any;
3578
+ /**
3579
+ * Fired when dragging starts.
3580
+ * @param {object} event Event object
3581
+ * @param {Grid.view.GridBase} event.source
3582
+ * @param {object} event.context
3583
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3584
+ * @param {MouseEvent,TouchEvent} event.event
3585
+ */
3586
+ onGridRowDragStart: any;
3587
+ /**
3588
+ * Fired after the row drop operation has completed, regardless of validity
3589
+ * @param {object} event Event object
3590
+ * @param {Grid.view.GridBase} event.source
3591
+ * @param {object} event.context
3592
+ * @param {boolean} event.context.valid true or false depending on whether the drop position was valid
3593
+ * @param {Core.data.Model} event.context.insertBefore The record to insert before (`null` if inserting at last position of a parent node)
3594
+ * @param {Core.data.Model} event.context.parent The parent record of the current drop position (only applicable for trees)
3595
+ * @param {Core.data.Model[]} event.context.records The dragged row records
3596
+ * @param {RecordPositionContext[]} event.context.oldPositionContext An array of objects with information about the previous tree position. Objects contain the record, and its original `parentIndex` and `parentId` values
3597
+ * @param {MouseEvent} event.event
3598
+ */
3599
+ onGridRowDrop: any;
3600
+ /**
3601
+ * Fired when a grid header is clicked on.
3602
+ * ...
3603
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-headerClick)
3604
+ * @param {object} event Event object
3605
+ * @param {Event} event.domEvent The triggering DOM event.
3606
+ * @param {Grid.column.Column} event.column The column clicked on.
3607
+ */
3608
+ onHeaderClick: any;
3609
+ /**
3610
+ * This event fires on the owning Grid before the context menu is shown for a header.
3611
+ * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/gantt/docs/api/Grid/feature/HeaderMenu#config-processItems).
3612
+ * ...
3613
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-headerMenuBeforeShow)
3614
+ * @param {object} event Event object
3615
+ * @param {Grid.view.Grid} event.source The grid
3616
+ * @param {Core.widget.Menu} event.menu The menu
3617
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3618
+ * @param {Grid.column.Column} event.column Column
3619
+ */
3620
+ onHeaderMenuBeforeShow: any;
3621
+ /**
3622
+ * This event fires on the owning Grid when an item is selected in the header context menu.
3623
+ * @param {object} event Event object
3624
+ * @param {Grid.view.Grid} event.source The grid
3625
+ * @param {Core.widget.Menu} event.menu The menu
3626
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3627
+ * @param {Grid.column.Column} event.column Column
3628
+ */
3629
+ onHeaderMenuItem: any;
3630
+ /**
3631
+ * This event fires on the owning Grid after the context menu is shown for a header
3632
+ * @param {object} event Event object
3633
+ * @param {Grid.view.Grid} event.source The grid
3634
+ * @param {Core.widget.Menu} event.menu The menu
3635
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3636
+ * @param {Grid.column.Column} event.column Column
3637
+ */
3638
+ onHeaderMenuShow: any;
3639
+ /**
3640
+ * This event fires on the owning Grid when a check item is toggled in the header context menu.
3641
+ * @param {object} event Event object
3642
+ * @param {Grid.view.Grid} event.source The grid
3643
+ * @param {Core.widget.Menu} event.menu The menu
3644
+ * @param {Core.widget.MenuItem} event.item Selected menu item
3645
+ * @param {Grid.column.Column} event.column Column
3646
+ * @param {boolean} event.checked Checked or not
3647
+ */
3648
+ onHeaderMenuToggleItem: any;
3649
+ /**
3650
+ * Triggered after a widget was hidden
3651
+ * @param {object} event Event object
3652
+ * @param {Core.widget.Widget} event.source The widget
3653
+ */
3654
+ onHide: any;
3655
+ /**
3656
+ * Fires when row locking is enabled.
3657
+ * @param {object} event Event object
3658
+ * @param {Grid.view.GridBase} event.clone The created clone
3659
+ */
3660
+ onLockRows: any;
3661
+ /**
3662
+ * Mouse moved out from element in grid
3663
+ * @param {object} event Event object
3664
+ * @param {MouseEvent} event.event The native browser event
3665
+ */
3666
+ onMouseOut: any;
3667
+ /**
3668
+ * Mouse moved in over element in grid
3669
+ * @param {object} event Event object
3670
+ * @param {MouseEvent} event.event The native browser event
3671
+ */
3672
+ onMouseOver: any;
3673
+ /**
3674
+ * Fires on the owning Gantt when project content is exported
3675
+ * to XML, before the XML is downloaded by the browser.
3676
+ * @param {object} event Event object
3677
+ * @param {object} event.config Export config
3678
+ * @param {string} event.fileContent Exported XML-file content
3679
+ */
3680
+ onMspExport: any;
3681
+ /**
3682
+ * Fired when a user gesture causes the active item to change.
3683
+ * @param {object} event Event object
3684
+ * @param {Event} event.event The browser event which instigated navigation. May be a click or key or focus event.
3685
+ * @param {HTMLElement,null} event.item The newly active item, or `null` if focus moved out.
3686
+ * @param {HTMLElement,null} event.oldItem The previously active item, or `null` if focus is moving in.
3687
+ */
3688
+ onNavigate: any;
3689
+ /**
3690
+ * Fires when the requested date range cannot fit into any zoom level higher than the current level.
3691
+ * @param {object} event Event object
3692
+ * @param {number} event.currentZoomLevel The current zoom level
3693
+ * @param {Date} event.startDate The requested start date
3694
+ * @param {Date} event.endDate The requested end date
3695
+ */
3696
+ onNoZoomChange: any;
3697
+ /**
3698
+ * Triggered when a widget which had been in a non-visible state for any reason
3699
+ * achieves visibility.
3700
+ * ...
3701
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-paint)
3702
+ * @param {object} event Event object
3703
+ * @param {Core.widget.Widget} event.source The widget being painted.
3704
+ * @param {boolean} event.firstPaint `true` if this is the first paint.
3705
+ */
3706
+ onPaint: any;
3707
+ /**
3708
+ * Fires on the owning Grid after a paste action is performed.
3709
+ * @param {object} event Event object
3710
+ * @param {Grid.view.Grid} event.source Owner grid
3711
+ * @param {string} event.clipboardData The clipboardData that was pasted
3712
+ * @param {Core.data.Model[]} event.modifiedRecords The records which have been modified due to the paste action
3713
+ * @param {Grid.util.GridLocation} event.targetCell The cell from which the paste will be started
3714
+ * @param {string} event.entityName 'cell' to distinguish this event from other paste events
3715
+ */
3716
+ onPaste: any;
3717
+ /**
3718
+ * Fires on the owning Grid when export has finished
3719
+ * @param {object} event Event object
3720
+ * @param {Response} event.response Optional response, if received
3721
+ * @param {Error} event.error Optional error, if exception occurred
3722
+ */
3723
+ onPdfExport: any;
3724
+ /**
3725
+ * Fired on the owning Scheduler or Gantt widget when dragging the percent bar
3726
+ * @param {object} event Event object
3727
+ * @param {Scheduler.view.TimelineBase} event.source SchedulerPro or Gantt instance
3728
+ * @param {Core.data.Model} event.taskRecord The task record
3729
+ * @param {MouseEvent} event.domEvent Browser event
3730
+ */
3731
+ onPercentBarDrag: any;
3732
+ /**
3733
+ * Fired on the owning Scheduler or Gantt widget if a percent bar drag-drop operation is aborted
3734
+ * @param {object} event Event object
3735
+ * @param {Scheduler.view.TimelineBase} event.source SchedulerPro instance
3736
+ * @param {Core.data.Model} event.taskRecord The task record
3737
+ * @param {MouseEvent} event.domEvent Browser event
3738
+ */
3739
+ onPercentBarDragAbort: any;
3740
+ /**
3741
+ * Fired on the owning Scheduler or Gantt widget when percent bar dragging starts
3742
+ * @param {object} event Event object
3743
+ * @param {Scheduler.view.TimelineBase} event.source SchedulerPro or Gantt instance
3744
+ * @param {Core.data.Model} event.taskRecord The task record
3745
+ * @param {MouseEvent} event.domEvent Browser event
3746
+ */
3747
+ onPercentBarDragStart: any;
3748
+ /**
3749
+ * Fired on the owning Scheduler or Gantt widget when dropping the percent bar
3750
+ * @param {object} event Event object
3751
+ * @param {Scheduler.view.TimelineBase} event.source SchedulerPro or Gantt instance
3752
+ * @param {Core.data.Model} event.taskRecord The task record
3753
+ * @param {MouseEvent} event.domEvent Browser event
3754
+ */
3755
+ onPercentBarDrop: any;
3756
+ /**
3757
+ * Fired after the [viewPreset](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineViewPresets#config-viewPreset) has changed.
3758
+ * @param {object} event Event object
3759
+ * @param {Scheduler.view.Scheduler} event.source This Scheduler instance.
3760
+ * @param {Date} event.startDate The new start date of the timeline.
3761
+ * @param {Date} event.centerDate The new center date of the timeline.
3762
+ * @param {Date} event.endDate The new end date of the timeline.
3763
+ * @param {Scheduler.preset.ViewPreset} event.from The outgoing ViewPreset.
3764
+ * @param {Scheduler.preset.ViewPreset} event.to The ViewPreset being switched to.
3765
+ */
3766
+ onPresetChange: any;
3767
+ /**
3768
+ * Fires on the owning Gantt widget when the editor for a project is canceled.
3769
+ * @param {object} event Event object
3770
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
3771
+ * @param {Gantt.model.ProjectModel} event.projectRecord The edited project
3772
+ * @param {Gantt.widget.ProjectEditor} event.editor The editor
3773
+ */
3774
+ onProjectEditCanceled: any;
3775
+ /**
3776
+ * Fired when a Widget's read only state is toggled
3777
+ * @param {object} event Event object
3778
+ * @param {boolean} event.readOnly Read only or not
3779
+ */
3780
+ onReadOnly: any;
3781
+ /**
3782
+ * This event is fired after a widget's elements have been synchronized due to a direct or indirect call
3783
+ * to [recompose](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#function-recompose), if this results in some change to the widget's rendered DOM elements.
3784
+ */
3785
+ onRecompose: any;
3786
+ /**
3787
+ * Task is released, no longer in view/removed. A good spot for cleaning custom things added in a `renderTask`
3788
+ * listener up, if needed.
3789
+ * @param {object} event Event object
3790
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
3791
+ * @param {object} event.renderData Task render data
3792
+ * @param {Gantt.model.TaskModel} event.taskRecord Rendered task
3793
+ * @param {HTMLElement} event.element Task element
3794
+ */
3795
+ onReleaseTask: any;
3796
+ /**
3797
+ * Fires after a row is rendered.
3798
+ * @param {object} event Event object
3799
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
3800
+ * @param {Grid.row.Row} event.row The row that has been rendered.
3801
+ * @param {Core.data.Model} event.record The record for the row.
3802
+ * @param {number} event.recordIndex The zero-based index of the record.
3803
+ */
3804
+ onRenderRow: any;
3805
+ /**
3806
+ * Grid rows have been rendered
3807
+ * @param {object} event Event object
3808
+ * @param {Grid.view.Grid} event.source This grid.
3809
+ */
3810
+ onRenderRows: any;
3811
+ /**
3812
+ * Task is rendered, its element is available in DOM.
3813
+ * @param {object} event Event object
3814
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
3815
+ * @param {object} event.renderData Task render data
3816
+ * @param {Gantt.model.TaskModel} event.taskRecord Rendered task
3817
+ * @param {HTMLElement} event.element Task element
3818
+ */
3819
+ onRenderTask: any;
3820
+ /**
3821
+ * Fired when the encapsulating element of a Widget resizes *only when [monitorResize](https://bryntum.com/products/gantt/docs/api/Core/widget/Widget#config-monitorResize) is `true`*.
3822
+ * @param {object} event Event object
3823
+ * @param {Core.widget.Widget} event.source This Widget
3824
+ * @param {number} event.width The new width
3825
+ * @param {number} event.height The new height
3826
+ * @param {number} event.oldWidth The old width
3827
+ * @param {number} event.oldHeight The old height
3828
+ */
3829
+ onResize: any;
3830
+ /**
3831
+ * Triggered when clicking a resource avatar or chip in the cells of the [ResourceAssignmentColumn](https://bryntum.com/products/gantt/docs/api/Gantt/column/ResourceAssignmentColumn).
3832
+ * @param {object} event Event object
3833
+ * @param {Gantt.view.Gantt} event.source This Gantt
3834
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
3835
+ * @param {Gantt.model.ResourceModel} event.resourceRecord Resource record
3836
+ * @param {Event} event.event Browser event
3837
+ */
3838
+ onResourceAssignmentClick: any;
3839
+ /**
3840
+ * Grid resize lead to a new responsive level being applied
3841
+ * @param {object} event Event object
3842
+ * @param {Grid.view.Grid} event.grid Grid that was resized
3843
+ * @param {string} event.level New responsive level (small, large, etc)
3844
+ * @param {number} event.width New width in px
3845
+ * @param {string} event.oldLevel Old responsive level
3846
+ * @param {number} event.oldWidth Old width in px
3847
+ */
3848
+ onResponsive: any;
3849
+ /**
3850
+ * This event fires when a row has finished collapsing.
3851
+ * @param {object} event Event object
3852
+ * @param {Core.data.Model} event.record Record
3853
+ */
3854
+ onRowCollapse: any;
3855
+ /**
3856
+ * This event fires when a row expand has finished expanding.
3857
+ * ...
3858
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-rowExpand)
3859
+ * @param {object} event Event object
3860
+ * @param {Core.data.Model} event.record Record
3861
+ * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
3862
+ * @param {Core.widget.Widget} event.widget In case of expanding a Widget, this will be a reference to the instance created by the actual expansion. If there is multiple Grid regions, use the `widgets` param instead.
3863
+ * @param {object} event.widgets In case of expanding a Widget, this will be an object with the Grid region name as property and the reference to the widget instance created by the actual expansion
3864
+ */
3865
+ onRowExpand: any;
3866
+ /**
3867
+ * Fired when the mouse enters a row
3868
+ * @param {object} event Event object
3869
+ * @param {Grid.view.Grid} event.source The grid instance
3870
+ * @param {Core.data.Model} event.record The record representing the hovered row
3871
+ * @param {Grid.column.Column} event.column The column currently hovered
3872
+ * @param {HTMLElement} event.cellElement The cell HTML element
3873
+ * @param {MouseEvent} event.event The native DOM event
3874
+ */
3875
+ onRowMouseEnter: any;
3876
+ /**
3877
+ * Fired when the mouse leaves a row
3878
+ * @param {object} event Event object
3879
+ * @param {Grid.view.Grid} event.source The grid instance
3880
+ * @param {Core.data.Model} event.record The record representing the row that the mouse left
3881
+ * @param {HTMLElement} event.cellElement The cell HTML element that the mouse left
3882
+ * @param {MouseEvent} event.event The native DOM event
3883
+ */
3884
+ onRowMouseLeave: any;
3885
+ /**
3886
+ * This event fires on the owning Scheduler or Gantt widget before the context menu is shown for the schedule.
3887
+ * Allows manipulation of the items to show in the same way as in `processItems`. Returning `false` from a listener
3888
+ * prevents the menu from being shown.
3889
+ * @param {object} event Event object
3890
+ * @param {Scheduler.view.Scheduler} event.source
3891
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3892
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record
3893
+ * @param {Date} event.date Clicked date, rounded according to viewPreset's settings
3894
+ * @param {Scheduler.model.SchedulerAssignmentModel} event.assignmentRecord Assignment record, if assignments are used
3895
+ * @param {HTMLElement} event.eventElement
3896
+ */
3897
+ onScheduleMenuBeforeShow: any;
3898
+ /**
3899
+ * This event fires on the owning Scheduler or Gantt widget when an item is selected in the context menu.
3900
+ * @param {object} event Event object
3901
+ * @param {Scheduler.view.Scheduler} event.source
3902
+ * @param {Core.widget.MenuItem} event.item
3903
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord
3904
+ * @param {Date} event.date Clicked date, rounded according to viewPreset's settings
3905
+ * @param {HTMLElement} event.element
3906
+ */
3907
+ onScheduleMenuItem: any;
3908
+ /**
3909
+ * This event fires on the owning Scheduler or Gantt widget after showing the context menu for the schedule.
3910
+ * @param {object} event Event object
3911
+ * @param {Scheduler.view.Scheduler} event.source
3912
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
3913
+ * @param {Core.widget.Menu} event.menu The menu
3914
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord
3915
+ * @param {Date} event.date Clicked date, rounded according to viewPreset's settings
3916
+ * @param {HTMLElement} event.targetElement
3917
+ */
3918
+ onScheduleMenuShow: any;
3919
+ /**
3920
+ * Grid has scrolled vertically
3921
+ * @param {object} event Event object
3922
+ * @param {Grid.view.Grid} event.source The firing Grid instance.
3923
+ * @param {number} event.scrollTop The vertical scroll position.
3924
+ */
3925
+ onScroll: any;
3926
+ /**
3927
+ * Fires on owner when the scroll button is clicked, return `false` to prevent default scroll behavior
3928
+ * @param {object} event Event object
3929
+ * @param {Event} event.domEvent DOM event
3930
+ * @param {Gantt.model.TaskModel} event.taskRecord The task record
3931
+ */
3932
+ onScrollButtonClick: any;
3933
+ /**
3934
+ * The selection has been changed.
3935
+ * @param {object} event Event object
3936
+ * @param {'select','deselect'} event.action `'select'`/`'deselect'`
3937
+ * @param {'row','cell'} event.mode `'row'`/`'cell'`
3938
+ * @param {Grid.view.Grid} event.source
3939
+ * @param {Core.data.Model[]} event.deselected The records deselected in this operation.
3940
+ * @param {Core.data.Model[]} event.selected The records selected in this operation.
3941
+ * @param {Core.data.Model[]} event.selection The records in the new selection.
3942
+ * @param {Grid.util.GridLocation[]} event.deselectedCells The cells deselected in this operation.
3943
+ * @param {Grid.util.GridLocation[]} event.selectedCells The cells selected in this operation.
3944
+ * @param {Grid.util.GridLocation[]} event.cellSelection The cells in the new selection.
3945
+ */
3946
+ onSelectionChange: any;
3947
+ /**
3948
+ * The selectionMode configuration has been changed.
3949
+ * @param {object} event Event object
3950
+ * @param {object} event.selectionMode The new [selectionMode](https://bryntum.com/products/gantt/docs/api/Grid/view/mixin/GridSelection#config-selectionMode)
3951
+ */
3952
+ onSelectionModeChange: any;
3953
+ /**
3954
+ * Triggered after a widget is shown.
3955
+ * @param {object} event Event object
3956
+ * @param {Core.widget.Widget} event.source The widget
3957
+ */
3958
+ onShow: any;
3959
+ /**
3960
+ * Fires when splitting the Grid.
3961
+ * @param {object} event Event object
3962
+ * @param {Grid.view.GridBase[]} event.subViews The sub views created by the split
3963
+ * @param {object} event.options The options passed to the split call
3964
+ * @param {'horizontal','vertical','both'} event.options.direction The direction of the split
3965
+ * @param {Grid.column.Column} event.options.atColumn The column to split at
3966
+ * @param {Core.data.Model} event.options.atRecord The record to split at
3967
+ */
3968
+ onSplit: any;
3969
+ /**
3970
+ * Fired by the Grid when the collapse icon is clicked. Return `false` to prevent the default collapse action,
3971
+ * if you want to implement your own behavior.
3972
+ * @param {object} event Event object
3973
+ * @param {Grid.view.Grid} event.source The Grid instance.
3974
+ * @param {Grid.view.SubGrid} event.subGrid The subgrid
3975
+ * @param {Event} event.domEvent The native DOM event
3976
+ */
3977
+ onSplitterCollapseClick: any;
3978
+ /**
3979
+ * Fired by the Grid after a sub-grid has been resized using the splitter
3980
+ * @param {object} event Event object
3981
+ * @param {Grid.view.Grid} event.source The Grid instance.
3982
+ * @param {Grid.view.SubGrid} event.subGrid The resized subgrid
3983
+ * @param {Event} event.domEvent The native DOM event
3984
+ */
3985
+ onSplitterDragEnd: any;
3986
+ /**
3987
+ * Fired by the Grid when a sub-grid resize gesture starts
3988
+ * @param {object} event Event object
3989
+ * @param {Grid.view.Grid} event.source The Grid instance.
3990
+ * @param {Grid.view.SubGrid} event.subGrid The subgrid about to be resized
3991
+ * @param {Event} event.domEvent The native DOM event
3992
+ */
3993
+ onSplitterDragStart: any;
3994
+ /**
3995
+ * Fired by the Grid when the expand icon is clicked. Return `false` to prevent the default expand action,
3996
+ * if you want to implement your own behavior.
3997
+ * @param {object} event Event object
3998
+ * @param {Grid.view.Grid} event.source The Grid instance.
3999
+ * @param {Grid.view.SubGrid} event.subGrid The subgrid
4000
+ * @param {Event} event.domEvent The native DOM event
4001
+ */
4002
+ onSplitterExpandClick: any;
4003
+ /**
4004
+ * Fires on the owning Grid when editing starts
4005
+ * @param {object} event Event object
4006
+ * @param {Grid.view.Grid} event.source Owner grid
4007
+ * @param {CellEditorContext} event.editorContext Editing context
4008
+ */
4009
+ onStartCellEdit: any;
4010
+ /**
4011
+ * Fires on the owning Grid when editing starts
4012
+ * @param {object} event Event object
4013
+ * @param {Grid.view.Grid} event.source Owner grid
4014
+ * @param {RowEditorContext} event.editorContext Editing context
4015
+ */
4016
+ onStartRowEdit: any;
4017
+ /**
4018
+ * Fires after a sub grid is collapsed.
4019
+ * @param {object} event Event object
4020
+ * @param {Grid.view.Grid} event.source The firing Grid instance
4021
+ * @param {Grid.view.SubGrid} event.subGrid The sub grid instance
4022
+ */
4023
+ onSubGridCollapse: any;
4024
+ /**
4025
+ * Fires after a sub grid is expanded.
4026
+ * @param {object} event Event object
4027
+ * @param {Grid.view.Grid} event.source The firing Grid instance
4028
+ * @param {Grid.view.SubGrid} event.subGrid The sub grid instance
4029
+ */
4030
+ onSubGridExpand: any;
4031
+ /**
4032
+ * Triggered after a click on a task bar.
4033
+ * @param {object} event Event object
4034
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4035
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4036
+ * @param {MouseEvent} event.event The native browser event
4037
+ */
4038
+ onTaskClick: any;
4039
+ /**
4040
+ * Triggered after a rightclick (or long press on a touch device) on a task.
4041
+ * @param {object} event Event object
4042
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4043
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4044
+ * @param {MouseEvent} event.event The native browser event
4045
+ */
4046
+ onTaskContextMenu: any;
4047
+ /**
4048
+ * Triggered after a doubleclick on a task.
4049
+ * @param {object} event Event object
4050
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4051
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4052
+ * @param {MouseEvent} event.event The native browser event
4053
+ */
4054
+ onTaskDblClick: any;
4055
+ /**
4056
+ * Fires on the owning Gantt while a task is being dragged
4057
+ * @param {object} event Event object
4058
+ * @param {Gantt.view.Gantt} event.source
4059
+ * @param {Gantt.model.TaskModel[]} event.taskRecords
4060
+ * @param {Date} event.startDate
4061
+ * @param {Date} event.endDate
4062
+ * @param {object} event.dragData
4063
+ * @param {boolean} event.changed `true` if startDate has changed.
4064
+ */
4065
+ onTaskDrag: any;
4066
+ /**
4067
+ * Fires on the owning Gantt when task dragging starts
4068
+ * @param {object} event Event object
4069
+ * @param {Gantt.view.Gantt} event.source
4070
+ * @param {Gantt.model.TaskModel[]} event.taskRecords
4071
+ */
4072
+ onTaskDragStart: any;
4073
+ /**
4074
+ * Fires on the owning Gantt after a valid task drop
4075
+ * @param {object} event Event object
4076
+ * @param {Gantt.view.Gantt} event.source
4077
+ * @param {Gantt.model.TaskModel[]} event.taskRecords
4078
+ * @param {boolean} event.isCopy
4079
+ */
4080
+ onTaskDrop: any;
4081
+ /**
4082
+ * Fires on the owning Scheduler or Gantt widget when the editor for an event is canceled.
4083
+ * @param {object} event Event object
4084
+ * @param {SchedulerPro.view.SchedulerPro} event.source The Scheduler Pro instance
4085
+ * @param {SchedulerPro.model.EventModel} event.taskRecord the task about the shown in the editor
4086
+ * @param {SchedulerPro.widget.TaskEditorBase} event.editor The editor
4087
+ */
4088
+ onTaskEditCanceled: any;
4089
+ /**
4090
+ * Triggered when a keydown event is observed if there are selected tasks.
4091
+ * @param {object} event Event object
4092
+ * @param {Gantt.view.Gantt} event.source This Gantt
4093
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
4094
+ * @param {KeyboardEvent} event.event Browser event
4095
+ */
4096
+ onTaskKeyDown: any;
4097
+ /**
4098
+ * Triggered when a keyup event is observed if there are selected tasks.
4099
+ * @param {object} event Event object
4100
+ * @param {Gantt.view.Gantt} event.source This Gantt
4101
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
4102
+ * @param {KeyboardEvent} event.event Browser event
4103
+ */
4104
+ onTaskKeyUp: any;
4105
+ /**
4106
+ * This event fires on the owning Gantt before the context menu is shown for a task. Allows manipulation of the items
4107
+ * to show in the same way as in `processItems`. Returning false from a listener prevents the menu from
4108
+ * being shown.
4109
+ * @param {object} event Event object
4110
+ * @param {Gantt.view.Gantt} event.source
4111
+ * @param {MenuItemEntry[]} event.items Menu item configs
4112
+ * @param {Gantt.model.TaskModel} event.taskRecord Event record for which the menu was triggered
4113
+ * @param {HTMLElement} event.taskElement
4114
+ */
4115
+ onTaskMenuBeforeShow: any;
4116
+ /**
4117
+ * This event fires on the owning Gantt when an item is selected in the context menu.
4118
+ * @param {object} event Event object
4119
+ * @param {Gantt.view.Gantt} event.source
4120
+ * @param {Core.widget.MenuItem} event.item
4121
+ * @param {Gantt.model.TaskModel} event.taskRecord
4122
+ * @param {HTMLElement} event.taskElement
4123
+ */
4124
+ onTaskMenuItem: any;
4125
+ /**
4126
+ * This event fires on the owning Gantt after showing the context menu for an event
4127
+ * @param {object} event Event object
4128
+ * @param {Gantt.view.Gantt} event.source
4129
+ * @param {Core.widget.Menu} event.menu The menu
4130
+ * @param {Gantt.model.TaskModel} event.taskRecord Event record for which the menu was triggered
4131
+ * @param {HTMLElement} event.taskElement
4132
+ */
4133
+ onTaskMenuShow: any;
4134
+ /**
4135
+ * Triggered after a mousedown on a task bar.
4136
+ * @param {object} event Event object
4137
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4138
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4139
+ * @param {MouseEvent} event.event The native browser event
4140
+ */
4141
+ onTaskMouseDown: any;
4142
+ /**
4143
+ * Triggered for mouseout from a task.
4144
+ * @param {object} event Event object
4145
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4146
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4147
+ * @param {MouseEvent} event.event The native browser event
4148
+ */
4149
+ onTaskMouseOut: any;
4150
+ /**
4151
+ * Triggered after a mouseover on a task.
4152
+ * @param {object} event Event object
4153
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4154
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4155
+ * @param {MouseEvent} event.event The native browser event
4156
+ */
4157
+ onTaskMouseOver: any;
4158
+ /**
4159
+ * Triggered after a mouseup on a task bar.
4160
+ * @param {object} event Event object
4161
+ * @param {Gantt.view.Gantt} event.source The Gantt instance
4162
+ * @param {Gantt.model.TaskModel} event.taskRecord The Task record
4163
+ * @param {MouseEvent} event.event The native browser event
4164
+ */
4165
+ onTaskMouseUp: any;
4166
+ /**
4167
+ * Triggered when clicking a nonworking time element
4168
+ * @param {object} event Event object
4169
+ * @param {Gantt.view.Gantt} event.source The Gantt chart instance
4170
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
4171
+ * @param {object} event.interval The raw data describing the nonworking time interval
4172
+ * @param {string} event.interval.name The interval name (if any)
4173
+ * @param {Date} event.interval.startDate The interval start date
4174
+ * @param {Date} event.interval.endDate The interval end date
4175
+ * @param {MouseEvent} event.domEvent Browser event
4176
+ */
4177
+ onTaskNonWorkingTimeClick: any;
4178
+ /**
4179
+ * Triggered when right-clicking a nonworking time element
4180
+ * @param {object} event Event object
4181
+ * @param {Gantt.view.Gantt} event.source The Gantt chart instance
4182
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
4183
+ * @param {object} event.interval The raw data describing the nonworking time interval
4184
+ * @param {string} event.interval.name The interval name (if any)
4185
+ * @param {Date} event.interval.startDate The interval start date
4186
+ * @param {Date} event.interval.endDate The interval end date
4187
+ * @param {MouseEvent} event.domEvent Browser event
4188
+ */
4189
+ onTaskNonWorkingTimeContextMenu: any;
4190
+ /**
4191
+ * Triggered when double-clicking a nonworking time element
4192
+ * @param {object} event Event object
4193
+ * @param {Gantt.view.Gantt} event.source The Gantt chart instance
4194
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record
4195
+ * @param {object} event.interval The raw data describing the nonworking time interval
4196
+ * @param {string} event.interval.name The interval name (if any)
4197
+ * @param {Date} event.interval.startDate The interval start date
4198
+ * @param {Date} event.interval.endDate The interval end date
4199
+ * @param {MouseEvent} event.domEvent Browser event
4200
+ */
4201
+ onTaskNonWorkingTimeDblClick: any;
4202
+ /**
4203
+ * Fires on the owning Gantt on each resize move event
4204
+ * @param {object} event Event object
4205
+ * @param {TaskResizeData[]} event.resizeData Data for the tasks that are being resized. Only available when [resizeSelected](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskResize#config-resizeSelected) is `true`. The nested properties are same as `context`
4206
+ * @param {Gantt.model.TaskModel} event.taskRecord Task record being resized
4207
+ * @param {Date} event.startDate New startDate
4208
+ * @param {Date} event.endDate New endDate
4209
+ * @param {HTMLElement} event.element
4210
+ */
4211
+ onTaskPartialResize: any;
4212
+ /**
4213
+ * Fires on the owning Gantt after the resizing gesture has finished.
4214
+ * @param {object} event Event object
4215
+ * @param {boolean} event.changed
4216
+ * @param {Gantt.model.TaskModel} event.taskRecord
4217
+ * @param {TaskResizeData[]} event.resizeData Resize data for selected tasks. Only available when [resizeSelected](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskResize#config-resizeSelected) is `true`
4218
+ */
4219
+ onTaskResizeEnd: any;
4220
+ /**
4221
+ * Fires on the owning Gantt when task resizing starts
4222
+ * @param {object} event Event object
4223
+ * @param {Gantt.model.TaskModel} event.taskRecord
4224
+ * @param {Event} event.event
4225
+ * @param {TaskResizeData[]} event.resizeData Resize data for selected tasks. Only available when [resizeSelected](https://bryntum.com/products/gantt/docs/api/Gantt/feature/TaskResize#config-resizeSelected) is `true`
4226
+ */
4227
+ onTaskResizeStart: any;
4228
+ /**
4229
+ * Fires on the owning Gantt while a segment is being dragged
4230
+ * @param {object} event Event object
4231
+ * @param {Gantt.view.Gantt} event.source
4232
+ * @param {Gantt.model.TaskModel[]} event.taskRecords Dragged segments
4233
+ * @param {Date} event.startDate
4234
+ * @param {Date} event.endDate
4235
+ * @param {object} event.dragData
4236
+ * @param {boolean} event.changed `true` if startDate has changed.
4237
+ */
4238
+ onTaskSegmentDrag: any;
4239
+ /**
4240
+ * Fires on the owning Gantt when segment dragging starts
4241
+ * @param {object} event Event object
4242
+ * @param {Gantt.view.Gantt} event.source
4243
+ * @param {Gantt.model.TaskModel[]} event.taskRecords Dragged segments
4244
+ */
4245
+ onTaskSegmentDragStart: any;
4246
+ /**
4247
+ * Fires on the owning Gantt after a valid task drop
4248
+ * @param {object} event Event object
4249
+ * @param {Gantt.view.Gantt} event.source
4250
+ * @param {Gantt.model.TaskModel[]} event.taskRecords Dropped segments
4251
+ * @param {boolean} event.isCopy
4252
+ */
4253
+ onTaskSegmentDrop: any;
4254
+ /**
4255
+ * Fires on the owning Gantt on each resize move event
4256
+ * @param {object} event Event object
4257
+ * @param {Gantt.view.Gantt} event.source Gantt instance
4258
+ * @param {Gantt.model.TaskModel} event.taskRecord Segment being resized
4259
+ * @param {Date} event.startDate
4260
+ * @param {Date} event.endDate
4261
+ * @param {HTMLElement} event.element
4262
+ */
4263
+ onTaskSegmentPartialResize: any;
4264
+ /**
4265
+ * Fires on the owning Gantt after the resizing gesture has finished.
4266
+ * @param {object} event Event object
4267
+ * @param {Gantt.view.Gantt} event.source Gantt instance
4268
+ * @param {boolean} event.changed Shows if the record has been changed by the resize action
4269
+ * @param {Gantt.model.TaskModel} event.taskRecord Segment being resized
4270
+ */
4271
+ onTaskSegmentResizeEnd: any;
4272
+ /**
4273
+ * Fires on the owning Gantt when event resizing starts
4274
+ * @param {object} event Event object
4275
+ * @param {Gantt.view.Gantt} event.source Gantt instance
4276
+ * @param {Gantt.model.TaskModel} event.taskRecord Segment being resized
4277
+ * @param {Scheduler.model.SchedulerResourceModel} event.resourceRecord Resource record the resize starts within
4278
+ * @param {MouseEvent} event.event Browser event
4279
+ */
4280
+ onTaskSegmentResizeStart: any;
4281
+ /**
4282
+ * Fired when the tick size changes.
4283
+ * ...
4284
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-tickSizeChange)
4285
+ * @param {object} event Event object
4286
+ * @param {Scheduler.view.Scheduler} event.source This Scheduler instance.
4287
+ * @param {number} event.tickSize The tick size in pixels
4288
+ */
4289
+ onTickSizeChange: any;
4290
+ /**
4291
+ * Fired when the timeaxis has changed, for example by zooming or configuring a new time span.
4292
+ * @param {object} event Event object
4293
+ * @param {Scheduler.view.Scheduler} event.source This Scheduler
4294
+ * @param {object} event.config Config object used to reconfigure the time axis.
4295
+ * @param {Date} event.config.startDate New start date (if supplied)
4296
+ * @param {Date} event.config.endDate New end date (if supplied)
4297
+ */
4298
+ onTimeAxisChange: any;
4299
+ /**
4300
+ * Fires after a click on a time axis cell
4301
+ * @param {object} event Event object
4302
+ * @param {Scheduler.column.SchedulerTimeAxisColumn,Scheduler.column.VerticalTimeAxisColumn} event.source The column object
4303
+ * @param {Date} event.startDate The start date of the header cell
4304
+ * @param {Date} event.endDate The end date of the header cell
4305
+ * @param {Event} event.event The event object
4306
+ */
4307
+ onTimeAxisHeaderClick: any;
4308
+ /**
4309
+ * Fires after a right click on a time axis cell
4310
+ * @param {object} event Event object
4311
+ * @param {Scheduler.column.SchedulerTimeAxisColumn,Scheduler.column.VerticalTimeAxisColumn} event.source The column object
4312
+ * @param {Date} event.startDate The start date of the header cell
4313
+ * @param {Date} event.endDate The end date of the header cell
4314
+ * @param {Event} event.event The event object
4315
+ */
4316
+ onTimeAxisHeaderContextMenu: any;
4317
+ /**
4318
+ * Fires after a double click on a time axis cell
4319
+ * @param {object} event Event object
4320
+ * @param {Scheduler.column.SchedulerTimeAxisColumn,Scheduler.column.VerticalTimeAxisColumn} event.source The column object
4321
+ * @param {Date} event.startDate The start date of the header cell
4322
+ * @param {Date} event.endDate The end date of the header cell
4323
+ * @param {Event} event.event The event object
4324
+ */
4325
+ onTimeAxisHeaderDblClick: any;
4326
+ /**
4327
+ * This event fires on the owning Scheduler or Gantt widget before the context menu is shown for the time axis header.
4328
+ * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/gantt/docs/api/Scheduler/feature/TimeAxisHeaderMenu#config-processItems).
4329
+ * ...
4330
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-timeAxisHeaderMenuBeforeShow)
4331
+ * @param {object} event Event object
4332
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
4333
+ * @param {Core.widget.Menu} event.menu The menu
4334
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
4335
+ * @param {Grid.column.Column} event.column Time axis column
4336
+ */
4337
+ onTimeAxisHeaderMenuBeforeShow: any;
4338
+ /**
4339
+ * This event fires on the owning Scheduler or Gantt widget when an item is selected in the header context menu.
4340
+ * @param {object} event Event object
4341
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
4342
+ * @param {Core.widget.Menu} event.menu The menu
4343
+ * @param {Core.widget.MenuItem} event.item Selected menu item
4344
+ * @param {Grid.column.Column} event.column Time axis column
4345
+ */
4346
+ onTimeAxisHeaderMenuItem: any;
4347
+ /**
4348
+ * This event fires on the owning Scheduler or Gantt widget after the context menu is shown for a header
4349
+ * @param {object} event Event object
4350
+ * @param {Scheduler.view.Scheduler} event.source The scheduler
4351
+ * @param {Core.widget.Menu} event.menu The menu
4352
+ * @param {Record<string, MenuItemEntry>} event.items Menu item configs
4353
+ * @param {Grid.column.Column} event.column Time axis column
4354
+ */
4355
+ onTimeAxisHeaderMenuShow: any;
4356
+ /**
4357
+ * Fired when the pointer-activated [timelineContext](https://bryntum.com/products/gantt/docs/api/Scheduler/view/mixin/TimelineDomEvents#property-timelineContext) has changed.
4358
+ * @param {object} event Event object
4359
+ * @param {Scheduler.util.TimelineContext} event.oldContext The tick/resource context being deactivated.
4360
+ * @param {Scheduler.util.TimelineContext} event.context The tick/resource context being activated.
4361
+ */
4362
+ onTimelineContextChange: any;
4363
+ /**
4364
+ * Fired when the *scheduler* viewport (not the overall Scheduler element) changes size.
4365
+ * This happens when the grid changes height, or when the subgrid which encapsulates the
4366
+ * scheduler column changes width.
4367
+ * @param {object} event Event object
4368
+ * @param {Core.widget.Widget} event.source This Scheduler
4369
+ * @param {number} event.width The new width
4370
+ * @param {number} event.height The new height
4371
+ * @param {number} event.oldWidth The old width
4372
+ * @param {number} event.oldHeight The old height
4373
+ */
4374
+ onTimelineViewportResize: any;
4375
+ /**
4376
+ * Fired on the owning Scheduler or Gantt widget when a click happens on a time range header element
4377
+ * @param {object} event Event object
4378
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
4379
+ * @param {Scheduler.model.TimeSpan} event.timeRangeRecord The record
4380
+ * @param {MouseEvent} event.domEvent Browser event
4381
+ */
4382
+ onTimeRangeHeaderClick: any;
4383
+ /**
4384
+ * Fired on the owning Scheduler or Gantt widget when a right click happens on a time range header element
4385
+ * @param {object} event Event object
4386
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
4387
+ * @param {Scheduler.model.TimeSpan} event.timeRangeRecord The record
4388
+ * @param {MouseEvent} event.domEvent Browser event
4389
+ */
4390
+ onTimeRangeHeaderContextMenu: any;
4391
+ /**
4392
+ * Fired on the owning Scheduler or Gantt widget when a double click happens on a time range header element
4393
+ * @param {object} event Event object
4394
+ * @param {Scheduler.view.Scheduler} event.source Scheduler instance
4395
+ * @param {Scheduler.model.TimeSpan} event.timeRangeRecord The record
4396
+ * @param {MouseEvent} event.domEvent Browser event
4397
+ */
4398
+ onTimeRangeHeaderDblClick: any;
4399
+ /**
4400
+ * Fired when one or more groups are expanded or collapsed
4401
+ * @param {object} event Event object
4402
+ * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
4403
+ * @param {Core.data.Model[]} event.groupRecords The group records being toggled
4404
+ * @param {boolean} event.collapse Collapsed (true) or expanded (false)
4405
+ * @param {boolean} event.allRecords True if this event is part of toggling all groups
4406
+ */
4407
+ onToggleGroup: any;
4408
+ /**
4409
+ * Fired after a parent node record toggles its collapsed state.
4410
+ * @param {object} event Event object
4411
+ * @param {Core.data.Model} event.record The record being toggled.
4412
+ * @param {boolean} event.collapse `true` if the node is being collapsed.
4413
+ */
4414
+ onToggleNode: any;
4415
+ /**
4416
+ * A header [tool](https://bryntum.com/products/gantt/docs/api/Core/widget/Panel#config-tools) has been clicked.
4417
+ * @param {object} event Event object
4418
+ * @param {Core.widget.Tool} event.source This Panel.
4419
+ * @param {Core.widget.Tool} event.tool The tool which is being clicked.
4420
+ */
4421
+ onToolClick: any;
4422
+ /**
4423
+ * <strong>Note that this event fires on the owning [SchedulerPro](https://bryntum.com/products/gantt/docs/api/SchedulerPro/view/SchedulerPro).</strong>
4424
+ * ...
4425
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-transactionChange)
4426
+ * @param {object} event Event object
4427
+ * @param {boolean} event.hasChanges Whether any changes are recorded that are not yet attached to a version.
4428
+ */
4429
+ onTransactionChange: any;
4430
+ /**
4431
+ * Fires when row locking is disabled.
4432
+ * @param {object} event Event object
4433
+ * @param {Grid.view.GridBase} event.clone The locked clone that will be destroyed
4434
+ */
4435
+ onUnlockRows: any;
4436
+ /**
4437
+ * Fires when un-splitting the Grid.
4438
+ */
4439
+ onUnsplit: any;
4440
+ /**
4441
+ * Fired when the range of dates visible within the viewport changes. This will be when
4442
+ * scrolling along a time axis.
4443
+ * ...
4444
+ * [View online docs...](https://bryntum.com/products/gantt/docs/api/Gantt/view/Gantt#event-visibleDateRangeChange)
4445
+ * @param {object} event Event object
4446
+ * @param {Scheduler.view.Scheduler} event.source This Scheduler instance.
4447
+ * @param {object} event.old The old date range
4448
+ * @param {Date} event.old.startDate the old start date.
4449
+ * @param {Date} event.old.endDate the old end date.
4450
+ * @param {object} event.new The new date range
4451
+ * @param {Date} event.new.startDate the new start date.
4452
+ * @param {Date} event.new.endDate the new end date.
4453
+ */
4454
+ onVisibleDateRangeChange: any;
4455
+ /**
4456
+ * Create and append the underlying widget
4457
+ */
4458
+ ngOnInit(): void;
4459
+ /**
4460
+ * Watch for changes
4461
+ * @param changes
4462
+ */
4463
+ ngOnChanges(changes: SimpleChanges): void;
4464
+ /**
4465
+ * Destroy the component
4466
+ */
4467
+ ngOnDestroy(): void;
4468
+ static ɵfac: i0.ɵɵFactoryDeclaration<BryntumGanttComponent, never>;
4469
+ static ɵcmp: i0.ɵɵComponentDeclaration<BryntumGanttComponent, "bryntum-gantt", never, { "adopt": "adopt"; "allowCreate": "allowCreate"; "allowCreateOnlyParent": "allowCreateOnlyParent"; "animateFilterRemovals": "animateFilterRemovals"; "animateRemovingRows": "animateRemovingRows"; "ariaDescription": "ariaDescription"; "ariaLabel": "ariaLabel"; "autoAdjustTimeAxis": "autoAdjustTimeAxis"; "autoHeight": "autoHeight"; "bbar": "bbar"; "bodyCls": "bodyCls"; "bubbleEvents": "bubbleEvents"; "bufferCoef": "bufferCoef"; "bufferThreshold": "bufferThreshold"; "collapsible": "collapsible"; "color": "color"; "config": "config"; "contentElementCls": "contentElementCls"; "contextMenuTriggerEvent": "contextMenuTriggerEvent"; "creationTooltip": "creationTooltip"; "cycleResolutionPopupClass": "cycleResolutionPopupClass"; "dataField": "dataField"; "defaultRegion": "defaultRegion"; "defaultResourceImageName": "defaultResourceImageName"; "dependencyIdField": "dependencyIdField"; "destroyStore": "destroyStore"; "detectCSSCompatibilityIssues": "detectCSSCompatibilityIssues"; "disableGridColumnIdWarning": "disableGridColumnIdWarning"; "disableGridRowModelWarning": "disableGridRowModelWarning"; "displaySchedulingIssueResolutionPopup": "displaySchedulingIssueResolutionPopup"; "dock": "dock"; "drawer": "drawer"; "durationDisplayPrecision": "durationDisplayPrecision"; "elementAttributes": "elementAttributes"; "enableDeleteKey": "enableDeleteKey"; "enableRecurringEvents": "enableRecurringEvents"; "enableSticky": "enableSticky"; "enableTextSelection": "enableTextSelection"; "enableTransactionalFeatures": "enableTransactionalFeatures"; "fillLastColumn": "fillLastColumn"; "fixedRowHeight": "fixedRowHeight"; "footer": "footer"; "formulaProviders": "formulaProviders"; "fullRowRefresh": "fullRowRefresh"; "getDateConstraints": "getDateConstraints"; "getRowHeight": "getRowHeight"; "header": "header"; "hideHorizontalScrollbar": "hideHorizontalScrollbar"; "hoverCls": "hoverCls"; "icon": "icon"; "ignoreDomEventsWhileScrolling": "ignoreDomEventsWhileScrolling"; "ignoreParentReadOnly": "ignoreParentReadOnly"; "listeners": "listeners"; "loadMask": "loadMask"; "loadMaskDefaults": "loadMaskDefaults"; "loadMaskError": "loadMaskError"; "localizable": "localizable"; "managedEventSizing": "managedEventSizing"; "maskDefaults": "maskDefaults"; "masked": "masked"; "maxDate": "maxDate"; "maxTimeAxisUnit": "maxTimeAxisUnit"; "minDate": "minDate"; "monitorResize": "monitorResize"; "newTaskDefaults": "newTaskDefaults"; "owner": "owner"; "partner": "partner"; "plugins": "plugins"; "preserveFocusOnDatasetChange": "preserveFocusOnDatasetChange"; "preserveScrollOnDatasetChange": "preserveScrollOnDatasetChange"; "preventTooltipOnTouch": "preventTooltipOnTouch"; "projectProgressReporting": "projectProgressReporting"; "relayStoreEvents": "relayStoreEvents"; "resizable": "resizable"; "resizeToFitIncludesHeader": "resizeToFitIncludesHeader"; "resourceImageFolderPath": "resourceImageFolderPath"; "resourceImagePath": "resourceImagePath"; "responsiveLevels": "responsiveLevels"; "ripple": "ripple"; "rootElement": "rootElement"; "schedulingIssueResolutionPopupClass": "schedulingIssueResolutionPopupClass"; "scrollerClass": "scrollerClass"; "scrollManager": "scrollManager"; "showCostControls": "showCostControls"; "showCreationTooltip": "showCreationTooltip"; "showDirty": "showDirty"; "showLagInTooltip": "showLagInTooltip"; "showRecurringUI": "showRecurringUI"; "showTaskColorPickers": "showTaskColorPickers"; "snapRelativeToEventStartDate": "snapRelativeToEventStartDate"; "stateful": "stateful"; "statefulEvents": "statefulEvents"; "stateId": "stateId"; "stateProvider": "stateProvider"; "stickyHeaders": "stickyHeaders"; "strips": "strips"; "subGridConfigs": "subGridConfigs"; "syncMask": "syncMask"; "tab": "tab"; "tabBarItems": "tabBarItems"; "taskRenderer": "taskRenderer"; "tbar": "tbar"; "terminalCls": "terminalCls"; "terminalSides": "terminalSides"; "timeAxis": "timeAxis"; "type": "type"; "ui": "ui"; "visibleZoomFactor": "visibleZoomFactor"; "weekStartDay": "weekStartDay"; "weight": "weight"; "zoomKeepsOriginalTimespan": "zoomKeepsOriginalTimespan"; "zoomOnMouseWheel": "zoomOnMouseWheel"; "zoomOnTimeAxisDoubleClick": "zoomOnTimeAxisDoubleClick"; "alignSelf": "alignSelf"; "allowDropOnEventBar": "allowDropOnEventBar"; "animateTreeNodeToggle": "animateTreeNodeToggle"; "appendTo": "appendTo"; "assignments": "assignments"; "barMargin": "barMargin"; "calendars": "calendars"; "callOnFunctions": "callOnFunctions"; "catchEventHandlerExceptions": "catchEventHandlerExceptions"; "cellEllipsis": "cellEllipsis"; "cls": "cls"; "collapsed": "collapsed"; "column": "column"; "columnLines": "columnLines"; "columns": "columns"; "creationTooltipTemplate": "creationTooltipTemplate"; "data": "data"; "dataset": "dataset"; "dependencies": "dependencies"; "disabled": "disabled"; "displayDateFormat": "displayDateFormat"; "emptyText": "emptyText"; "enableEventAnimations": "enableEventAnimations"; "enableUndoRedoKeys": "enableUndoRedoKeys"; "endDate": "endDate"; "eventColor": "eventColor"; "eventStyle": "eventStyle"; "extraData": "extraData"; "fillTicks": "fillTicks"; "flex": "flex"; "forceFit": "forceFit"; "height": "height"; "hidden": "hidden"; "hideFooters": "hideFooters"; "hideHeaders": "hideHeaders"; "hideRowHover": "hideRowHover"; "id": "id"; "infiniteScroll": "infiniteScroll"; "inputFieldAlign": "inputFieldAlign"; "insertBefore": "insertBefore"; "insertFirst": "insertFirst"; "keyMap": "keyMap"; "labelPosition": "labelPosition"; "longPressTime": "longPressTime"; "margin": "margin"; "maxHeight": "maxHeight"; "maxWidth": "maxWidth"; "maxZoomLevel": "maxZoomLevel"; "minHeight": "minHeight"; "minWidth": "minWidth"; "minZoomLevel": "minZoomLevel"; "preserveScroll": "preserveScroll"; "presets": "presets"; "project": "project"; "readOnly": "readOnly"; "recurrenceConfirmationPopup": "recurrenceConfirmationPopup"; "rendition": "rendition"; "resources": "resources"; "rowHeight": "rowHeight"; "rowLines": "rowLines"; "rtl": "rtl"; "scrollable": "scrollable"; "scrollTaskIntoViewOnCellClick": "scrollTaskIntoViewOnCellClick"; "selectionMode": "selectionMode"; "showTooltip": "showTooltip"; "showUnscheduledTasks": "showUnscheduledTasks"; "snap": "snap"; "span": "span"; "startDate": "startDate"; "stateSettings": "stateSettings"; "store": "store"; "suppressFit": "suppressFit"; "tasks": "tasks"; "taskStore": "taskStore"; "terminalHideDelay": "terminalHideDelay"; "terminalOffset": "terminalOffset"; "terminalShowDelay": "terminalShowDelay"; "terminalSize": "terminalSize"; "tickSize": "tickSize"; "timeRanges": "timeRanges"; "timeResolution": "timeResolution"; "timeZone": "timeZone"; "title": "title"; "toggleParentTasksOnClick": "toggleParentTasksOnClick"; "tools": "tools"; "tooltipTemplate": "tooltipTemplate"; "transition": "transition"; "transitionDuration": "transitionDuration"; "useContextualRecurrenceRules": "useContextualRecurrenceRules"; "viewPreset": "viewPreset"; "visibleDate": "visibleDate"; "width": "width"; "workingTime": "workingTime"; "calendarManagerStore": "calendarManagerStore"; "focusVisible": "focusVisible"; "hasChanges": "hasChanges"; "originalStore": "originalStore"; "parent": "parent"; "scrollLeft": "scrollLeft"; "scrollTop": "scrollTop"; "scrollX": "scrollX"; "selectedCell": "selectedCell"; "selectedCells": "selectedCells"; "selectedRecord": "selectedRecord"; "selectedRecords": "selectedRecords"; "selectedRows": "selectedRows"; "state": "state"; "tooltip": "tooltip"; "zoomLevel": "zoomLevel"; "aiFilterFeature": "aiFilterFeature"; "baselinesFeature": "baselinesFeature"; "cellCopyPasteFeature": "cellCopyPasteFeature"; "cellEditFeature": "cellEditFeature"; "cellMenuFeature": "cellMenuFeature"; "cellTooltipFeature": "cellTooltipFeature"; "chartsFeature": "chartsFeature"; "columnAutoWidthFeature": "columnAutoWidthFeature"; "columnDragToolbarFeature": "columnDragToolbarFeature"; "columnLinesFeature": "columnLinesFeature"; "columnPickerFeature": "columnPickerFeature"; "columnRenameFeature": "columnRenameFeature"; "columnReorderFeature": "columnReorderFeature"; "columnResizeFeature": "columnResizeFeature"; "criticalPathsFeature": "criticalPathsFeature"; "dependenciesFeature": "dependenciesFeature"; "dependencyEditFeature": "dependencyEditFeature"; "eventFilterFeature": "eventFilterFeature"; "eventSegmentsFeature": "eventSegmentsFeature"; "excelExporterFeature": "excelExporterFeature"; "fileDropFeature": "fileDropFeature"; "fillHandleFeature": "fillHandleFeature"; "filterFeature": "filterFeature"; "filterBarFeature": "filterBarFeature"; "groupFeature": "groupFeature"; "groupSummaryFeature": "groupSummaryFeature"; "headerMenuFeature": "headerMenuFeature"; "headerZoomFeature": "headerZoomFeature"; "indicatorsFeature": "indicatorsFeature"; "labelsFeature": "labelsFeature"; "lockRowsFeature": "lockRowsFeature"; "mergeCellsFeature": "mergeCellsFeature"; "mspExportFeature": "mspExportFeature"; "nonWorkingTimeFeature": "nonWorkingTimeFeature"; "panFeature": "panFeature"; "parentAreaFeature": "parentAreaFeature"; "pdfExportFeature": "pdfExportFeature"; "percentBarFeature": "percentBarFeature"; "pinColumnsFeature": "pinColumnsFeature"; "printFeature": "printFeature"; "progressLineFeature": "progressLineFeature"; "projectEditFeature": "projectEditFeature"; "projectLinesFeature": "projectLinesFeature"; "quickFindFeature": "quickFindFeature"; "regionResizeFeature": "regionResizeFeature"; "rollupsFeature": "rollupsFeature"; "rowCopyPasteFeature": "rowCopyPasteFeature"; "rowEditFeature": "rowEditFeature"; "rowExpanderFeature": "rowExpanderFeature"; "rowReorderFeature": "rowReorderFeature"; "rowResizeFeature": "rowResizeFeature"; "scheduleMenuFeature": "scheduleMenuFeature"; "scheduleTooltipFeature": "scheduleTooltipFeature"; "scrollButtonsFeature": "scrollButtonsFeature"; "searchFeature": "searchFeature"; "sortFeature": "sortFeature"; "splitFeature": "splitFeature"; "stickyCellsFeature": "stickyCellsFeature"; "stripeFeature": "stripeFeature"; "summaryFeature": "summaryFeature"; "taskCopyPasteFeature": "taskCopyPasteFeature"; "taskDragFeature": "taskDragFeature"; "taskDragCreateFeature": "taskDragCreateFeature"; "taskEditFeature": "taskEditFeature"; "taskMenuFeature": "taskMenuFeature"; "taskNonWorkingTimeFeature": "taskNonWorkingTimeFeature"; "taskResizeFeature": "taskResizeFeature"; "taskSegmentDragFeature": "taskSegmentDragFeature"; "taskSegmentResizeFeature": "taskSegmentResizeFeature"; "taskTooltipFeature": "taskTooltipFeature"; "timeAxisHeaderMenuFeature": "timeAxisHeaderMenuFeature"; "timelineChartFeature": "timelineChartFeature"; "timeRangesFeature": "timeRangesFeature"; "timeSpanHighlightFeature": "timeSpanHighlightFeature"; "treeFeature": "treeFeature"; "treeGroupFeature": "treeGroupFeature"; "versionsFeature": "versionsFeature"; }, { "onAfterDependencyCreateDrop": "onAfterDependencyCreateDrop"; "onAfterDependencySave": "onAfterDependencySave"; "onAfterDragCreate": "onAfterDragCreate"; "onAfterEventEdit": "onAfterEventEdit"; "onAfterEventSave": "onAfterEventSave"; "onAfterProjectEdit": "onAfterProjectEdit"; "onAfterProjectSave": "onAfterProjectSave"; "onAfterTaskDrop": "onAfterTaskDrop"; "onAfterTaskEdit": "onAfterTaskEdit"; "onAfterTaskSave": "onAfterTaskSave"; "onAfterTaskSegmentDrop": "onAfterTaskSegmentDrop"; "onBeforeAssignmentDelete": "onBeforeAssignmentDelete"; "onBeforeCancelCellEdit": "onBeforeCancelCellEdit"; "onBeforeCancelRowEdit": "onBeforeCancelRowEdit"; "onBeforeCellEditStart": "onBeforeCellEditStart"; "onBeforeCellRangeDelete": "onBeforeCellRangeDelete"; "onBeforeCellRangeEdit": "onBeforeCellRangeEdit"; "onBeforeColumnDragStart": "onBeforeColumnDragStart"; "onBeforeColumnDropFinalize": "onBeforeColumnDropFinalize"; "onBeforeColumnResize": "onBeforeColumnResize"; "onBeforeCopy": "onBeforeCopy"; "onBeforeCSVExport": "onBeforeCSVExport"; "onBeforeDependencyAdd": "onBeforeDependencyAdd"; "onBeforeDependencyCreateDrag": "onBeforeDependencyCreateDrag"; "onBeforeDependencyCreateFinalize": "onBeforeDependencyCreateFinalize"; "onBeforeDependencyDelete": "onBeforeDependencyDelete"; "onBeforeDependencyEdit": "onBeforeDependencyEdit"; "onBeforeDependencyEditShow": "onBeforeDependencyEditShow"; "onBeforeDependencySave": "onBeforeDependencySave"; "onBeforeDestroy": "onBeforeDestroy"; "onBeforeDragCreate": "onBeforeDragCreate"; "onBeforeDragCreateFinalize": "onBeforeDragCreateFinalize"; "onBeforeEventDelete": "onBeforeEventDelete"; "onBeforeEventEdit": "onBeforeEventEdit"; "onBeforeEventEditShow": "onBeforeEventEditShow"; "onBeforeEventResize": "onBeforeEventResize"; "onBeforeEventResizeFinalize": "onBeforeEventResizeFinalize"; "onBeforeEventSave": "onBeforeEventSave"; "onBeforeEventSegmentResize": "onBeforeEventSegmentResize"; "onBeforeEventSegmentResizeFinalize": "onBeforeEventSegmentResizeFinalize"; "onBeforeExcelExport": "onBeforeExcelExport"; "onBeforeFillHandleDragStart": "onBeforeFillHandleDragStart"; "onBeforeFinishCellEdit": "onBeforeFinishCellEdit"; "onBeforeFinishRowEdit": "onBeforeFinishRowEdit"; "onBeforeHide": "onBeforeHide"; "onBeforeMspExport": "onBeforeMspExport"; "onBeforePan": "onBeforePan"; "onBeforePaste": "onBeforePaste"; "onBeforePdfExport": "onBeforePdfExport"; "onBeforePresetChange": "onBeforePresetChange"; "onBeforeProjectEdit": "onBeforeProjectEdit"; "onBeforeProjectEditShow": "onBeforeProjectEditShow"; "onBeforeProjectSave": "onBeforeProjectSave"; "onBeforeRenderRow": "onBeforeRenderRow"; "onBeforeRenderRows": "onBeforeRenderRows"; "onBeforeRowCollapse": "onBeforeRowCollapse"; "onBeforeRowExpand": "onBeforeRowExpand"; "onBeforeSelectionChange": "onBeforeSelectionChange"; "onBeforeSetRecord": "onBeforeSetRecord"; "onBeforeShow": "onBeforeShow"; "onBeforeShowTerminals": "onBeforeShowTerminals"; "onBeforeStartRowEdit": "onBeforeStartRowEdit"; "onBeforeStateApply": "onBeforeStateApply"; "onBeforeStateSave": "onBeforeStateSave"; "onBeforeTaskAdd": "onBeforeTaskAdd"; "onBeforeTaskDelete": "onBeforeTaskDelete"; "onBeforeTaskDrag": "onBeforeTaskDrag"; "onBeforeTaskDropFinalize": "onBeforeTaskDropFinalize"; "onBeforeTaskEdit": "onBeforeTaskEdit"; "onBeforeTaskEditShow": "onBeforeTaskEditShow"; "onBeforeTaskResize": "onBeforeTaskResize"; "onBeforeTaskResizeFinalize": "onBeforeTaskResizeFinalize"; "onBeforeTaskSave": "onBeforeTaskSave"; "onBeforeTaskSegmentDrag": "onBeforeTaskSegmentDrag"; "onBeforeTaskSegmentDropFinalize": "onBeforeTaskSegmentDropFinalize"; "onBeforeTaskSegmentResize": "onBeforeTaskSegmentResize"; "onBeforeTaskSegmentResizeFinalize": "onBeforeTaskSegmentResizeFinalize"; "onBeforeToggleGroup": "onBeforeToggleGroup"; "onBeforeToggleNode": "onBeforeToggleNode"; "onCancelCellEdit": "onCancelCellEdit"; "onCatchAll": "onCatchAll"; "onCellClick": "onCellClick"; "onCellContextMenu": "onCellContextMenu"; "onCellDblClick": "onCellDblClick"; "onCellMenuBeforeShow": "onCellMenuBeforeShow"; "onCellMenuItem": "onCellMenuItem"; "onCellMenuShow": "onCellMenuShow"; "onCellMenuToggleItem": "onCellMenuToggleItem"; "onCellMouseEnter": "onCellMouseEnter"; "onCellMouseLeave": "onCellMouseLeave"; "onCellMouseOut": "onCellMouseOut"; "onCellMouseOver": "onCellMouseOver"; "onCollapse": "onCollapse"; "onCollapseNode": "onCollapseNode"; "onColumnDrag": "onColumnDrag"; "onColumnDragStart": "onColumnDragStart"; "onColumnDrop": "onColumnDrop"; "onColumnResize": "onColumnResize"; "onColumnResizeStart": "onColumnResizeStart"; "onContextMenuItem": "onContextMenuItem"; "onContextMenuToggleItem": "onContextMenuToggleItem"; "onCopy": "onCopy"; "onCriticalPathsHighlighted": "onCriticalPathsHighlighted"; "onCriticalPathsUnhighlighted": "onCriticalPathsUnhighlighted"; "onCurrentTimelineUpdate": "onCurrentTimelineUpdate"; "onDataChange": "onDataChange"; "onDateRangeChange": "onDateRangeChange"; "onDependenciesDrawn": "onDependenciesDrawn"; "onDependencyClick": "onDependencyClick"; "onDependencyContextMenu": "onDependencyContextMenu"; "onDependencyCreateDragStart": "onDependencyCreateDragStart"; "onDependencyCreateDrop": "onDependencyCreateDrop"; "onDependencyDblClick": "onDependencyDblClick"; "onDependencyMouseOut": "onDependencyMouseOut"; "onDependencyMouseOver": "onDependencyMouseOver"; "onDependencyValidationComplete": "onDependencyValidationComplete"; "onDependencyValidationStart": "onDependencyValidationStart"; "onDestroy": "onDestroy"; "onDirtyStateChange": "onDirtyStateChange"; "onDragCreateEnd": "onDragCreateEnd"; "onDragCreateStart": "onDragCreateStart"; "onDragSelecting": "onDragSelecting"; "onElementCreated": "onElementCreated"; "onEventEditBeforeSetRecord": "onEventEditBeforeSetRecord"; "onEventMenuBeforeShow": "onEventMenuBeforeShow"; "onEventMenuItem": "onEventMenuItem"; "onEventMenuShow": "onEventMenuShow"; "onEventPartialResize": "onEventPartialResize"; "onEventResizeEnd": "onEventResizeEnd"; "onEventResizeStart": "onEventResizeStart"; "onEventSegmentPartialResize": "onEventSegmentPartialResize"; "onEventSegmentResizeEnd": "onEventSegmentResizeEnd"; "onEventSegmentResizeStart": "onEventSegmentResizeStart"; "onExpand": "onExpand"; "onExpandNode": "onExpandNode"; "onFileDrop": "onFileDrop"; "onFillHandleBeforeDragFinalize": "onFillHandleBeforeDragFinalize"; "onFillHandleDrag": "onFillHandleDrag"; "onFillHandleDragAbort": "onFillHandleDragAbort"; "onFillHandleDragEnd": "onFillHandleDragEnd"; "onFillHandleDragStart": "onFillHandleDragStart"; "onFinishCellEdit": "onFinishCellEdit"; "onFinishRowEdit": "onFinishRowEdit"; "onFocusIn": "onFocusIn"; "onFocusOut": "onFocusOut"; "onGridRowBeforeDragStart": "onGridRowBeforeDragStart"; "onGridRowBeforeDropFinalize": "onGridRowBeforeDropFinalize"; "onGridRowDrag": "onGridRowDrag"; "onGridRowDragAbort": "onGridRowDragAbort"; "onGridRowDragStart": "onGridRowDragStart"; "onGridRowDrop": "onGridRowDrop"; "onHeaderClick": "onHeaderClick"; "onHeaderMenuBeforeShow": "onHeaderMenuBeforeShow"; "onHeaderMenuItem": "onHeaderMenuItem"; "onHeaderMenuShow": "onHeaderMenuShow"; "onHeaderMenuToggleItem": "onHeaderMenuToggleItem"; "onHide": "onHide"; "onLockRows": "onLockRows"; "onMouseOut": "onMouseOut"; "onMouseOver": "onMouseOver"; "onMspExport": "onMspExport"; "onNavigate": "onNavigate"; "onNoZoomChange": "onNoZoomChange"; "onPaint": "onPaint"; "onPaste": "onPaste"; "onPdfExport": "onPdfExport"; "onPercentBarDrag": "onPercentBarDrag"; "onPercentBarDragAbort": "onPercentBarDragAbort"; "onPercentBarDragStart": "onPercentBarDragStart"; "onPercentBarDrop": "onPercentBarDrop"; "onPresetChange": "onPresetChange"; "onProjectEditCanceled": "onProjectEditCanceled"; "onReadOnly": "onReadOnly"; "onRecompose": "onRecompose"; "onReleaseTask": "onReleaseTask"; "onRenderRow": "onRenderRow"; "onRenderRows": "onRenderRows"; "onRenderTask": "onRenderTask"; "onResize": "onResize"; "onResourceAssignmentClick": "onResourceAssignmentClick"; "onResponsive": "onResponsive"; "onRowCollapse": "onRowCollapse"; "onRowExpand": "onRowExpand"; "onRowMouseEnter": "onRowMouseEnter"; "onRowMouseLeave": "onRowMouseLeave"; "onScheduleMenuBeforeShow": "onScheduleMenuBeforeShow"; "onScheduleMenuItem": "onScheduleMenuItem"; "onScheduleMenuShow": "onScheduleMenuShow"; "onScroll": "onScroll"; "onScrollButtonClick": "onScrollButtonClick"; "onSelectionChange": "onSelectionChange"; "onSelectionModeChange": "onSelectionModeChange"; "onShow": "onShow"; "onSplit": "onSplit"; "onSplitterCollapseClick": "onSplitterCollapseClick"; "onSplitterDragEnd": "onSplitterDragEnd"; "onSplitterDragStart": "onSplitterDragStart"; "onSplitterExpandClick": "onSplitterExpandClick"; "onStartCellEdit": "onStartCellEdit"; "onStartRowEdit": "onStartRowEdit"; "onSubGridCollapse": "onSubGridCollapse"; "onSubGridExpand": "onSubGridExpand"; "onTaskClick": "onTaskClick"; "onTaskContextMenu": "onTaskContextMenu"; "onTaskDblClick": "onTaskDblClick"; "onTaskDrag": "onTaskDrag"; "onTaskDragStart": "onTaskDragStart"; "onTaskDrop": "onTaskDrop"; "onTaskEditCanceled": "onTaskEditCanceled"; "onTaskKeyDown": "onTaskKeyDown"; "onTaskKeyUp": "onTaskKeyUp"; "onTaskMenuBeforeShow": "onTaskMenuBeforeShow"; "onTaskMenuItem": "onTaskMenuItem"; "onTaskMenuShow": "onTaskMenuShow"; "onTaskMouseDown": "onTaskMouseDown"; "onTaskMouseOut": "onTaskMouseOut"; "onTaskMouseOver": "onTaskMouseOver"; "onTaskMouseUp": "onTaskMouseUp"; "onTaskNonWorkingTimeClick": "onTaskNonWorkingTimeClick"; "onTaskNonWorkingTimeContextMenu": "onTaskNonWorkingTimeContextMenu"; "onTaskNonWorkingTimeDblClick": "onTaskNonWorkingTimeDblClick"; "onTaskPartialResize": "onTaskPartialResize"; "onTaskResizeEnd": "onTaskResizeEnd"; "onTaskResizeStart": "onTaskResizeStart"; "onTaskSegmentDrag": "onTaskSegmentDrag"; "onTaskSegmentDragStart": "onTaskSegmentDragStart"; "onTaskSegmentDrop": "onTaskSegmentDrop"; "onTaskSegmentPartialResize": "onTaskSegmentPartialResize"; "onTaskSegmentResizeEnd": "onTaskSegmentResizeEnd"; "onTaskSegmentResizeStart": "onTaskSegmentResizeStart"; "onTickSizeChange": "onTickSizeChange"; "onTimeAxisChange": "onTimeAxisChange"; "onTimeAxisHeaderClick": "onTimeAxisHeaderClick"; "onTimeAxisHeaderContextMenu": "onTimeAxisHeaderContextMenu"; "onTimeAxisHeaderDblClick": "onTimeAxisHeaderDblClick"; "onTimeAxisHeaderMenuBeforeShow": "onTimeAxisHeaderMenuBeforeShow"; "onTimeAxisHeaderMenuItem": "onTimeAxisHeaderMenuItem"; "onTimeAxisHeaderMenuShow": "onTimeAxisHeaderMenuShow"; "onTimelineContextChange": "onTimelineContextChange"; "onTimelineViewportResize": "onTimelineViewportResize"; "onTimeRangeHeaderClick": "onTimeRangeHeaderClick"; "onTimeRangeHeaderContextMenu": "onTimeRangeHeaderContextMenu"; "onTimeRangeHeaderDblClick": "onTimeRangeHeaderDblClick"; "onToggleGroup": "onToggleGroup"; "onToggleNode": "onToggleNode"; "onToolClick": "onToolClick"; "onTransactionChange": "onTransactionChange"; "onUnlockRows": "onUnlockRows"; "onUnsplit": "onUnsplit"; "onVisibleDateRangeChange": "onVisibleDateRangeChange"; }, never, never>;
4470
+ }