new Expander(optionsopt)
TK.Expander is a container which can be toggled between two different states,
expanded and collapsed. It can be used to implement overlay popups, but it is
not limited to that application.
In expanded mode the container has the class toolkit-expanded
.
Child widgets are shown or hidden depending on the state of the two pseudo
options _expanded
and _collapsed
. If a child widget
of the expander has _expanded
set to true it will be shown in
expanded state. If a child widget has _collapsed
set to false, it
will be shown in collapsed state. This feature can be used to make interfaces
more reactive.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
options |
Object |
<optional> |
{ } | An object containing initial options. |
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
options.expanded |
Boolean |
<optional> |
false | The state of the widget. |
options.always_expanded |
Boolean |
<optional> |
false | This essentially overwrites
the |
options.group |
String |
<optional> |
"" | If set, this expander is grouped together with all other expanders of the same group name. At most one expander of the same group can be open at one time. |
options.group_default |
Boolean |
<optional> |
false | If set, this expander is expanded if all other group members are collapsed. |
options.icon |
String |
<optional> |
"" | Icon of the TK.Button which toggles expanded state. |
options.label |
String |
<optional> |
"" | Label of the TK.Button which toggles expanded state. |
options.show_button |
Boolean |
<optional> |
true | Set to |
Source: |
Extends
Members
button :TK.Button
The button for toggling the state of the expander.
Source: |
element :HTMLDivElement
The main DIV container.
Has class toolkit-expander
.
Overrides: | |
Source: |
Methods
toggle()
Toggles the collapsed state of the widget.
Source: |
Methods inherited from TK.Container
append_child(child)
Appends child.element
to the container element and
registers child
as a child widget.
append_children(children)
Calls TK.Container#append_child for an array of widgets.
force_hide()
Immediately switches the display state of this container to hide
.
Unlike TK.Container#hide this method does not perform the hiding transition
and immediately modifies the DOM by setting the toolkit-hide
class.
force_show()
Immediately switches the display state of this container to show
.
Unlike TK.Container#hide this method does not perform the hiding transition
and immediately modifies the DOM by setting the toolkit-show
class.
hide()
Starts the transition of the display_state
to hide
.
hide_child(child)
Switches the hidden state of a child to hidden
.
The argument is either the child index or the child itself.
show()
Starts the transition of the display_state
to show
.
show_child(child)
Switches the hidden state of a child to shown
.
The argument is either the child index or the child itself.
toggle_child(child)
Toggles the hidden state of a child. The argument is either the child index or the child itself.
Methods inherited from TK.Widget
add_child(child)
Registers a widget as a child widget. This method is used to build up the widget tree. It does not modify the DOM tree.
add_children(a)
Registers an array of widgets as children.
all_children()
Returns an array of all children.
enable_draw()
Schedules this widget for drawing.
get_style()
Returns the computed style of this widgets DOM element.
hidden()
Returns the current hidden status.
remove_child(child)
Removes a child widget. Note that this method only modifies the widget tree and does not change the DOM.
remove_children(a)
Removes an array of children.
set(key, value)
Sets an option.
set_style()
Sets a CSS style property in this widgets DOM element.
toggle_hidden()
TK.Toggle the hidden status. This is equivalent to calling hide() or show(), depending on the current hidden status of this widget.
visible_children()
Returns an array of all visible children.
widgetize()
Set the DOM elements of this widgets. This method is usually only used internally. Basically it means to add the id from options and set a basic CSS class. If delegate is true, basic events will be delegated from the element to the widget instance if classify is true, CSS functions will be bound to the widget instance.
Methods inherited from TK.Base
add_event(event, func, prevent, stop)
Register an event handler.
add_events(events, func)
Add multiple event handlers at once, either as dedicated event handlers or a list of event descriptors with a single handler function.
delegate_events(element) → {HTMLElement}
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.
destroy()
Destroys all event handlers and the options object.
fire_event(event, …args)
Fires an event.
fire_events(events)
Fires several events.
get(key)
Get the value of an option.
has_event_listeners(event) → {boolean}
Test if the event descriptor has some handler functions in the queue.
remove_event(event, fun)
Removes the given function from the event queue. If it is a native DOM event, it removes the DOM event listener as well.
remove_events(events, func)
Remove multiple event handlers at once, either as dedicated event handlers or a list of event descriptors with a single handler function.
set_options(optionsopt)
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 as event handler. In this case the value should be the handler function for the event with the corresponding name without the first "on" characters.
userset(key, value)
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.
Events
collapse
Is fired when the expander collapses.
Source: |
Events inherited from TK.Container
hide
Is fired when the container is hidden.
show
Is fired when the container is shown.
Events inherited from TK.Widget
GenericDOMEvents
Generic DOM events. Please refer to W3Schools for further details.
classified
Is fired when a widget is classified.
destroy
Is fired when a widget is destroyed.
doubleclick
Is fired after a double click appeared. Set dblclick
to 0 to
disable click event handling.
initialized
Is fired when a widget is initialized.
redraw
Is fired when a redraw is executed.
resize
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 TK.Widget#resized event can
be used, instead.
resized
The resized
event is emitted after each rendering frame, which was triggered by
a resize event.
set
The set
event is emitted when an option was set using the TK.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.
stylized
Is fired when a widget is stylized.
visibility
Is fired when the visibility state changes. The first argument
is the visibility state, which is either true
or false
.
widgetize
Is fired when a widget is widgetized.
Events inherited from TK.Base
delegated
Is fired when an element is delegated.
set_[option]
Is fired when an option is set.