IsolatedProperty
Extends:
Static Method Summary
Static Public Methods | ||
public static |
createClass(shadowType: Object | IsolatedShadow, typeCallback: function(type: StateType), initialState: Object): MapProperty Factory function for creating an |
|
public static |
defineType(PropClass: MapProperty, ShadowType: Object | MapShadow, typeCallback: function(type: StateType), initialState: Object) Factory function for setting up the StateType |
Constructor Summary
Public Constructor | ||
public |
constructor(stateType: StateType) If a StateType is not passed to this constructor then one is located using StateType.from thus ensuring the f.lux shadowing process is defined for this property. |
Method Summary
Public Methods | ||
public |
Creates the object to be assigned to the shadow.$ property. |
|
public |
An isolated property returns owner's |
|
public |
An isolated property returns owner's |
|
public |
Gets if property is an actual isolated property managed by the store. |
|
public |
An isolated property returns owner's |
|
public |
An isolated property is never a root. |
|
public |
Gets the ID used by the store to track this isolated property. |
|
public |
key(): * |
|
public |
Gets the property managing this isolated object. |
|
public |
parent(): [] An isolated property returns owner property for the parent. |
|
public |
propertyChildInvalidated(childProperty: *, sourceProperty: *) |
|
public |
|
|
public |
setKey(key: *) |
|
public |
Sets the property that owns/contains this isolated property. |
Inherited Summary
From class Property | ||
public |
|
|
public |
|
|
public |
|
|
public |
[_checkpoint]: {"data": *} |
|
public |
[_impl]: * |
|
public |
|
|
public |
[_mixins]: *[] |
|
public |
[_parent]: * |
|
public |
[_pid]: * |
|
public |
[_readonly]: * |
|
public |
[_shader]: * |
|
public |
[_stateType]: * |
|
public |
[_store]: * |
|
public |
Use this.$$() in shadow methods to get access to the property. |
|
public |
Gets if autoshadowing is enabled for this property. |
|
public |
Copies the current actual state for later reset using Property#resetToCheckpoint. |
|
public |
Clears an existing checkpoint created using Property#checkpoint. |
|
public |
Creates the object to be assigned to the shadow.$ property. |
|
public |
Gets the path from root property using a dot ( |
|
public |
getCheckpoint(): * Gets the checkpoint state previously recorded using Property#checkpoint. |
|
public |
getInitialState(state: *): * Gets the initial state for a property at the beginning of the property mounting process. |
|
public |
Gets if an existing checkpoint has be created using Property#checkpoint. |
|
public |
initialState(): * Gets the result from StateType#computeInitialState. |
|
public |
Gets if the property is currently shadowing an actual state property. |
|
public |
Gets if property is an actual isolated property managed by the store. |
|
public |
Gets if the property allows for assignment through the shadow state, ie |
|
public |
Gets if this is the shadow state root property. |
|
public |
The property name by which this property is referenced by the Property.parent. |
|
public |
nextState(): * Gets what the actual state for this property will be after the Store updates all pending actions. |
|
public |
Gets the object containing or managing this property. |
|
public |
Gets the parent property. |
|
public |
Gets the parent's shadow property. |
|
public |
path(): [] Gets the Property#name components from the root property to this property. |
|
public |
Gets the unique f.lux ID for this property. |
|
public |
propertyChildInvalidated(childProperty: Property, sourceProperty: Property) A child property or one of its descendents wil be changing state. |
|
public |
Invoked by the f.lux shadowing process after a property initially shadows a state property. |
|
public |
Invoked by the f.lux shadowing process after a property is reshadowed. |
|
public |
Invoked by the f.lux shadowing process just before a property initially shadows a state property. |
|
public |
Invoked by the f.lux shadowing process just before a property will be removed from the shadow state. |
|
public |
Replaces the current property state with a checkpoint state previously recorded using Property#checkpoint. |
|
public |
Gets the shadow state root property for the Store managing this property. |
|
public |
rootShadow(): Shadow Gets the root shadow state for the Store managing this property. |
|
public |
setAutoshadow(auto: boolean): * Sets the auto shadow property flag. |
|
public |
setImplementationClass(ImplClass: *) |
|
public |
setInitialState(state: *): Property Explicitly sets an initial state that will be used if the state tree does not have a value for this property. |
|
public |
setReadonly(readonly: *) Sets the readonly flag which will prevent an assignment from changing the value. |
|
public |
setShadowClass(ShadowClass: Shadow) Sets the class to be used for the shadow api |
|
public |
shader(state: *): * Gets the Shader instance for this property. |
|
public |
shadowClass(): * Returns the Shadow subclass used to virtualize the state property. |
|
public |
Gets the path from root property using a slash ( |
|
public |
state(): * Gets the actual state being shadowed. |
|
public |
stateType(): * Gets the StateType used for creating this property. |
|
public |
store(): * Gets the {@Link Store} containing the application state. |
|
public |
touch() Triggers a reshadow of the properties shadow state. |
|
public |
typeName(): * Gets this property's StateType.typeName value. |
|
public |
Makes changes to the next proeprty state. |
Static Public Methods
public static createClass(shadowType: Object | IsolatedShadow, typeCallback: function(type: StateType), initialState: Object): MapProperty source
Factory function for creating an MapProperty
subclass suitable for using with new. The generated
class will have the type
StateType descriptor set upon return.
Example usage:
class SomeShadow extends MapShadow {
// definition here
}
export default MapProperty.createClass(SomeShadow, type => {
// configure type variable
});
Params:
Name | Type | Attribute | Description |
shadowType | Object | IsolatedShadow |
|
|
typeCallback | function(type: StateType) |
|
a callback function that will be passed the StateType spec for additional customization, such as setting autoshadow, initial state, or readonly. |
initialState | Object |
|
the initial state for the new property. |
public static defineType(PropClass: MapProperty, ShadowType: Object | MapShadow, typeCallback: function(type: StateType), initialState: Object) source
Factory function for setting up the StateType type
class variable with an appropriately
configured intial state.
Example usage:
export default class SomeProperty extends MapProperty {
// implement property here
}
class SomeShadow extends MapShadow {
// implement shadow api here
}
IsolatedProperty.defineType(SomeProperty, SomeShadow, type => {
// configure type variable
});
Params:
Name | Type | Attribute | Description |
PropClass | MapProperty | MapProperty subclass |
|
ShadowType | Object | MapShadow |
|
|
typeCallback | function(type: StateType) |
|
a callback function that will be passed the StateType spec for additional customization, such as setting autoshadow, initial state, or readonly. |
initialState | Object |
|
the initial state for the new property. |
Public Constructors
public constructor(stateType: StateType) source
If a StateType is not passed to this constructor then one is located using StateType.from thus ensuring the f.lux shadowing process is defined for this property.
Override:
Property#constructorPublic Methods
public create$(impl: *): Access source
Creates the object to be assigned to the shadow.$ property. Subclasses can override this method
to setup a chain of specialized accessors ($()
). See Access for details on setting up
specialized accessors. This is an advanced feature and rarely required.
Override:
Property#create$Params:
Name | Type | Attribute | Description |
impl | * |
public dotPath(): string source
An isolated property returns owner's dotPath()
value.
Override:
Property#dotPathpublic isActive(): boolean source
An isolated property returns owner's isActive()
value.
Override:
Property#isActivepublic isIsolated(): boolean source
Gets if property is an actual isolated property managed by the store.
Override:
Property#isIsolatedpublic isReadonly(): boolean source
An isolated property returns owner's isReadonly()
value.
Override:
Property#isReadonlypublic owner(): Property source
Gets the property managing this isolated object.
Override:
Property#ownerpublic parent(): [] source
An isolated property returns owner property for the parent.
Override:
Property#parentReturn:
[] |
public propertyChildInvalidated(childProperty: *, sourceProperty: *) source
A child property or one of its descendents wil be changing state. Useful hook when a property needs to perform some bookkeepng for child properties. Utilizing this hook provides a chance to make tracking changes in shadow properties before the store updates its state.
Subclasses do not need to invoke the parent implementation.
Override:
Property#propertyChildInvalidatedParams:
Name | Type | Attribute | Description |
childProperty | * | ||
sourceProperty | * |
public propertyWillUnshadow() source
Invoked by the f.lux shadowing process just before a property will be removed from the shadow state.
Subclasses do not need to invoke the parent implementation.
Override:
Property#propertyWillUnshadowpublic setKey(key: *) source
Params:
Name | Type | Attribute | Description |
key | * |