Class: Settings

.ALS. Settings


new Settings()

Base class for all settings.

It works the same way as L.ALS.Wizards.

Start by adding some widgets using L.ALS.Settings#addWidget method (note: L.ALS.Settings#addWidgets doesn't do anything).

Settings will be passed to L.ALS.Layer#applyNewSettings and to L.ALS.Layer#init methods of your layer the same way as wizard results: you'll receive an object where keys are widgets' IDs and values are widgets' values.

Extends

Members


<protected> constructorArguments :Array.<any>

Contains arguments passed to this constructor

Type:
  • Array.<any>
Inherited From:

container :HTMLDivElement

Container to add widgets to. This element must be added to the page.

Type:
  • HTMLDivElement
Inherited From:

<protected> serializationIgnoreList :Array.<string>

Contains properties that won't be serialized. Append your properties at the constructor.

Type:
  • Array.<string>
Inherited From:

Methods


<protected> _writeSettings(object)

Gathers and writes settings to the specified object

Parameters:
Name Type Description
object Object

Object to write settings to


addWidget(widget, defaultValue)

Adds widget to this widgetable

Parameters:
Name Type Description
widget L.ALS.Widgets.BaseWidget

Widget to add

defaultValue *

Value that will be set to the widget when user will press revert button

Overrides:
Returns:

This

Type
L.ALS.Settings

addWidgets()

Does nothing, just call L.ALS.Settings#addWidget multiple times

Overrides:
Returns:

This

Type
L.ALS.Settings

deserializeWidgets(serializedWidgets, seenObjects)

Deserializes widgets and adds them to this object. Removes all previously added widgets. Use this if you want to deserialize only widgets in your own Widgetable.

Parameters:
Name Type Description
serializedWidgets Object

Result of L.ALS.Widgetable#serializeWidgets

seenObjects Object

Already seen objects' ids. Intended only for internal use.

Inherited From:

getObjectToSerializeTo(newObject, seenObjects)

Registers this object for serialization and deserialization. Returns an object to serialize custom properties to.

Call it first, if you implement your own algrorithm, and serialize to the returned object!

Parameters:
Name Type Description
newObject Object

Object to where you'll serialize

seenObjects Object

Already seen objects

Inherited From:
Returns:

Object to serialize to.

Type
Object

getSettings()

Returns:

Settings as {widgetID: widgetValue} pairs

Type
SettingsObject

getWidgetById(id)

Finds widget by ID

Parameters:
Name Type Description
id string

ID of a control to find

Inherited From:
Returns:

Widget with given ID.

Type
L.ALS.Widgets.BaseWidget

removeAllWidgets()

Removes all widgets from the container

Inherited From:
Returns:

This

Type
L.ALS.Widgetable

removeWidget(id)

Removes widget from the container

Parameters:
Name Type Description
id string

ID of a widget to remove

Inherited From:
Returns:

This

Type
L.ALS.Widgetable

serialize(seenObjects)

Serializes this object to JSON. If overridden, you MUST perform following operations before returning JSON:

let json = {} // Your JSON
... // Perform serialization
json.constructorArguments = this.serializeConstrutorArguments(); // Serialize constructor arguments
json.serializableClassName = this.serializableClassName; // Add class name to JSON
return json; // Finally return JSON
Parameters:
Name Type Description
seenObjects Object

Already seen objects

Inherited From:
Returns:

This serialized object

Type
Object

serializeConstructorArguments()

Serializes constructor arguments. If your constructor is not empty, result of this method MUST be added to json at L.ALS.Serializable#serialize as "_construtorArgs" property.

Deprecated in favor of L.ALS.Serializable#getObjectFromSerialized which uses this function under-the-hood.

Inherited From:
Deprecated:
  • Yes
Returns:

Serialized constructor arguments

Type
Array

serializeWidgets(seenObjects)

Serializes widgets.

If you're serializing L.ALS.Layer, you don't need to call this method, L.ALS.Layer#getObjectToSerializeTo already does that.

Parameters:
Name Type Description
seenObjects Object

Already seen objects' ids. Intended only for internal use.

Inherited From:
Returns:

Object where keys are widget's ids and values are serialized widgets themselves

Type
Object

setConstructorArguments(args)

Sets constructor arguments for serialization

Parameters:
Name Type Description
args

Arguments to set

Inherited From: