Class: LayerSwitcher

bu.control. LayerSwitcher

A control that creates a layer switcher, a control that shows the list of layers and allow to hide or unhide layers.


new LayerSwitcher( [opt_options])

Parameters:
Name Type Argument Description
opt_options bu.control.LayerSwitcherOptions <optional>

LayerSwitcher options.

Source:
bu/controls/layerswitcher.js
Fires:
  • bu.control.event:LayerSwitcherEvent

Extends

Members


controldefs :Array.<bu.ControlDefinition>

Array of control definitions this control contains.

Type:
Inherited From:
Source:
bu/controls/control.js

<nullable> element :Element

This is the HTML element where the control is drawn. Do not modify this property directly. Use only in the constructor.

Type:
  • Element
Inherited From:
Source:
bu/controls/control.js

<nullable> target :Element

This is the HTML element where the control is appended. Do not modify this property directly. Use constructor or setTarget to set this value.

Type:
  • Element
Inherited From:
Source:
bu/controls/control.js

Methods


addControlDefinition(controldef)

Adds a control definition to the control. By default the control in the control definition is changed its target to the element of this control. Override this behaviour in inherited classes to change the target to another one.

Parameters:
Name Type Description
controldef *

Control definition.

Inherited From:
Source:
bu/controls/control.js

addControlDefinitions(controldefs)

Adds an array of control definitions to the control. Controls in the control definition array shouldn't have a target set.

Parameters:
Name Type Description
controldefs Array.<bu.control.ControlDefinition>

Array of control definitions to add.

Inherited From:
Source:
bu/controls/control.js

addLayer(layername, layerindex, visible, baselayer, color)

Adds a layer to the layerToggles list if not exist, creating an input control of type radio for it and starting event listeners.

Parameters:
Name Type Description
layername string

A layer name to show in the control.

layerindex number

The index of the layer in the viewer.

visible boolean

If the layer is currently visible or not.

baselayer boolean

If layer is a base layer or not. Base layers are shown using radio buttons instead of checkboxes.

color string

Color of the layer or null.

Source:
bu/controls/layerswitcher.js

addSeparator(text)

Adds a separator to the layerToggles list.

Parameters:
Name Type Description
text string

Text to show.

Source:
bu/controls/layerswitcher.js

clearLayers()

Removes all layers in the layerToggles list, destroying the input control of type radio and removing event listeners.

Source:
bu/controls/layerswitcher.js

containsControlDefinition(controldef)

Checks if a control definition is already added.

Parameters:
Name Type Description
controldef bu.ControlDefinition

Control definition to check.

Inherited From:
Source:
bu/controls/control.js
Returns:

True if it is added.

Type
boolean

getControlDefinitions()

Return the array of control definitions this control has inside.

Inherited From:
Source:
bu/controls/control.js
Returns:
Type
Array.<bu.ControlDefinition>

isTool()

Returns true if this control is a tool. A tool is a control that contains one or several options in a list (for example a bu.control.Switcher) that are linked to a viewer and only one of them can be active at a time. Tools are usually related to interactions in a way that only one interaction can be active at a time in a viewer.

Inherited From:
Source:
bu/controls/control.js
Returns:
Type
boolean

removeLayer(layerindex)

Removes a layer in the layerToggles list, destroying the input control of type radio and removing event listeners.

Parameters:
Name Type Description
layerindex number

The index of the layer in the viewer.

Source:
bu/controls/layerswitcher.js

setTarget(target)

This function is used to set a target element for the control.

Parameters:
Name Type Description
target Element | string | bu.Viewer

Target.

Inherited From:
Source:
bu/controls/control.js

<abstract> unselectTool()

If this control is a tool the unselects the tool.

Inherited From:
Source:
bu/controls/control.js

updateLanguage()

Updates the control for the current language in the bu.Globalization singleton.

Inherited From:
Overrides:
Source:
bu/controls/control.js