Class: VectorLayersManager

Mapspace.control. VectorLayersManager

A control that creates a vector layers and layer groups manager, a control that shows the list of current available user vector layers and layer groups and options to manage them.


new VectorLayersManager( [options])

Parameters:
Name Type Argument Description
options Mapspace.control.ControlOptions <optional>

Control options.

Source:
mapspace/controls/vectorlayersmanager.js
Fires:
  • Mapspace.control.event:VectorLayersManagerEvent
  • ol.Object.Event#event:change:enabled

Extends

Members


classNames :string|undefined

The class names to add to the default ones that the control will create.

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

controldefs :Array.<Mapspace.ControlDefinition>

Array of control definitions this control contains.

Inherited From:
Source:
mapspace/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.

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

files :Array.<File>

Although it is an array always has only one File or none.

Source:
mapspace/controls/vectorlayersmanager.js

globalizationKey :string|undefined

This is the string that identifies in Mapspace.strings this control for globalization purposes.

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

inProgress :boolean

Flag that indicates that a long action is in progress and a progress is shown.

Source:
mapspace/controls/vectorlayersmanager.js

statusTimer :Mapspace.time.Timer

Timer that trigger events at given duration to check status.

Source:
mapspace/controls/vectorlayersmanager.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.

Inherited From:
Source:
mapspace/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:
mapspace/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.<Mapspace.control.ControlDefinition>

Array of control definitions to add.

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

addItem(item, parent)

Adds a layer or a layer group to the list of vector layers. This do not refreshes the listbox. It is needed to call updateListBox.

Parameters:
Name Type Argument Description
item Mapspace.LayerGroup | Mapspace.LayerGroupLayer

Item object.

parent Mapspace.LayerGroupLayer <nullable>

Optional. Parent object. If not present the item is considered a root item.

Source:
mapspace/controls/vectorlayersmanager.js

clearControl()

Clears all the HTML elements under the control element and clear listeners.

Source:
mapspace/controls/vectorlayersmanager.js

containsControlDefinition(controldef)

Checks if a control definition is already added.

Parameters:
Name Type Description
controldef Mapspace.ControlDefinition

Control definition to check.

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

True if it is added.

Type
boolean

fade(fadeIn)

Fades this control in or out. This method ignores the fadeOut property of the control. You must care to check if this control can be faded or not checking that value and also if this control lies inside an active viewer.

Parameters:
Name Type Description
fadeIn boolean

If the control must fade in, otherwise it will fade out.

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

getAllProcessingItems()

Returns an array with all Mapspace.LayerGroupLayer that are currently being processed.

Source:
mapspace/controls/vectorlayersmanager.js
Returns:
Type
Array.<Mapspace.LayerGroupLayer>

getControlDefinitions()

Return the array of control definitions this control has inside.

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

getEnabled()

Return whether the control is currently enabled. When a control is not enabled can be clicked, cannot be dragged, but none of those interactions produce any event.

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

true if the control is enabled, false otherwise.

Type
boolean

getFadeInEnabled()

Returns if the control can be faded in. By default is true.

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

getFadeOutMode()

Returns the mode this control can be faded when it is in an active viewer. This value can be changed through the fadeOut option in the creation of the control. By default it is 'NEVER'. This default value can be overrided in derived classes.

Inherited From:
Source:
mapspace/controls/control.js
Returns:
Type
Mapspace.control.FadeOutMode

getProcessingItems(group)

Returns an array with Mapspace.LayerGroupLayer that are currently being processed in the given group.

Parameters:
Name Type Description
group Object

Layer group object.

Source:
mapspace/controls/vectorlayersmanager.js
Returns:
Type
Array.<Mapspace.LayerGroupLayer>

getRootItemCount()

Returns the number of root items.

Source:
mapspace/controls/vectorlayersmanager.js
Returns:
Type
number

getSelectedItems()

Returns an array of objects that are the selected ones in current tree listbox. Each object has three values: item, parent and root.

Source:
mapspace/controls/vectorlayersmanager.js
Returns:
Type
Array.<Object>

getStatusCount(group)

Returns the status count of a layer groups, the total number of layers that are OK, in progress or failed. It recurses the search.

Parameters:
Name Type Description
group Object

Layer group object.

Source:
mapspace/controls/vectorlayersmanager.js
Returns:

Object with three values: done, processing, and failed.

Type
Object

getTranslation(id)

Returns the translation for a given property ID. The Mapspace.strings object contains pairs of key and values. Each key follows the pattern: globalizationKey#propertyID.

Parameters:
Name Type Description
id string

The property ID.

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

The translation or undefined if not found.

Type
string | undefined

hasClassName(className)

Returns if the control has a class name

Parameters:
Name Type Description
className string

The class name.

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

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 Mapspace.control.ViewerTools) 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:
mapspace/controls/control.js
Returns:
Type
boolean

refreshStatus()

Refreshes the status of any layer that is processing.

Source:
mapspace/controls/vectorlayersmanager.js

removeItem(item, parent)

Removes a layer or a layer group from the list of vector layers. This do not refreshes the listbox. It is needed to call updateListBox.

Parameters:
Name Type Argument Description
item Mapspace.LayerGroup | Mapspace.LayerGroupLayer

Item object.

parent Mapspace.LayerGroupLayer <nullable>

Optional. Parent object. If not present the item is considered a root item.

Source:
mapspace/controls/vectorlayersmanager.js

renameItem(item, parent, name)

Renames a layer or layer group from the list of vector layers. This do not refreshes the listbox. It is needed to call updateListBox.

Parameters:
Name Type Argument Description
item Mapspace.LayerGroup | Mapspace.LayerGroupLayer

Item object.

parent Mapspace.LayerGroupLayer <nullable>

Optional. Parent object. If not present the item is considered a root item.

name string

New name.

Source:
mapspace/controls/vectorlayersmanager.js

setEnabled(enabled)

Sets the control to enabled or not. When a control is not enabled can be clicked, cannot be dragged, but none of those interactions produce any event.

Parameters:
Name Type Description
enabled boolean

Enabled.

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

setFadeInEnabled(enabled)

Sets if the control can be faded in. By default is true.

Parameters:
Name Type Description
enabled boolean
Inherited From:
Source:
mapspace/controls/control.js

setTarget(target)

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

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

Target.

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

startRefreshingStatus()

Starts refreshing of the status of any layer that is processing.

Source:
mapspace/controls/vectorlayersmanager.js

stopRefreshingStatus()

Stops refreshing of the status of any layer that is processing.

Source:
mapspace/controls/vectorlayersmanager.js

<abstract> unselectTool()

If this control is a tool the unselects the tool.

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

updateControl(element)

Updates the control.

Parameters:
Name Type Description
element HTMLElement

The element of the control.

Source:
mapspace/controls/vectorlayersmanager.js

updateLanguage()

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

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

updateListBox(scroll)

Updates the vector layers & layer groups listbox.

Parameters:
Name Type Argument Description
scroll boolean <nullable>

If reuse current scroll or not. By default is false.

Source:
mapspace/controls/vectorlayersmanager.js

updateProgress(progress)

Updates the progress icon in the vector layers listbox.

Parameters:
Name Type Description
progress boolean

If a long action is in progress or not.

Source:
mapspace/controls/vectorlayersmanager.js