Select

Select

new Select(optionsopt)

Source:
Properties:
Name Type Attributes Default Description
options.selected Integer | Boolean <optional>
false

The index of the selected SelectEntry. Set to -1 to unselect any already selected entries.

options.value mixed <optional>

The value of the selected entry.

options.selected_entry SelectEntry <optional>

The currently selected entry.

options.auto_size Boolean <optional>
true

If true, the Select is auto-sized to be as wide as the widest SelectEntry.

options.entries Array.<Object> <optional>
[]

The list of SelectEntry. Each member is an object with the two properties label and value, a string used as label for constructing a SelectEntry or an instance of SelectEntry.

options.placeholder String | Boolean <optional>
false

Placeholder for the button label. Set to false to have an empty placeholder. This placeholder is shown when no entry is selected.

options.list_class String | Boolean <optional>

A CSS class to be set on the list. This is a static option and can only be set once on initializaion.

options.label String | Boolean <optional>
false

Text for the button label. Set to false to remove the label from DOM. (Defined in Button)

options.icon String | Boolean <optional>
false

URL to an image file or an icon class (see styles/fonts/AUX.html). If set to false, the icon is removed from DOM. (Defined in Button)

options.state Boolean <optional>
false

State of the button, reflected as class .aux-active. (Defined in Button)

options.layout String <optional>
"horizontal"

Define the arrangement of label and icon. vertical means icon above the label, horizontal places the icon left to the label. (Defined in Button)

options.delay Integer <optional>
0

Enable delayed events. The value is set in milliseconds. If this is set to >0, Button fires some additional events, most importantly press_start after the delay has finished without the user leaving the button or lifting the pointer. (Defined in Button)

options.title String <optional>
""

A string to be set as title attribute on the main element to be displayed as tooltip. (Defined in Widget)

options.disabled Boolean <optional>
false

Toggles the class .aux-disabled. By default it disables all pointer events on the widget via CSS to make it unusable to the user. (Defined in Widget)

options.active Boolean <optional>

Toggles the class .aux-inactive. (Defined in Widget)

options.visible Boolean <optional>

Toggles the class .aux-hide and .aux-show. This option also enables and disabled rendering by calling Widget#hide and Widget#show. (Defined in Widget)

options.needs_resize Boolean <optional>
true

Set to true if the resize function shall be called before the next redraw. (Defined in Widget)

options.dblclick Boolean <optional>
400

Set a time in milliseconds for triggering double click event. If 0, no double click events are fired. (Defined in Widget)

options.preset String <optional>

Set a preset. This string gets set as class attribute aux-preset-[preset]. If options.presets has a member of this name, all options of its option object are set on the Widget. Non-existent options are reset to the default. Defaults are updated on initialization and runtime. (Defined in Widget)

options.presets Object <optional>
{}

An object with available preset specific options. Refer to options.preset for more information. (Defined in Widget)

options.notransitions_duration number <optional>
500

A time in milliseconds until transitions are activated. (Defined in Widget)

Select provides a Button with a select list to choose from a list of SelectEntry.

Parameters:
Name Type Attributes Default Description
options Object <optional>
{ }

An object containing initial options.

Extends

Members

_list :HTMLListElement

Source:

A HTML list for displaying the entry labels. Has class .aux-selectlist.

Type:
  • HTMLListElement

element :HTMLDivElement

Source:
Overrides:

The main DIV container. Has class .aux-select.

Type:
  • HTMLDivElement

entries :Array

Source:

An array containing all entry objects with members label and value.

Type:
  • Array

icon :Icon

Source:
Inherited From:

The Icon widget.

Type:

label :Label

Source:
Inherited From:

The Label of the button.

Type:

Methods

addChild(child)

Source:
Inherited From:
See:

Registers a widget as a child widget. This method is used to build up the widget tree. It does not modify the DOM tree.

Parameters:
Name Type Description
child Widget

The child to add.

Fires:
  • Widget#event:child_added

addChildren(a)

Source:
Inherited From:

Registers an array of widgets as children.

Parameters:
Name Type Description
a Array.<Widget>

An array of Widgets.

addEntries(entries)

Source:

Adds new SelectEntry to the end of the list to select from.

Parameters:
Name Type Description
entries Array

An array of SelectEntry to add to the end of the list of SelectEntry to select from. Please refer to Select#addEntry for more details.

addEntry(entry, positionopt)

Source:

Adds a single SelectEntry to the end of the list.

Parameters:
Name Type Attributes Description
entry mixed

A string to be displayed and used as the value, an object with members label and value or an instance of SelectEntry.

position integer <optional>

