Registers a BuilderFunction for a specific StateObject property (e.g., parent
, url
, or path
).
More than one BuilderFunction can be registered for a given property.
The BuilderFunction(s) will be used to define the property on any subsequently built StateObject objects.
The name of the State property being registered for.
The BuilderFunction which will be used to build the State property
a function which deregisters the BuilderFunction
Removes a state from the registry
This removes a state from the registry. If the state has children, they are are also removed from the registry.
the state's name or object representation
a list of removed states
Gets all registered states
Calling this method with no arguments will return a list of all the states that are currently registered. Note: this does not return states that are queued but not yet registered.
a list of StateDeclarations
Gets a registered state
Given a state or a name, finds and returns the StateDeclaration from the registry. Note: this does not return states that are queued but not yet registered.
either the name of a state, or a state object.
the base state to use when stateOrName is relative.
a registered StateDeclaration that matched the stateOrName
, or null if the state isn't registered.
Listen for a State Registry events
Adds a callback that is invoked when states are registered or deregistered with the StateRegistry.
let allStates = registry.get();
// Later, invoke deregisterFn() to remove the listener
let deregisterFn = registry.onStatesChanged((event, states) => {
switch(event) {
case: 'registered':
states.forEach(state => allStates.push(state));
break;
case: 'deregistered':
states.forEach(state => {
let idx = allStates.indexOf(state);
if (idx !== -1) allStates.splice(idx, 1);
});
break;
}
});
a callback function invoked when the registered states changes.
The function receives two parameters, event
and state
.
See StateRegistryListener
a function that deregisters the listener
Adds a state to the registry
Registers a StateDeclaration or queues it for registration.
Note: a state will be queued if the state's parent isn't yet registered.
the definition of the state to register.
the internal StateObject object. If the state was successfully registered, then the object is fully built (See: StateBuilder). If the state was only queued, then the object is not fully built.
Gets the implicit root state
Gets the root of the state tree. The root state is implicitly created by UI-Router. Note: this returns the internal StateObject representation, not a StateDeclaration
the root StateObject
Generated using TypeDoc
A registry for all of the application's StateDeclarations
This API is found at
router.stateRegistry
(UIRouter.stateRegistry)