docs/api/property_stack.md
Extends PropertyComposite
preview Boolean? Indicate if the layer should display a preview.layerSeparator (String | RegExp)? The separator used to split layer values.layerJoin String? Value used to join layer values.layerLabel Function? Custom logic for creating layer labels.
layerLabel: (layer) => {
const values = layer.getValues();
return `A: ${values['prop-a']} B: ${values['prop-b']}`;
}
emptyValue (String | Function)? Empty value to apply when all layers are removed.
// use simple string
emptyValue: 'inherit',
// or a function for a custom style object
emptyValue: () => ({
color: 'unset',
width: 'auto'
}),
Get all available layers.
Check if the property has layers.
Returns Boolean
Get layer by index.
index Number Layer index position. (optional, default 0)// Get the first layer
const layerFirst = property.getLayer(0);
// Get the last layer
const layers = this.getLayers();
const layerLast = property.getLayer(layers.length - 1);
Returns (Layer | null)
Get selected layer.
Select layer. Without a selected layer any update made on inner properties has no effect.
layer Layer Layer to selectconst layer = property.getLayer(0);
property.selectLayer(layer);
Select layer by index.
index Number Index of the layer to select. (optional, default 0)property.selectLayerAt(1);
Move layer by index.
const layer = property.getLayer(1);
property.moveLayer(layer, 0);
Add new layer to the stack.
props Object Custom property values to use in a new layer. (optional, default {})
opts Object Options (optional, default {})
opts.at Number? Position index (by default the layer will be appended at the end).// Add new layer at the beginning of the stack with custom values
property.addLayer({ 'sub-prop1': 'value1', 'sub-prop2': 'value2' }, { at: 0 });
Returns Layer Added layer.
Remove layer.
layer Layer Layer to remove.const layer = property.getLayer(0);
property.removeLayer(layer);
Returns Layer Removed layer
Remove layer by index.
index Number Index of the layer to remove (optional, default 0)property.removeLayerAt(0);
Returns (Layer | null) Removed layer
Get the layer label. The label can be customized with the layerLabel property.
layer Layer const layer = this.getLayer(1);
const label = this.getLayerLabel(layer);
Returns String
Get style object from the layer.
Returns Object Style object
Get preview style object from the layer.
If the property has preview: false the returned object will be empty.
Returns Object Style object
Get layer separator.
Returns RegExp
Check if the property is with an empty value.
Returns Boolean