The position in the list to add the new entry at. If omitted, the entry is added at the end.

Fires:
  • Select.event:entryadded

addEventListener(event, func)

Source:
Inherited From:

Register an event handler.

Parameters:
Name Type Description
event string

The event descriptor.

func function

The function to call when the event happens.

allChildren()

Source:
Inherited From:

Returns an array of all children.

appendChild(child)

Source:
Inherited From:

Appends child.element to the widget element and registers child as a child widget.

Parameters:
Name Type Description
child Widget

The child widget to append.

appendChildren(children)

Source:
Inherited From:

Calls Widget#appendChild for an array of widgets.

Parameters:
Name Type Description
children Array.<Widget>

The child widgets to append.

clear()

Source:

Remove all SelectEntry from the list.

Fires:
  • Select#event:cleared

current() → {SelectEntry|Boolean}

Source:

Get the currently selected SelectEntry.

Returns:

The currently selected SelectEntry or null.

Type
SelectEntry | Boolean

currentIndex() → {Integer|Boolean}

Source:

Get the currently selected SelectEntry's index. Just for the sake of completeness, this function abstracts options.selected.

Returns:

The index of the currently selected SelectEntry or -1.

Type
Integer | Boolean

currentValue() → {Mixed|Boolean}

Source:

Get the currently selected SelectEntry's value.

Returns:

The value of the currently selected SelectEntry or undefined.

Type
Mixed | Boolean

delegateEvents(element) → {HTMLElement}

Source:
Inherited From:

Delegates all occuring DOM events of a specific DOM node to the widget. This way the widget fires e.g. a click event if someone clicks on the given DOM node.

Parameters:
Name Type Description
element HTMLElement

The element all native events of the widget should be bound to.

Fires:
Returns:

The element

Type
HTMLElement

destroy()

Source:
Inherited From:

Destroys all event handlers and the options object.

disableTansitions()

Source:
Inherited From:

Disable CSS transitions.

dispatchEvent(event, …args)

Source:
Inherited From:

Fires an event.

Parameters:
Name Type Attributes Description
event string

The event descriptor.

args * <repeatable>

Event arguments.

enableDraw()

Source:
Inherited From:

Schedules this widget for drawing.

Fires:

enableDrawChildren()

Source:
Inherited From:

Enables rendering for all children of this widget.

enableTransitions()

Source:
Inherited From:

Enable CSS transitions.

entryByIndex(index) → {SelectEntry|Boolean}

Source:

Get a SelectEntry by its index.

Parameters:
Name Type Description
index Integer

The index of the SelectEntry.

Returns:

The SelectEntry or null.

Type
SelectEntry | Boolean

entryByLabel(label) → {SelectEntry|Boolean}

Source:

Get a SelectEntry by its label/label.

Parameters:
Name Type Description
label String

The label of the SelectEntry.

Returns:

The SelectEntry or null.

Type
SelectEntry | Boolean

entryByValue(value) → {SelectEntry|False}

Source:

Get a SelectEntry by its value.

Parameters:
Name Type Description
value Mixed

The value of the SelectEntry.

Returns:

The SelectEntry or null.

Type
SelectEntry | False

forceHide()

Source:
Inherited From:

Hide the widget immediately by applying the class aux-hide. Does not call disableDraw().

forceShow()

Source:
Inherited From:

Show the widget immediately by applying the class aux-show. Does not call enableDraw().

get(key)

Source:
Inherited From:

Get the value of an option.

Parameters:
Name Type Description
key string

The option name.

getDefault()

Source:
Inherited From:

Returns the default value of a given option. If the option does not exist, an exception is thrown.

getOptionType()

Source:
Inherited From:

Returns the type of an option. If the given option does not exist, 'undefined' is returned.

getStyle()

Source:
Inherited From:

Returns the computed style of this widget's DOM element.

hasEventListeners(event) → {boolean}

Source:
Inherited From:

Test if the event descriptor has some handler functions in the queue.

Parameters:
Name Type Description
event string

The event desriptor.

Returns:

True if the event has some handler functions in the queue, false if not.

Type
boolean

hidden()

Source:
Inherited From:

Returns the current hidden status.

hide()

Source:
Inherited From:

Hide the widget. This will result in the class aux-hide being applied to this widget in the next rendering step.

indexByEntry(entry) → {Integer|Boolean}

Source:

Get the index of a SelectEntry by the SelectEntry itself.

Parameters:
Name Type Description
entry SelectEntry

The SelectEntry.

Returns:

The index of the entry or -1.

Type
Integer | Boolean

indexByLabel(label) → {Integer}

