@bryntum/scheduler-thin-trial 7.2.1 → 7.2.3

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 (147) hide show
  1. package/fluent2-dark.css +31 -31
  2. package/high-contrast-dark.css +32 -32
  3. package/lib/column/ResourceCollapseColumn.js +1 -1
  4. package/lib/crud/AbstractCrudManagerMixin.js +1 -1
  5. package/lib/data/mixin/EventStoreMixin.js +1 -1
  6. package/lib/data/mixin/RecurringTimeSpansMixin.js +1 -1
  7. package/lib/feature/Dependencies.js +1 -1
  8. package/lib/feature/EventCopyPaste.js +1 -1
  9. package/lib/feature/EventDrag.js +1 -1
  10. package/lib/feature/EventEdit.js +1 -1
  11. package/lib/feature/EventResize.css +2 -2
  12. package/lib/feature/ResourceMenu.js +1 -1
  13. package/lib/feature/RowResize.js +1 -1
  14. package/lib/feature/ScheduleContext.js +1 -1
  15. package/lib/feature/SimpleEventEdit.css +2 -2
  16. package/lib/feature/SimpleEventEdit.js +1 -1
  17. package/lib/feature/TreeSummary.js +1 -1
  18. package/lib/feature/base/DragBase.js +1 -1
  19. package/lib/feature/base/EditBase.js +1 -1
  20. package/lib/feature/base/ResourceTimeRangesBase.js +1 -1
  21. package/lib/feature/export/exporter/SchedulerExporterMixin.js +1 -1
  22. package/lib/feature/export/exporter/SinglePageUnscaledExporter.js +1 -1
  23. package/lib/feature/mixin/RecurringEventEdit.js +1 -1
  24. package/lib/localization/Ar.js +2 -1
  25. package/lib/localization/Bg.js +2 -1
  26. package/lib/localization/Ca.js +2 -1
  27. package/lib/localization/Cs.js +2 -1
  28. package/lib/localization/Da.js +2 -1
  29. package/lib/localization/De.js +2 -1
  30. package/lib/localization/El.js +2 -1
  31. package/lib/localization/En.js +2 -1
  32. package/lib/localization/EnGb.js +2 -1
  33. package/lib/localization/Es.js +2 -1
  34. package/lib/localization/Et.js +2 -1
  35. package/lib/localization/Eu.js +2 -1
  36. package/lib/localization/Fi.js +2 -1
  37. package/lib/localization/FrFr.js +2 -1
  38. package/lib/localization/Gl.js +2 -1
  39. package/lib/localization/He.js +2 -1
  40. package/lib/localization/Hi.js +2 -1
  41. package/lib/localization/Hr.js +2 -1
  42. package/lib/localization/Hu.js +2 -1
  43. package/lib/localization/Id.js +2 -1
  44. package/lib/localization/It.js +2 -1
  45. package/lib/localization/Ja.js +2 -1
  46. package/lib/localization/Kk.js +2 -1
  47. package/lib/localization/Ko.js +2 -1
  48. package/lib/localization/Lt.js +2 -1
  49. package/lib/localization/Lv.js +2 -1
  50. package/lib/localization/Ms.js +2 -1
  51. package/lib/localization/Nl.js +2 -1
  52. package/lib/localization/No.js +2 -1
  53. package/lib/localization/Pl.js +2 -1
  54. package/lib/localization/Pt.js +2 -1
  55. package/lib/localization/PtBr.js +2 -1
  56. package/lib/localization/Ro.js +2 -1
  57. package/lib/localization/Ru.js +2 -1
  58. package/lib/localization/Sk.js +2 -1
  59. package/lib/localization/Sl.js +2 -1
  60. package/lib/localization/Sr.js +2 -1
  61. package/lib/localization/SrRs.js +2 -1
  62. package/lib/localization/SvSE.js +2 -1
  63. package/lib/localization/Th.js +2 -1
  64. package/lib/localization/Tr.js +2 -1
  65. package/lib/localization/Uk.js +2 -1
  66. package/lib/localization/Vi.js +2 -1
  67. package/lib/localization/ZhCn.js +2 -1
  68. package/lib/localization/ZhTw.js +2 -1
  69. package/lib/model/RecurrenceModel.js +1 -1
  70. package/lib/model/TimeSpan.js +1 -1
  71. package/lib/model/mixin/EventModelMixin.js +1 -1
  72. package/lib/model/mixin/ProjectModelCommon.js +1 -1
  73. package/lib/model/mixin/RecurringTimeSpan.js +1 -1
  74. package/lib/view/ResourceHeader.js +1 -1
  75. package/lib/view/SchedulerBase.js +1 -1
  76. package/lib/view/TimelineBase.css +1 -1
  77. package/lib/view/TimelineBase.js +1 -1
  78. package/lib/view/TimelineHistogram.css +3 -0
  79. package/lib/view/VerticalTimeAxis.css +8 -1
  80. package/lib/view/mixin/EventNavigation.js +1 -1
  81. package/lib/view/mixin/EventSelection.js +1 -1
  82. package/lib/view/mixin/RecurringEvents.js +1 -1
  83. package/lib/view/mixin/SchedulerDom.js +1 -1
  84. package/lib/view/mixin/SchedulerResourceRendering.js +1 -1
  85. package/lib/view/mixin/SchedulerScroll.js +1 -1
  86. package/lib/view/mixin/TimelineDomEvents.js +1 -1
  87. package/lib/view/mixin/TimelineViewPresets.js +1 -1
  88. package/lib/view/mixin/TimelineZoomable.js +1 -1
  89. package/lib/view/orientation/HorizontalRendering.js +1 -1
  90. package/lib/view/orientation/VerticalRendering.js +1 -1
  91. package/lib/widget/EventColorField.js +1 -1
  92. package/lib/widget/ViewPresetCombo.js +1 -1
  93. package/locales/scheduler.locale.Ar.js +1 -1
  94. package/locales/scheduler.locale.Bg.js +1 -1
  95. package/locales/scheduler.locale.Ca.js +1 -1
  96. package/locales/scheduler.locale.Cs.js +1 -1
  97. package/locales/scheduler.locale.Da.js +1 -1
  98. package/locales/scheduler.locale.De.js +1 -1
  99. package/locales/scheduler.locale.El.js +1 -1
  100. package/locales/scheduler.locale.En.js +1 -1
  101. package/locales/scheduler.locale.EnGb.js +1 -1
  102. package/locales/scheduler.locale.Es.js +1 -1
  103. package/locales/scheduler.locale.Et.js +1 -1
  104. package/locales/scheduler.locale.Eu.js +1 -1
  105. package/locales/scheduler.locale.Fi.js +1 -1
  106. package/locales/scheduler.locale.FrFr.js +1 -1
  107. package/locales/scheduler.locale.Gl.js +1 -1
  108. package/locales/scheduler.locale.He.js +1 -1
  109. package/locales/scheduler.locale.Hi.js +1 -1
  110. package/locales/scheduler.locale.Hr.js +1 -1
  111. package/locales/scheduler.locale.Hu.js +1 -1
  112. package/locales/scheduler.locale.Id.js +1 -1
  113. package/locales/scheduler.locale.It.js +1 -1
  114. package/locales/scheduler.locale.Ja.js +1 -1
  115. package/locales/scheduler.locale.Kk.js +1 -1
  116. package/locales/scheduler.locale.Ko.js +1 -1
  117. package/locales/scheduler.locale.Lt.js +1 -1
  118. package/locales/scheduler.locale.Lv.js +1 -1
  119. package/locales/scheduler.locale.Ms.js +1 -1
  120. package/locales/scheduler.locale.Nl.js +1 -1
  121. package/locales/scheduler.locale.No.js +1 -1
  122. package/locales/scheduler.locale.Pl.js +1 -1
  123. package/locales/scheduler.locale.Pt.js +1 -1
  124. package/locales/scheduler.locale.PtBr.js +1 -1
  125. package/locales/scheduler.locale.Ro.js +1 -1
  126. package/locales/scheduler.locale.Ru.js +1 -1
  127. package/locales/scheduler.locale.Sk.js +1 -1
  128. package/locales/scheduler.locale.Sl.js +1 -1
  129. package/locales/scheduler.locale.Sr.js +1 -1
  130. package/locales/scheduler.locale.SrRs.js +1 -1
  131. package/locales/scheduler.locale.SvSE.js +1 -1
  132. package/locales/scheduler.locale.Th.js +1 -1
  133. package/locales/scheduler.locale.Tr.js +1 -1
  134. package/locales/scheduler.locale.Uk.js +1 -1
  135. package/locales/scheduler.locale.Vi.js +1 -1
  136. package/locales/scheduler.locale.ZhCn.js +1 -1
  137. package/locales/scheduler.locale.ZhTw.js +1 -1
  138. package/material3-dark.css +38 -33
  139. package/material3-light.css +7 -1
  140. package/package.json +1 -1
  141. package/scheduler.css +13 -6
  142. package/scheduler.css.map +2 -2
  143. package/scheduler.d.ts +360 -157
  144. package/stockholm-dark.css +32 -32
  145. package/svalbard-dark.css +32 -32
  146. package/visby-dark.css +33 -32
  147. package/visby-light.css +1 -0
