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 false to unselect any already selected entries.

options.value mixed <optional>

The value of the 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 test for the button label. Set to false to have an empty placeholder. This placeholder is shown when no entry is selected.

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.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)

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

add_child(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

add_children(a)

Source:
Inherited From:

Registers an array of widgets as children.

Parameters:
Name Type Description
a Array.<Widget>

An array of Widgets.

add_entries(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#add_entry for more details.

add_entry(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.

all_children()

Source:
Inherited From:

Returns an array of all children.

append_child(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.

append_children(children)

Source:
Inherited From:

Calls Widget#append_child 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 false.

Type
SelectEntry | Boolean

current_index() → {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 false.

Type
Integer | Boolean

current_value() → {Mixed|Boolean}

Source:

Get the currently selected SelectEntry's value.

Returns:

The value of the currently selected SelectEntry or false.

Type
Mixed | Boolean

delegate_events(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.

dispatchEvent(event, …args)

Source:
Inherited From:

Fires an event.

Parameters:
Name Type Attributes Description
event string

The event descriptor.

args * <repeatable>

Event arguments.

enable_draw()

Source:
Inherited From:

Schedules this widget for drawing.

Fires:

enable_draw_children()

Source:
Inherited From:

Enables rendering for all children of this widget.

entry_by_index(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 false.

Type
SelectEntry | Boolean

entry_by_label(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 false.

Type
SelectEntry | Boolean

entry_by_value(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 false.

Type
SelectEntry | False

force_hide()

Source:
Inherited From:

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

force_show()

Source:
Inherited From:

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

get(key)

Source:
Inherited From:

Get the value of an option.

Parameters:
Name Type Description
key string

The option name.

get_default()

Source:
Inherited From:

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

get_option_type()

Source:
Inherited From:

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

get_style()

Source:
Inherited From:

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

has_event_listeners(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.

index_by_entry(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 false.

Type
Integer | Boolean

index_by_label(label) → {Integer|Boolean}

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 false.

Type
Integer | Boolean

index_by_value(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 false.

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.

remove_child(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

remove_children(a)

Source:
Inherited From:

Removes an array of children.

Parameters:
Name Type Description
a Array.<Widget>

An array of Widgets.

remove_entry(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

remove_id(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

remove_label(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

remove_value(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.

select_label(label)

Source:

Select a SelectEntry by its label.

Parameters:
Name Type Description
label mixed

The label of the SelectEntry to select.

select_value(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.

set_entries(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#add_entry for more details.

set_options(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.

set_style()

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.

show_list(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.

toggle_hidden()

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

value_by_entry(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

value_by_index(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 false.

Type
Mixed | Boolean

value_by_label(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 false.

Type
Mixed | Boolean

visible_children()

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 a new entry is added to the list.

Parameters:
Name Type Description
entry Object

An object containing the members label and value.

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.

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.