Source:

Get the index of a SelectEntry by its label/label.

Parameters:
Name Type Description
label String

The label/label of the SelectEntry.

Returns:

The index of the entry or -1.

Type
Integer

indexByValue(value) → {Integer|Boolean}

Source:

Get the index of a SelectEntry by its value.

Parameters:
Name Type Description
value Mixed

The value of the SelectEntry.

Returns:

The index of the entry or -1.

Type
Integer | Boolean

off(event, fun)

Source:
Inherited From:

Removes the given function from the event queue. If it is a native DOM event, it removes the DOM event listener as well.

Parameters:
Name Type Description
event string

The event descriptor.

fun function

The function to remove.

removeChild(child)

Source:
Inherited From:

Removes a child widget. Note that this method only modifies the widget tree and does not change the DOM.

Parameters:
Name Type Description
child Widget

The child to remove.

Fires:
  • Widget#event:child_removed

removeChildren(a)

Source:
Inherited From:

Removes an array of children.

Parameters:
Name Type Description
a Array.<Widget>

An array of Widgets.

removeEntry(entry)

Source:

Remove an entry from the list.

Parameters:
Name Type Description
entry SelectEntry

The SelectEntry to be removed from the list.

Fires:
  • Select#event:entryremoved

removeIndex(index)

Source:

Remove a SelectEntry from the list by its index.

Parameters:
Name Type Description
index Integer

The index of the SelectEntry to be removed from the list.

Fires:
  • Select#event:entryremoved

removeLabel(label)

Source:

Remove an entry from the list by its label.

Parameters:
Name Type Description
label string

The label of the entry to be removed from the list.

Fires:
  • Select#event:entryremoved

removeValue(value)

Source:

Remove a SelectEntry from the list by its value.

Parameters:
Name Type Description
value mixed

The value of the SelectEntry to be removed from the list.

Fires:
  • Select#event:entryremoved

reset(key)

Source:
Inherited From:

Resets an option to its default value.

Parameters:
Name Type Description
key string

The option name.

select(index)

Source:

Select a SelectEntry by its index.

Parameters:
Name Type Description
index Integer

The index of the SelectEntry to select.

selectLabel(label)

Source:

Select a SelectEntry by its label.

Parameters:
Name Type Description
label mixed

The label of the SelectEntry to select.

selectValue(value)

Source:

Select a SelectEntry by its value.

Parameters:
Name Type Description
value mixed

The value of the SelectEntry to select.

set(key, value)

Source:
Inherited From:

Sets an option.

Parameters:
Name Type Description
key string

The option name.

value

The option value.

setEntries(entries)

Source:

Replaces the list of SelectEntry to select from with an entirely new one.

Parameters:
Name Type Description
entries Array

An array of SelectEntry to set as the new list to select from. Please refer to Select#addEntry for more details.

setOptions(optionsopt)

Source:
Inherited From:

Merges a new options object into the existing one, including deep copies of objects. If an option key begins with the string "on" it is considered an event handler. In this case the value should be the handler function for the event with the corresponding name without the first "on" characters.

Parameters:
Name Type Attributes Default Description
options Object <optional>
{ }

An object containing initial options.

setStyle()

Source:
Inherited From:

Sets a CSS style property in this widget's DOM element.

show()

Source:
Inherited From:

Make the widget visible. This will apply the class aux-show during the next rendering step.

showList(show)

Source:

Show or hide the select list

Parameters:
Name Type Description
show boolean

true to show and false to hide the list of SelectEntry.

toggleHidden()

Source:
Inherited From:

Toggle the hidden status. This is equivalent to calling hide() or show(), depending on the current hidden status of this widget.

update(key, value)

Source:
Inherited From:

Conditionally sets an option unless it already has the requested value.

Parameters:
Name Type Description
key string

The name of the option.

value mixed

The value of the option.

Fires:

userset(key, value)

Source:
Inherited From:

Sets an option by user interaction. Emits the userset event. The userset event can be cancelled (if an event handler returns false), in which case the option is not set. Returns true if the option was set, false otherwise. If the option was set, it will emit a useraction event.

Parameters:
Name Type Description
key string

The name of the option.

value mixed

The value of the option.

Fires:
  • Base#event:userset
  • Base#event:useraction

valueByEntry(entry) → {mixed}

Source:

Get the value of a SelectEntry.

Parameters:
Name Type Description
entry SelectEntry

The SelectEntry.

Returns:

The value of the SelectEntry.

Type
mixed

valueByIndex(index) → {Mixed|Boolean}

Source:

Get a value by its SelectEntry index.

