A registry for all of the application's [[StateDeclaration]]s

This API is found at $stateRegistry ([[UIRouter.stateRegistry]])

Constructors

Properties

$get: (string | (($injector: InjectorService) => StateRegistry))[] = ...
$injector: InjectorService
builder: StateBuilder
listeners: any[]
matcher: StateMatcher
stateQueue: StateQueueManager
states: {}
urlService: any
urlServiceRules: any
$inject: string[] = ...

Methods

  • 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.

    Parameters

    • property: any

      The name of the State property being registered for.

    • builderFunction: any

      The BuilderFunction which will be used to build the State property

    Returns any

    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.

    Parameters

    • stateOrName: any

      the state's name or object representation

    Returns StateObject[]

    a list of removed states

  • This is a [[StateBuilder.builder]] function for angular1 onEnter, onExit, onRetain callback hooks on a [[Ng1StateDeclaration]].

    When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder ensures that those hooks are injectable for @uirouter/angularjs (ng1).

    Parameters

    • hookName: any

    Returns ((stateObject: any) => ((trans: any, state: any) => any))

      • (stateObject): ((trans: any, state: any) => any)
      • Parameters

        • stateObject: any

        Returns ((trans: any, state: any) => any)

          • (trans, state): any
          • Parameters

            • trans: any
            • state: any

            Returns any

  • 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;
    }
    });

    Parameters

    • listener: any

      a callback function invoked when the registered states changes. The function receives two parameters, event and state. See [[StateRegistryListener]]

    Returns any

    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.

    Parameters

    • stateDefinition: any

      the definition of the state to register.

    Returns StateObject

    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 ng-router. Note: this returns the internal [[StateObject]] representation, not a [[StateDeclaration]]

    Returns StateObject

    the root [[StateObject]]