new Widgetable(className)
Base class for all classes that can have widgets.
Has property L.ALS.Widgetable#container
which is container for the widgets. This container should be added to the page.
See L.ALS.Widgets
docs for the example on working with Widgetables and Widgets.
Parameters:
Name | Type | Description |
---|---|---|
className |
string | Class name for the container |
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
-
<protected> serializationIgnoreList :Array.<string>
-
Contains properties that won't be serialized. Append your properties at the constructor.
Type:
- Array.<string>
- Inherited From:
Methods
-
addWidget(widget)
-
Adds widget to this widgetable
Parameters:
Name Type Description widget
L.ALS.Widgets.BaseWidget Widget to add
Returns:
This
- Type
- L.ALS.Widgetable
-
addWidgets(widgets)
-
Adds all widgets to this widgetable
Parameters:
Name Type Description widgets
L.ALS.Widgets.BaseWidget Widgets to add
Returns:
This
- Type
- L.ALS.Widgetable
-
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.
-
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
-
getWidgetById(id)
-
Finds widget by ID
Parameters:
Name Type Description id
string ID of a control to find
Returns:
Widget with given ID.
-
removeAllWidgets()
-
Removes all widgets from the container
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
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.
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: