@bryntum/scheduler-vue-3-thin 7.2.0 → 7.2.2

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 (33) hide show
  1. package/README.md +6 -6
  2. package/lib/chunks/{Bbpvg_hf.js → BnIvHHwd.js} +4 -2
  3. package/lib/chunks/BnIvHHwd.js.map +1 -0
  4. package/lib/chunks/{FtY3iMiN.js → BxULlQlr.js} +4 -2
  5. package/lib/chunks/BxULlQlr.js.map +1 -0
  6. package/lib/chunks/C-Z2zn9r.js.map +1 -1
  7. package/lib/chunks/COu_0bRA.js.map +1 -1
  8. package/lib/chunks/DxeM4HUm.js.map +1 -1
  9. package/lib/chunks/ga9EWphl.js.map +1 -1
  10. package/lib/chunks/{qTXsCzE5.js → rsYNcstx.js} +7 -5
  11. package/lib/chunks/rsYNcstx.js.map +1 -0
  12. package/lib/components/BryntumScheduler.js +1 -1
  13. package/lib/components/BryntumSchedulerBase.js +1 -1
  14. package/lib/components/BryntumTimelineHistogram.js +1 -1
  15. package/lib/index.js +3 -3
  16. package/package.json +1 -1
  17. package/src/components/BryntumEventColorField.vue +1 -1
  18. package/src/components/BryntumEventColorFieldProps.ts +1 -1
  19. package/src/components/BryntumProjectCombo.vue +2 -2
  20. package/src/components/BryntumProjectComboProps.ts +2 -2
  21. package/src/components/BryntumResourceCombo.vue +2 -2
  22. package/src/components/BryntumResourceComboProps.ts +2 -2
  23. package/src/components/BryntumResourceFilter.vue +1 -1
  24. package/src/components/BryntumResourceFilterProps.ts +1 -1
  25. package/src/components/BryntumScheduler.vue +29 -14
  26. package/src/components/BryntumSchedulerBase.vue +29 -14
  27. package/src/components/BryntumSchedulerBaseProps.ts +8 -8
  28. package/src/components/BryntumSchedulerProps.ts +8 -8
  29. package/src/components/BryntumTimelineHistogram.vue +22 -8
  30. package/src/components/BryntumTimelineHistogramProps.ts +4 -4
  31. package/lib/chunks/Bbpvg_hf.js.map +0 -1
  32. package/lib/chunks/FtY3iMiN.js.map +0 -1
  33. package/lib/chunks/qTXsCzE5.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../chunks/Bbpvg_hf.js";
1
+ import { _ as f } from "../chunks/BnIvHHwd.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../chunks/FtY3iMiN.js";
1
+ import { _ as f } from "../chunks/BxULlQlr.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../chunks/qTXsCzE5.js";
1
+ import { _ as f } from "../chunks/rsYNcstx.js";
2
2
  export {
3
3
  f as default
4
4
  };
package/lib/index.js CHANGED
@@ -3,10 +3,10 @@ import { _ as m } from "./chunks/COu_0bRA.js";
3
3
  import { _ as s } from "./chunks/BD-Hg3lY.js";
4
4
  import { _ as n } from "./chunks/ga9EWphl.js";
5
5
  import { _ as f } from "./chunks/DxeM4HUm.js";
6
- import { _ as x } from "./chunks/Bbpvg_hf.js";
7
- import { _ } from "./chunks/FtY3iMiN.js";
6
+ import { _ as x } from "./chunks/BnIvHHwd.js";
7
+ import { _ } from "./chunks/BxULlQlr.js";
8
8
  import { _ as l } from "./chunks/CQl8vwrU.js";
9
- import { _ as i } from "./chunks/qTXsCzE5.js";
9
+ import { _ as i } from "./chunks/rsYNcstx.js";
10
10
  import { _ as C } from "./chunks/DgB_l35T.js";
11
11
  import { _ as S } from "./chunks/BIDAJ9KI.js";
12
12
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bryntum/scheduler-vue-3-thin",
3
- "version": "7.2.0",
3
+ "version": "7.2.2",
4
4
  "description": "Vue 3 wrappers for Bryntum Scheduler JavaScript component",