package/scheduler.d.ts CHANGED
@@ -947,8 +947,9 @@ type DurationColumnConfig = {
947
947
  * @param {object} renderData
948
948
  * @param {Grid.column.Column} renderData.column This column
949
949
  * @param {HTMLElement} renderData.headerElement The header element
950
+ * @returns {string,object,void,void} The text or markup to show in the column header
950
951
  */
951
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
952
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
952
953
  /**
953
954
  * An array of the widgets to append to the column header. These widgets have this Column instance
954
955
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -994,7 +995,7 @@ type DurationColumnConfig = {
994
995
  id?: string|number
995
996
  /**
996
997
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
997
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
998
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
998
999
  */
999
1000
  instantUpdate?: boolean
1000
1001
  /**
@@ -1179,7 +1180,7 @@ type DurationColumnConfig = {
1179
1180
  */
1180
1181
  responsiveLevels?: object
1181
1182
  /**
1182
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
1183
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
1183
1184
  * revert the field to the value it had when the edit began. If the value is *not* changed
1184
1185
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
1185
1186
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -1695,8 +1696,9 @@ type EventColorColumnConfig = {
1695
1696
  * @param {object} renderData
1696
1697
  * @param {Grid.column.Column} renderData.column This column
1697
1698
  * @param {HTMLElement} renderData.headerElement The header element
1699
+ * @returns {string,object,void,void} The text or markup to show in the column header
1698
1700
  */
1699
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
1701
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
1700
1702
  /**
1701
1703
  * An array of the widgets to append to the column header. These widgets have this Column instance
1702
1704
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -1742,7 +1744,7 @@ type EventColorColumnConfig = {
1742
1744
  id?: string|number
1743
1745
  /**
1744
1746
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
1745
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
1747
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
1746
1748
  */
1747
1749
  instantUpdate?: boolean
1748
1750
  /**
@@ -1914,7 +1916,7 @@ type EventColorColumnConfig = {
1914
1916
  */
1915
1917
  responsiveLevels?: object
1916
1918
  /**
1917
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
1919
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
1918
1920
  * revert the field to the value it had when the edit began. If the value is *not* changed
1919
1921
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
1920
1922
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -2405,8 +2407,9 @@ type ResourceCollapseColumnConfig = {
2405
2407
  * @param {object} renderData
2406
2408
  * @param {Grid.column.Column} renderData.column This column
2407
2409
  * @param {HTMLElement} renderData.headerElement The header element
2410
+ * @returns {string,object,void,void} The text or markup to show in the column header
2408
2411
  */
2409
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
2412
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
2410
2413
  /**
2411
2414
  * An array of the widgets to append to the column header. These widgets have this Column instance
2412
2415
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -2452,7 +2455,7 @@ type ResourceCollapseColumnConfig = {
2452
2455
  id?: string|number
2453
2456
  /**
2454
2457
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
2455
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
2458
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
2456
2459
  */
2457
2460
  instantUpdate?: boolean
2458
2461
  /**
@@ -2604,7 +2607,7 @@ type ResourceCollapseColumnConfig = {
2604
2607
  */
2605
2608
  responsiveLevels?: object
2606
2609
  /**
2607
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
2610
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
2608
2611
  * revert the field to the value it had when the edit began. If the value is *not* changed
2609
2612
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
2610
2613
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -3093,8 +3096,9 @@ type ResourceInfoColumnConfig = {
3093
3096
  * @param {object} renderData
3094
3097
  * @param {Grid.column.Column} renderData.column This column
3095
3098
  * @param {HTMLElement} renderData.headerElement The header element
3099
+ * @returns {string,object,void,void} The text or markup to show in the column header
3096
3100
  */
3097
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
3101
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
3098
3102
  /**
3099
3103
  * An array of the widgets to append to the column header. These widgets have this Column instance
3100
3104
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -3140,7 +3144,7 @@ type ResourceInfoColumnConfig = {
3140
3144
  id?: string|number
3141
3145
  /**
3142
3146
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
3143
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
3147
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
3144
3148
  */
3145
3149
  instantUpdate?: boolean
3146
3150
  /**
@@ -3292,7 +3296,7 @@ type ResourceInfoColumnConfig = {
3292
3296
  */
3293
3297
  responsiveLevels?: object
3294
3298
  /**
3295
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
3299
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
3296
3300
  * revert the field to the value it had when the edit began. If the value is *not* changed
3297
3301
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
3298
3302
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -3836,8 +3840,9 @@ type ScaleColumnConfig = {
3836
3840
  * @param {object} renderData
3837
3841
  * @param {Grid.column.Column} renderData.column This column
3838
3842
  * @param {HTMLElement} renderData.headerElement The header element
3843
+ * @returns {string,object,void,void} The text or markup to show in the column header
3839
3844
  */
3840
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
3845
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
3841
3846
  /**
3842
3847
  * An array of the widgets to append to the column header. These widgets have this Column instance
3843
3848
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -3883,7 +3888,7 @@ type ScaleColumnConfig = {
3883
3888
  id?: string|number
3884
3889
  /**
3885
3890
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
3886
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
3891
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
3887
3892
  */
3888
3893
  instantUpdate?: boolean
3889
3894
  /**
@@ -4055,7 +4060,7 @@ type ScaleColumnConfig = {
4055
4060
  */
4056
4061
  responsiveLevels?: object
4057
4062
  /**
4058
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
4063
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
4059
4064
  * revert the field to the value it had when the edit began. If the value is *not* changed
4060
4065
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
4061
4066
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -4560,8 +4565,9 @@ type TimeAxisColumnConfig = {
4560
4565
  * @param {object} renderData
4561
4566
  * @param {Grid.column.Column} renderData.column This column
4562
4567
  * @param {HTMLElement} renderData.headerElement The header element
4568
+ * @returns {string,object,void,void} The text or markup to show in the column header
4563
4569
  */
4564
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
4570
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
4565
4571
  /**
4566
4572
  * An array of the widgets to append to the column header. These widgets have this Column instance
4567
4573
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -4607,7 +4613,7 @@ type TimeAxisColumnConfig = {
4607
4613
  id?: string|number
4608
4614
  /**
4609
4615
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
4610
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
4616
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
4611
4617
  */
4612
4618
  instantUpdate?: boolean
4613
4619
  /**
@@ -4783,7 +4789,7 @@ type TimeAxisColumnConfig = {
4783
4789
  */
4784
4790
  responsiveLevels?: object
4785
4791
  /**
4786
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
4792
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
4787
4793
  * revert the field to the value it had when the edit began. If the value is *not* changed
4788
4794
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
4789
4795
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -5265,8 +5271,9 @@ type VerticalTimeAxisColumnConfig = {
5265
5271
  * @param {object} renderData
5266
5272
  * @param {Grid.column.Column} renderData.column This column
5267
5273
  * @param {HTMLElement} renderData.headerElement The header element
5274
+ * @returns {string,object,void,void} The text or markup to show in the column header
5268
5275
  */
5269
- headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|null|void
5276
+ headerRenderer?: (renderData: { column: Column, headerElement: HTMLElement }) => string|object|void
5270
5277
  /**
5271
5278
  * An array of the widgets to append to the column header. These widgets have this Column instance
5272
5279
  * as their `owner` which can be used to reference the column, and the owning Grid via `this.owner.grid`.
@@ -5308,7 +5315,7 @@ type VerticalTimeAxisColumnConfig = {
5308
5315
  id?: string|number
5309
5316
  /**
5310
5317
  * Set to `true` to have the [CellEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit) feature update the record being edited live upon
5311
- * field edit instead of when editing is finished by using `TAB` or `ENTER`
5318
+ * field edit instead of when editing is finished by using <kbd>Tab</kbd> or <kbd>Enter</kbd>
5312
5319
  */
5313
5320
  instantUpdate?: boolean
5314
5321
  /**
@@ -5480,7 +5487,7 @@ type VerticalTimeAxisColumnConfig = {
5480
5487
  */
5481
5488
  responsiveLevels?: object
5482
5489
  /**
5483
- * Setting this option means that pressing the `ESCAPE` key after editing the field will
5490
+ * Setting this option means that pressing the <kbd>Escape</kbd> key after editing the field will
5484
5491
  * revert the field to the value it had when the edit began. If the value is *not* changed
5485
5492
  * from when the edit started, the input field's [clearable](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-clearable)
5486
5493
  * behaviour will be activated. Finally, the edit will be canceled.
@@ -27909,8 +27916,8 @@ type EventCopyPasteConfig = {
27909
27916
  }
27910
27917
 
27911
27918
  /**
27912
- * Allow using <kbd>Ctrl</kbd>/<kbd>CMD</kbd> + <kbd>C</kbd>/<kbd>X</kbd> and <kbd>Ctrl</kbd>/<kbd>CMD</kbd> +
27913
- * <kbd>V</kbd> to copy/cut and paste events.
27919
+ * Allow using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>X</kbd> and
27920
+ * <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>V</kbd> to copy/cut and paste events.
27914
27921
  * ...
27915
27922
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/EventCopyPaste)
27916
27923
  */
@@ -30665,7 +30672,7 @@ type EventTooltipConfig = {
30665
30672
  */
30666
30673
  closeAction?: 'hide'|'destroy'
30667
30674
  /**
30668
- * Close popup when `ESC` key is pressed.
30675
+ * Close popup when <kbd>Escape</kbd> key is pressed.
30669
30676
  */
30670
30677
  closeOnEscape?: boolean
30671
30678
  /**
@@ -35426,7 +35433,7 @@ export class ScrollButtons extends InstancePlugin {
35426
35433
  */
35427
35434
  type SimpleEventEditListenersTypes = {
35428
35435
  /**
35429
- * Fired when cancellation has been requested, either by `ESC`, or focus loss (if configured to cancel on blur).
35436
+ * Fired when cancellation has been requested, either by <kbd>Escape</kbd>, or focus loss (if configured to cancel on blur).
35430
35437
  * The cancellation may be vetoed, in which case, focus is moved back into the editor.
35431
35438
  * @param {object} event Event object
35432
35439
  * @param {object} event.oldValue The original value.
@@ -35435,7 +35442,7 @@ type SimpleEventEditListenersTypes = {
35435
35442
  */
35436
35443
  beforeCancel: (event: { oldValue: object, value: object, source: Editor }) => Promise<boolean>|boolean|void
35437
35444
  /**
35438
- * Fired when an edit completion has been requested, either by `ENTER`, or focus loss (if configured to complete on blur).
35445
+ * Fired when an edit completion has been requested, either by <kbd>Enter</kbd>, or focus loss (if configured to complete on blur).
35439
35446
  * The completion may be vetoed, in which case, focus is moved back into the editor.
35440
35447
  * @param {object} event Event object
35441
35448
  * @param {object} event.oldValue The original value.
@@ -35517,7 +35524,7 @@ type SimpleEventEditListeners = {
35517
35524
  */
35518
35525
  thisObj?: object
35519
35526
  /**
35520
- * Fired when cancellation has been requested, either by `ESC`, or focus loss (if configured to cancel on blur).
35527
+ * Fired when cancellation has been requested, either by <kbd>Escape</kbd>, or focus loss (if configured to cancel on blur).
35521
35528
  * The cancellation may be vetoed, in which case, focus is moved back into the editor.
35522
35529
  * @param {object} event Event object
35523
35530
  * @param {object} event.oldValue The original value.
@@ -35526,7 +35533,7 @@ type SimpleEventEditListeners = {
35526
35533
  */
35527
35534
  beforeCancel?: ((event: { oldValue: object, value: object, source: Editor }) => Promise<boolean>|boolean|void)|string
35528
35535
  /**
35529
- * Fired when an edit completion has been requested, either by `ENTER`, or focus loss (if configured to complete on blur).
35536
+ * Fired when an edit completion has been requested, either by <kbd>Enter</kbd>, or focus loss (if configured to complete on blur).
35530
35537
  * The completion may be vetoed, in which case, focus is moved back into the editor.
35531
35538
  * @param {object} event Event object
35532
35539
  * @param {object} event.oldValue The original value.
@@ -35675,7 +35682,7 @@ type SimpleEventEditConfig = {
35675
35682
  */
35676
35683
  triggerEvent?: string
35677
35684
  /**
35678
- * Fired when cancellation has been requested, either by `ESC`, or focus loss (if configured to cancel on blur).
35685
+ * Fired when cancellation has been requested, either by <kbd>Escape</kbd>, or focus loss (if configured to cancel on blur).
35679
35686
  * The cancellation may be vetoed, in which case, focus is moved back into the editor.
35680
35687
  * @param {object} event Event object
35681
35688
  * @param {object} event.oldValue The original value.
@@ -35684,7 +35691,7 @@ type SimpleEventEditConfig = {
35684
35691
  */
35685
35692
  onBeforeCancel?: ((event: { oldValue: object, value: object, source: Editor }) => Promise<boolean>|boolean|void)|string
35686
35693
  /**
35687
- * Fired when an edit completion has been requested, either by `ENTER`, or focus loss (if configured to complete on blur).
35694
+ * Fired when an edit completion has been requested, either by <kbd>Enter</kbd>, or focus loss (if configured to complete on blur).
35688
35695
  * The completion may be vetoed, in which case, focus is moved back into the editor.
35689
35696
  * @param {object} event Event object
35690
35697
  * @param {object} event.oldValue The original value.
@@ -35776,7 +35783,7 @@ export class SimpleEventEdit extends InstancePlugin {
35776
35783
  */
35777
35784
  readonly isSimpleEventEdit: boolean
35778
35785
  /**
35779
- * Fired when cancellation has been requested, either by `ESC`, or focus loss (if configured to cancel on blur).
35786
+ * Fired when cancellation has been requested, either by <kbd>Escape</kbd>, or focus loss (if configured to cancel on blur).
35780
35787
  * The cancellation may be vetoed, in which case, focus is moved back into the editor.
35781
35788
  * @param {object} event Event object
35782
35789
  * @param {object} event.oldValue The original value.
@@ -35785,7 +35792,7 @@ export class SimpleEventEdit extends InstancePlugin {
35785
35792
  */
35786
35793
  onBeforeCancel: ((event: { oldValue: object, value: object, source: Editor }) => Promise<boolean>|boolean|void)|string
35787
35794
  /**
35788
- * Fired when an edit completion has been requested, either by `ENTER`, or focus loss (if configured to complete on blur).
35795
+ * Fired when an edit completion has been requested, either by <kbd>Enter</kbd>, or focus loss (if configured to complete on blur).
35789
35796
  * The completion may be vetoed, in which case, focus is moved back into the editor.
35790
35797
  * @param {object} event Event object
35791
35798
  * @param {object} event.oldValue The original value.
@@ -39567,7 +39574,7 @@ type TooltipBaseConfig = {
39567
39574
  */
39568
39575
  closeAction?: 'hide'|'destroy'
39569
39576
  /**
39570
- * Close popup when `ESC` key is pressed.
39577
+ * Close popup when <kbd>Escape</kbd> key is pressed.
39571
39578
  */
39572
39579
  closeOnEscape?: boolean
39573
39580
  /**
@@ -40564,7 +40571,7 @@ type ExcelExporterConfig = {
40564
40571
  */
40565
40572
  localizableProperties?: string[]
40566
40573
  /**
40567
- * This hook allows to use 3rd party libraries to generate XLSX files.
40574
+ * This hook allows using 3rd party libraries to generate XLSX files.
40568
40575
  * ...
40569
40576
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/experimental/ExcelExporter#config-xlsProvider)
40570
40577
  */
@@ -42204,7 +42211,7 @@ type SinglePageUnscaledExporterConfig = {
42204
42211
 
42205
42212
  /**
42206
42213
  * A single page exporter. Used by the [PdfExport](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/export/PdfExport) feature to export to single page.
42207
- * Content is exported with dimensions required to fit all requested rows and columns. This allows to generate PDF page
42214
+ * Content is exported with dimensions required to fit all requested rows and columns. This allows generating a PDF page
42208
42215
  * not constrained by the standard paper formats.
42209
42216
  * ...
42210
42217
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/feature/export/exporter/SinglePageUnscaledExporter)
@@ -44087,7 +44094,7 @@ type EventModelConfig = {
44087
44094
  */
44088
44095
  resourceId?: string|number
44089
44096
  /**
44090
- * Ids of the resources this event is associated with (can be used for for multiple assignments).
44097
+ * Ids of the resources this event is associated with (can be used for multiple assignments).
44091
44098
  * Any event using `resourceIds` will have assignments in AssignmentStore generated automatically.
44092
44099
  * It only applies if is configured with `persist: true`.
44093
44100
  * ...
@@ -44271,7 +44278,7 @@ export class EventModel extends TimeSpan {
44271
44278
  */
44272
44279
  resourceId: string|number
44273
44280
  /**
44274
- * Ids of the resources this event is associated with (can be used for for multiple assignments).
44281
+ * Ids of the resources this event is associated with (can be used for multiple assignments).
44275
44282
  * Any event using `resourceIds` will have assignments in AssignmentStore generated automatically.
44276
44283
  * It only applies if is configured with `persist: true`.
44277
44284
  */
@@ -44327,6 +44334,14 @@ export class EventModel extends TimeSpan {
44327
44334
  * @param {Date} date The date to find an exception for.
44328
44335
  */
44329
44336
  hasException(date: Date): boolean;
44337
+ /**
44338
+ * Returns `true` if this recurring timespan has any occurrences within the specified date range.
44339
+ * More efficient than [getOccurrencesForDateRange](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/RecurringTimeSpan#function-getOccurrencesForDateRange) when you only need to check
44340
+ * existence, since it short-circuits on the first match without materializing all occurrences.
44341
+ * @param {Date} startDate The start date of the range.
44342
+ * @param {Date} endDate The end date of the range.
44343
+ */
44344
+ hasOccurrencesInDateRange(startDate: Date, endDate: Date): boolean;
44330
44345
  /**
44331
44346
  * Returns true if this event is assigned to a certain resource.
44332
44347
  * @param {Scheduler.model.ResourceModel,string,number} resource The resource to query for
@@ -45010,7 +45025,8 @@ export class ProjectModel extends Model {
45010
45025
  readonly lastChild: Model
45011
45026
  /**
45012
45027
  * Get a map of the modified fields in form of an object. The field´s [dataSource](https://bryntum.com/products/scheduler/docs/api/Core/data/field/DataField#config-dataSource)
45013
- * is used as the property name in the returned object. The record´s id is always included.
45028
+ * is used as the property name in the returned object. The record's id is included unless its
45029
+ * [persist](https://bryntum.com/products/scheduler/docs/api/Core/data/field/DataField#config-persist) config is `false`.
45014
45030
  */
45015
45031
  readonly modificationData: object
45016
45032
  /**
@@ -45607,6 +45623,13 @@ type RecurrenceModelConfig = {
45607
45623
  * @deprecated This field has been deprecated. Please read the [guide](https://bryntum.com/products/scheduler/docs/api/Grid/guides/data/lazyloading.md) to find out if your app needs to use the new [isFullyLoaded](https://bryntum.com/products/scheduler/docs/api/Core/data/mixin/TreeNode#field-isFullyLoaded) field.
45608
45624
  */
45609
45625
  remoteChildCount?: number
45626
+ /**
45627
+ * Set to a IANA time zone (i.e. `Europe/Stockholm`) to force the occurrences to be calculated in that
45628
+ * configured time zone.
45629
+ * ...
45630
+ * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/RecurrenceModel#config-timeZone)
45631
+ */
45632
+ timeZone?: string
45610
45633
  }
45611
45634
 
45612
45635
  /**
@@ -45680,6 +45703,11 @@ export class RecurrenceModel extends Model {
45680
45703
  * The timespan this recurrence is associated with.
45681
45704
  */
45682
45705
  timeSpan: TimeSpan
45706
+ /**
45707
+ * Set to a IANA time zone (i.e. `Europe/Stockholm`) to force the occurrences to be calculated in that
45708
+ * configured time zone.
45709
+ */
45710
+ timeZone: string
45683
45711
  }
45684
45712
 
45685
45713
  /**
@@ -46201,6 +46229,14 @@ export class ResourceTimeRangeModel extends TimeSpan {
46201
46229
  * @param {Date} date The date to find an exception for.
46202
46230
  */
46203
46231
  hasException(date: Date): boolean;
46232
+ /**
46233
+ * Returns `true` if this recurring timespan has any occurrences within the specified date range.
46234
+ * More efficient than [getOccurrencesForDateRange](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/RecurringTimeSpan#function-getOccurrencesForDateRange) when you only need to check
46235
+ * existence, since it short-circuits on the first match without materializing all occurrences.
46236
+ * @param {Date} startDate The start date of the range.
46237
+ * @param {Date} endDate The end date of the range.
46238
+ */
46239
+ hasOccurrencesInDateRange(startDate: Date, endDate: Date): boolean;
46204
46240
  /**
46205
46241
  * Override of [Model](https://bryntum.com/products/scheduler/docs/api/Core/data/Model)'s method. If an [isOccurrence](#Scheduler/model/mixin/RecurringTimeSpan#property-isOccurrence) is passed, it is detached from
46206
46242
  * its parent recurring event. If it still has a recurrence then the recurring event is changed to stop at the
@@ -46429,6 +46465,14 @@ export class TimeRangeModel extends TimeSpan {
46429
46465
  * @param {Date} date The date to find an exception for.
46430
46466
  */
46431
46467
  hasException(date: Date): boolean;
46468
+ /**
46469
+ * Returns `true` if this recurring timespan has any occurrences within the specified date range.
46470
+ * More efficient than [getOccurrencesForDateRange](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/RecurringTimeSpan#function-getOccurrencesForDateRange) when you only need to check
46471
+ * existence, since it short-circuits on the first match without materializing all occurrences.
46472
+ * @param {Date} startDate The start date of the range.
46473
+ * @param {Date} endDate The end date of the range.
46474
+ */
46475
+ hasOccurrencesInDateRange(startDate: Date, endDate: Date): boolean;
46432
46476
  /**
46433
46477
  * Override of [Model](https://bryntum.com/products/scheduler/docs/api/Core/data/Model)'s method. If an [isOccurrence](#Scheduler/model/mixin/RecurringTimeSpan#property-isOccurrence) is passed, it is detached from
46434
46478
  * its parent recurring event. If it still has a recurrence then the recurring event is changed to stop at the
@@ -46852,7 +46896,7 @@ type EventModelMixinClassConfig = {
46852
46896
  */
46853
46897
  resourceId?: string|number
46854
46898
  /**
46855
- * Ids of the resources this event is associated with (can be used for for multiple assignments).
46899
+ * Ids of the resources this event is associated with (can be used for multiple assignments).
46856
46900
  * Any event using `resourceIds` will have assignments in AssignmentStore generated automatically.
46857
46901
  * It only applies if is configured with `persist: true`.
46858
46902
  * ...
@@ -46970,7 +47014,7 @@ export class EventModelMixinClass {
46970
47014
  */
46971
47015
  resourceId: string|number
46972
47016
  /**
46973
- * Ids of the resources this event is associated with (can be used for for multiple assignments).
47017
+ * Ids of the resources this event is associated with (can be used for multiple assignments).
46974
47018
  * Any event using `resourceIds` will have assignments in AssignmentStore generated automatically.
46975
47019
  * It only applies if is configured with `persist: true`.
46976
47020
  */
@@ -47524,6 +47568,14 @@ export class RecurringTimeSpanClass {
47524
47568
  * @param {Date} date The date to find an exception for.
47525
47569
  */
47526
47570
  hasException(date: Date): boolean;
47571
+ /**
47572
+ * Returns `true` if this recurring timespan has any occurrences within the specified date range.
47573
+ * More efficient than [getOccurrencesForDateRange](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/RecurringTimeSpan#function-getOccurrencesForDateRange) when you only need to check
47574
+ * existence, since it short-circuits on the first match without materializing all occurrences.
47575
+ * @param {Date} startDate The start date of the range.
47576
+ * @param {Date} endDate The end date of the range.
47577
+ */
47578
+ hasOccurrencesInDateRange(startDate: Date, endDate: Date): boolean;
47527
47579
  /**
47528
47580
  * Override of [Model](https://bryntum.com/products/scheduler/docs/api/Core/data/Model)'s method. If an [isOccurrence](#Scheduler/model/mixin/RecurringTimeSpan#property-isOccurrence) is passed, it is detached from
47529
47581
  * its parent recurring event. If it still has a recurrence then the recurring event is changed to stop at the
@@ -50961,7 +51013,7 @@ type EventEditorConfig = {
50961
51013
  */
50962
51014
  closeAction?: 'hide'|'destroy'
50963
51015
  /**
50964
- * Close popup when `ESC` key is pressed.
51016
+ * Close popup when <kbd>Escape</kbd> key is pressed.
50965
51017
  */
50966
51018
  closeOnEscape?: boolean
50967
51019
  /**
@@ -52795,7 +52847,7 @@ type SchedulerListenersTypes = {
52795
52847
  */
52796
52848
  assignmentSelectionChange: (event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void
52797
52849
  /**
52798
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
52850
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
52799
52851
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
52800
52852
  * case records should be "manually" removed after confirmation:
52801
52853
  * ...
@@ -52863,7 +52915,7 @@ type SchedulerListenersTypes = {
52863
52915
  */
52864
52916
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
52865
52917
  /**
52866
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
52918
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
52867
52919
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
52868
52920
  * @param {object} event Event object
52869
52921
  * @param {Grid.view.Grid} event.source Owner grid
@@ -53045,7 +53097,7 @@ type SchedulerListenersTypes = {
53045
53097
  */
53046
53098
  beforeEventAdd: (event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void
53047
53099
  /**
53048
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
53100
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
53049
53101
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
53050
53102
  * for async vetoing).
53051
53103
  * ...
@@ -54409,12 +54461,13 @@ type SchedulerListenersTypes = {
54409
54461
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
54410
54462
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
54411
54463
  * @param {Date} event.date The paste date
54412
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
54464
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
54465
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
54413
54466
  * @param {boolean} event.isCut `true` if this is a cut action
54414
54467
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
54415
54468
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
54416
54469
  */
54417
- pasteNotAllowed: (event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void
54470
+ pasteNotAllowed: (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
54418
54471
  /**
54419
54472
  * Fires on the owning Grid when export has finished
54420
54473
  * @param {object} event Event object
@@ -55224,6 +55277,14 @@ type SchedulerListenersTypes = {
55224
55277
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
55225
55278
  */
55226
55279
  toolClick: (event: { source: Tool, tool: Tool }) => void
55280
+ /**
55281
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
55282
+ * @param {object} event Event object
55283
+ * @param {Grid.view.Grid} event.source The grid instance
55284
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
55285
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
55286
+ */
55287
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
55227
55288
  /**
55228
55289
  * Fires when row locking is disabled.
55229
55290
  * @param {object} event Event object
@@ -55332,7 +55393,7 @@ type SchedulerListeners = {
55332
55393
  */
55333
55394
  assignmentSelectionChange?: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
55334
55395
  /**
55335
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
55396
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
55336
55397
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
55337
55398
  * case records should be "manually" removed after confirmation:
55338
55399
  * ...
@@ -55400,7 +55461,7 @@ type SchedulerListeners = {
55400
55461
  */
55401
55462
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
55402
55463
  /**
55403
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
55464
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
55404
55465
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
55405
55466
  * @param {object} event Event object
55406
55467
  * @param {Grid.view.Grid} event.source Owner grid
@@ -55582,7 +55643,7 @@ type SchedulerListeners = {
55582
55643
  */
55583
55644
  beforeEventAdd?: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string
55584
55645
  /**
55585
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
55646
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
55586
55647
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
55587
55648
  * for async vetoing).
55588
55649
  * ...
@@ -56946,12 +57007,13 @@ type SchedulerListeners = {
56946
57007
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
56947
57008
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
56948
57009
  * @param {Date} event.date The paste date
56949
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
57010
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
57011
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
56950
57012
  * @param {boolean} event.isCut `true` if this is a cut action
56951
57013
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
56952
57014
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
56953
57015
  */
56954
- pasteNotAllowed?: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string
57016
+ pasteNotAllowed?: ((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
56955
57017
  /**
56956
57018
  * Fires on the owning Grid when export has finished
56957
57019
  * @param {object} event Event object
@@ -57761,6 +57823,14 @@ type SchedulerListeners = {
57761
57823
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
57762
57824
  */
57763
57825
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
57826
+ /**
57827
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
57828
+ * @param {object} event Event object
57829
+ * @param {Grid.view.Grid} event.source The grid instance
57830
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
57831
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
57832
+ */
57833
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
57764
57834
  /**
57765
57835
  * Fires when row locking is disabled.
57766
57836
  * @param {object} event Event object
@@ -58352,7 +58422,7 @@ type SchedulerConfig = {
58352
58422
  */
58353
58423
  emptyText?: string|EmptyTextDomConfig
58354
58424
  /**
58355
- * Allow using [Delete] and [Backspace] to remove events/assignments
58425
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
58356
58426
  */
58357
58427
  enableDeleteKey?: boolean
58358
58428
  /**
@@ -59594,7 +59664,7 @@ type SchedulerConfig = {
59594
59664
  */
59595
59665
  onAssignmentSelectionChange?: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
59596
59666
  /**
59597
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
59667
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
59598
59668
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
59599
59669
  * case records should be "manually" removed after confirmation:
59600
59670
  * ...
@@ -59662,7 +59732,7 @@ type SchedulerConfig = {
59662
59732
  */
59663
59733
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
59664
59734
  /**
59665
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
59735
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
59666
59736
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
59667
59737
  * @param {object} event Event object
59668
59738
  * @param {Grid.view.Grid} event.source Owner grid
@@ -59844,7 +59914,7 @@ type SchedulerConfig = {
59844
59914
  */
59845
59915
  onBeforeEventAdd?: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string
59846
59916
  /**
59847
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
59917
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
59848
59918
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
59849
59919
  * for async vetoing).
59850
59920
  * ...
@@ -61208,12 +61278,13 @@ type SchedulerConfig = {
61208
61278
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
61209
61279
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
61210
61280
  * @param {Date} event.date The paste date
61211
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
61281
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
61282
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
61212
61283
  * @param {boolean} event.isCut `true` if this is a cut action
61213
61284
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
61214
61285
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
61215
61286
  */
61216
- onPasteNotAllowed?: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string
61287
+ onPasteNotAllowed?: ((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
61217
61288
  /**
61218
61289
  * Fires on the owning Grid when export has finished
61219
61290
  * @param {object} event Event object
@@ -62023,6 +62094,14 @@ type SchedulerConfig = {
62023
62094
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
62024
62095
  */
62025
62096
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
62097
+ /**
62098
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
62099
+ * @param {object} event Event object
62100
+ * @param {Grid.view.Grid} event.source The grid instance
62101
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
62102
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
62103
+ */
62104
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
62026
62105
  /**
62027
62106
  * Fires when row locking is disabled.
62028
62107
  * @param {object} event Event object
@@ -62081,7 +62160,7 @@ export class Scheduler extends SchedulerBase {
62081
62160
  */
62082
62161
  onAssignmentSelectionChange: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
62083
62162
  /**
62084
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
62163
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
62085
62164
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
62086
62165
  * case records should be "manually" removed after confirmation:
62087
62166
  * ...
@@ -62112,7 +62191,7 @@ export class Scheduler extends SchedulerBase {
62112
62191
  */
62113
62192
  onBeforeDestroy: ((event: { source: Base }) => void)|string
62114
62193
  /**
62115
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
62194
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
62116
62195
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
62117
62196
  * for async vetoing).
62118
62197
  * ...
@@ -62764,7 +62843,7 @@ type SchedulerBaseListenersTypes = {
62764
62843
  */
62765
62844
  assignmentSelectionChange: (event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void
62766
62845
  /**
62767
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
62846
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
62768
62847
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
62769
62848
  * case records should be "manually" removed after confirmation:
62770
62849
  * ...
@@ -62832,7 +62911,7 @@ type SchedulerBaseListenersTypes = {
62832
62911
  */
62833
62912
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
62834
62913
  /**
62835
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
62914
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
62836
62915
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
62837
62916
  * @param {object} event Event object
62838
62917
  * @param {Grid.view.Grid} event.source Owner grid
@@ -63014,7 +63093,7 @@ type SchedulerBaseListenersTypes = {
63014
63093
  */
63015
63094
  beforeEventAdd: (event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void
63016
63095
  /**
63017
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
63096
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
63018
63097
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
63019
63098
  * for async vetoing).
63020
63099
  * ...
@@ -64378,12 +64457,13 @@ type SchedulerBaseListenersTypes = {
64378
64457
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
64379
64458
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
64380
64459
  * @param {Date} event.date The paste date
64381
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
64460
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
64461
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
64382
64462
  * @param {boolean} event.isCut `true` if this is a cut action
64383
64463
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
64384
64464
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
64385
64465
  */
64386
- pasteNotAllowed: (event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void
64466
+ pasteNotAllowed: (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
64387
64467
  /**
64388
64468
  * Fires on the owning Grid when export has finished
64389
64469
  * @param {object} event Event object
@@ -65193,6 +65273,14 @@ type SchedulerBaseListenersTypes = {
65193
65273
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
65194
65274
  */
65195
65275
  toolClick: (event: { source: Tool, tool: Tool }) => void
65276
+ /**
65277
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
65278
+ * @param {object} event Event object
65279
+ * @param {Grid.view.Grid} event.source The grid instance
65280
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
65281
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
65282
+ */
65283
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
65196
65284
  /**
65197
65285
  * Fires when row locking is disabled.
65198
65286
  * @param {object} event Event object
@@ -65301,7 +65389,7 @@ type SchedulerBaseListeners = {
65301
65389
  */
65302
65390
  assignmentSelectionChange?: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
65303
65391
  /**
65304
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
65392
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
65305
65393
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
65306
65394
  * case records should be "manually" removed after confirmation:
65307
65395
  * ...
@@ -65369,7 +65457,7 @@ type SchedulerBaseListeners = {
65369
65457
  */
65370
65458
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
65371
65459
  /**
65372
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
65460
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
65373
65461
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
65374
65462
  * @param {object} event Event object
65375
65463
  * @param {Grid.view.Grid} event.source Owner grid
@@ -65551,7 +65639,7 @@ type SchedulerBaseListeners = {
65551
65639
  */
65552
65640
  beforeEventAdd?: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string
65553
65641
  /**
65554
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
65642
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
65555
65643
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
65556
65644
  * for async vetoing).
65557
65645
  * ...
@@ -66915,12 +67003,13 @@ type SchedulerBaseListeners = {
66915
67003
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
66916
67004
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
66917
67005
  * @param {Date} event.date The paste date
66918
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
67006
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
67007
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
66919
67008
  * @param {boolean} event.isCut `true` if this is a cut action
66920
67009
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
66921
67010
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
66922
67011
  */
66923
- pasteNotAllowed?: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string
67012
+ pasteNotAllowed?: ((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
66924
67013
  /**
66925
67014
  * Fires on the owning Grid when export has finished
66926
67015
  * @param {object} event Event object
@@ -67730,6 +67819,14 @@ type SchedulerBaseListeners = {
67730
67819
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
67731
67820
  */
67732
67821
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
67822
+ /**
67823
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
67824
+ * @param {object} event Event object
67825
+ * @param {Grid.view.Grid} event.source The grid instance
67826
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
67827
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
67828
+ */
67829
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
67733
67830
  /**
67734
67831
  * Fires when row locking is disabled.
67735
67832
  * @param {object} event Event object
@@ -68320,7 +68417,7 @@ type SchedulerBaseConfig = {
68320
68417
  */
68321
68418
  emptyText?: string|EmptyTextDomConfig
68322
68419
  /**
68323
- * Allow using [Delete] and [Backspace] to remove events/assignments
68420
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
68324
68421
  */
68325
68422
  enableDeleteKey?: boolean
68326
68423
  /**
@@ -69562,7 +69659,7 @@ type SchedulerBaseConfig = {
69562
69659
  */
69563
69660
  onAssignmentSelectionChange?: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
69564
69661
  /**
69565
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
69662
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
69566
69663
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
69567
69664
  * case records should be "manually" removed after confirmation:
69568
69665
  * ...
@@ -69630,7 +69727,7 @@ type SchedulerBaseConfig = {
69630
69727
  */
69631
69728
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
69632
69729
  /**
69633
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
69730
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
69634
69731
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
69635
69732
  * @param {object} event Event object
69636
69733
  * @param {Grid.view.Grid} event.source Owner grid
@@ -69812,7 +69909,7 @@ type SchedulerBaseConfig = {
69812
69909
  */
69813
69910
  onBeforeEventAdd?: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string
69814
69911
  /**
69815
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
69912
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
69816
69913
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
69817
69914
  * for async vetoing).
69818
69915
  * ...
@@ -71176,12 +71273,13 @@ type SchedulerBaseConfig = {
71176
71273
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
71177
71274
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
71178
71275
  * @param {Date} event.date The paste date
71179
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
71276
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
71277
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
71180
71278
  * @param {boolean} event.isCut `true` if this is a cut action
71181
71279
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
71182
71280
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
71183
71281
  */
71184
- onPasteNotAllowed?: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string
71282
+ onPasteNotAllowed?: ((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
71185
71283
  /**
71186
71284
  * Fires on the owning Grid when export has finished
71187
71285
  * @param {object} event Event object
@@ -71991,6 +72089,14 @@ type SchedulerBaseConfig = {
71991
72089
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
71992
72090
  */
71993
72091
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
72092
+ /**
72093
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
72094
+ * @param {object} event Event object
72095
+ * @param {Grid.view.Grid} event.source The grid instance
72096
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
72097
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
72098
+ */
72099
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
71994
72100
  /**
71995
72101
  * Fires when row locking is disabled.
71996
72102
  * @param {object} event Event object
@@ -72769,7 +72875,7 @@ export class SchedulerBase extends TimelineBase {
72769
72875
  */
72770
72876
  onAssignmentSelectionChange: ((event: { source: Scheduler, action: 'select'|'deselect'|'update'|'clear', selected: AssignmentModel[], deselected: AssignmentModel[], selection: AssignmentModel[] }) => void)|string
72771
72877
  /**
72772
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
72878
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
72773
72879
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
72774
72880
  * case records should be "manually" removed after confirmation:
72775
72881
  * ...
@@ -72908,7 +73014,7 @@ export class SchedulerBase extends TimelineBase {
72908
73014
  */
72909
73015
  onBeforeEventAdd: ((event: { source: Scheduler, eventRecord: EventModel, resourceRecords: ResourceModel[], assignmentRecords: AssignmentModel[] }) => Promise<boolean>|boolean|void)|string
72910
73016
  /**
72911
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
73017
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
72912
73018
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
72913
73019
  * for async vetoing).
72914
73020
  * ...
@@ -73680,12 +73786,13 @@ export class SchedulerBase extends TimelineBase {
73680
73786
  * @param {Scheduler.model.EventModel[]} event.originalEventRecords The event records that were copied
73681
73787
  * @param {Scheduler.model.AssignmentModel[]} event.originalAssignmentRecords The assignment records that were copied
73682
73788
  * @param {Date} event.date The paste date
73683
- * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record
73789
+ * @param {Scheduler.model.ResourceModel} event.resourceRecord The target resource record. When multiple resources are pasted to, this will be the top resource
73790
+ * @param {Scheduler.model.ResourceModel[]} event.resourceRecords All target resource records that the events would be pasted to
73684
73791
  * @param {boolean} event.isCut `true` if this is a cut action
73685
73792
  * @param {string} event.entityName 'event' to distinguish this event from other `pasteNotAllowed` events
73686
73793
  * @param {'overlappingEvents','resourceReadOnly'} event.reason A string id to use for displaying an error message to the user.
73687
73794
  */
73688
- onPasteNotAllowed: ((event: { source: Scheduler, eventRecords: EventModel[], assignmentRecords: AssignmentModel[], originalEventRecords: EventModel[], originalAssignmentRecords: AssignmentModel[], date: Date, resourceRecord: ResourceModel, isCut: boolean, entityName: string, reason: 'overlappingEvents'|'resourceReadOnly' }) => void)|string
73795
+ onPasteNotAllowed: ((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
73689
73796
  /**
73690
73797
  * Fired after the [viewPreset](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/mixin/TimelineViewPresets#config-viewPreset) has changed.
73691
73798
  * @param {object} event Event object
@@ -74906,7 +75013,7 @@ export class SchedulerBase extends TimelineBase {
74906
75013
  */
74907
75014
  zoomToLevel(preset: number, options?: ChangePresetOptions): number|null;
74908
75015
  /**
74909
- * Sets time frame to specified range and applies zoom level which allows to fit all columns to this range.
75016
+ * Sets time frame to specified range and applies zoom level which allows fitting all columns to this range.
74910
75017
  * @param {object} config The time frame.
74911
75018
  */
74912
75019
  zoomToSpan(config: {
@@ -74926,7 +75033,7 @@ export class SchedulerBase extends TimelineBase {
74926
75033
  */
74927
75034
  type TimelineBaseListenersTypes = {
74928
75035
  /**
74929
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
75036
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
74930
75037
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
74931
75038
  * case records should be "manually" removed after confirmation:
74932
75039
  * ...
@@ -74973,7 +75080,7 @@ type TimelineBaseListenersTypes = {
74973
75080
  */
74974
75081
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
74975
75082
  /**
74976
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
75083
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
74977
75084
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
74978
75085
  * @param {object} event Event object
74979
75086
  * @param {Grid.view.Grid} event.source Owner grid
@@ -75041,7 +75148,7 @@ type TimelineBaseListenersTypes = {
75041
75148
  */
75042
75149
  beforeDestroy: (event: { source: Base }) => void
75043
75150
  /**
75044
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
75151
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
75045
75152
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
75046
75153
  * for async vetoing).
75047
75154
  * ...
@@ -76061,6 +76168,14 @@ type TimelineBaseListenersTypes = {
76061
76168
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
76062
76169
  */
76063
76170
  toolClick: (event: { source: Tool, tool: Tool }) => void
76171
+ /**
76172
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
76173
+ * @param {object} event Event object
76174
+ * @param {Grid.view.Grid} event.source The grid instance
76175
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
76176
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
76177
+ */
76178
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
76064
76179
  /**
76065
76180
  * Fires when row locking is disabled.
76066
76181
  * @param {object} event Event object
@@ -76097,7 +76212,7 @@ type TimelineBaseListeners = {
76097
76212
  */
76098
76213
  thisObj?: object
76099
76214
  /**
76100
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
76215
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
76101
76216
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
76102
76217
  * case records should be "manually" removed after confirmation:
76103
76218
  * ...
@@ -76144,7 +76259,7 @@ type TimelineBaseListeners = {
76144
76259
  */
76145
76260
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
76146
76261
  /**
76147
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
76262
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
76148
76263
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
76149
76264
  * @param {object} event Event object
76150
76265
  * @param {Grid.view.Grid} event.source Owner grid
@@ -76212,7 +76327,7 @@ type TimelineBaseListeners = {
76212
76327
  */
76213
76328
  beforeDestroy?: ((event: { source: Base }) => void)|string
76214
76329
  /**
76215
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
76330
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
76216
76331
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
76217
76332
  * for async vetoing).
76218
76333
  * ...
@@ -77232,6 +77347,14 @@ type TimelineBaseListeners = {
77232
77347
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
77233
77348
  */
77234
77349
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
77350
+ /**
77351
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
77352
+ * @param {object} event Event object
77353
+ * @param {Grid.view.Grid} event.source The grid instance
77354
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
77355
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
77356
+ */
77357
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
77235
77358
  /**
77236
77359
  * Fires when row locking is disabled.
77237
77360
  * @param {object} event Event object
@@ -78064,7 +78187,7 @@ type TimelineBaseConfig = {
78064
78187
  rootElement?: ShadowRoot|HTMLElement
78065
78188
  /**
78066
78189
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
78067
- * overriden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
78190
+ * overridden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
78068
78191
  * a column [renderer](https://bryntum.com/products/scheduler/docs/api/Grid/column/Column#config-renderer).
78069
78192
  * ...
78070
78193
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/TimelineBase#config-rowHeight)
@@ -78374,7 +78497,7 @@ type TimelineBaseConfig = {
78374
78497
  */
78375
78498
  zoomOnTimeAxisDoubleClick?: boolean
78376
78499
  /**
78377
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
78500
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
78378
78501
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
78379
78502
  * case records should be "manually" removed after confirmation:
78380
78503
  * ...
@@ -78421,7 +78544,7 @@ type TimelineBaseConfig = {
78421
78544
  */
78422
78545
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
78423
78546
  /**
78424
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
78547
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
78425
78548
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
78426
78549
  * @param {object} event Event object
78427
78550
  * @param {Grid.view.Grid} event.source Owner grid
@@ -78489,7 +78612,7 @@ type TimelineBaseConfig = {
78489
78612
  */
78490
78613
  onBeforeDestroy?: ((event: { source: Base }) => void)|string
78491
78614
  /**
78492
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
78615
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
78493
78616
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
78494
78617
  * for async vetoing).
78495
78618
  * ...
@@ -79509,6 +79632,14 @@ type TimelineBaseConfig = {
79509
79632
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
79510
79633
  */
79511
79634
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
79635
+ /**
79636
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
79637
+ * @param {object} event Event object
79638
+ * @param {Grid.view.Grid} event.source The grid instance
79639
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
79640
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
79641
+ */
79642
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
79512
79643
  /**
79513
79644
  * Fires when row locking is disabled.
79514
79645
  * @param {object} event Event object
@@ -79827,7 +79958,7 @@ export abstract class TimelineBase extends Grid {
79827
79958
  */
79828
79959
  features: TimelineBaseFeaturesType
79829
79960
  /**
79830
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
79961
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
79831
79962
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
79832
79963
  * case records should be "manually" removed after confirmation:
79833
79964
  * ...
@@ -79847,7 +79978,7 @@ export abstract class TimelineBase extends Grid {
79847
79978
  */
79848
79979
  onBeforeDestroy: ((event: { source: Base }) => void)|string
79849
79980
  /**
79850
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
79981
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
79851
79982
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
79852
79983
  * for async vetoing).
79853
79984
  * ...
@@ -80430,7 +80561,7 @@ export abstract class TimelineBase extends Grid {
80430
80561
  */
80431
80562
  zoomToLevel(preset: number, options?: ChangePresetOptions): number|null;
80432
80563
  /**
80433
- * Sets time frame to specified range and applies zoom level which allows to fit all columns to this range.
80564
+ * Sets time frame to specified range and applies zoom level which allows fitting all columns to this range.
80434
80565
  * @param {object} config The time frame.
80435
80566
  */
80436
80567
  zoomToSpan(config: {
@@ -80450,7 +80581,7 @@ export abstract class TimelineBase extends Grid {
80450
80581
  */
80451
80582
  type TimelineHistogramListenersTypes = {
80452
80583
  /**
80453
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
80584
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
80454
80585
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
80455
80586
  * case records should be "manually" removed after confirmation:
80456
80587
  * ...
@@ -80497,7 +80628,7 @@ type TimelineHistogramListenersTypes = {
80497
80628
  */
80498
80629
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
80499
80630
  /**
80500
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
80631
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
80501
80632
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
80502
80633
  * @param {object} event Event object
80503
80634
  * @param {Grid.view.Grid} event.source Owner grid
@@ -80565,7 +80696,7 @@ type TimelineHistogramListenersTypes = {
80565
80696
  */
80566
80697
  beforeDestroy: (event: { source: Base }) => void
80567
80698
  /**
80568
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
80699
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
80569
80700
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
80570
80701
  * for async vetoing).
80571
80702
  * ...
@@ -81811,6 +81942,14 @@ type TimelineHistogramListenersTypes = {
81811
81942
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
81812
81943
  */
81813
81944
  toolClick: (event: { source: Tool, tool: Tool }) => void
81945
+ /**
81946
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
81947
+ * @param {object} event Event object
81948
+ * @param {Grid.view.Grid} event.source The grid instance
81949
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
81950
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
81951
+ */
81952
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
81814
81953
  /**
81815
81954
  * Fires when row locking is disabled.
81816
81955
  * @param {object} event Event object
@@ -81847,7 +81986,7 @@ type TimelineHistogramListeners = {
81847
81986
  */
81848
81987
  thisObj?: object
81849
81988
  /**
81850
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
81989
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
81851
81990
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
81852
81991
  * case records should be "manually" removed after confirmation:
81853
81992
  * ...
@@ -81894,7 +82033,7 @@ type TimelineHistogramListeners = {
81894
82033
  */
81895
82034
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
81896
82035
  /**
81897
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
82036
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
81898
82037
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
81899
82038
  * @param {object} event Event object
81900
82039
  * @param {Grid.view.Grid} event.source Owner grid
@@ -81962,7 +82101,7 @@ type TimelineHistogramListeners = {
81962
82101
  */
81963
82102
  beforeDestroy?: ((event: { source: Base }) => void)|string
81964
82103
  /**
81965
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
82104
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
81966
82105
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
81967
82106
  * for async vetoing).
81968
82107
  * ...
@@ -83208,6 +83347,14 @@ type TimelineHistogramListeners = {
83208
83347
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
83209
83348
  */
83210
83349
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
83350
+ /**
83351
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
83352
+ * @param {object} event Event object
83353
+ * @param {Grid.view.Grid} event.source The grid instance
83354
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
83355
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
83356
+ */
83357
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
83211
83358
  /**
83212
83359
  * Fires when row locking is disabled.
83213
83360
  * @param {object} event Event object
@@ -84229,7 +84376,7 @@ type TimelineHistogramConfig = {
84229
84376
  rootElement?: ShadowRoot|HTMLElement
84230
84377
  /**
84231
84378
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
84232
- * overriden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
84379
+ * overridden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
84233
84380
  * a column [renderer](https://bryntum.com/products/scheduler/docs/api/Grid/column/Column#config-renderer).
84234
84381
  * ...
84235
84382
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/TimelineHistogram#config-rowHeight)
@@ -84573,7 +84720,7 @@ type TimelineHistogramConfig = {
84573
84720
  */
84574
84721
  zoomOnTimeAxisDoubleClick?: boolean
84575
84722
  /**
84576
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
84723
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
84577
84724
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
84578
84725
  * case records should be "manually" removed after confirmation:
84579
84726
  * ...
@@ -84620,7 +84767,7 @@ type TimelineHistogramConfig = {
84620
84767
  */
84621
84768
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
84622
84769
  /**
84623
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
84770
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
84624
84771
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
84625
84772
  * @param {object} event Event object
84626
84773
  * @param {Grid.view.Grid} event.source Owner grid
@@ -84688,7 +84835,7 @@ type TimelineHistogramConfig = {
84688
84835
  */
84689
84836
  onBeforeDestroy?: ((event: { source: Base }) => void)|string
84690
84837
  /**
84691
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
84838
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
84692
84839
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
84693
84840
  * for async vetoing).
84694
84841
  * ...
@@ -85934,6 +86081,14 @@ type TimelineHistogramConfig = {
85934
86081
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
85935
86082
  */
85936
86083
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
86084
+ /**
86085
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
86086
+ * @param {object} event Event object
86087
+ * @param {Grid.view.Grid} event.source The grid instance
86088
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
86089
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
86090
+ */
86091
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
85937
86092
  /**
85938
86093
  * Fires when row locking is disabled.
85939
86094
  * @param {object} event Event object
@@ -86710,7 +86865,7 @@ export class TimelineHistogram extends TimelineHistogramBase {
86710
86865
  readonly responsiveLevel: string
86711
86866
  /**
86712
86867
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
86713
- * overriden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
86868
+ * overridden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
86714
86869
  * a column [renderer](https://bryntum.com/products/scheduler/docs/api/Grid/column/Column#config-renderer).
86715
86870
  */
86716
86871
  rowHeight: number
@@ -86976,7 +87131,7 @@ export class TimelineHistogram extends TimelineHistogramBase {
86976
87131
  */
86977
87132
  zoomLevel: number
86978
87133
  /**
86979
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
87134
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
86980
87135
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
86981
87136
  * case records should be "manually" removed after confirmation:
86982
87137
  * ...
@@ -86996,7 +87151,7 @@ export class TimelineHistogram extends TimelineHistogramBase {
86996
87151
  */
86997
87152
  onBeforeDestroy: ((event: { source: Base }) => void)|string
86998
87153
  /**
86999
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
87154
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
87000
87155
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
87001
87156
  * for async vetoing).
87002
87157
  * ...
@@ -88568,7 +88723,7 @@ export class TimelineHistogram extends TimelineHistogramBase {
88568
88723
  */
88569
88724
  zoomToLevel(preset: number, options?: ChangePresetOptions): number|null;
88570
88725
  /**
88571
- * Sets time frame to specified range and applies zoom level which allows to fit all columns to this range.
88726
+ * Sets time frame to specified range and applies zoom level which allows fitting all columns to this range.
88572
88727
  * @param {object} config The time frame.
88573
88728
  */
88574
88729
  zoomToSpan(config: {
@@ -88588,7 +88743,7 @@ export class TimelineHistogram extends TimelineHistogramBase {
88588
88743
  */
88589
88744
  type TimelineHistogramBaseListenersTypes = {
88590
88745
  /**
88591
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
88746
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
88592
88747
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
88593
88748
  * case records should be "manually" removed after confirmation:
88594
88749
  * ...
@@ -88635,7 +88790,7 @@ type TimelineHistogramBaseListenersTypes = {
88635
88790
  */
88636
88791
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
88637
88792
  /**
88638
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
88793
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
88639
88794
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
88640
88795
  * @param {object} event Event object
88641
88796
  * @param {Grid.view.Grid} event.source Owner grid
@@ -88703,7 +88858,7 @@ type TimelineHistogramBaseListenersTypes = {
88703
88858
  */
88704
88859
  beforeDestroy: (event: { source: Base }) => void
88705
88860
  /**
88706
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
88861
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
88707
88862
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
88708
88863
  * for async vetoing).
88709
88864
  * ...
@@ -89764,6 +89919,14 @@ type TimelineHistogramBaseListenersTypes = {
89764
89919
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
89765
89920
  */
89766
89921
  toolClick: (event: { source: Tool, tool: Tool }) => void
89922
+ /**
89923
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
89924
+ * @param {object} event Event object
89925
+ * @param {Grid.view.Grid} event.source The grid instance
89926
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
89927
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
89928
+ */
89929
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
89767
89930
  /**
89768
89931
  * Fires when row locking is disabled.
89769
89932
  * @param {object} event Event object
@@ -89800,7 +89963,7 @@ type TimelineHistogramBaseListeners = {
89800
89963
  */
89801
89964
  thisObj?: object
89802
89965
  /**
89803
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
89966
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
89804
89967
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
89805
89968
  * case records should be "manually" removed after confirmation:
89806
89969
  * ...
@@ -89847,7 +90010,7 @@ type TimelineHistogramBaseListeners = {
89847
90010
  */
89848
90011
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
89849
90012
  /**
89850
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
90013
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
89851
90014
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
89852
90015
  * @param {object} event Event object
89853
90016
  * @param {Grid.view.Grid} event.source Owner grid
@@ -89915,7 +90078,7 @@ type TimelineHistogramBaseListeners = {
89915
90078
  */
89916
90079
  beforeDestroy?: ((event: { source: Base }) => void)|string
89917
90080
  /**
89918
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
90081
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
89919
90082
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
89920
90083
  * for async vetoing).
89921
90084
  * ...
@@ -90976,6 +91139,14 @@ type TimelineHistogramBaseListeners = {
90976
91139
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
90977
91140
  */
90978
91141
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
91142
+ /**
91143
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
91144
+ * @param {object} event Event object
91145
+ * @param {Grid.view.Grid} event.source The grid instance
91146
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
91147
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
91148
+ */
91149
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
90979
91150
  /**
90980
91151
  * Fires when row locking is disabled.
90981
91152
  * @param {object} event Event object
@@ -91925,7 +92096,7 @@ type TimelineHistogramBaseConfig = {
91925
92096
  rootElement?: ShadowRoot|HTMLElement
91926
92097
  /**
91927
92098
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
91928
- * overriden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
92099
+ * overridden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
91929
92100
  * a column [renderer](https://bryntum.com/products/scheduler/docs/api/Grid/column/Column#config-renderer).
91930
92101
  * ...
91931
92102
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/TimelineHistogramBase#config-rowHeight)
@@ -92255,7 +92426,7 @@ type TimelineHistogramBaseConfig = {
92255
92426
  */
92256
92427
  zoomOnTimeAxisDoubleClick?: boolean
92257
92428
  /**
92258
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
92429
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
92259
92430
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
92260
92431
  * case records should be "manually" removed after confirmation:
92261
92432
  * ...
@@ -92302,7 +92473,7 @@ type TimelineHistogramBaseConfig = {
92302
92473
  */
92303
92474
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
92304
92475
  /**
92305
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
92476
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
92306
92477
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
92307
92478
  * @param {object} event Event object
92308
92479
  * @param {Grid.view.Grid} event.source Owner grid
@@ -92370,7 +92541,7 @@ type TimelineHistogramBaseConfig = {
92370
92541
  */
92371
92542
  onBeforeDestroy?: ((event: { source: Base }) => void)|string
92372
92543
  /**
92373
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
92544
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
92374
92545
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
92375
92546
  * for async vetoing).
92376
92547
  * ...
@@ -93431,6 +93602,14 @@ type TimelineHistogramBaseConfig = {
93431
93602
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
93432
93603
  */
93433
93604
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
93605
+ /**
93606
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
93607
+ * @param {object} event Event object
93608
+ * @param {Grid.view.Grid} event.source The grid instance
93609
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
93610
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
93611
+ */
93612
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
93434
93613
  /**
93435
93614
  * Fires when row locking is disabled.
93436
93615
  * @param {object} event Event object
@@ -93488,7 +93667,7 @@ export abstract class TimelineHistogramBase extends TimelineBase {
93488
93667
  */
93489
93668
  features: TimelineHistogramBaseFeaturesType
93490
93669
  /**
93491
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
93670
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
93492
93671
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
93493
93672
  * case records should be "manually" removed after confirmation:
93494
93673
  * ...
@@ -93508,7 +93687,7 @@ export abstract class TimelineHistogramBase extends TimelineBase {
93508
93687
  */
93509
93688
  onBeforeDestroy: ((event: { source: Base }) => void)|string
93510
93689
  /**
93511
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
93690
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
93512
93691
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
93513
93692
  * for async vetoing).
93514
93693
  * ...
@@ -94352,7 +94531,7 @@ type SchedulerExportDialogConfig = {
94352
94531
  */
94353
94532
  closeAction?: 'hide'|'destroy'
94354
94533
  /**
94355
- * Close popup when `ESC` key is pressed.
94534
+ * Close popup when <kbd>Escape</kbd> key is pressed.
94356
94535
  */
94357
94536
  closeOnEscape?: boolean
94358
94537
  /**
@@ -95304,7 +95483,7 @@ export const Describable : <T extends AnyConstructor<Base>>(base : T) => AnyCons
95304
95483
  */
95305
95484
  type EventNavigationClassConfig = {
95306
95485
  /**
95307
- * Allow using [Delete] and [Backspace] to remove events/assignments
95486
+ * Allow using <kbd>Delete</kbd> and <kbd>Backspace</kbd> to remove events/assignments
95308
95487
  */
95309
95488
  enableDeleteKey?: boolean
95310
95489
  /**
@@ -95625,7 +95804,7 @@ type RecurringEventsClassConfig = {
95625
95804
  */
95626
95805
  recurrenceConfirmationPopup?: RecurrenceConfirmationPopupConfig|RecurrenceConfirmationPopup
95627
95806
  /**
95628
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
95807
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
95629
95808
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
95630
95809
  * case records should be "manually" removed after confirmation:
95631
95810
  * ...
@@ -95639,7 +95818,7 @@ type RecurringEventsClassConfig = {
95639
95818
  */
95640
95819
  onBeforeAssignmentDelete?: ((event: { source: Scheduler, assignmentRecords: AssignmentModel[], context: { finalize: { removeRecords?: boolean } } }) => Promise<boolean>|boolean|void)|string
95641
95820
  /**
95642
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
95821
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
95643
95822
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
95644
95823
  * for async vetoing).
95645
95824
  * ...
@@ -95668,7 +95847,7 @@ export class RecurringEventsClass {
95668
95847
  */
95669
95848
  recurrenceConfirmationPopup: RecurrenceConfirmationPopupConfig|RecurrenceConfirmationPopup
95670
95849
  /**
95671
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
95850
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
95672
95851
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
95673
95852
  * case records should be "manually" removed after confirmation:
95674
95853
  * ...
@@ -95682,7 +95861,7 @@ export class RecurringEventsClass {
95682
95861
  */
95683
95862
  onBeforeAssignmentDelete: ((event: { source: Scheduler, assignmentRecords: AssignmentModel[], context: { finalize: { removeRecords?: boolean } } }) => Promise<boolean>|boolean|void)|string
95684
95863
  /**
95685
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
95864
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
95686
95865
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
95687
95866
  * for async vetoing).
95688
95867
  * ...
@@ -97254,7 +97433,7 @@ export const TimelineEventRendering : <T extends AnyConstructor<Base>>(base : T)
97254
97433
  */
97255
97434
  type TimelineHistogramGroupingClassListenersTypes = {
97256
97435
  /**
97257
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
97436
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
97258
97437
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
97259
97438
  * case records should be "manually" removed after confirmation:
97260
97439
  * ...
@@ -97301,7 +97480,7 @@ type TimelineHistogramGroupingClassListenersTypes = {
97301
97480
  */
97302
97481
  beforeCellEditStart: (event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void
97303
97482
  /**
97304
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
97483
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
97305
97484
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
97306
97485
  * @param {object} event Event object
97307
97486
  * @param {Grid.view.Grid} event.source Owner grid
@@ -97369,7 +97548,7 @@ type TimelineHistogramGroupingClassListenersTypes = {
97369
97548
  */
97370
97549
  beforeDestroy: (event: { source: Base }) => void
97371
97550
  /**
97372
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
97551
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
97373
97552
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
97374
97553
  * for async vetoing).
97375
97554
  * ...
@@ -98430,6 +98609,14 @@ type TimelineHistogramGroupingClassListenersTypes = {
98430
98609
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
98431
98610
  */
98432
98611
  toolClick: (event: { source: Tool, tool: Tool }) => void
98612
+ /**
98613
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
98614
+ * @param {object} event Event object
98615
+ * @param {Grid.view.Grid} event.source The grid instance
98616
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
98617
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
98618
+ */
98619
+ treeGroup: (event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void
98433
98620
  /**
98434
98621
  * Fires when row locking is disabled.
98435
98622
  * @param {object} event Event object
@@ -98466,7 +98653,7 @@ type TimelineHistogramGroupingClassListeners = {
98466
98653
  */
98467
98654
  thisObj?: object
98468
98655
  /**
98469
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
98656
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
98470
98657
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
98471
98658
  * case records should be "manually" removed after confirmation:
98472
98659
  * ...
@@ -98513,7 +98700,7 @@ type TimelineHistogramGroupingClassListeners = {
98513
98700
  */
98514
98701
  beforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
98515
98702
  /**
98516
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
98703
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
98517
98704
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
98518
98705
  * @param {object} event Event object
98519
98706
  * @param {Grid.view.Grid} event.source Owner grid
@@ -98581,7 +98768,7 @@ type TimelineHistogramGroupingClassListeners = {
98581
98768
  */
98582
98769
  beforeDestroy?: ((event: { source: Base }) => void)|string
98583
98770
  /**
98584
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
98771
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
98585
98772
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
98586
98773
  * for async vetoing).
98587
98774
  * ...
@@ -99642,6 +99829,14 @@ type TimelineHistogramGroupingClassListeners = {
99642
99829
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
99643
99830
  */
99644
99831
  toolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
99832
+ /**
99833
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
99834
+ * @param {object} event Event object
99835
+ * @param {Grid.view.Grid} event.source The grid instance
99836
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
99837
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
99838
+ */
99839
+ treeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
99645
99840
  /**
99646
99841
  * Fires when row locking is disabled.
99647
99842
  * @param {object} event Event object
@@ -100624,7 +100819,7 @@ type TimelineHistogramGroupingClassConfig = {
100624
100819
  rootElement?: ShadowRoot|HTMLElement
100625
100820
  /**
100626
100821
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
100627
- * overriden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
100822
+ * overridden by specifying a [rowHeight](https://bryntum.com/products/scheduler/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
100628
100823
  * a column [renderer](https://bryntum.com/products/scheduler/docs/api/Grid/column/Column#config-renderer).
100629
100824
  * ...
100630
100825
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/mixin/TimelineHistogramGrouping#config-rowHeight)
@@ -100954,7 +101149,7 @@ type TimelineHistogramGroupingClassConfig = {
100954
101149
  */
100955
101150
  zoomOnTimeAxisDoubleClick?: boolean
100956
101151
  /**
100957
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
101152
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
100958
101153
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
100959
101154
  * case records should be "manually" removed after confirmation:
100960
101155
  * ...
@@ -101001,7 +101196,7 @@ type TimelineHistogramGroupingClassConfig = {
101001
101196
  */
101002
101197
  onBeforeCellEditStart?: ((event: { source: Grid, editorContext: CellEditorContext }) => Promise<boolean>|boolean|void)|string
101003
101198
  /**
101004
- * Fires on the owning Grid before deleting a range of selected cell values by pressing `Backspace` or `Del`
101199
+ * Fires on the owning Grid before deleting a range of selected cell values by pressing <kbd>Backspace</kbd> or <kbd>Delete</kbd>
101005
101200
  * buttons while [autoEdit](https://bryntum.com/products/scheduler/docs/api/Grid/feature/CellEdit#config-autoEdit) is set to `true`. Return `false` to prevent editing.
101006
101201
  * @param {object} event Event object
101007
101202
  * @param {Grid.view.Grid} event.source Owner grid
@@ -101069,7 +101264,7 @@ type TimelineHistogramGroupingClassConfig = {
101069
101264
  */
101070
101265
  onBeforeDestroy?: ((event: { source: Base }) => void)|string
101071
101266
  /**
101072
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
101267
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
101073
101268
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
101074
101269
  * for async vetoing).
101075
101270
  * ...
@@ -102130,6 +102325,14 @@ type TimelineHistogramGroupingClassConfig = {
102130
102325
  * @param {Core.widget.Tool} event.tool The tool which is being clicked.
102131
102326
  */
102132
102327
  onToolClick?: ((event: { source: Tool, tool: Tool }) => void)|string
102328
+ /**
102329
+ * Fired on the owning Grid/Scheduler/Gantt after tree grouping levels change
102330
+ * @param {object} event Event object
102331
+ * @param {Grid.view.Grid} event.source The grid instance
102332
+ * @param {(string|Function)[]} event.groupers Array of field names or functions representing the current grouping levels
102333
+ * @param {(string|Function)[]} event.oldGroupers Array of field names or functions representing the previous grouping levels
102334
+ */
102335
+ onTreeGroup?: ((event: { source: Grid, groupers: (string|Function)[], oldGroupers: (string|Function)[] }) => void)|string
102133
102336
  /**
102134
102337
  * Fires when row locking is disabled.
102135
102338
  * @param {object} event Event object
@@ -102171,7 +102374,7 @@ export class TimelineHistogramGroupingClass extends TimelineHistogramBase {
102171
102374
  */
102172
102375
  features: TimelineHistogramGroupingClassFeaturesType
102173
102376
  /**
102174
- * Fires before an assignment is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or
102377
+ * Fires before an assignment is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or
102175
102378
  * by the event editor. Can for example be used to display a custom dialog to confirm deletion, in which
102176
102379
  * case records should be "manually" removed after confirmation:
102177
102380
  * ...
@@ -102191,7 +102394,7 @@ export class TimelineHistogramGroupingClass extends TimelineHistogramBase {
102191
102394
  */
102192
102395
  onBeforeDestroy: ((event: { source: Base }) => void)|string
102193
102396
  /**
102194
- * Fires before an event is removed. Can be triggered by user pressing [DELETE] or [BACKSPACE] or by the
102397
+ * Fires before an event is removed. Can be triggered by user pressing <kbd>Delete</kbd> or <kbd>Backspace</kbd> or by the
102195
102398
  * event editor. Return `false` to immediately veto the removal (or a `Promise` yielding `true` or `false`
102196
102399
  * for async vetoing).
102197
102400
  * ...
@@ -102939,7 +103142,7 @@ export class TimelineZoomableClass {
102939
103142
  */
102940
103143
  zoomToLevel(preset: number, options?: ChangePresetOptions): number|null;
102941
103144
  /**
102942
- * Sets time frame to specified range and applies zoom level which allows to fit all columns to this range.
103145
+ * Sets time frame to specified range and applies zoom level which allows fitting all columns to this range.
102943
103146
  * @param {object} config The time frame.
102944
103147
  */
102945
103148
  zoomToSpan(config: {
@@ -103669,7 +103872,7 @@ type RecurrenceConfirmationPopupConfig = {
103669
103872
  */
103670
103873
  closeAction?: 'hide'|'destroy'
103671
103874
  /**
103672
- * Close popup when `ESC` key is pressed.
103875
+ * Close popup when <kbd>Escape</kbd> key is pressed.
103673
103876
  */
103674
103877
  closeOnEscape?: boolean
103675
103878
  /**
@@ -105026,7 +105229,7 @@ type RecurrenceEditorConfig = {
105026
105229
  */
105027
105230
  closeAction?: 'hide'|'destroy'
105028
105231
  /**
105029
- * Close popup when `ESC` key is pressed.
105232
+ * Close popup when <kbd>Escape</kbd> key is pressed.
105030
105233
  */
105031
105234
  closeOnEscape?: boolean
105032
105235
  /**
@@ -107478,7 +107681,7 @@ type RecurrenceComboConfig = {
107478
107681
  contentElementCls?: string|object
107479
107682
  /**
107480
107683
  * If configured as `true`, this means that when an unmatched string is typed into the
107481
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
107684
+ * 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,
107482
107685
  * 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).
107483
107686
  * ...
107484
107687
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/recurrence/field/RecurrenceCombo#config-createOnUnmatched)
@@ -107978,7 +108181,7 @@ type RecurrenceComboConfig = {
107978
108181
  required?: boolean
107979
108182
  /**
107980
108183
  * 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
107981
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
108184
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
107982
108185
  * 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)
107983
108186
  * behaviour will be activated.
107984
108187
  */
@@ -108861,7 +109064,7 @@ type RecurrenceDaysComboConfig = {
108861
109064
  contentElementCls?: string|object
108862
109065
  /**
108863
109066
  * If configured as `true`, this means that when an unmatched string is typed into the
108864
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
109067
+ * 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,
108865
109068
  * 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).
108866
109069
  * ...
108867
109070
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/recurrence/field/RecurrenceDaysCombo#config-createOnUnmatched)
@@ -109361,7 +109564,7 @@ type RecurrenceDaysComboConfig = {
109361
109564
  required?: boolean
109362
109565
  /**
109363
109566
  * 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
109364
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
109567
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
109365
109568
  * 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)
109366
109569
  * behaviour will be activated.
109367
109570
  */
@@ -110243,7 +110446,7 @@ type RecurrenceFrequencyComboConfig = {
110243
110446
  contentElementCls?: string|object
110244
110447
  /**
110245
110448
  * If configured as `true`, this means that when an unmatched string is typed into the
110246
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
110449
+ * 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,
110247
110450
  * 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).
110248
110451
  * ...
110249
110452
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/recurrence/field/RecurrenceFrequencyCombo#config-createOnUnmatched)
@@ -110743,7 +110946,7 @@ type RecurrenceFrequencyComboConfig = {
110743
110946
  required?: boolean
110744
110947
  /**
110745
110948
  * 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
110746
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
110949
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
110747
110950
  * 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)
110748
110951
  * behaviour will be activated.
110749
110952
  */
@@ -111625,7 +111828,7 @@ type RecurrencePositionsComboConfig = {
111625
111828
  contentElementCls?: string|object
111626
111829
  /**
111627
111830
  * If configured as `true`, this means that when an unmatched string is typed into the
111628
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
111831
+ * 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,
111629
111832
  * 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).
111630
111833
  * ...
111631
111834
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/recurrence/field/RecurrencePositionsCombo#config-createOnUnmatched)
@@ -112125,7 +112328,7 @@ type RecurrencePositionsComboConfig = {
112125
112328
  required?: boolean
112126
112329
  /**
112127
112330
  * 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
112128
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
112331
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
112129
112332
  * 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)
112130
112333
  * behaviour will be activated.
112131
112334
  */
@@ -113007,7 +113210,7 @@ type RecurrenceStopConditionComboConfig = {
113007
113210
  contentElementCls?: string|object
113008
113211
  /**
113009
113212
  * If configured as `true`, this means that when an unmatched string is typed into the
113010
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
113213
+ * 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,
113011
113214
  * 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).
113012
113215
  * ...
113013
113216
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/view/recurrence/field/RecurrenceStopConditionCombo#config-createOnUnmatched)
@@ -113507,7 +113710,7 @@ type RecurrenceStopConditionComboConfig = {
113507
113710
  required?: boolean
113508
113711
  /**
113509
113712
  * 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
113510
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
113713
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
113511
113714
  * 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)
113512
113715
  * behaviour will be activated.
113513
113716
  */
@@ -115800,7 +116003,7 @@ type EventColorFieldConfig = {
115800
116003
  required?: boolean
115801
116004
  /**
115802
116005
  * 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
115803
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
116006
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
115804
116007
  * 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)
115805
116008
  * behaviour will be activated.
115806
116009
  */
@@ -116994,7 +117197,7 @@ type EventColorPickerConfig = {
116994
117197
  */
116995
117198
  title?: string
116996
117199
  /**
116997
- * Select/deselect all if `CMD`/`CTRL` is pressed when clicking
117200
+ * Select/deselect all if <kbd>Cmd</kbd>/<kbd>Ctrl</kbd> is pressed when clicking
116998
117201
  */
116999
117202
  toggleAllIfCtrlPressed?: boolean
117000
117203
  /**
@@ -117759,7 +117962,7 @@ type ProjectComboConfig = {
117759
117962
  contentElementCls?: string|object
117760
117963
  /**
117761
117964
  * If configured as `true`, this means that when an unmatched string is typed into the
117762
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
117965
+ * 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,
117763
117966
  * 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).
117764
117967
  * ...
117765
117968
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#config-createOnUnmatched)
@@ -118263,7 +118466,7 @@ type ProjectComboConfig = {
118263
118466
  required?: boolean
118264
118467
  /**
118265
118468
  * 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
118266
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
118469
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
118267
118470
  * 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)
118268
118471
  * behaviour will be activated.
118269
118472
  */
@@ -119148,7 +119351,7 @@ type ResourceComboConfig = {
119148
119351
  contentElementCls?: string|object
119149
119352
  /**
119150
119353
  * If configured as `true`, this means that when an unmatched string is typed into the
119151
- * combo's input field, and `ENTER`, or the [multiValueSeparator](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiValueSeparator) is typed,
119354
+ * 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,
119152
119355
  * 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).
119153
119356
  * ...
119154
119357
  * [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ResourceCombo#config-createOnUnmatched)
@@ -119648,7 +119851,7 @@ type ResourceComboConfig = {
119648
119851
  required?: boolean
119649
119852
  /**
119650
119853
  * 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
119651
- * the `ESCAPE` key after editing the field will revert the field to the value it had when
119854
+ * the <kbd>Escape</kbd> key after editing the field will revert the field to the value it had when
119652
119855
  * 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)
119653
119856
  * behaviour will be activated.
119654
119857
  */
@@ -120894,7 +121097,7 @@ type ResourceFilterConfig = {
120894
121097
  */
120895
121098
  title?: string
120896
121099
  /**
120897
- * Select/deselect all if `CMD`/`CTRL` is pressed when clicking
121100
+ * Select/deselect all if <kbd>Cmd</kbd>/<kbd>Ctrl</kbd> is pressed when clicking
120898
121101
  */
120899
121102
  toggleAllIfCtrlPressed?: boolean
120900
121103
  /**