/ui/layers/legends/utils

The categorized theme legend module exports the categorizedTheme to the ui.layers.legend{} library object.

Dictionary entries:

  • layer_style_switch_caption
  • layer_style_switch_all
  • layer_style_cluster

Requires

Methods

(inner) catElement(cat, theme, layer) → {HTMLElement}

Create legend entry for category within a theme.

Parameters:
NameTypeDescription
catObject

The category object.

themeObject

The theme configuration object.

layerObject

The layer object.

Returns:

The cat element for the legend grid.

Type: 
HTMLElement

(inner) catToggle(e, layer, cat)

The method toggles the disabled class on the event target element.

If toggled [on] the filterAdd method will be called and the style will be set to null.

If toggled [off] the filterRemove method will be called and the style will be restored from the cat._style.

Parameters:
NameTypeDescription
eEvent

The cat label click event.

layerlayer

The decorated mapp layer.

catobject

The cat object from the theme.

(inner) clusterLegend(layer) → {HTMLElement}

Adds a cluster icon for the theme.

Parameters:
NameTypeDescription
layer

The layer the theme exists on.

Returns:

The cat element for the legend grid.

Type: 
HTMLElement

(async, inner) filterAdd(layer, cat)

Add the cat value to the current filter.

Parameters:
NameTypeDescription
layerlayer

The decorated mapp layer.

catobject

The cat object from the theme.

(async, inner) filterRemove(layer, cat)

Remove the cat value to the current filter.

Parameters:
NameTypeDescription
layerlayer

The decorated mapp layer.

catobject

The cat object from the theme.

(inner) renderLegend(layer, node)

The method renders the theme legend node into the layer.style.legend node.

The layer.style.legend node is created by the layerStyle theme element and the drawLegend method will not call a legend method for a layer without a legend node. A legend method may however be called directly, eg. from a plugin or test. The theme legend node is assigned as layer.style.legend if the layer has no legend node to render into.

Parameters:
NameTypeDescription
layerlayer

The decorated mapp layer.

nodeHTMLElement

The theme legend node.

Properties
NameTypeAttributesDescription
layer.style.legendHTMLElement<optional>

The node into which the legend content is rendered.

(inner) themeLegend(theme)

The method assigns theme.legend properties to control the layout through css classes.

Parameters:
NameTypeDescription
themeobject
Properties
NameTypeDescription
theme.legendobject

The configuration for the theme legend.

(inner) themeLegendSwitch() → {HTMLElement}

The method returns a HTMLElement with a button which toggles all label elements in the legend.

Returns:

HTMLElement with nested button.

Type: 
HTMLElement