5
5
  "keywords": [
6
6
  "bryntum",
@@ -511,7 +511,7 @@ defineProps<{
511
511
  required ? : Boolean
512
512
  /**
513
513
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
514
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
514
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
515
515
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
516
516
  * behaviour will be activated.
517
517
  */
@@ -496,7 +496,7 @@ export declare type BryntumEventColorFieldProps = {
496
496
  required ? : Boolean
497
497
  /**
498
498
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
499
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
499
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
500
500
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
501
501
  * behaviour will be activated.
502
502
  */
@@ -190,7 +190,7 @@ defineProps<{
190
190
  contentElementCls ? : string|object
191
191
  /**
192
192
  * If configured as `true`, this means that when an unmatched string is typed into the
193
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
193
+ * combo's input field, and <kbd>Enter</kbd>, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
194
194
  * a new record will be created using the typed string as the [displayField](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-displayField).
195
195
  * ...
196
196
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#config-createOnUnmatched)
@@ -689,7 +689,7 @@ defineProps<{
689
689
  required ? : Boolean
690
690
  /**
691
691
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
692
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
692
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
693
693
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
694
694
  * behaviour will be activated.
695
695
  */
@@ -175,7 +175,7 @@ export declare type BryntumProjectComboProps = {
175
175
  contentElementCls ? : string|object
176
176
  /**
177
177
  * If configured as `true`, this means that when an unmatched string is typed into the
178
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
178
+ * combo's input field, and <kbd>Enter</kbd>, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
179
179
  * a new record will be created using the typed string as the [displayField](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-displayField).
180
180
  * ...
181
181
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#config-createOnUnmatched)
@@ -674,7 +674,7 @@ export declare type BryntumProjectComboProps = {
674
674
  required ? : Boolean
675
675
  /**
676
676
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
677
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
677
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
678
678
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
679
679
  * behaviour will be activated.
680
680
  */
@@ -190,7 +190,7 @@ defineProps<{
190
190
  contentElementCls ? : string|object
191
191
  /**
192
192
  * If configured as `true`, this means that when an unmatched string is typed into the
193
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
193
+ * combo's input field, and <kbd>Enter</kbd>, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
194
194
  * a new record will be created using the typed string as the [displayField](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-displayField).
195
195
  * ...
196
196
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ResourceCombo#config-createOnUnmatched)
@@ -685,7 +685,7 @@ defineProps<{
685
685
  required ? : Boolean
686
686
  /**
687
687
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
688
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
688
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
689
689
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
690
690
  * behaviour will be activated.
691
691
  */
@@ -175,7 +175,7 @@ export declare type BryntumResourceComboProps = {
175
175
  contentElementCls ? : string|object
176
176
  /**
177
177
  * If configured as `true`, this means that when an unmatched string is typed into the
178
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
178
+ * combo's input field, and <kbd>Enter</kbd>, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
179
179
  * a new record will be created using the typed string as the [displayField](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-displayField).
180
180
  * ...
181
181
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ResourceCombo#config-createOnUnmatched)
@@ -670,7 +670,7 @@ export declare type BryntumResourceComboProps = {
670
670
  required ? : Boolean
671
671
  /**
672
672
  * If this field is not [readOnly](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-readOnly), then setting this option means that pressing
673
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
673
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
674
674
  * the user focused the field. If the field is *not* changed from when focused, the [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
675
675
  * behaviour will be activated.
676
676
  */
@@ -541,7 +541,7 @@ defineProps<{
541
541
  */
542
542
  title ? : string
543
543
  /**
544
- * Select/deselect all if `CMD`/`CTRL` is pressed when clicking
544
+ * Select/deselect all if <kbd>Cmd</kbd>/<kbd>Ctrl</kbd> is pressed when clicking
545
545
  */
546
546
  toggleAllIfCtrlPressed ? : Boolean
547
547
  /**
@@ -526,7 +526,7 @@ export declare type BryntumResourceFilterProps = {
526
526
  */
527
527
  title ? : string
528
528
  /**
529
- * Select/deselect all if `CMD`/`CTRL` is pressed when clicking
529
+ * Select/deselect all if <kbd>Cmd</kbd>/<kbd>Ctrl</kbd> is pressed when clicking
530
530
  */
531
531
  toggleAllIfCtrlPressed ? : Boolean
532
532
  /**
@@ -452,7 +452,7 @@ defineProps<{
452
452
  */
453
453
  emptyText ? : string|EmptyTextDomConfig
454
454
  /**
455
- * Allow using [Delete] and [Backspace] to remove events/assignments
455
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
456
456
  */
457
457
  enableDeleteKey ? : Boolean
458
458
  /**
@@ -553,8 +553,8 @@ defineProps<{
553
553
  * @param {'tonal','filled','bordered','traced','outlined','indented','line','dashed','minimal','rounded','calendar','interday','gantt',null} detail.renderData.eventStyle The `eventStyle` of the event. Use this to apply custom styles to the event DOM element
554
554
  * @param {string} detail.renderData.eventColor The `eventColor` of the event. Use this to set a custom color for the rendered event
555
555
  * @param {string} detail.renderData.ariaLabel A description of the event details used for screen readers
556
- * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents.
557
- * @returns {string,DomConfig,DomConfig[]} A simple string, or a DomConfig (or array thereof)
556
+ * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents. <h3>Using JSX (React)</h3> When using the Bryntum React wrapper, the event renderer can return JSX elements: ```javascript eventRenderer({ eventRecord, resourceRecord, renderData }) { return &lt;MyEventComponent event={eventRecord} resource={resourceRecord} />; } ``` *Using JSX in the event renderer creates a React portal for each rendered event. For schedulers with many visible events or frequently re-rendered views, this may impact scrolling performance compared to returning plain strings or [DomConfig](https://bryntum.com/products/scheduler/docs/api/Core/helper/DomHelper#typedef-DomConfig) objects. Consider using JSX primarily for events that require complex interactive React components.*
557
+ * @returns {string,DomConfig,DomConfig[]} A simple string, a DomConfig (or array thereof), or a JSX element when using React
558
558
  */
559
559
  eventRenderer ? : (detail: { eventRecord: EventModel, resourceRecord: ResourceModel, assignmentRecord: AssignmentModel, scheduler: Scheduler, renderData: { event: EventModel, cls: DomClassList|string, wrapperCls: DomClassList|string, iconCls: DomClassList|string, left: number, width: number, height: number, style: string|Record<string, string>, wrapperStyle: string|Record<string, string>, eventStyle: 'tonal'|'filled'|'bordered'|'traced'|'outlined'|'indented'|'line'|'dashed'|'minimal'|'rounded'|'calendar'|'interday'|'gantt'|null, eventColor: string, ariaLabel: string, children: DomConfig[] } }) => string|DomConfig|DomConfig[]
560
560
  /**
@@ -1642,7 +1642,7 @@ defineProps<{
1642
1642
  cellEditFeature ? : object|Boolean|string|CellEdit|CellEditConfig
1643
1643
  /**
1644
1644
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
1645
- * `SPACE` key when the cell is focused.
1645
+ * <kbd>Space</kbd> key when the cell is focused.
1646
1646
  * ...
1647
1647
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellMenu)
1648
1648
  */
@@ -1734,8 +1734,8 @@ defineProps<{
1734
1734
  */
1735
1735
  dependencyMenuFeature ? : object|Boolean|string|DependencyMenu|DependencyMenuConfig
1736
1736
  /**
1737
- * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
1738
- * <kbd>V</kbd> to copy/cut and paste events.
1737
+ * Allow using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>X</kbd> and
1738
+ * <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>V</kbd> to copy/cut and paste events.
1739
1739
  * ...
1740
1740
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/EventCopyPaste)
1741
1741
  */
@@ -1837,8 +1837,8 @@ defineProps<{
1837
1837
  filterBarFeature ? : object|Boolean|string|FilterBar|FilterBarConfig
1838
1838
  /**
1839
1839
  * Enables rendering and handling of row groups. The actual grouping is done in the store, but triggered by
1840
- * <kbd>shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1841
- * one anywhere on grid). Use <kbd>shift</kbd> + <kbd>alt</kbd> + click, or the context menu, to remove a column
1840
+ * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1841
+ * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
1842
1842
  * grouper.
1843
1843
  * ...
1844
1844
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/Group)
@@ -2220,7 +2220,7 @@ const emit = defineEmits<{
2220
2220
  */
2221
2221
  (e: 'assignmentSelectionChange', params: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string): void
2222
2222
  /**
2223
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
2223
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
2224
2224
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
2225
2225
  * case records should be "manually" removed after confirmation:
2226
2226
  * ...
@@ -2302,7 +2302,7 @@ const emit = defineEmits<{
2302
2302
  */
2303
2303
  (e: 'beforeCellEditStart', params: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
2304
2304
  /**
2305
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
2305
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
2306
2306
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
2307
2307
  * @param {string} e Event name
2308
2308
  * @param {object} params Event parameters
@@ -2574,7 +2574,7 @@ const emit = defineEmits<{
2574
2574
  */
2575
2575
  (e: 'beforeEventAdd', params: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
2576
2576
  /**
2577
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
2577
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
2578
2578
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
2579
2579
  * for async vetoing).
2580
2580
  * ...
@@ -4482,12 +4482,13 @@ const emit = defineEmits<{
4482
4482
  * @param {Scheduler.model.EventModel[]} params.params.event.originalEventRecords The event records that were copied
4483
4483
  * @param {Scheduler.model.AssignmentModel[]} params.params.event.originalAssignmentRecords The assignment records that were copied
4484
4484
  * @param {Date} params.params.event.date The paste date
4485
- * @param {Scheduler.model.ResourceModel} params.params.event.resourceRecord The target resource record
4485
+ * @param {Scheduler.model.ResourceModel} params.params.event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
4486
+ * @param {Scheduler.model.ResourceModel[]} params.params.event.resourceRecords All target resource records that the events would be pasted to
4486
4487
  * @param {boolean} params.params.event.isCut `true` if this is a cut action
4487
4488
  * @param {string} params.params.event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
4488
4489
  * @param {'overlappingEvents','resourceReadOnly'} params.params.event.reason A string id to use for displaying an error message to the user.
4489
4490
  */
4490
- (e: 'pasteNotAllowed', params: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string): void
4491
+ (e: 'pasteNotAllowed', params: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, resourceRecords: ResourceModel[], isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string): void
4491
4492
  /**
4492
4493
  * Fires on the owning Grid when export has finished
4493
4494
  * @param {string} e Event name
@@ -4498,7 +4499,7 @@ const emit = defineEmits<{
4498
4499
  * @param {Response} params.params.event.response Optional response, if received
4499
4500
  * @param {Error} params.params.event.error Optional error, if exception occurred
4500
4501
  */
4501
- (e: 'pdfExport', params: ((event: { response?: any, error?: Error }) => void)|string): void
4502
+ (e: 'pdfExport', params: ((event: { response?: Response, error?: Error }) => void)|string): void
4502
4503
  /**
4503
4504
  * Fired after the [viewPreset](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/mixin/TimelineViewPresets#config-viewPreset) has changed.
4504
4505
  * @param {string} e Event name
@@ -5625,6 +5626,18 @@ const emit = defineEmits<{
5625
5626
  * @param {Core.widget.Tool} params.params.event.tool The tool which is being clicked.
5626
5627
  */
5627
5628
  (e: 'toolClick', params: ((event: { source: Tool, tool: Tool }) => void)|string): void
5629
+ /**
5630
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
5631
+ * @param {string} e Event name
5632
+ * @param {object} params Event parameters
5633
+ * @param {string} params.e Event name
5634
+ * @param {object} params.params Event parameters
5635
+ * @param {object} params.params.event Event object
5636
+ * @param {Grid.view.Grid} params.params.event.source The grid instance
5637
+ * @param {(string|Function)[]} params.params.event.groupers Array of field names or functions representing the current grouping levels
5638
+ * @param {(string|Function)[]} params.params.event.oldGroupers Array of field names or functions representing the previous grouping levels
5639
+ */
5640
+ (e: 'treeGroup', params: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string): void
5628
5641
  /**
5629
5642
  * Fires when row locking is disabled.
5630
5643
  * @param {string} e Event name
@@ -6211,6 +6224,7 @@ const widgetData = {
6211
6224
  'onToggleGroup',
6212
6225
  'onToggleNode',
6213
6226
  'onToolClick',
6227
+ 'onTreeGroup',
6214
6228
  'onUnlockRows',
6215
6229
  'onUnsplit',
6216
6230
  'onVisibleDateRangeChange',
@@ -6542,6 +6556,7 @@ const widgetData = {
6542
6556
  'toggleGroup',
6543
6557
  'toggleNode',
6544
6558
  'toolClick',
6559
+ 'treeGroup',
6545
6560
  'unlockRows',
6546
6561
  'unsplit',
6547
6562
  'visibleDateRangeChange'
@@ -452,7 +452,7 @@ defineProps<{
452
452
  */
453
453
  emptyText ? : string|EmptyTextDomConfig
454
454
  /**
455
- * Allow using [Delete] and [Backspace] to remove events/assignments
455
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
456
456
  */
457
457
  enableDeleteKey ? : Boolean
458
458
  /**
@@ -553,8 +553,8 @@ defineProps<{
553
553
  * @param {'tonal','filled','bordered','traced','outlined','indented','line','dashed','minimal','rounded','calendar','interday','gantt',null} detail.renderData.eventStyle The `eventStyle` of the event. Use this to apply custom styles to the event DOM element
554
554
  * @param {string} detail.renderData.eventColor The `eventColor` of the event. Use this to set a custom color for the rendered event
555
555
  * @param {string} detail.renderData.ariaLabel A description of the event details used for screen readers
556
- * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents.
557
- * @returns {string,DomConfig,DomConfig[]} A simple string, or a DomConfig (or array thereof)
556
+ * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents. <h3>Using JSX (React)</h3> When using the Bryntum React wrapper, the event renderer can return JSX elements: ```javascript eventRenderer({ eventRecord, resourceRecord, renderData }) { return &lt;MyEventComponent event={eventRecord} resource={resourceRecord} />; } ``` *Using JSX in the event renderer creates a React portal for each rendered event. For schedulers with many visible events or frequently re-rendered views, this may impact scrolling performance compared to returning plain strings or [DomConfig](https://bryntum.com/products/scheduler/docs/api/Core/helper/DomHelper#typedef-DomConfig) objects. Consider using JSX primarily for events that require complex interactive React components.*
557
+ * @returns {string,DomConfig,DomConfig[]} A simple string, a DomConfig (or array thereof), or a JSX element when using React
558
558
  */
559
559
  eventRenderer ? : (detail: { eventRecord: EventModel, resourceRecord: ResourceModel, assignmentRecord: AssignmentModel, scheduler: Scheduler, renderData: { event: EventModel, cls: DomClassList|string, wrapperCls: DomClassList|string, iconCls: DomClassList|string, left: number, width: number, height: number, style: string|Record<string, string>, wrapperStyle: string|Record<string, string>, eventStyle: 'tonal'|'filled'|'bordered'|'traced'|'outlined'|'indented'|'line'|'dashed'|'minimal'|'rounded'|'calendar'|'interday'|'gantt'|null, eventColor: string, ariaLabel: string, children: DomConfig[] } }) => string|DomConfig|DomConfig[]
560
560
  /**
@@ -1641,7 +1641,7 @@ defineProps<{
1641
1641
  cellEditFeature ? : object|Boolean|string|CellEdit|CellEditConfig
1642
1642
  /**
1643
1643
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
1644
- * `SPACE` key when the cell is focused.
1644
+ * <kbd>Space</kbd> key when the cell is focused.
1645
1645
  * ...
1646
1646
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellMenu)
1647
1647
  */
@@ -1733,8 +1733,8 @@ defineProps<{
1733
1733
  */
1734
1734
  dependencyMenuFeature ? : object|Boolean|string|DependencyMenu|DependencyMenuConfig
1735
1735
  /**
1736
- * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
1737
- * <kbd>V</kbd> to copy/cut and paste events.
1736
+ * Allow using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>X</kbd> and
1737
+ * <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>V</kbd> to copy/cut and paste events.
1738
1738
  * ...
1739
1739
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/EventCopyPaste)
1740
1740
  */
@@ -1836,8 +1836,8 @@ defineProps<{
1836
1836
  filterBarFeature ? : object|Boolean|string|FilterBar|FilterBarConfig
1837
1837
  /**
1838
1838
  * Enables rendering and handling of row groups. The actual grouping is done in the store, but triggered by
1839
- * <kbd>shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1840
- * one anywhere on grid). Use <kbd>shift</kbd> + <kbd>alt</kbd> + click, or the context menu, to remove a column
1839
+ * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1840
+ * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
1841
1841
  * grouper.
1842
1842
  * ...
1843
1843
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/Group)
@@ -2219,7 +2219,7 @@ const emit = defineEmits<{
2219
2219
  */
2220
2220
  (e: 'assignmentSelectionChange', params: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string): void
2221
2221
  /**
2222
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
2222
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
2223
2223
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
2224
2224
  * case records should be "manually" removed after confirmation:
2225
2225
  * ...
@@ -2301,7 +2301,7 @@ const emit = defineEmits<{
2301
2301
  */
2302
2302
  (e: 'beforeCellEditStart', params: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
2303
2303
  /**
2304
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
2304
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
2305
2305
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
2306
2306
  * @param {string} e Event name
2307
2307
  * @param {object} params Event parameters
@@ -2573,7 +2573,7 @@ const emit = defineEmits<{
2573
2573
  */
2574
2574
  (e: 'beforeEventAdd', params: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
2575
2575
  /**
2576
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
2576
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
2577
2577
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
2578
2578
  * for async vetoing).
2579
2579
  * ...
@@ -4481,12 +4481,13 @@ const emit = defineEmits<{
4481
4481
  * @param {Scheduler.model.EventModel[]} params.params.event.originalEventRecords The event records that were copied
4482
4482
  * @param {Scheduler.model.AssignmentModel[]} params.params.event.originalAssignmentRecords The assignment records that were copied
4483
4483
  * @param {Date} params.params.event.date The paste date
4484
- * @param {Scheduler.model.ResourceModel} params.params.event.resourceRecord The target resource record
4484
+ * @param {Scheduler.model.ResourceModel} params.params.event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
4485
+ * @param {Scheduler.model.ResourceModel[]} params.params.event.resourceRecords All target resource records that the events would be pasted to
4485
4486
  * @param {boolean} params.params.event.isCut `true` if this is a cut action
4486
4487
  * @param {string} params.params.event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
4487
4488
  * @param {'overlappingEvents','resourceReadOnly'} params.params.event.reason A string id to use for displaying an error message to the user.
4488
4489
  */
4489
- (e: 'pasteNotAllowed', params: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string): void
4490
+ (e: 'pasteNotAllowed', params: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, resourceRecords: ResourceModel[], isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string): void
4490
4491
  /**
4491
4492
  * Fires on the owning Grid when export has finished
4492
4493
  * @param {string} e Event name
@@ -4497,7 +4498,7 @@ const emit = defineEmits<{
4497
4498
  * @param {Response} params.params.event.response Optional response, if received
4498
4499
  * @param {Error} params.params.event.error Optional error, if exception occurred
4499
4500
  */
4500
- (e: 'pdfExport', params: ((event: { response?: any, error?: Error }) => void)|string): void
4501
+ (e: 'pdfExport', params: ((event: { response?: Response, error?: Error }) => void)|string): void
4501
4502
  /**
4502
4503
  * Fired after the [viewPreset](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/mixin/TimelineViewPresets#config-viewPreset) has changed.
4503
4504
  * @param {string} e Event name
@@ -5624,6 +5625,18 @@ const emit = defineEmits<{
5624
5625
  * @param {Core.widget.Tool} params.params.event.tool The tool which is being clicked.
5625
5626
  */
5626
5627
  (e: 'toolClick', params: ((event: { source: Tool, tool: Tool }) => void)|string): void
5628
+ /**
5629
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
5630
+ * @param {string} e Event name
5631
+ * @param {object} params Event parameters
5632
+ * @param {string} params.e Event name
5633
+ * @param {object} params.params Event parameters
5634
+ * @param {object} params.params.event Event object
5635
+ * @param {Grid.view.Grid} params.params.event.source The grid instance
5636
+ * @param {(string|Function)[]} params.params.event.groupers Array of field names or functions representing the current grouping levels
5637
+ * @param {(string|Function)[]} params.params.event.oldGroupers Array of field names or functions representing the previous grouping levels
5638
+ */
5639
+ (e: 'treeGroup', params: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string): void
5627
5640
  /**
5628
5641
  * Fires when row locking is disabled.
5629
5642
  * @param {string} e Event name
@@ -6209,6 +6222,7 @@ const widgetData = {
6209
6222
  'onToggleGroup',
6210
6223
  'onToggleNode',
6211
6224
  'onToolClick',
6225
+ 'onTreeGroup',
6212
6226
  'onUnlockRows',
6213
6227
  'onUnsplit',
6214
6228
  'onVisibleDateRangeChange',
@@ -6540,6 +6554,7 @@ const widgetData = {
6540
6554
  'toggleGroup',
6541
6555
  'toggleNode',
6542
6556
  'toolClick',
6557
+ 'treeGroup',
6543
6558
  'unlockRows',
6544
6559
  'unsplit',
6545
6560
  'visibleDateRangeChange'
@@ -414,7 +414,7 @@ export declare type BryntumSchedulerBaseProps = {
414
414
  */
415
415
  emptyText ? : string|EmptyTextDomConfig
416
416
  /**
417
- * Allow using [Delete] and [Backspace] to remove events/assignments
417
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
418
418
  */
419
419
  enableDeleteKey ? : Boolean
420
420
  /**
@@ -515,8 +515,8 @@ export declare type BryntumSchedulerBaseProps = {
515
515
  * @param {'tonal','filled','bordered','traced','outlined','indented','line','dashed','minimal','rounded','calendar','interday','gantt',null} detail.renderData.eventStyle The `eventStyle` of the event. Use this to apply custom styles to the event DOM element
516
516
  * @param {string} detail.renderData.eventColor The `eventColor` of the event. Use this to set a custom color for the rendered event
517
517
  * @param {string} detail.renderData.ariaLabel A description of the event details used for screen readers
518
- * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents.
519
- * @returns {string,DomConfig,DomConfig[]} A simple string, or a DomConfig (or array thereof)
518
+ * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents. <h3>Using JSX (React)</h3> When using the Bryntum React wrapper, the event renderer can return JSX elements: ```javascript eventRenderer({ eventRecord, resourceRecord, renderData }) { return &lt;MyEventComponent event={eventRecord} resource={resourceRecord} />; } ``` *Using JSX in the event renderer creates a React portal for each rendered event. For schedulers with many visible events or frequently re-rendered views, this may impact scrolling performance compared to returning plain strings or [DomConfig](https://bryntum.com/products/scheduler/docs/api/Core/helper/DomHelper#typedef-DomConfig) objects. Consider using JSX primarily for events that require complex interactive React components.*
519
+ * @returns {string,DomConfig,DomConfig[]} A simple string, a DomConfig (or array thereof), or a JSX element when using React
520
520
  */
521
521
  eventRenderer ? : (detail: { eventRecord: EventModel, resourceRecord: ResourceModel, assignmentRecord: AssignmentModel, scheduler: Scheduler, renderData: { event: EventModel, cls: DomClassList|string, wrapperCls: DomClassList|string, iconCls: DomClassList|string, left: number, width: number, height: number, style: string|Record<string, string>, wrapperStyle: string|Record<string, string>, eventStyle: 'tonal'|'filled'|'bordered'|'traced'|'outlined'|'indented'|'line'|'dashed'|'minimal'|'rounded'|'calendar'|'interday'|'gantt'|null, eventColor: string, ariaLabel: string, children: DomConfig[] } }) => string|DomConfig|DomConfig[]
522
522
  /**
@@ -1603,7 +1603,7 @@ export declare type BryntumSchedulerBaseProps = {
1603
1603
  cellEditFeature ? : object|Boolean|string|CellEdit|CellEditConfig
1604
1604
  /**
1605
1605
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
1606
- * `SPACE` key when the cell is focused.
1606
+ * <kbd>Space</kbd> key when the cell is focused.
1607
1607
  * ...
1608
1608
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellMenu)
1609
1609
  */
@@ -1695,8 +1695,8 @@ export declare type BryntumSchedulerBaseProps = {
1695
1695
  */
1696
1696
  dependencyMenuFeature ? : object|Boolean|string|DependencyMenu|DependencyMenuConfig
1697
1697
  /**
1698
- * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
1699
- * <kbd>V</kbd> to copy/cut and paste events.
1698
+ * Allow using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>X</kbd> and
1699
+ * <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>V</kbd> to copy/cut and paste events.
1700
1700
  * ...
1701
1701
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/EventCopyPaste)
1702
1702
  */
@@ -1798,8 +1798,8 @@ export declare type BryntumSchedulerBaseProps = {
1798
1798
  filterBarFeature ? : object|Boolean|string|FilterBar|FilterBarConfig
1799
1799
  /**
1800
1800
  * Enables rendering and handling of row groups. The actual grouping is done in the store, but triggered by
1801
- * <kbd>shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1802
- * one anywhere on grid). Use <kbd>shift</kbd> + <kbd>alt</kbd> + click, or the context menu, to remove a column
1801
+ * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1802
+ * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
1803
1803
  * grouper.
1804
1804
  * ...
1805
1805
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/Group)
@@ -414,7 +414,7 @@ export declare type BryntumSchedulerProps = {
414
414
  */
415
415
  emptyText ? : string|EmptyTextDomConfig
416
416
  /**
417
- * Allow using [Delete] and [Backspace] to remove events/assignments
417
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
418
418
  */
419
419
  enableDeleteKey ? : Boolean
420
420
  /**
@@ -515,8 +515,8 @@ export declare type BryntumSchedulerProps = {
515
515
  * @param {'tonal','filled','bordered','traced','outlined','indented','line','dashed','minimal','rounded','calendar','interday','gantt',null} detail.renderData.eventStyle The `eventStyle` of the event. Use this to apply custom styles to the event DOM element
516
516
  * @param {string} detail.renderData.eventColor The `eventColor` of the event. Use this to set a custom color for the rendered event
517
517
  * @param {string} detail.renderData.ariaLabel A description of the event details used for screen readers
518
- * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents.
519
- * @returns {string,DomConfig,DomConfig[]} A simple string, or a DomConfig (or array thereof)
518
+ * @param {DomConfig[]} detail.renderData.children An array of DOM configs used as children to the `b-sch-event` element. Can be populated with additional DOM configs to have more control over contents. <h3>Using JSX (React)</h3> When using the Bryntum React wrapper, the event renderer can return JSX elements: ```javascript eventRenderer({ eventRecord, resourceRecord, renderData }) { return &lt;MyEventComponent event={eventRecord} resource={resourceRecord} />; } ``` *Using JSX in the event renderer creates a React portal for each rendered event. For schedulers with many visible events or frequently re-rendered views, this may impact scrolling performance compared to returning plain strings or [DomConfig](https://bryntum.com/products/scheduler/docs/api/Core/helper/DomHelper#typedef-DomConfig) objects. Consider using JSX primarily for events that require complex interactive React components.*
519
+ * @returns {string,DomConfig,DomConfig[]} A simple string, a DomConfig (or array thereof), or a JSX element when using React
520
520
  */
521
521
  eventRenderer ? : (detail: { eventRecord: EventModel, resourceRecord: ResourceModel, assignmentRecord: AssignmentModel, scheduler: Scheduler, renderData: { event: EventModel, cls: DomClassList|string, wrapperCls: DomClassList|string, iconCls: DomClassList|string, left: number, width: number, height: number, style: string|Record<string, string>, wrapperStyle: string|Record<string, string>, eventStyle: 'tonal'|'filled'|'bordered'|'traced'|'outlined'|'indented'|'line'|'dashed'|'minimal'|'rounded'|'calendar'|'interday'|'gantt'|null, eventColor: string, ariaLabel: string, children: DomConfig[] } }) => string|DomConfig|DomConfig[]
522
522
  /**
@@ -1604,7 +1604,7 @@ export declare type BryntumSchedulerProps = {
1604
1604
  cellEditFeature ? : object|Boolean|string|CellEdit|CellEditConfig
1605
1605
  /**
1606
1606
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
1607
- * `SPACE` key when the cell is focused.
1607
+ * <kbd>Space</kbd> key when the cell is focused.
1608
1608
  * ...
1609
1609
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellMenu)
1610
1610
  */
@@ -1696,8 +1696,8 @@ export declare type BryntumSchedulerProps = {
1696
1696
  */
1697
1697
  dependencyMenuFeature ? : object|Boolean|string|DependencyMenu|DependencyMenuConfig
1698
1698
  /**
1699
- * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
1700
- * <kbd>V</kbd> to copy/cut and paste events.
1699
+ * Allow using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>X</kbd> and
1700
+ * <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>V</kbd> to copy/cut and paste events.
1701
1701
  * ...
1702
1702
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/EventCopyPaste)
1703
1703
  */
@@ -1799,8 +1799,8 @@ export declare type BryntumSchedulerProps = {
1799
1799
  filterBarFeature ? : object|Boolean|string|FilterBar|FilterBarConfig
1800
1800
  /**
1801
1801
  * Enables rendering and handling of row groups. The actual grouping is done in the store, but triggered by
1802
- * <kbd>shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1803
- * one anywhere on grid). Use <kbd>shift</kbd> + <kbd>alt</kbd> + click, or the context menu, to remove a column
1802
+ * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
1803
+ * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
1804
1804
  * grouper.
1805
1805
  * ...
1806
1806
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Grid/feature/Group)