The goog.ui.SelectionModel Class

goog.ui.SelectionModel
> goog.events.EventTarget
> goog.Disposable

goog.ui.SelectionModel(opt_items)

Single-selection model. Dispatches a {@link goog.events.EventType.SELECT} event when a selection is made.

opt_items {Array.<Object>=}
Array of items; defaults to empty.

.addEventListener(type, handler, opt_capture, opt_handlerScope)

Inherited from goog.events.EventTarget .

Adds an event listener to the event target. The same handler can only be added once per the type. Even if you add the same handler multiple times using the same type then it will only be called once when the event is dispatched. Supported for legacy but use goog.events.listen(src, type, handler) instead.

type {string}
The type of the event to listen for.
handler {Function|Object}
The function to handle the event. The handler can also be an object that implements the handleEvent method which takes the event object as argument.
opt_capture {boolean=}
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope {Object=}
Object in whose scope to call the listener.

.addItem(item)

Adds an item at the end of the list.

item {Object}
Item to add.

.addItemAt(item, index)

Adds an item at the given index.

item {Object}
Item to add.
index {number}
Index at which to add the new item.

.addItems(items)

Bulk-adds items to the selection model. This is more efficient than calling {@link #addItem} for each new item.

items {Array.<Object>|undefined}
New items to add.

.addOnDisposeCallback(callback, opt_scope)

Inherited from goog.Disposable .

Invokes a callback function when this object is disposed. Callbacks are invoked in the order in which they were added.

callback {!Function}
The callback function.
opt_scope {Object=}
An optional scope to call the callback in.

.clear()

Clears the selection model by removing all items from the selection.

.creationStack {string}

Inherited from goog.Disposable .

If monitoring the goog.Disposable instances is enabled, stores the creation stack trace of the Disposable instance.

.dispatchEvent(e)

Inherited from goog.events.EventTarget .

Dispatches an event (or event like object) and calls all listeners listening for events of this type. The type of the event is decided by the type property on the event object. If any of the listeners returns false OR calls preventDefault then this function will return false. If one of the capture listeners calls stopPropagation, then the bubble listeners won't fire.

e {string|Object|goog.events.Event}
Event object.
returns {boolean}
If anyone called preventDefault on the event object (or if any of the handlers returns false this will also return false.

.dispose()

Inherited from goog.Disposable .

Disposes of the object. If the object hasn't already been disposed of, calls {@link #disposeInternal}. Classes that extend {@code goog.Disposable} should override {@link #disposeInternal} in order to delete references to COM objects, DOM nodes, and other disposable objects. Reentrant.

returns {void}
Nothing.

.getFirst()

returns {Object|undefined}
The first item, or undefined if there are no items in the model.

.getItemAt(index)

Returns the item at the given 0-based index.

index {number}
Index of the item to return.
returns {Object}
Item at the given index (null if none).

.getItemCount()

Returns the number of items controlled by the selection model.

returns {number}
Number of items.

.getItems()

returns {!Array.<Object>}
All items in the selection model.

.getLast()

returns {Object|undefined}
The last item, or undefined if there are no items in the model.

.getParentEventTarget()

Inherited from goog.events.EventTarget .

Returns the parent of this event target to use for bubbling.

returns {goog.events.EventTarget}
The parent EventTarget or null if there is no parent.

.getSelectedIndex()

returns {number}
The 0-based index of the currently selected item, or -1 if none.

.getSelectedItem()

returns {Object}
The currently selected item, or null if none.

.getSelectionHandler()

Returns the selection handler function used by the selection model to change the internal selection state of items under its control.

returns {Function}
Selection handler function (null if none).

.indexOfItem(item)

Returns the 0-based index of the given item within the selection model, or -1 if no such item is found.

item {Object|undefined}
Item to look for.
returns {number}
Index of the given item (-1 if none).

.isDisposed()

Inherited from goog.Disposable .

returns {boolean}
Whether the object has been disposed of.

.registerDisposable(disposable)

Inherited from goog.Disposable .

Associates a disposable object with this object so that they will be disposed together.

disposable {goog.disposable.IDisposable}
that will be disposed when this object is disposed.

.removeEventListener(type, handler, opt_capture, opt_handlerScope)

Inherited from goog.events.EventTarget .

Removes an event listener from the event target. The handler must be the same object as the one added. If the handler has not been added then nothing is done.

type {string}
The type of the event to listen for.
handler {Function|Object}
The function to handle the event. The handler can also be an object that implements the handleEvent method which takes the event object as argument.
opt_capture {boolean=}
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope {Object=}
Object in whose scope to call the listener.

.removeItem(item)

Removes the given item (if it exists). Dispatches a {@code SELECT} event if the removed item was the currently selected item.

item {Object}
Item to remove.

.removeItemAt(index)

Removes the item at the given index.

index {number}
Index of the item to remove.

.setParentEventTarget(parent)

Inherited from goog.events.EventTarget .

Sets the parent of this event target to use for bubbling.

parent {goog.events.EventTarget?}
Parent EventTarget (null if none).

.setSelectedIndex(index)

Selects the item at the given index, deselecting any previously selected item, and dispatches a {@code SELECT} event.

index {number}
Index to select (-1 to clear the selection).

.setSelectedItem(item)

Selects the given item, deselecting any previously selected item, and dispatches a {@code SELECT} event.

item {Object}
Item to select (null to clear the selection).

.setSelectionHandler(handler)

Sets the selection handler function to be used by the selection model to change the internal selection state of items under its control. The function must take two arguments: an item and a Boolean to indicate whether the item is to be selected or deselected. Selection handler functions are only needed if the items in the selection model don't natively support the {@code setSelected(Boolean)} interface.

handler {Function}
Selection handler function.