ViewPresetCombo
A combo for selecting ViewPreset for Scheduler and Gantt. Lets the user select between specified presets available.
new Scheduler({ appendTo : targetElement, autoHeight : true, resources : [ { id : 1, name : 'Bernard' }, { id : 2, name : 'Bianca' } ], events : [ { id : 1, resourceId : 1, name : 'Interview', location : 'Office', startDate : '2018-05-07', endDate : '2018-05-10' }, { id : 2, resourceId : 2, name : 'Meeting', location : 'Client`s office', startDate : '2018-05-10', endDate : '2018-05-12' } ], tbar : [ { type : 'viewpresetcombo' } ], startDate : new Date(2018, 4, 6), endDate : new Date(2018, 4, 13), columns : [ { field : 'name', text : 'Name', width : 100 } ] }); startDate will be calculated to the beginning of the mainUnit of the viewportCenterDate. If the ViewPreset has a start configured, this will be added to the calculation. The endDate will then be calculated by adding the ViewPreset's defaultSpan to the startDate. Set useFixedDuration to false to prevent this behaviour.Add it to the component's toolbar to connect it automatically:
new Scheduler({
tbar : {
viewPresetCombo: {
type: 'viewpresetcombo',
width: '7em'
}
}
});
Or specify which Scheduler, SchedulerPro or Gantt component instance it should connect to the client config:
const scheduler = new Scheduler({ ... });
const viewPresetCombo = new ViewPresetCombo({
appendTo : 'someElementClassName',
client : scheduler
});
By default, the following presets are shown in the combo:
Changing selectable presets
To change the default selectable presets specify an array of preset ids. The presets specified must be available to the client.
viewPresetCombo: {
presets: ['weekAndDay', 'dayAndMonth', 'myCustomPreset']
}
NOTE: The selectable presets will be arranged in the order provided in the presets config.
See also
- ViewPreset - View preset configuration
- PresetStore - Preset store (zoom levels)
- PresetManager - Built-in presets
Configs
Configs are options you supply in a configuration object when creating an instance of this class-
User can edit text in text field (otherwise only pick from attached picker)
Has a corresponding runtime editable property.
-
If not added to a toolbar, provide a Scheduler, SchedulerPro or Gantt component instance to which the ViewPresetCombo should be connected.
-
An array containing string ViewPreset ids available for selection. The specified presets must be available for the client (Scheduler, SchedulerPro or Gantt) for it to work properly. The selectable presets will be arranged in the order provided here.
-
Custom style spec to add to element
Has a corresponding runtime style property.
-
Configure this as
falseto disable keyboard filtering completely -
Provide a function that returns items to be shown in the combo's selector.
-
Specify
falseto not clear value typed to a multiselect combo when an item is selected. -
Set to
trueto clear this field when user empties the input element -
By default, the picker is hidden on selection in single select mode, and remains to allow more selections when multiSelect is
true. Setting this to aBooleanvalue can override that default. -
CSS class to add to picker
-
Configure this as
trueand the items display field values will be localized. The display field values need to be a locale string. -
When the Combo is
editable : false, keystrokes are listened for and a filter string built which filters down the visible result. After a timeout of nonEditableFilterTimeout milliseconds, the filter string is cleared.Has a corresponding runtime nonEditableFilterTimeout property.
-
This implies that the picker will display an anchor pointer, but also means that the picker will align closer to the input field so that the pointer pierces the pickerAlignElement
-
Width of picker, defaults to this combo's pickerAlignElement width
-
Configure this as
trueto reapply sorting after localizing the items. -
The default configuration for the container.
-
A createElement config object or HTML string from which to create the Widget's element.
Has a corresponding runtime element property.
-
Widget id, if not specified one will be generated. Also used for lookups through Widget.getById
Has a corresponding runtime id property.
-
Element (or element id) to insert this widget before. If provided, appendTo config is ignored.
Has a corresponding runtime insertBefore property.
-
Element (or element id) to append this widget element to, as a first child. If provided, appendTo config is ignored.
Has a corresponding runtime insertFirst property.
-
Internal listeners, that cannot be removed by the user.
-
trueto automatically display a * after the label for this field when it is required.Has a corresponding runtime showRequiredIndicator property.
-
Set to
true, completely bypasses validation logic (could be userful if your field is noteditableto the user). -
Only valid if this Widget is floating. Set to
trueto centre the Widget in browser viewport space. -
Only valid if this Widget is floating or positioned. Element, Widget or Rectangle to which this Widget is constrained.
-
Set to
trueto move the widget out of the document flow and position it absolutely in browser viewport space. -
Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to
true). Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible. -
The Formula provider prefix currently being used
-
A list of property names to be set in the underlying input element from properties by the same name in this Field object if the value is not
== null. -
Text alignment for the input field.
-
Sets custom attributes of the underlying input element. For more information, please refer to MDN
-
If you need to use something else than a default
inputelement, as the input element, provide the tag name here. Please note that this is used for advanced usage only, for example when using WebComponents (custom elements), and that the configured element must fulfil the same contract as a regular input element. -
The width to apply to the
.b-field-innerelement, which encompasses theinputelement and any triggers. If a number is specified,pxwill be used. -
Label, prepended to field
Has a corresponding runtime label property.
-
CSS class name or class names to add to any configured label
-
The width to apply to the
<label>element. If a number is specified,pxwill be used. -
The labels to add either before or after the input field. Each label may have the following properties:
htmlThe label text.align'start'or'end'which end of the field the label should go.
- html : String
Label text
- align : 'start'/'end'
Which end of the file the label should go
-
When this widget is a child of a Container, it will by default be participating in a flexbox layout. This config allows you to set this widget's align-self style.
Has a corresponding runtime alignSelf property.
-
When this widget is a child of a Container, it will by default be participating in a flexbox layout. This config allows you to set this widget's flex style. This may be configured as a single number or a
<flex-grow> <flex-shrink> <flex-basis>format string. numeric-only values are interpreted as theflex-growvalue.Has a corresponding runtime flex property.
-
Widget's height, used to set element
style.height. Either specify a valid height string or a number, which will get 'px' appended. We recommend using CSS as the primary way to control height, but in some cases this config is convenient.Has a corresponding runtime height property.
-
Widget's margin. This may be configured as a single number or a
TRBLformat string. numeric-only values are interpreted as pixels.Has a corresponding runtime margin property.
-
A widgets weight determines its position among siblings when added to a Container. Higher weights go further down.
-
Widget's width, used to set element
style.width. Either specify a valid width string or a number, which will get 'px' appended. We recommend using CSS as the primary way to control width, but in some cases this config is convenient.Has a corresponding runtime width property.
-
Initial text to show in badge.
Has a corresponding runtime badge property.
-
Event that should be considered the default action of the widget. When that event is triggered the widget is also expected to trigger an
actionevent. Purpose is to allow reacting to most widgets in a coherent way. -
The name of the property to set when a single value is to be applied to this Widget. Such as when used in a grid WidgetColumn, this is the property to which the column's
fieldis applied. -
Set to
falseto disable localization of this object. -
Set to
trueto apply the default mask to the widget. Alternatively, this can be the mask message or a Mask config object. -
Prevent tooltip from being displayed on touch devices. Useful for example for buttons that display a menu on click etc, since the tooltip would be displayed at the same time.
-
If you are rendering this widget to a shadow root inside a web component, set this config to the shadowRoot. If not inside a web component, set it to
document.body -
Set to
falseto not show the tooltip when this widget is disabled -
The class to instantiate to use as the scrollable. Defaults to Scroller.
-
The
bottomCSS absolute position for this widget. If specified, the widget is implicitly configured as positionable. -
Programmatic control over which column to start in when used in a grid layout.
Has a corresponding runtime column property.
-
The
inset-inline-startCSS absolute position for this widget. If specified, the widget is implicitly configured as positionable. -
Set this config to
falseto disable batching DOM updates on animation frames for this widget. This has the effect of synchronously updating the DOM when configs affecting the rendered DOM are modified. Depending on the situation, this could simplify code while increasing time spent updating the DOM. -
The
inset-inline-endCSS absolute position for this widget. If specified, the widget is implicitly configured as positionable. -
Programmatic control over how many columns to span when used in a grid layout.
Has a corresponding runtime span property.
-
The
topCSS absolute position for this widget. If specified, the widget is implicitly configured as positionable.
Properties
Properties are getters/setters or publicly accessible variables on this class-
Identifies an object as an instance of Badge class, or subclass thereof.
-
Identifies an object as an instance of Delayable class, or subclass thereof.
-
Identifies an object as an instance of Events class, or subclass thereof.
-
Identifies an object as an instance of FormulaField class, or subclass thereof.
-
Identifies an object as an instance of KeyMap class, or subclass thereof.
-
Identifies an object as an instance of Labelable class, or subclass thereof.
-
Identifies an object as an instance of Localizable class, or subclass thereof.
-
Identifies an object as an instance of RTL class, or subclass thereof.
-
Identifies an object as an instance of Validatable class, or subclass thereof.
-
Identifies an object as an instance of ViewPresetCombo class, or subclass thereof.
-
A class property getter for the default values of internal properties for this class.
-
Returns an array containing all existing Widgets. The returned array is generated by this call and is not an internal structure.
-
This property yields
trueif the currently focused element has been reached through other means than mouse click. If theactiveElementmatches:focus-visible. -
Get/set the recomposeAsync config for all widgets. Setting this value will set the config for all existing widgets and will be the default value for newly created widgets. Set this value to
nullto disable the default setting for new widgets while leaving existing widgets unaffected.Has a corresponding recomposeAsync config.
-
An empty array that can be used as a default value.
-
An empty object that can be used as a default value.
-
Identifies an object as an instance of Combo class, or subclass thereof.
-
Identifies an object as an instance of Field class, or subclass thereof.
-
Identifies an object as an instance of PickerField class, or subclass thereof.
-
Identifies an object as an instance of TextField class, or subclass thereof.
-
Identifies an object as an instance of ViewPresetCombo class, or subclass thereof.
-
Identifies an object as an instance of Widget class, or subclass thereof.
-
Returns array of the Combo's inner HTML elements. This getter can be overridden.
-
When the Combo is
editable : false, keystrokes are listened for and a filter string built which filters down the visible result. After a timeout of nonEditableFilterTimeout milliseconds, the filter string is cleared.Has a corresponding nonEditableFilterTimeout config.
-
Get selected record.
-
Get this widget's encapsulating HTMLElement, which is created along with the widget but added to DOM at render time.
Has a corresponding element config.
-
Get this widget's primary focus holding element if this widget is itself focusable, or contains focusable widgets.
-
Returns an object describing the focus and keyboard navigation aspects of this widget's focusElement.
-
Returns this widget's focusElement if that element can currently be given focus (e.g., this widget is not disabled, or hidden).
-
This property is set to
trueafter processing the initial paint for the widget. It remainsfalseduring the initial paint. The intended use for this flag is to avoid processing that will be handled by the first paint (similar to not firing events during the widget's initial configuration). If this field istrue, the initial paint has already taken place, otherwise, it has yet to run. This field differs fromisPaintedwhich checks that the widget's element is attached to the DOM. -
Get/set widgets id
Has a corresponding id config.
-
Element (or element id) to insert this widget before. If provided, appendTo config is ignored.
Has a corresponding insertBefore config.
-
Element (or element id) to append this widget element to, as a first child. If provided, appendTo config is ignored.
Has a corresponding insertFirst config.
-
Returns the
DomClassListfor this widget's class. This object should not be mutated. -
Get/set widgets elements style. The setter accepts a cssText string or a style config object, the getter always returns a CSSStyleDeclaration
Has a corresponding style config.
-
The input element at the heart if this field
-
Text to display in empty field.
-
Configure as
trueto indicate that anullfield value is to be marked as invalid. This will optionally append a * to the field label if showRequiredIndicator is set. -
trueto automatically display a * after the label for this field when it is required.Has a corresponding showRequiredIndicator config.
-
Returns the DOM
ValidityStatefor this widget's input element, ornullif there isn't one. -
The formula typed between the parentheses in a
=XXX(...)expression in the field's value if theXXXmatches an available FormulaProvider. -
Override to attach the keyMap keydown event listener to something else than this.element
-
Override to make keyMap resolve subcomponent actions to something else than this.features.
-
Get/set this widget's
align-selfflexbox setting. This may be set to modify how this widget is aligned within the cross axis of a flexbox layout container.Has a corresponding alignSelf config.
-
Get element's
offsetHeightor sets itsstyle.height, or specified height if element no created yet.Has a corresponding height config.
-
Get element's margin property. This may be configured as a single number or a
TRBLformat string. numeric-only values are interpreted as pixels.Has a corresponding margin config.
-
Get elements
offsetWidthor sets itsstyle.width, or specified width if element not created yet.Has a corresponding width config.
-
Returns a copy of the full configuration which was used to configure this object.
-
This property is set to
truebefore theconstructorreturns. -
This property is set to
trueon entry to the destroy method. It remains on the objects after returning fromdestroy(). If isDestroyed istrue, this property will also betrue, so there is no need to test for both (for example,comp.isDestroying || comp.isDestroyed). -
Get id assigned by user (not generated id)
-
Get/sets and display badge, set to null or empty string to hide.
Has a corresponding badge config.
-
Get/set element's disabled state. Set to
'inert'to also set theinertDOM attribute.Has a corresponding disabled config.
-
true if no id was set, will use generated id instead (widget1, ...). Toggle automatically on creation
-
Get/set fields label. Please note that the Field needs to have a label specified from start for this to work, otherwise no element is created.
Has a corresponding label config.
-
Get the global LocaleHelper
-
Get the global LocaleManager
-
Determines visibility by checking if the Widget is hidden, or any ancestor is hidden and that it has an element which is visible in the DOM
-
Programmatic control over which column to start in when used in a grid layout.
Has a corresponding column config.
-
Returns
trueif this class usescompose()to render itself. -
This widget's twin that is placed in an overflow menu when this widget has been hidden by its owner, typically a Toolbar due to overflow. The
overflowTwinis created lazily by ensureOverflowTwin. -
Programmatic control over how many columns to span when used in a grid layout.
Has a corresponding span config.
-
Get this Widget's next sibling in the parent Container, or, if not in a Container, the next sibling widget in the same parentElement.
-
Get this Widget's parent when used as a child in a Container,
-
Get this Widget's previous sibling in the parent Container, or, if not in a Container, the previous sibling widget in the same parentElement.
Functions
Functions are methods available for calling on the class-
This optional class method is called when a class is mixed in using the mixin() method.
-
Prepares items to work in attached menu (converts strings to items)
-
Creates default picker widget
-
User types into input field in editable combo, show list and filter it.
-
Check if field value is valid
-
User clicked trigger icon, toggle list.
-
Clear caches, forces all calls to fromCache to requery dom. Called on render/rerender.
-
Internal function used to hook destroy() calls when using thisObj
-
Internal function used restore hooked destroy() calls when using thisObj
-
Auto detaches listeners registered from start, if set as detachable
-
Internal function used to run a callback function after an event is triggered
-
Removes all listeners registered to this object by the application.
-
Trigger event when fields input changes
Triggers: change
-
Called when disabled state is changed. Used to add or remove 'b-invalid' class for the invalid field based on current disabled state.
-
Only valid for floating Widgets. Moves to the front of the visual stacking order.
-
Called on keyMapElement keyDown
-
Called by the Base constructor after all configs have been applied.
-
hidePicker( ) Combo
Hide picker
-
showPicker( ) Combo
Show the picker
-
Toggle the picker visibility
-
Allows using arrow keys to open/close list. Relays other keypresses to list if open.
-
This method is called following an update to the widget's rendered DOM.
-
Disable the widget
-
Enable the widget
-
Unmask the widget
Events
Events are triggered for certain actions in this class and can be listened for to react to those actions in your code-
This event is fired after a widget's elements have been synchronized due to a direct or indirect call to recompose, if this results in some change to the widget's rendered DOM elements.
Event handlers
Event handlers are callbacks called as a result of certain actions in this class-
This event is called after a widget's elements have been synchronized due to a direct or indirect call to recompose, if this results in some change to the widget's rendered DOM elements.