UNPKG

@uirouter/core

Version:

UI-Router Core: Framework agnostic, State-based routing for JavaScript Single Page Apps

36 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerUpdateGlobalState = void 0; var common_1 = require("../common/common"); /** * A [[TransitionHookFn]] which updates global UI-Router state * * Registered using `transitionService.onBefore({}, updateGlobalState);` * * Before a [[Transition]] starts, updates the global value of "the current transition" ([[Globals.transition]]). * After a successful [[Transition]], updates the global values of "the current state" * ([[Globals.current]] and [[Globals.$current]]) and "the current param values" ([[Globals.params]]). * * See also the deprecated properties: * [[StateService.transition]], [[StateService.current]], [[StateService.params]] */ var updateGlobalState = function (trans) { var globals = trans.router.globals; var transitionSuccessful = function () { globals.successfulTransitions.enqueue(trans); globals.$current = trans.$to(); globals.current = globals.$current.self; common_1.copy(trans.params(), globals.params); }; var clearCurrentTransition = function () { // Do not clear globals.transition if a different transition has started in the meantime if (globals.transition === trans) globals.transition = null; }; trans.onSuccess({}, transitionSuccessful, { priority: 10000 }); trans.promise.then(clearCurrentTransition, clearCurrentTransition); }; exports.registerUpdateGlobalState = function (transitionService) { return transitionService.onCreate({}, updateGlobalState); }; //# sourceMappingURL=updateGlobals.js.map