@bryntum/scheduler-vue-3-thin 7.3.0 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +8 -8
  2. package/lib/chunks/{DVFhf2Ma.js → BTSObfAz.js} +6 -4
  3. package/lib/chunks/BTSObfAz.js.map +1 -0
  4. package/lib/chunks/BXIuEgYD.js.map +1 -1
  5. package/lib/chunks/{DhhzgoYL.js → CCTV8qn0.js} +3 -1
  6. package/lib/chunks/CCTV8qn0.js.map +1 -0
  7. package/lib/chunks/{kN-s_8Na.js → COFzBhB8.js} +8 -6
  8. package/lib/chunks/COFzBhB8.js.map +1 -0
  9. package/lib/chunks/DB0UHrA3.js.map +1 -1
  10. package/lib/chunks/{5o-YjSb7.js → DJSlX0qP.js} +3 -1
  11. package/lib/chunks/DJSlX0qP.js.map +1 -0
  12. package/lib/chunks/DP61St-u.js.map +1 -1
  13. package/lib/chunks/{ZkU6CtWX.js → LNqNYJck.js} +9 -7
  14. package/lib/chunks/LNqNYJck.js.map +1 -0
  15. package/lib/chunks/R69sJLmF.js.map +1 -1
  16. package/lib/chunks/{OJaN5ZWK.js → WykRcMCN.js} +6 -4
  17. package/lib/chunks/WykRcMCN.js.map +1 -0
  18. package/lib/chunks/eUISgYXE.js.map +1 -1
  19. package/lib/chunks/t8aiH3XL.js.map +1 -1
  20. package/lib/components/BryntumEventColorField.js +1 -1
  21. package/lib/components/BryntumProjectCombo.js +1 -1
  22. package/lib/components/BryntumResourceCombo.js +1 -1
  23. package/lib/components/BryntumScheduler.js +1 -1
  24. package/lib/components/BryntumSchedulerBase.js +1 -1
  25. package/lib/components/BryntumViewPresetCombo.js +1 -1
  26. package/lib/index.js +6 -6
  27. package/package.json +1 -1
  28. package/src/components/BryntumEventColorField.vue +80 -106
  29. package/src/components/BryntumEventColorFieldProps.ts +9 -0
  30. package/src/components/BryntumProjectCombo.vue +81 -109
  31. package/src/components/BryntumProjectComboProps.ts +9 -0
  32. package/src/components/BryntumResourceCombo.vue +81 -109
  33. package/src/components/BryntumResourceComboProps.ts +9 -0
  34. package/src/components/BryntumResourceFilter.vue +69 -107
  35. package/src/components/BryntumScheduler.vue +1425 -1927
  36. package/src/components/BryntumSchedulerBase.vue +1425 -1927
  37. package/src/components/BryntumSchedulerBaseProps.ts +5 -0
  38. package/src/components/BryntumSchedulerDatePicker.vue +85 -135
  39. package/src/components/BryntumSchedulerProjectModel.vue +11 -15
  40. package/src/components/BryntumSchedulerProps.ts +5 -0
  41. package/src/components/BryntumTimeZoomSlider.vue +50 -80
  42. package/src/components/BryntumTimelineHistogram.vue +722 -1030
  43. package/src/components/BryntumUndoRedo.vue +49 -79
  44. package/src/components/BryntumViewPresetCombo.vue +77 -103
  45. package/src/components/BryntumViewPresetComboProps.ts +9 -0
  46. package/lib/chunks/5o-YjSb7.js.map +0 -1
  47. package/lib/chunks/DVFhf2Ma.js.map +0 -1
  48. package/lib/chunks/DhhzgoYL.js.map +0 -1
  49. package/lib/chunks/OJaN5ZWK.js.map +0 -1
  50. package/lib/chunks/ZkU6CtWX.js.map +0 -1
  51. package/lib/chunks/kN-s_8Na.js.map +0 -1
