1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getLocals = exports.watchDigests = void 0;
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | var angular_1 = require("./angular");
|
17 | var core_1 = require("@uirouter/core");
|
18 | var views_1 = require("./statebuilders/views");
|
19 | var templateFactory_1 = require("./templateFactory");
|
20 | var stateProvider_1 = require("./stateProvider");
|
21 | var onEnterExitRetain_1 = require("./statebuilders/onEnterExitRetain");
|
22 | var locationServices_1 = require("./locationServices");
|
23 | var urlRouterProvider_1 = require("./urlRouterProvider");
|
24 | angular_1.ng.module('ui.router.angular1', []);
|
25 | var mod_init = angular_1.ng.module('ui.router.init', ['ng']);
|
26 | var mod_util = angular_1.ng.module('ui.router.util', ['ui.router.init']);
|
27 | var mod_rtr = angular_1.ng.module('ui.router.router', ['ui.router.util']);
|
28 | var mod_state = angular_1.ng.module('ui.router.state', ['ui.router.router', 'ui.router.util', 'ui.router.angular1']);
|
29 | var mod_main = angular_1.ng.module('ui.router', ['ui.router.init', 'ui.router.state', 'ui.router.angular1']);
|
30 | var mod_cmpt = angular_1.ng.module('ui.router.compat', ['ui.router']);
|
31 | var router = null;
|
32 | $uiRouterProvider.$inject = ['$locationProvider'];
|
33 |
|
34 | function $uiRouterProvider($locationProvider) {
|
35 |
|
36 | router = this.router = new core_1.UIRouter();
|
37 | router.stateProvider = new stateProvider_1.StateProvider(router.stateRegistry, router.stateService);
|
38 |
|
39 | router.stateRegistry.decorator('views', views_1.ng1ViewsBuilder);
|
40 | router.stateRegistry.decorator('onExit', onEnterExitRetain_1.getStateHookBuilder('onExit'));
|
41 | router.stateRegistry.decorator('onRetain', onEnterExitRetain_1.getStateHookBuilder('onRetain'));
|
42 | router.stateRegistry.decorator('onEnter', onEnterExitRetain_1.getStateHookBuilder('onEnter'));
|
43 | router.viewService._pluginapi._viewConfigFactory('ng1', views_1.getNg1ViewConfigFactory());
|
44 |
|
45 | router.urlService.config._decodeParams = false;
|
46 | var ng1LocationService = (router.locationService = router.locationConfig = new locationServices_1.Ng1LocationServices($locationProvider));
|
47 | locationServices_1.Ng1LocationServices.monkeyPatchPathParameterType(router);
|
48 |
|
49 | router['router'] = router;
|
50 | router['$get'] = $get;
|
51 | $get.$inject = ['$location', '$browser', '$window', '$sniffer', '$rootScope', '$http', '$templateCache'];
|
52 | function $get($location, $browser, $window, $sniffer, $rootScope, $http, $templateCache) {
|
53 | ng1LocationService._runtimeServices($rootScope, $location, $sniffer, $browser, $window);
|
54 | delete router['router'];
|
55 | delete router['$get'];
|
56 | return router;
|
57 | }
|
58 | return router;
|
59 | }
|
60 | var getProviderFor = function (serviceName) { return [
|
61 | '$uiRouterProvider',
|
62 | function ($urp) {
|
63 | var service = $urp.router[serviceName];
|
64 | service['$get'] = function () { return service; };
|
65 | return service;
|
66 | },
|
67 | ]; };
|
68 |
|
69 | runBlock.$inject = ['$injector', '$q', '$uiRouter'];
|
70 | function runBlock($injector, $q, $uiRouter) {
|
71 | core_1.services.$injector = $injector;
|
72 | core_1.services.$q = $q;
|
73 |
|
74 | if (!Object.prototype.hasOwnProperty.call($injector, 'strictDi')) {
|
75 | try {
|
76 | $injector.invoke(function (checkStrictDi) { });
|
77 | }
|
78 | catch (error) {
|
79 | $injector.strictDi = !!/strict mode/.exec(error && error.toString());
|
80 | }
|
81 | }
|
82 |
|
83 |
|
84 | $uiRouter.stateRegistry
|
85 | .get()
|
86 | .map(function (x) { return x.$$state().resolvables; })
|
87 | .reduce(core_1.unnestR, [])
|
88 | .filter(function (x) { return x.deps === 'deferred'; })
|
89 | .forEach(function (resolvable) { return (resolvable.deps = $injector.annotate(resolvable.resolveFn, $injector.strictDi)); });
|
90 | }
|
91 |
|
92 | var getUrlRouterProvider = function (uiRouter) { return (uiRouter.urlRouterProvider = new urlRouterProvider_1.UrlRouterProvider(uiRouter)); };
|
93 |
|
94 |
|
95 | var getStateProvider = function () { return core_1.extend(router.stateProvider, { $get: function () { return router.stateService; } }); };
|
96 | watchDigests.$inject = ['$rootScope'];
|
97 | function watchDigests($rootScope) {
|
98 | $rootScope.$watch(function () {
|
99 | core_1.trace.approximateDigests++;
|
100 | });
|
101 | }
|
102 | exports.watchDigests = watchDigests;
|
103 | mod_init.provider('$uiRouter', $uiRouterProvider);
|
104 | mod_rtr.provider('$urlRouter', ['$uiRouterProvider', getUrlRouterProvider]);
|
105 | mod_util.provider('$urlService', getProviderFor('urlService'));
|
106 | mod_util.provider('$urlMatcherFactory', ['$uiRouterProvider', function () { return router.urlMatcherFactory; }]);
|
107 | mod_util.provider('$templateFactory', function () { return new templateFactory_1.TemplateFactory(); });
|
108 | mod_state.provider('$stateRegistry', getProviderFor('stateRegistry'));
|
109 | mod_state.provider('$uiRouterGlobals', getProviderFor('globals'));
|
110 | mod_state.provider('$transitions', getProviderFor('transitionService'));
|
111 | mod_state.provider('$state', ['$uiRouterProvider', getStateProvider]);
|
112 | mod_state.factory('$stateParams', ['$uiRouter', function ($uiRouter) { return $uiRouter.globals.params; }]);
|
113 | mod_main.factory('$view', function () { return router.viewService; });
|
114 | mod_main.service('$trace', function () { return core_1.trace; });
|
115 | mod_main.run(watchDigests);
|
116 | mod_util.run(['$urlMatcherFactory', function ($urlMatcherFactory) { }]);
|
117 | mod_state.run(['$state', function ($state) { }]);
|
118 | mod_rtr.run(['$urlRouter', function ($urlRouter) { }]);
|
119 | mod_init.run(runBlock);
|
120 |
|
121 | exports.getLocals = function (ctx) {
|
122 | var tokens = ctx.getTokens().filter(core_1.isString);
|
123 | var tuples = tokens.map(function (key) {
|
124 | var resolvable = ctx.getResolvable(key);
|
125 | var waitPolicy = ctx.getPolicy(resolvable).async;
|
126 | return [key, waitPolicy === 'NOWAIT' ? resolvable.promise : resolvable.data];
|
127 | });
|
128 | return tuples.reduce(core_1.applyPairs, {});
|
129 | };
|
130 |
|
\ | No newline at end of file |