Parameters:
Name Type Description
index Integer

The index of the SelectEntry.

Returns:

The value of the SelectEntry or undefined.

Type
Mixed | Boolean

valueByLabel(label) → {Mixed|Boolean}

Source:

Get the value of a SelectEntry by its label/label.

Parameters:
Name Type Description
label String

The label of the SelectEntry.

Returns:

The value of the SelectEntry or undefined.

Type
Mixed | Boolean

visibleChildren()

Source:
Inherited From:

Returns an array of all visible children.

Events

cleared

Source:

Is fired when the list is cleared.

entryremoved

Source:

Is fired when an entry was removed from the list.

Parameters:
Name Type Description
entry SelectEntry

The removed select entry.

clicked

Source:
Inherited From:

Is fired if a delay is set, after the pointer is released and the timeout hasn't finished yet. Doesn't fire after the timeout finished.

Parameters:
Name Type Description
event Event

Either the MouseEvent or the TouchEvent.

delegated

Source:
Inherited From:

Is fired when an element is delegated.

Parameters:
Name Type Description
element HTMLElement | Array

The element which receives all native DOM events.

old_element HTMLElement | Array

The element which previously received all native DOM events.

destroy

Source:
Inherited From:

Is fired when a widget is destroyed.

doubleclick

Source:
Inherited From:

Is fired after a double click appeared. Set dblclick to 0 to disable click event handling.

Parameters:
Name Type Description
event string

The browsers MouseEvent.

entryadded

Source:

Is fired when a new SelectEntry is added to the list.

Parameters:
Name Type Description
entry SelectEntry

A new SelectEntry.

GenericDOMEvents

Source:
Inherited From:

Generic DOM events. Please refer to W3Schools for further details.

hide

Source:
Inherited From:

The hide event is emitted when a widget is hidden and is not rendered anymore. This happens both with browser visibility changes and also internally when using layout widgets such as Pager.

initialized

Source:
Inherited From:

Is fired when a widget is initialized.

press_cancel

Source:
Inherited From:

Is fired after press_start or press_delay and before a press_end was fired while the pointer is dragged outside of the button element.

Parameters:
Name Type Description
event Event

Either the MouseEvent or the TouchEvent.

press_delayed

Source:
Inherited From:

Is fired after either a mousedown or a touchstart happened but delay is set so firing press_start will be delayed.

press_end

Source:
Inherited From:

Is fired after either a mouseup or a touchend happened and the pointer didn't leave the button element after press_start or press_delayed was fired.

Parameters:
Name Type Description
event Event

Either the MouseEvent or the TouchEvent.

press_start

Source:
Inherited From:

Is fired after either a mousedown or a touchstart happened and delay is set to 0. If a delay is set, press_delayed is fired instead on mousedown/touchstart and this event gets fired as soon as the delay time is over.

Parameters:
Name Type Description
event Event

Either the MouseEvent or the TouchEvent.

pressed

Source:
Inherited From:

Is fired if delay is set and the timeout has finished.

Parameters:
Name Type Description
event Event

Either the MouseEvent or the TouchEvent.

redraw

Source:
Inherited From:

The redraw event is emitted when a widget is redrawn. This can be used to do additional DOM modifications to a Widget.

resize

Source:
Inherited From:

The resize event is emitted whenever a widget is being resized. This event can be used to e.g. measure its new size. Note that some widgets do internal adjustments after the resize event. If that is relevant, the Widget#resized event can be used instead.

resized

Source:
Inherited From:

The resized event is emitted after each rendering frame, which was triggered by a resize event.

select

Source:

Is fired when a selection was made by the user. The arguments are the value of the currently selected SelectEntry, its index, its label and the SelectEntry instance.

Parameters:
Name Type Description
value mixed

The value of the selected entry.

value number

The ID of the selected entry.

value string

The label of the selected entry.

set

Source:
Inherited From:

The set event is emitted when an option was set using the Widget#set method. The arguments are the option name and its new value.

Note that this happens both for user interaction and programmatical option changes.

set_[option]

Source:
Inherited From:

Is fired when an option is set.

Parameters:
Name Type Description
value mixed

The value of the option.

show

Source:
Inherited From:

The show event is emitted when a widget is shown and is being rendered. This is the counterpart to Widget#hide.

useraction

Source:

The useraction event is emitted when a widget gets modified by user interaction. The event is emitted for the options selected and value.

Parameters:
Name Type Description
name string

The name of the option which was changed due to the users action

value mixed

The new value of the option

visibility

Source:
Inherited From:

Is fired when the visibility state changes. The first argument is the visibility state, which is either true or false.