@@ -105,6 +105,15 @@ defineProps<{
105
105
  * Set to `true` to centre the Widget in browser viewport space.
106
106
  */
107
107
  centered ? : Boolean
108
+ /**
109
+ * A function (or the name of a function in the ownership hierarchy) called during field validation
110
+ * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#property-isValid)
111
+ * evaluation, after the built-in [required](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-required) check.
112
+ * [More...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#config-checkValidity)
113
+ * @param {Core.widget.Field} field The field being validated
114
+ * @returns {void}
115
+ */
116
+ checkValidity ? : ((field: Field) => void)|string
108
117
  /**
109
118
  * A config object to configure the [ChipView](https://bryntum.com/products/scheduler/docs/api/Core/widget/ChipView) to display the
110
119
  * selected value set when [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`.
@@ -795,44 +804,36 @@ const emit = defineEmits<{
795
804
  * The default action was performed (an item in the list was selected)
796
805
  * @param {string} e Event name
797
806
  * @param {object} params Event parameters
798
- * @param {string} params.e Event name
799
- * @param {object} params.params Event parameters
800
- * @param {object} params.params.event Event object
801
- * @param {Core.widget.Combo} params.params.event.source The combo
802
- * @param {any} params.params.event.value The [value](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-valueField) of the selected record
803
- * @param {Core.data.Model} params.params.event.record Selected record
804
- * @param {Core.data.Model[]} params.params.event.records Selected records as an array if [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`
805
- * @param {boolean} params.params.event.userAction `true` if the value change is due to user interaction
807
+ * @param {object} params.event Event object
808
+ * @param {Core.widget.Combo} params.event.source The combo
809
+ * @param {any} params.event.value The [value](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-valueField) of the selected record
810
+ * @param {Core.data.Model} params.event.record Selected record
811
+ * @param {Core.data.Model[]} params.event.records Selected records as an array if [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`
812
+ * @param {boolean} params.event.userAction `true` if the value change is due to user interaction
806
813
  */
807
814
  (e: 'action', params: ((event: { source: Combo, value: any, record: Model, records: Model[], userAction: boolean }) => void)|string): void
808
815
  /**
809
816
  * Fires before an object is destroyed.
810
817
  * @param {string} e Event name
811
818
  * @param {object} params Event parameters
812
- * @param {string} params.e Event name
813
- * @param {object} params.params Event parameters
814
- * @param {object} params.params.event Event object
815
- * @param {Core.Base} params.params.event.source The Object that is being destroyed.
819
+ * @param {object} params.event Event object
820
+ * @param {Core.Base} params.event.source The Object that is being destroyed.
816
821
  */
817
822
  (e: 'beforeDestroy', params: ((event: { source: Base }) => void)|string): void
818
823
  /**
819
824
  * Triggered before a widget is hidden. Return `false` to prevent the action.
820
825
  * @param {string} e Event name
821
826
  * @param {object} params Event parameters
822
- * @param {string} params.e Event name
823
- * @param {object} params.params Event parameters
824
- * @param {object} params.params.event Event object
825
- * @param {Core.widget.Widget} params.params.event.source The widget being hidden.
827
+ * @param {object} params.event Event object
828
+ * @param {Core.widget.Widget} params.event.source The widget being hidden.
826
829
  */
827
- (e: 'beforeHide', params: ((event: { source: Widget }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
830
+ (e: 'beforeHide', params: ((event: { source: Widget }) => boolean|void)|string): boolean|void
828
831
  /**
829
832
  * Triggered before a widget is shown. Return `false` to prevent the action.
830
833
  * @param {string} e Event name
831
834
  * @param {object} params Event parameters
832
- * @param {string} params.e Event name
833
- * @param {object} params.params Event parameters
834
- * @param {object} params.params.event Event object
835
- * @param {Core.widget.Widget,any} params.params.event.source The widget being shown
835
+ * @param {object} params.event Event object
836
+ * @param {Core.widget.Widget,any} params.event.source The widget being shown
836
837
  */
837
838
  (e: 'beforeShow', params: ((event: { source: Widget|any }) => Promise<boolean>|boolean|void)|string): Promise<boolean>|boolean|void
838
839
  /**
@@ -840,27 +841,23 @@ const emit = defineEmits<{
840
841
  * [More...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#event-catchAll)
841
842
  * @param {string} e Event name
842
843
  * @param {object} params Event parameters
843
- * @param {string} params.e Event name
844
- * @param {object} params.params Event parameters
845
- * @param {object} params.params.event Event object
846
- * @param {{[key: string]: any, type: string}} params.params.event.event The Object that contains event details
847
- * @param {string} params.params.event.event.type The type of the event which is caught by the listener
844
+ * @param {object} params.event Event object
845
+ * @param {{[key: string]: any, type: string}} params.event.event The Object that contains event details
846
+ * @param {string} params.event.event.type The type of the event which is caught by the listener
848
847
  */
849
848
  (e: 'catchAll', params: ((event: {[key: string]: any, type: string}) => void)|string): void
850
849
  /**
851
850
  * Fired when this field's value changes.
852
851
  * @param {string} e Event name
853
852
  * @param {object} params Event parameters
854
- * @param {string} params.e Event name
855
- * @param {object} params.params Event parameters
856
- * @param {object} params.params.event Event object
857
- * @param {Core.widget.Field,any} params.params.event.source This Field
858
- * @param {string,number,boolean,any} params.params.event.value This field's value
859
- * @param {string,number,boolean,any} params.params.event.oldValue This field's previous value
860
- * @param {boolean} params.params.event.valid True if this field is in a valid state
861
- * @param {Event} params.params.event.event The triggering DOM event if any
862
- * @param {boolean} params.params.event.userAction Triggered by user taking an action (`true`) or by setting a value (`false`)
863
- * @param {boolean} params.params.event.checked
853
+ * @param {object} params.event Event object
854
+ * @param {Core.widget.Field,any} params.event.source This Field
855
+ * @param {string,number,boolean,any} params.event.value This field's value
856
+ * @param {string,number,boolean,any} params.event.oldValue This field's previous value
857
+ * @param {boolean} params.event.valid True if this field is in a valid state
858
+ * @param {Event} params.event.event The triggering DOM event if any
859
+ * @param {boolean} params.event.userAction Triggered by user taking an action (`true`) or by setting a value (`false`)
860
+ * @param {boolean} params.event.checked
864
861
  */
865
862
  (e: 'change', params: ((event: { source: Field|any, value: string|number|boolean|any, oldValue: string|number|boolean|any, valid: boolean, event: Event, userAction: boolean, checked: boolean }) => void)|string): void
866
863
  /**
@@ -868,45 +865,37 @@ const emit = defineEmits<{
868
865
  * [More...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#event-clear)
869
866
  * @param {string} e Event name
870
867
  * @param {object} params Event parameters
871
- * @param {string} params.e Event name
872
- * @param {object} params.params Event parameters
873
- * @param {object} params.params.event Event object
874
- * @param {Core.widget.Field,any} params.params.event.source This Field
868
+ * @param {object} params.event Event object
869
+ * @param {Core.widget.Field,any} params.event.source This Field
875
870
  */
876
871
  (e: 'clear', params: ((event: { source: Field|any }) => void)|string): void
877
872
  /**
878
873
  * Fires when an object is destroyed.
879
874
  * @param {string} e Event name
880
875
  * @param {object} params Event parameters
881
- * @param {string} params.e Event name
882
- * @param {object} params.params Event parameters
883
- * @param {object} params.params.event Event object
884
- * @param {Core.Base} params.params.event.source The Object that is being destroyed.
876
+ * @param {object} params.event Event object
877
+ * @param {Core.Base} params.event.source The Object that is being destroyed.
885
878
  */
886
879
  (e: 'destroy', params: ((event: { source: Base }) => void)|string): void
887
880
  /**
888
881
  * Triggered when a widget's [element](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#property-element) is available.
889
882
  * @param {string} e Event name
890
883
  * @param {object} params Event parameters
891
- * @param {string} params.e Event name
892
- * @param {object} params.params Event parameters
893
- * @param {object} params.params.event Event object
894
- * @param {HTMLElement} params.params.event.element The Widget's element.
884
+ * @param {object} params.event Event object
885
+ * @param {HTMLElement} params.event.element The Widget's element.
895
886
  */
896
887
  (e: 'elementCreated', params: ((event: { element: HTMLElement }) => void)|string): void
897
888
  /**
898
889
  * Fired when focus enters this Widget.
899
890
  * @param {string} e Event name
900
891
  * @param {object} params Event parameters
901
- * @param {string} params.e Event name
902
- * @param {object} params.params Event parameters
903
- * @param {object} params.params.event Event object
904
- * @param {Core.widget.Widget} params.params.event.source This Widget
905
- * @param {HTMLElement} params.params.event.fromElement The element which lost focus.
906
- * @param {HTMLElement} params.params.event.toElement The element which gained focus.
907
- * @param {Core.widget.Widget} params.params.event.fromWidget The widget which lost focus.
908
- * @param {Core.widget.Widget} params.params.event.toWidget The widget which gained focus.
909
- * @param {boolean} params.params.event.backwards `true` if the `toElement` is before the `fromElement` in document order.
892
+ * @param {object} params.event Event object
893
+ * @param {Core.widget.Widget} params.event.source This Widget
894
+ * @param {HTMLElement} params.event.fromElement The element which lost focus.
895
+ * @param {HTMLElement} params.event.toElement The element which gained focus.
896
+ * @param {Core.widget.Widget} params.event.fromWidget The widget which lost focus.
897
+ * @param {Core.widget.Widget} params.event.toWidget The widget which gained focus.
898
+ * @param {boolean} params.event.backwards `true` if the `toElement` is before the `fromElement` in document order.
910
899
  */
911
900
  (e: 'focusIn', params: ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string): void
912
901
  /**
@@ -915,25 +904,21 @@ const emit = defineEmits<{
915
904
  * will not trigger this event. This is when focus exits this widget completely.
916
905
  * @param {string} e Event name
917
906
  * @param {object} params Event parameters
918
- * @param {string} params.e Event name
919
- * @param {object} params.params Event parameters
920
- * @param {object} params.params.event Event object
921
- * @param {Core.widget.Widget} params.params.event.source This Widget
922
- * @param {HTMLElement} params.params.event.fromElement The element which lost focus.
923
- * @param {HTMLElement} params.params.event.toElement The element which gained focus.
924
- * @param {Core.widget.Widget} params.params.event.fromWidget The widget which lost focus.
925
- * @param {Core.widget.Widget} params.params.event.toWidget The widget which gained focus.
926
- * @param {boolean} params.params.event.backwards `true` if the `toElement` is before the `fromElement` in document order.
907
+ * @param {object} params.event Event object
908
+ * @param {Core.widget.Widget} params.event.source This Widget
909
+ * @param {HTMLElement} params.event.fromElement The element which lost focus.
910
+ * @param {HTMLElement} params.event.toElement The element which gained focus.
911
+ * @param {Core.widget.Widget} params.event.fromWidget The widget which lost focus.
912
+ * @param {Core.widget.Widget} params.event.toWidget The widget which gained focus.
913
+ * @param {boolean} params.event.backwards `true` if the `toElement` is before the `fromElement` in document order.
927
914
  */
928
915
  (e: 'focusOut', params: ((event: { source: Widget, fromElement: HTMLElement, toElement: HTMLElement, fromWidget: Widget, toWidget: Widget, backwards: boolean }) => void)|string): void
929
916
  /**
930
917
  * Triggered after a widget was hidden
931
918
  * @param {string} e Event name
932
919
  * @param {object} params Event parameters
933
- * @param {string} params.e Event name
934
- * @param {object} params.params Event parameters
935
- * @param {object} params.params.event Event object
936
- * @param {Core.widget.Widget} params.params.event.source The widget
920
+ * @param {object} params.event Event object
921
+ * @param {Core.widget.Widget} params.event.source The widget
937
922
  */
938
923
  (e: 'hide', params: ((event: { source: Widget }) => void)|string): void
939
924
  /**
@@ -941,12 +926,10 @@ const emit = defineEmits<{
941
926
  * not the combos value
942
927
  * @param {string} e Event name
943
928
  * @param {object} params Event parameters
944
- * @param {string} params.e Event name
945
- * @param {object} params.params Event parameters
946
- * @param {object} params.params.event Event object
947
- * @param {Core.widget.Combo} params.params.event.source The combo.
948
- * @param {string} params.params.event.value Raw input value
949
- * @param {Event} params.params.event.event The triggering DOM event if any.
929
+ * @param {object} params.event Event object
930
+ * @param {Core.widget.Combo} params.event.source The combo.
931
+ * @param {string} params.event.value Raw input value
932
+ * @param {Event} params.event.event The triggering DOM event if any.
950
933
  */
951
934
  (e: 'input', params: ((event: { source: Combo, value: string, event: Event }) => void)|string): void
952
935
  /**
@@ -955,21 +938,17 @@ const emit = defineEmits<{
955
938
  * [More...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#event-paint)
956
939
  * @param {string} e Event name
957
940
  * @param {object} params Event parameters
958
- * @param {string} params.e Event name
959
- * @param {object} params.params Event parameters
960
- * @param {object} params.params.event Event object
961
- * @param {Core.widget.Widget} params.params.event.source The widget being painted.
962
- * @param {boolean} params.params.event.firstPaint `true` if this is the first paint.
941
+ * @param {object} params.event Event object
942
+ * @param {Core.widget.Widget} params.event.source The widget being painted.
943
+ * @param {boolean} params.event.firstPaint `true` if this is the first paint.
963
944
  */
964
945
  (e: 'paint', params: ((event: { source: Widget, firstPaint: boolean }) => void)|string): void
965
946
  /**
966
947
  * Fired when a Widget's read only state is toggled
967
948
  * @param {string} e Event name
968
949
  * @param {object} params Event parameters
969
- * @param {string} params.e Event name
970
- * @param {object} params.params Event parameters
971
- * @param {object} params.params.event Event object
972
- * @param {boolean} params.params.event.readOnly Read only or not
950
+ * @param {object} params.event Event object
951
+ * @param {boolean} params.event.readOnly Read only or not
973
952
  */
974
953
  (e: 'readOnly', params: ((event: { readOnly: boolean }) => void)|string): void
975
954
  /**
@@ -981,48 +960,40 @@ const emit = defineEmits<{
981
960
  * Fired when the encapsulating element of a Widget resizes *only when [monitorResize](https://bryntum.com/products/scheduler/docs/api/Core/widget/Widget#config-monitorResize) is `true`*.
982
961
  * @param {string} e Event name
983
962
  * @param {object} params Event parameters
984
- * @param {string} params.e Event name
985
- * @param {object} params.params Event parameters
986
- * @param {object} params.params.event Event object
987
- * @param {Core.widget.Widget} params.params.event.source This Widget
988
- * @param {number} params.params.event.width The new width
989
- * @param {number} params.params.event.height The new height
990
- * @param {number} params.params.event.oldWidth The old width
991
- * @param {number} params.params.event.oldHeight The old height
963
+ * @param {object} params.event Event object
964
+ * @param {Core.widget.Widget} params.event.source This Widget
965
+ * @param {number} params.event.width The new width
966
+ * @param {number} params.event.height The new height
967
+ * @param {number} params.event.oldWidth The old width
968
+ * @param {number} params.event.oldHeight The old height
992
969
  */
993
970
  (e: 'resize', params: ((event: { source: Widget, width: number, height: number, oldWidth: number, oldHeight: number }) => void)|string): void
994
971
  /**
995
972
  * An item in the list was selected
996
973
  * @param {string} e Event name
997
974
  * @param {object} params Event parameters
998
- * @param {string} params.e Event name
999
- * @param {object} params.params Event parameters
1000
- * @param {object} params.params.event Event object
1001
- * @param {Core.widget.Combo} params.params.event.source The combo
1002
- * @param {Core.data.Model} params.params.event.record Selected record
1003
- * @param {Core.data.Model[]} params.params.event.records Selected records as an array if [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`
1004
- * @param {boolean} params.params.event.userAction `true` if the value change is due to user interaction
975
+ * @param {object} params.event Event object
976
+ * @param {Core.widget.Combo} params.event.source The combo
977
+ * @param {Core.data.Model} params.event.record Selected record
978
+ * @param {Core.data.Model[]} params.event.records Selected records as an array if [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`
979
+ * @param {boolean} params.event.userAction `true` if the value change is due to user interaction
1005
980
  */
1006
981
  (e: 'select', params: ((event: { source: Combo, record: Model, records: Model[], userAction: boolean }) => void)|string): void
1007
982
  /**
1008
983
  * Triggered after a widget is shown.
1009
984
  * @param {string} e Event name
1010
985
  * @param {object} params Event parameters
1011
- * @param {string} params.e Event name
1012
- * @param {object} params.params Event parameters
1013
- * @param {object} params.params.event Event object
1014
- * @param {Core.widget.Widget} params.params.event.source The widget
986
+ * @param {object} params.event Event object
987
+ * @param {Core.widget.Widget} params.event.source The widget
1015
988
  */
1016
989
  (e: 'show', params: ((event: { source: Widget }) => void)|string): void
1017
990
  /**
1018
991
  * User clicked one of this field's [triggers](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#property-triggers)
1019
992
  * @param {string} e Event name
1020
993
  * @param {object} params Event parameters
1021
- * @param {string} params.e Event name
1022
- * @param {object} params.params Event parameters
1023
- * @param {object} params.params.event Event object
1024
- * @param {Core.widget.Field,any} params.params.event.source This field
1025
- * @param {Core.widget.Widget} params.params.event.trigger The trigger activated by click or touch tap.
994
+ * @param {object} params.event Event object
995
+ * @param {Core.widget.Field,any} params.event.source This field
996
+ * @param {Core.widget.Widget} params.event.trigger The trigger activated by click or touch tap.
1026
997
  */
1027
998
  (e: 'trigger', params: ((event: { source: Field|any, trigger: Widget }) => void)|string): void
1028
999
  }>();
@@ -1044,6 +1015,7 @@ const widgetData = {
1044
1015
  'cacheLastResult',
1045
1016
  'caseSensitive',
1046
1017
  'centered',
1018
+ 'checkValidity',
1047
1019
  'chipView',
1048
1020
  'clearable',
1049
1021
  'clearTextOnPickerHide',
@@ -90,6 +90,15 @@ export declare type BryntumProjectComboProps = {
90
90
  * Set to `true` to centre the Widget in browser viewport space.
91
91
  */
92
92
  centered ? : Boolean
93
+ /**
94
+ * A function (or the name of a function in the ownership hierarchy) called during field validation
95
+ * to perform custom validity checks. The function is called as part of the [isValid](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#property-isValid)
96
+ * evaluation, after the built-in [required](https://bryntum.com/products/scheduler/docs/api/Core/widget/Field#config-required) check.
97
+ * [More...](https://bryntum.com/products/scheduler/docs/api/Scheduler/widget/ProjectCombo#config-checkValidity)
98
+ * @param {Core.widget.Field} field The field being validated
99
+ * @returns {void}
100
+ */
101
+ checkValidity ? : ((field: Field) => void)|string
93
102
  /**
94
103
  * A config object to configure the [ChipView](https://bryntum.com/products/scheduler/docs/api/Core/widget/ChipView) to display the
95
104
  * selected value set when [multiSelect](https://bryntum.com/products/scheduler/docs/api/Core/widget/Combo#config-multiSelect) is `true`.