kms 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kms/application.js +1 -0
- data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -4
- data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +12 -2
- data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +13 -3
- data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +13 -3
- data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +5 -5
- data/app/assets/javascripts/kms/application/module.coffee +6 -2
- data/app/assets/javascripts/kms/application/routes.coffee.erb +10 -0
- data/app/assets/javascripts/templates/assets/edit.html.slim +2 -1
- data/app/assets/javascripts/templates/assets/form.html.slim +1 -1
- data/app/assets/javascripts/templates/pages/edit.html.slim +1 -0
- data/app/assets/javascripts/templates/shared/hotkey_notification.html.slim +6 -0
- data/app/assets/javascripts/templates/snippets/edit.html.slim +1 -0
- data/app/assets/javascripts/templates/templates/edit.html.slim +1 -0
- data/app/assets/javascripts/templates/users/edit.html.slim +5 -0
- data/app/assets/javascripts/templates/users/form.html.slim +3 -2
- data/app/assets/javascripts/templates/users/index.html.slim +2 -1
- data/app/assets/stylesheets/kms/custom.css.scss +10 -0
- data/app/controllers/kms/assets_controller.rb +6 -3
- data/app/controllers/kms/users_controller.rb +14 -0
- data/app/services/kms/resource_service.rb +3 -1
- data/app/views/layouts/kms/kms.html.erb +1 -1
- data/config/initializers/devise.rb +9 -0
- data/config/locales/en.yml +12 -0
- data/config/locales/ru.yml +12 -0
- data/config/routes.rb +1 -1
- data/lib/kms/engine.rb +1 -1
- data/lib/kms/version.rb +1 -1
- data/spec/controllers/kms/assets_controller_spec.rb +28 -10
- data/spec/controllers/kms/users_controller_spec.rb +23 -0
- data/spec/internal/config/routes.rb +1 -1
- data/spec/internal/log/test.log +0 -105823
- data/vendor/assets/bower.json +5 -4
- data/vendor/assets/bower_components/angular-cookies/angular-cookies.js +22 -18
- data/vendor/assets/bower_components/angular-cookies/angular-cookies.min.js +4 -4
- data/vendor/assets/bower_components/angular-cookies/angular-cookies.min.js.map +2 -2
- data/vendor/assets/bower_components/angular-cookies/bower.json +2 -2
- data/vendor/assets/bower_components/angular-cookies/package.json +1 -1
- data/vendor/assets/bower_components/angular-hotkeys/Gruntfile.js +118 -0
- data/vendor/assets/bower_components/angular-hotkeys/LICENSE +20 -0
- data/vendor/assets/bower_components/angular-hotkeys/README.md +248 -0
- data/vendor/assets/bower_components/angular-hotkeys/bower.json +19 -0
- data/vendor/assets/bower_components/angular-hotkeys/build/hotkeys.css +110 -0
- data/vendor/assets/bower_components/angular-hotkeys/build/hotkeys.js +1661 -0
- data/vendor/assets/bower_components/angular-hotkeys/build/hotkeys.min.css +1 -0
- data/vendor/assets/bower_components/angular-hotkeys/build/hotkeys.min.js +7 -0
- data/vendor/assets/bower_components/angular-hotkeys/package.json +45 -0
- data/vendor/assets/bower_components/angular-hotkeys/src/hotkeys.css +104 -0
- data/vendor/assets/bower_components/angular-hotkeys/src/hotkeys.js +633 -0
- data/vendor/assets/bower_components/angular-loading-bar/CHANGELOG.md +33 -0
- data/vendor/assets/bower_components/angular-loading-bar/CONTRIBUTING.md +17 -0
- data/vendor/assets/bower_components/angular-loading-bar/Gruntfile.js +9 -1
- data/vendor/assets/bower_components/angular-loading-bar/ISSUE_TEMPLATE.md +14 -0
- data/vendor/assets/bower_components/angular-loading-bar/PULL_REQUEST_TEMPLATE.md +13 -0
- data/vendor/assets/bower_components/angular-loading-bar/README.md +30 -3
- data/vendor/assets/bower_components/angular-loading-bar/bower.json +11 -6
- data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.css +5 -5
- data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.js +39 -12
- data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.min.css +1 -8
- data/vendor/assets/bower_components/angular-loading-bar/build/loading-bar.min.js +3 -3
- data/vendor/assets/bower_components/angular-loading-bar/index.js +2 -0
- data/vendor/assets/bower_components/angular-loading-bar/package.json +12 -15
- data/vendor/assets/bower_components/angular-loading-bar/src/loading-bar.css +3 -3
- data/vendor/assets/bower_components/angular-loading-bar/src/loading-bar.js +37 -10
- data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.js +504 -386
- data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.min.js +13 -12
- data/vendor/assets/bower_components/angular-sanitize/angular-sanitize.min.js.map +3 -3
- data/vendor/assets/bower_components/angular-sanitize/bower.json +2 -2
- data/vendor/assets/bower_components/angular-sanitize/package.json +1 -1
- data/vendor/assets/bower_components/angular-ui-router/CHANGELOG.md +1410 -0
- data/vendor/assets/bower_components/angular-ui-router/CONTRIBUTING.md +64 -16
- data/vendor/assets/bower_components/angular-ui-router/DOCS.md +48 -0
- data/vendor/assets/bower_components/angular-ui-router/ISSUE_TEMPLATE.md +53 -0
- data/vendor/assets/bower_components/angular-ui-router/LICENSE +1 -1
- data/vendor/assets/bower_components/angular-ui-router/README.md +24 -211
- data/vendor/assets/bower_components/angular-ui-router/artifacts.json +8 -0
- data/vendor/assets/bower_components/angular-ui-router/bower.json +1 -23
- data/vendor/assets/bower_components/angular-ui-router/karma.conf.js +105 -0
- data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.js +9744 -3901
- data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.js.map +192 -0
- data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js +9 -4
- data/vendor/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js.map +1679 -0
- data/vendor/assets/bower_components/angular-ui-router/release/resolveService.js +83 -0
- data/vendor/assets/bower_components/angular-ui-router/release/resolveService.js.map +19 -0
- data/vendor/assets/bower_components/angular-ui-router/release/resolveService.min.js +8 -0
- data/vendor/assets/bower_components/angular-ui-router/release/resolveService.min.js.map +47 -0
- data/vendor/assets/bower_components/angular-ui-router/release/stateEvents.js +294 -0
- data/vendor/assets/bower_components/angular-ui-router/release/stateEvents.js.map +17 -0
- data/vendor/assets/bower_components/angular-ui-router/release/stateEvents.min.js +8 -0
- data/vendor/assets/bower_components/angular-ui-router/release/stateEvents.min.js.map +102 -0
- data/vendor/assets/bower_components/angular-ui-router/release/ui-router-angularjs.js +2014 -0
- data/vendor/assets/bower_components/angular-ui-router/release/ui-router-angularjs.js.map +70 -0
- data/vendor/assets/bower_components/angular-ui-router/release/ui-router-angularjs.min.js +9 -0
- data/vendor/assets/bower_components/angular-ui-router/release/ui-router-angularjs.min.js.map +541 -0
- data/vendor/assets/bower_components/angular-ui-router/rollup.config.js +116 -0
- data/vendor/assets/bower_components/angular-ui-router/tslint.json +60 -0
- data/vendor/assets/bower_components/angular-ui-router/yarn.lock +4146 -0
- data/vendor/assets/bower_components/angular-ui-tree/yarn.lock +4945 -0
- data/vendor/assets/bower_components/angular/angular.js +4019 -2449
- data/vendor/assets/bower_components/angular/angular.min.js +331 -319
- data/vendor/assets/bower_components/angular/angular.min.js.gzip +0 -0
- data/vendor/assets/bower_components/angular/angular.min.js.map +3 -3
- data/vendor/assets/bower_components/angular/bower.json +1 -1
- data/vendor/assets/bower_components/angular/package.json +1 -1
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/LICENSE +21 -0
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/README.md +14 -14
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/bower.json +25 -12
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/development_index.html +59 -52
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/dist/angularjs-dropdown-multiselect.min.js +1 -1
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/index.html +73 -0
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/package.json +19 -7
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/pages/home/ExampleCtrl.js +126 -3
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/javascripts/pages/home/home.html +1262 -852
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/stylesheets/stylesheet.css +10 -5
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/src/angularjs-dropdown-multiselect.js +612 -287
- metadata +66 -169
- data/spec/internal/config/database.yml +0 -7
- data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/style.css +0 -1
- data/spec/internal/public/uploads/kms/asset/file/3/style.css +0 -1
- data/spec/internal/public/uploads/kms/asset/file/4/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +0 -1
- data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +0 -1
- data/spec/internal/tmp/cache/assets/test/sprockets/v3.0/1XyAFYlYI0pK7WAgjR4PgXV6BgU6huJSviWmHetdCRs.cache +0 -1
- data/vendor/assets/bower_components/angular-ui-router/api/angular-ui-router.d.ts +0 -126
- data/vendor/assets/bower_components/angular-ui-router/src/common.js +0 -292
- data/vendor/assets/bower_components/angular-ui-router/src/resolve.js +0 -252
- data/vendor/assets/bower_components/angular-ui-router/src/state.js +0 -1373
- data/vendor/assets/bower_components/angular-ui-router/src/stateDirectives.js +0 -268
- data/vendor/assets/bower_components/angular-ui-router/src/stateFilters.js +0 -39
- data/vendor/assets/bower_components/angular-ui-router/src/templateFactory.js +0 -110
- data/vendor/assets/bower_components/angular-ui-router/src/urlMatcherFactory.js +0 -1036
- data/vendor/assets/bower_components/angular-ui-router/src/urlRouter.js +0 -413
- data/vendor/assets/bower_components/angular-ui-router/src/view.js +0 -71
- data/vendor/assets/bower_components/angular-ui-router/src/viewDirective.js +0 -302
- data/vendor/assets/bower_components/angular-ui-router/src/viewScroll.js +0 -52
- data/vendor/assets/bower_components/angularjs-dropdown-multiselect/pages/index.html +0 -67
- data/vendor/assets/bower_components/bootstrap/Gemfile.lock +0 -43
@@ -0,0 +1,83 @@
|
|
1
|
+
/**
|
2
|
+
* State-based routing for AngularJS 1.x
|
3
|
+
* @version v1.0.11
|
4
|
+
* @link https://ui-router.github.io
|
5
|
+
* @license MIT License, http://www.opensource.org/licenses/MIT
|
6
|
+
*/
|
7
|
+
(function (global, factory) {
|
8
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@uirouter/core'), require('angular')) :
|
9
|
+
typeof define === 'function' && define.amd ? define(['exports', '@uirouter/core', 'angular'], factory) :
|
10
|
+
(factory((global['@uirouter/angularjs-resolve-service'] = {}),global['@uirouter/core'],global.angular));
|
11
|
+
}(this, (function (exports,core,angular) { 'use strict';
|
12
|
+
|
13
|
+
/** @module ng1 */ /** */
|
14
|
+
/**
|
15
|
+
* Implementation of the legacy `$resolve` service for angular 1.
|
16
|
+
*/
|
17
|
+
var $resolve = {
|
18
|
+
/**
|
19
|
+
* Asynchronously injects a resolve block.
|
20
|
+
*
|
21
|
+
* This emulates most of the behavior of the ui-router 0.2.x $resolve.resolve() service API.
|
22
|
+
*
|
23
|
+
* ### Not bundled by default
|
24
|
+
*
|
25
|
+
* This API is no longer not part of the standard `@uirouter/angularjs` bundle.
|
26
|
+
* For users of the prebuilt bundles, add the `release/resolveService.min.js` UMD bundle.
|
27
|
+
* For bundlers (webpack, browserify, etc), add `@uirouter/angularjs/lib/legacy/resolveService`.
|
28
|
+
*
|
29
|
+
* ---
|
30
|
+
*
|
31
|
+
* Given an object `invocables`, where keys are strings and values are injectable functions,
|
32
|
+
* injects each function, and waits for the resulting promise to resolve.
|
33
|
+
* When all resulting promises are resolved, returns the results as an object.
|
34
|
+
*
|
35
|
+
* #### Example:
|
36
|
+
* ```js
|
37
|
+
* let invocables = {
|
38
|
+
* foo: [ '$http', ($http) =>
|
39
|
+
* $http.get('/api/foo').then(resp => resp.data) ],
|
40
|
+
* bar: [ 'foo', '$http', (foo, $http) =>
|
41
|
+
* $http.get('/api/bar/' + foo.barId).then(resp => resp.data) ]
|
42
|
+
* }
|
43
|
+
* $resolve.resolve(invocables)
|
44
|
+
* .then(results => console.log(results.foo, results.bar))
|
45
|
+
* // Logs foo and bar:
|
46
|
+
* // { id: 123, barId: 456, fooData: 'foo data' }
|
47
|
+
* // { id: 456, barData: 'bar data' }
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* @param invocables an object which looks like an [[StateDeclaration.resolve]] object; keys are resolve names and values are injectable functions
|
51
|
+
* @param locals key/value pre-resolved data (locals)
|
52
|
+
* @param parent a promise for a "parent resolve"
|
53
|
+
*/
|
54
|
+
resolve: function (invocables, locals, parent) {
|
55
|
+
if (locals === void 0) { locals = {}; }
|
56
|
+
var parentNode = new core.PathNode(new core.StateObject({ params: {}, resolvables: [] }));
|
57
|
+
var node = new core.PathNode(new core.StateObject({ params: {}, resolvables: [] }));
|
58
|
+
var context = new core.ResolveContext([parentNode, node]);
|
59
|
+
context.addResolvables(core.resolvablesBuilder({ resolve: invocables }), node.state);
|
60
|
+
var resolveData = function (parentLocals) {
|
61
|
+
var rewrap = function (_locals) { return core.resolvablesBuilder({ resolve: core.mapObj(_locals, function (local) { return function () { return local; }; }) }); };
|
62
|
+
context.addResolvables(rewrap(parentLocals), parentNode.state);
|
63
|
+
context.addResolvables(rewrap(locals), node.state);
|
64
|
+
var tuples2ObjR = function (acc, tuple) {
|
65
|
+
acc[tuple.token] = tuple.value;
|
66
|
+
return acc;
|
67
|
+
};
|
68
|
+
return context.resolvePath().then(function (results) { return results.reduce(tuples2ObjR, {}); });
|
69
|
+
};
|
70
|
+
return parent ? parent.then(resolveData) : resolveData({});
|
71
|
+
}
|
72
|
+
};
|
73
|
+
/** @hidden */
|
74
|
+
var resolveFactory = function () { return $resolve; };
|
75
|
+
// The old $resolve service
|
76
|
+
angular.module('ui.router').factory('$resolve', resolveFactory);
|
77
|
+
|
78
|
+
exports.resolveFactory = resolveFactory;
|
79
|
+
|
80
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
81
|
+
|
82
|
+
})));
|
83
|
+
//# sourceMappingURL=resolveService.js.map
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "resolveService.js",
|
4
|
+
"sources": [
|
5
|
+
"@uirouter/angularjs/src/legacy/resolveService.ts"
|
6
|
+
],
|
7
|
+
"sourcesContent": [
|
8
|
+
"/** @module ng1 */ /** */\nimport { StateObject, PathNode, ResolveContext, Obj, mapObj, resolvablesBuilder } from \"@uirouter/core\";\nimport * as angular from \"angular\";\n\n/**\n * Implementation of the legacy `$resolve` service for angular 1.\n */\nvar $resolve = {\n /**\n * Asynchronously injects a resolve block.\n *\n * This emulates most of the behavior of the ui-router 0.2.x $resolve.resolve() service API.\n *\n * ### Not bundled by default\n *\n * This API is no longer not part of the standard `@uirouter/angularjs` bundle.\n * For users of the prebuilt bundles, add the `release/resolveService.min.js` UMD bundle.\n * For bundlers (webpack, browserify, etc), add `@uirouter/angularjs/lib/legacy/resolveService`.\n *\n * ---\n *\n * Given an object `invocables`, where keys are strings and values are injectable functions,\n * injects each function, and waits for the resulting promise to resolve.\n * When all resulting promises are resolved, returns the results as an object.\n *\n * #### Example:\n * ```js\n * let invocables = {\n * foo: [ '$http', ($http) =>\n * $http.get('/api/foo').then(resp => resp.data) ],\n * bar: [ 'foo', '$http', (foo, $http) =>\n * $http.get('/api/bar/' + foo.barId).then(resp => resp.data) ]\n * }\n * $resolve.resolve(invocables)\n * .then(results => console.log(results.foo, results.bar))\n * // Logs foo and bar:\n * // { id: 123, barId: 456, fooData: 'foo data' }\n * // { id: 456, barData: 'bar data' }\n * ```\n *\n * @param invocables an object which looks like an [[StateDeclaration.resolve]] object; keys are resolve names and values are injectable functions\n * @param locals key/value pre-resolved data (locals)\n * @param parent a promise for a \"parent resolve\"\n */\n resolve: (invocables: { [key: string]: Function }, locals = {}, parent?: Promise<any>) => {\n let parentNode = new PathNode(new StateObject(<any> { params: {}, resolvables: [] }));\n let node = new PathNode(new StateObject(<any> { params: {}, resolvables: [] }));\n let context = new ResolveContext([parentNode, node]);\n\n context.addResolvables(resolvablesBuilder(<any> { resolve: invocables }), node.state);\n\n const resolveData = (parentLocals: Obj) => {\n const rewrap = (_locals: Obj) => resolvablesBuilder(<any> { resolve: mapObj(_locals, local => () => local) });\n context.addResolvables(rewrap(parentLocals), parentNode.state);\n context.addResolvables(rewrap(locals), node.state);\n\n const tuples2ObjR = (acc: Obj, tuple: { token: any, value: any }) => {\n acc[tuple.token] = tuple.value;\n return acc;\n };\n return context.resolvePath().then(results => results.reduce(tuples2ObjR, {}));\n };\n\n return parent ? parent.then(resolveData) : resolveData({});\n }\n};\n\n/** @hidden */\nexport const resolveFactory = () => $resolve;\n\n// The old $resolve service\nangular.module('ui.router').factory('$resolve', <any> resolveFactory);\n"
|
9
|
+
],
|
10
|
+
"names": [
|
11
|
+
"PathNode",
|
12
|
+
"StateObject",
|
13
|
+
"ResolveContext",
|
14
|
+
"resolvablesBuilder",
|
15
|
+
"mapObj",
|
16
|
+
"angular.module"
|
17
|
+
],
|
18
|
+
"mappings": ";;;;;;;;;;;;AAAA;AACA,AAGA;;;AAGA,IAAI,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCb,OAAO,EAAE,UAAC,UAAuC,EAAE,MAAW,EAAE,MAAqB;QAAlC,uBAAA,EAAA,WAAW;QAC5D,IAAI,UAAU,GAAG,IAAIA,aAAQ,CAAC,IAAIC,gBAAW,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,IAAI,GAAG,IAAID,aAAQ,CAAC,IAAIC,gBAAW,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,GAAG,IAAIC,mBAAc,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,OAAO,CAAC,cAAc,CAACC,uBAAkB,CAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtF,IAAM,WAAW,GAAG,UAAC,YAAiB;YACpC,IAAM,MAAM,GAAG,UAAC,OAAY,IAAK,OAAAA,uBAAkB,CAAO,EAAE,OAAO,EAAEC,WAAM,CAAC,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,cAAM,OAAA,KAAK,GAAA,GAAA,CAAC,EAAE,CAAC,GAAA,CAAC;YAC9G,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnD,IAAM,WAAW,GAAG,UAAC,GAAQ,EAAE,KAAiC;gBAC9D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC/B,OAAO,GAAG,CAAC;aACZ,CAAC;YACF,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GAAA,CAAC,CAAC;SAC/E,CAAC;QAEF,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;KAC5D;CACF,CAAC;;AAGF,AAAO,IAAM,cAAc,GAAG,cAAM,OAAA,QAAQ,GAAA,CAAC;;AAG7CC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,EAAQ,cAAc,CAAC,CAAC;;;;;;;;;;;;"
|
19
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* State-based routing for AngularJS 1.x
|
3
|
+
* @version v1.0.11
|
4
|
+
* @link https://ui-router.github.io
|
5
|
+
* @license MIT License, http://www.opensource.org/licenses/MIT
|
6
|
+
*/
|
7
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@uirouter/core"),require("angular")):"function"==typeof define&&define.amd?define(["exports","@uirouter/core","angular"],r):r(e["@uirouter/angularjs-resolve-service"]={},e["@uirouter/core"],e.angular)}(this,function(e,r,t){"use strict";var o={resolve:function(e,t,o){void 0===t&&(t={});var n=new r.PathNode(new r.StateObject({params:{},resolvables:[]})),u=new r.PathNode(new r.StateObject({params:{},resolvables:[]})),a=new r.ResolveContext([n,u]);a.addResolvables(r.resolvablesBuilder({resolve:e}),u.state);var s=function(e){var o=function(e){return r.resolvablesBuilder({resolve:r.mapObj(e,function(e){return function(){return e}})})};a.addResolvables(o(e),n.state),a.addResolvables(o(t),u.state);var s=function(e,r){return e[r.token]=r.value,e};return a.resolvePath().then(function(e){return e.reduce(s,{})})};return o?o.then(s):s({})}},n=function(){return o};t.module("ui.router").factory("$resolve",n),e.resolveFactory=n,Object.defineProperty(e,"__esModule",{value:!0})});
|
8
|
+
//# sourceMappingURL=resolveService.min.js.map
|
@@ -0,0 +1,47 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "resolveService.min.js",
|
4
|
+
"sources": [
|
5
|
+
"@uirouter/angularjs/src/legacy/resolveService.ts"
|
6
|
+
],
|
7
|
+
"sourcesContent": [
|
8
|
+
"/** @module ng1 */ /** */\nimport { StateObject, PathNode, ResolveContext, Obj, mapObj, resolvablesBuilder } from \"@uirouter/core\";\nimport * as angular from \"angular\";\n\n/**\n * Implementation of the legacy `$resolve` service for angular 1.\n */\nvar $resolve = {\n /**\n * Asynchronously injects a resolve block.\n *\n * This emulates most of the behavior of the ui-router 0.2.x $resolve.resolve() service API.\n *\n * ### Not bundled by default\n *\n * This API is no longer not part of the standard `@uirouter/angularjs` bundle.\n * For users of the prebuilt bundles, add the `release/resolveService.min.js` UMD bundle.\n * For bundlers (webpack, browserify, etc), add `@uirouter/angularjs/lib/legacy/resolveService`.\n *\n * ---\n *\n * Given an object `invocables`, where keys are strings and values are injectable functions,\n * injects each function, and waits for the resulting promise to resolve.\n * When all resulting promises are resolved, returns the results as an object.\n *\n * #### Example:\n * ```js\n * let invocables = {\n * foo: [ '$http', ($http) =>\n * $http.get('/api/foo').then(resp => resp.data) ],\n * bar: [ 'foo', '$http', (foo, $http) =>\n * $http.get('/api/bar/' + foo.barId).then(resp => resp.data) ]\n * }\n * $resolve.resolve(invocables)\n * .then(results => console.log(results.foo, results.bar))\n * // Logs foo and bar:\n * // { id: 123, barId: 456, fooData: 'foo data' }\n * // { id: 456, barData: 'bar data' }\n * ```\n *\n * @param invocables an object which looks like an [[StateDeclaration.resolve]] object; keys are resolve names and values are injectable functions\n * @param locals key/value pre-resolved data (locals)\n * @param parent a promise for a \"parent resolve\"\n */\n resolve: (invocables: { [key: string]: Function }, locals = {}, parent?: Promise<any>) => {\n let parentNode = new PathNode(new StateObject(<any> { params: {}, resolvables: [] }));\n let node = new PathNode(new StateObject(<any> { params: {}, resolvables: [] }));\n let context = new ResolveContext([parentNode, node]);\n\n context.addResolvables(resolvablesBuilder(<any> { resolve: invocables }), node.state);\n\n const resolveData = (parentLocals: Obj) => {\n const rewrap = (_locals: Obj) => resolvablesBuilder(<any> { resolve: mapObj(_locals, local => () => local) });\n context.addResolvables(rewrap(parentLocals), parentNode.state);\n context.addResolvables(rewrap(locals), node.state);\n\n const tuples2ObjR = (acc: Obj, tuple: { token: any, value: any }) => {\n acc[tuple.token] = tuple.value;\n return acc;\n };\n return context.resolvePath().then(results => results.reduce(tuples2ObjR, {}));\n };\n\n return parent ? parent.then(resolveData) : resolveData({});\n }\n};\n\n/** @hidden */\nexport const resolveFactory = () => $resolve;\n\n// The old $resolve service\nangular.module('ui.router').factory('$resolve', <any> resolveFactory);\n"
|
9
|
+
],
|
10
|
+
"names": [
|
11
|
+
"$resolve",
|
12
|
+
"resolve",
|
13
|
+
"invocables",
|
14
|
+
"locals",
|
15
|
+
"parent",
|
16
|
+
"parentNode",
|
17
|
+
"PathNode",
|
18
|
+
"StateObject",
|
19
|
+
"params",
|
20
|
+
"resolvables",
|
21
|
+
"node",
|
22
|
+
"context",
|
23
|
+
"ResolveContext",
|
24
|
+
"addResolvables",
|
25
|
+
"resolvablesBuilder",
|
26
|
+
"state",
|
27
|
+
"resolveData",
|
28
|
+
"parentLocals",
|
29
|
+
"rewrap",
|
30
|
+
"_locals",
|
31
|
+
"mapObj",
|
32
|
+
"local",
|
33
|
+
"tuples2ObjR",
|
34
|
+
"acc",
|
35
|
+
"tuple",
|
36
|
+
"token",
|
37
|
+
"value",
|
38
|
+
"resolvePath",
|
39
|
+
"then",
|
40
|
+
"results",
|
41
|
+
"reduce",
|
42
|
+
"resolveFactory",
|
43
|
+
"angular.module",
|
44
|
+
"factory"
|
45
|
+
],
|
46
|
+
"mappings": ";;;;;;mUAOA,IAAIA,GAqCFC,QAAS,SAACC,EAAyCC,EAAaC,gBAAbD,MACjD,IAAIE,EAAa,IAAIC,WAAS,IAAIC,eAAoBC,UAAYC,kBAC9DC,EAAO,IAAIJ,WAAS,IAAIC,eAAoBC,UAAYC,kBACxDE,EAAU,IAAIC,kBAAgBP,EAAYK,IAE9CC,EAAQE,eAAeC,sBAA2Bb,QAASC,IAAeQ,EAAKK,OAE/E,IAAMC,EAAc,SAACC,GACnB,IAAMC,EAAS,SAACC,GAAiB,OAAAL,sBAA2Bb,QAASmB,SAAOD,EAAS,SAAAE,GAAS,OAAA,WAAM,OAAAA,QACpGV,EAAQE,eAAeK,EAAOD,GAAeZ,EAAWU,OACxDJ,EAAQE,eAAeK,EAAOf,GAASO,EAAKK,OAE5C,IAAMO,EAAc,SAACC,EAAUC,GAE7B,OADAD,EAAIC,EAAMC,OAASD,EAAME,MAClBH,GAET,OAAOZ,EAAQgB,cAAcC,KAAK,SAAAC,GAAW,OAAAA,EAAQC,OAAOR,SAG9D,OAAOlB,EAASA,EAAOwB,KAAKZ,GAAeA,QAKlCe,EAAiB,WAAM,OAAA/B,GAGpCgC,SAAe,aAAaC,QAAQ,WAAkBF"
|
47
|
+
}
|
@@ -0,0 +1,294 @@
|
|
1
|
+
/**
|
2
|
+
* State-based routing for AngularJS 1.x
|
3
|
+
* @version v1.0.11
|
4
|
+
* @link https://ui-router.github.io
|
5
|
+
* @license MIT License, http://www.opensource.org/licenses/MIT
|
6
|
+
*/
|
7
|
+
(function (global, factory) {
|
8
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('angular')) :
|
9
|
+
typeof define === 'function' && define.amd ? define(['exports', 'angular'], factory) :
|
10
|
+
(factory((global['@uirouter/angularjs-state-events'] = {}),global.angular));
|
11
|
+
}(this, (function (exports,ng_from_import) { 'use strict';
|
12
|
+
|
13
|
+
var ng_from_global = angular;
|
14
|
+
var ng = (ng_from_import && ng_from_import.module) ? ng_from_import : ng_from_global;
|
15
|
+
|
16
|
+
/**
|
17
|
+
* # Legacy state events
|
18
|
+
*
|
19
|
+
* Polyfill implementation of the UI-Router 0.2.x state events.
|
20
|
+
*
|
21
|
+
* The 0.2.x state events are deprecated. We recommend moving to Transition Hooks instead, as they
|
22
|
+
* provide much more flexibility, support async, and provide the context (the Transition, etc) necessary
|
23
|
+
* to implement meaningful application behaviors.
|
24
|
+
*
|
25
|
+
* To enable these state events, include the `stateEvents.js` file in your project, e.g.,
|
26
|
+
* ```
|
27
|
+
* <script src="stateEvents.js"></script>
|
28
|
+
* ```
|
29
|
+
* and also make sure you depend on the `ui.router.state.events` angular module, e.g.,
|
30
|
+
* ```
|
31
|
+
* angular.module("myApplication", ['ui.router', 'ui.router.state.events']
|
32
|
+
* ```
|
33
|
+
*
|
34
|
+
* @module ng1_state_events
|
35
|
+
*/ /** */
|
36
|
+
/**
|
37
|
+
* An event broadcast on `$rootScope` when the state transition **begins**.
|
38
|
+
*
|
39
|
+
* ### Deprecation warning: use [[TransitionService.onStart]] instead
|
40
|
+
*
|
41
|
+
* You can use `event.preventDefault()`
|
42
|
+
* to prevent the transition from happening and then the transition promise will be
|
43
|
+
* rejected with a `'transition prevented'` value.
|
44
|
+
*
|
45
|
+
* Additional arguments to the event handler are provided:
|
46
|
+
* - `toState`: the Transition Target state
|
47
|
+
* - `toParams`: the Transition Target Params
|
48
|
+
* - `fromState`: the state the transition is coming from
|
49
|
+
* - `fromParams`: the parameters from the state the transition is coming from
|
50
|
+
* - `options`: any Transition Options
|
51
|
+
* - `$transition$`: the [[Transition]]
|
52
|
+
*
|
53
|
+
* #### Example:
|
54
|
+
* ```js
|
55
|
+
* $rootScope.$on('$stateChangeStart', function(event, transition) {
|
56
|
+
* event.preventDefault();
|
57
|
+
* // transitionTo() promise will be rejected with
|
58
|
+
* // a 'transition prevented' error
|
59
|
+
* })
|
60
|
+
* ```
|
61
|
+
*
|
62
|
+
* @event $stateChangeStart
|
63
|
+
* @deprecated
|
64
|
+
*/
|
65
|
+
var $stateChangeStart;
|
66
|
+
/**
|
67
|
+
* An event broadcast on `$rootScope` if a transition is **cancelled**.
|
68
|
+
*
|
69
|
+
* ### Deprecation warning: use [[TransitionService.onStart]] instead
|
70
|
+
*
|
71
|
+
* Additional arguments to the event handler are provided:
|
72
|
+
* - `toState`: the Transition Target state
|
73
|
+
* - `toParams`: the Transition Target Params
|
74
|
+
* - `fromState`: the state the transition is coming from
|
75
|
+
* - `fromParams`: the parameters from the state the transition is coming from
|
76
|
+
* - `options`: any Transition Options
|
77
|
+
* - `$transition$`: the [[Transition]] that was cancelled
|
78
|
+
*
|
79
|
+
* @event $stateChangeCancel
|
80
|
+
* @deprecated
|
81
|
+
*/
|
82
|
+
var $stateChangeCancel;
|
83
|
+
/**
|
84
|
+
* An event broadcast on `$rootScope` once the state transition is **complete**.
|
85
|
+
*
|
86
|
+
* ### Deprecation warning: use [[TransitionService.onStart]] and [[Transition.promise]], or [[Transition.onSuccess]]
|
87
|
+
*
|
88
|
+
* Additional arguments to the event handler are provided:
|
89
|
+
* - `toState`: the Transition Target state
|
90
|
+
* - `toParams`: the Transition Target Params
|
91
|
+
* - `fromState`: the state the transition is coming from
|
92
|
+
* - `fromParams`: the parameters from the state the transition is coming from
|
93
|
+
* - `options`: any Transition Options
|
94
|
+
* - `$transition$`: the [[Transition]] that just succeeded
|
95
|
+
*
|
96
|
+
* @event $stateChangeSuccess
|
97
|
+
* @deprecated
|
98
|
+
*/
|
99
|
+
var $stateChangeSuccess;
|
100
|
+
/**
|
101
|
+
* An event broadcast on `$rootScope` when an **error occurs** during transition.
|
102
|
+
*
|
103
|
+
* ### Deprecation warning: use [[TransitionService.onStart]] and [[Transition.promise]], or [[Transition.onError]]
|
104
|
+
*
|
105
|
+
* It's important to note that if you
|
106
|
+
* have any errors in your resolve functions (javascript errors, non-existent services, etc)
|
107
|
+
* they will not throw traditionally. You must listen for this $stateChangeError event to
|
108
|
+
* catch **ALL** errors.
|
109
|
+
*
|
110
|
+
* Additional arguments to the event handler are provided:
|
111
|
+
* - `toState`: the Transition Target state
|
112
|
+
* - `toParams`: the Transition Target Params
|
113
|
+
* - `fromState`: the state the transition is coming from
|
114
|
+
* - `fromParams`: the parameters from the state the transition is coming from
|
115
|
+
* - `error`: The reason the transition errored.
|
116
|
+
* - `options`: any Transition Options
|
117
|
+
* - `$transition$`: the [[Transition]] that errored
|
118
|
+
*
|
119
|
+
* @event $stateChangeError
|
120
|
+
* @deprecated
|
121
|
+
*/
|
122
|
+
var $stateChangeError;
|
123
|
+
/**
|
124
|
+
* An event broadcast on `$rootScope` when a requested state **cannot be found** using the provided state name.
|
125
|
+
*
|
126
|
+
* ### Deprecation warning: use [[StateService.onInvalid]] instead
|
127
|
+
*
|
128
|
+
* The event is broadcast allowing any handlers a single chance to deal with the error (usually by
|
129
|
+
* lazy-loading the unfound state). A `TargetState` object is passed to the listener handler,
|
130
|
+
* you can see its properties in the example. You can use `event.preventDefault()` to abort the
|
131
|
+
* transition and the promise returned from `transitionTo()` will be rejected with a
|
132
|
+
* `'transition aborted'` error.
|
133
|
+
*
|
134
|
+
* Additional arguments to the event handler are provided:
|
135
|
+
* - `unfoundState` Unfound State information. Contains: `to, toParams, options` properties.
|
136
|
+
* - `fromState`: the state the transition is coming from
|
137
|
+
* - `fromParams`: the parameters from the state the transition is coming from
|
138
|
+
* - `options`: any Transition Options
|
139
|
+
*
|
140
|
+
* #### Example:
|
141
|
+
* ```js
|
142
|
+
* // somewhere, assume lazy.state has not been defined
|
143
|
+
* $state.go("lazy.state", { a: 1, b: 2 }, { inherit: false });
|
144
|
+
*
|
145
|
+
* // somewhere else
|
146
|
+
* $scope.$on('$stateNotFound', function(event, transition) {
|
147
|
+
* function(event, unfoundState, fromState, fromParams){
|
148
|
+
* console.log(unfoundState.to); // "lazy.state"
|
149
|
+
* console.log(unfoundState.toParams); // {a:1, b:2}
|
150
|
+
* console.log(unfoundState.options); // {inherit:false} + default options
|
151
|
+
* });
|
152
|
+
* ```
|
153
|
+
*
|
154
|
+
* @event $stateNotFound
|
155
|
+
* @deprecated
|
156
|
+
*/
|
157
|
+
var $stateNotFound;
|
158
|
+
(function () {
|
159
|
+
var isFunction = ng.isFunction, isString = ng.isString;
|
160
|
+
function applyPairs(memo, keyValTuple) {
|
161
|
+
var key, value;
|
162
|
+
if (Array.isArray(keyValTuple))
|
163
|
+
key = keyValTuple[0], value = keyValTuple[1];
|
164
|
+
if (!isString(key))
|
165
|
+
throw new Error("invalid parameters to applyPairs");
|
166
|
+
memo[key] = value;
|
167
|
+
return memo;
|
168
|
+
}
|
169
|
+
function stateChangeStartHandler($transition$) {
|
170
|
+
if (!$transition$.options().notify || !$transition$.valid() || $transition$.ignored())
|
171
|
+
return;
|
172
|
+
var $injector = $transition$.injector();
|
173
|
+
var $stateEvents = $injector.get('$stateEvents');
|
174
|
+
var $rootScope = $injector.get('$rootScope');
|
175
|
+
var $state = $injector.get('$state');
|
176
|
+
var $urlRouter = $injector.get('$urlRouter');
|
177
|
+
var enabledEvents = $stateEvents.provider.enabled();
|
178
|
+
var toParams = $transition$.params("to");
|
179
|
+
var fromParams = $transition$.params("from");
|
180
|
+
if (enabledEvents.$stateChangeSuccess) {
|
181
|
+
var startEvent = $rootScope.$broadcast('$stateChangeStart', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
|
182
|
+
if (startEvent.defaultPrevented) {
|
183
|
+
if (enabledEvents.$stateChangeCancel) {
|
184
|
+
$rootScope.$broadcast('$stateChangeCancel', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
|
185
|
+
}
|
186
|
+
//Don't update and resync url if there's been a new transition started. see issue #2238, #600
|
187
|
+
if ($state.transition == null)
|
188
|
+
$urlRouter.update();
|
189
|
+
return false;
|
190
|
+
}
|
191
|
+
// right after global state is updated
|
192
|
+
var successOpts = { priority: 9999 };
|
193
|
+
$transition$.onSuccess({}, function () {
|
194
|
+
$rootScope.$broadcast('$stateChangeSuccess', $transition$.to(), toParams, $transition$.from(), fromParams, $transition$.options(), $transition$);
|
195
|
+
}, successOpts);
|
196
|
+
}
|
197
|
+
if (enabledEvents.$stateChangeError) {
|
198
|
+
$transition$.promise["catch"](function (error) {
|
199
|
+
if (error && (error.type === 2 /* RejectType.SUPERSEDED */ || error.type === 3 /* RejectType.ABORTED */))
|
200
|
+
return;
|
201
|
+
var evt = $rootScope.$broadcast('$stateChangeError', $transition$.to(), toParams, $transition$.from(), fromParams, error, $transition$.options(), $transition$);
|
202
|
+
if (!evt.defaultPrevented) {
|
203
|
+
$urlRouter.update();
|
204
|
+
}
|
205
|
+
});
|
206
|
+
}
|
207
|
+
}
|
208
|
+
stateNotFoundHandler.$inject = ['$to$', '$from$', '$state', '$rootScope', '$urlRouter'];
|
209
|
+
function stateNotFoundHandler($to$, $from$, injector) {
|
210
|
+
var $state = injector.get('$state');
|
211
|
+
var $rootScope = injector.get('$rootScope');
|
212
|
+
var $urlRouter = injector.get('$urlRouter');
|
213
|
+
var redirect = { to: $to$.identifier(), toParams: $to$.params(), options: $to$.options() };
|
214
|
+
var e = $rootScope.$broadcast('$stateNotFound', redirect, $from$.state(), $from$.params());
|
215
|
+
if (e.defaultPrevented || e.retry)
|
216
|
+
$urlRouter.update();
|
217
|
+
function redirectFn() {
|
218
|
+
return $state.target(redirect.to, redirect.toParams, redirect.options);
|
219
|
+
}
|
220
|
+
if (e.defaultPrevented) {
|
221
|
+
return false;
|
222
|
+
}
|
223
|
+
else if (e.retry || !!$state.get(redirect.to)) {
|
224
|
+
return e.retry && isFunction(e.retry.then) ? e.retry.then(redirectFn) : redirectFn();
|
225
|
+
}
|
226
|
+
}
|
227
|
+
$StateEventsProvider.$inject = ['$stateProvider'];
|
228
|
+
function $StateEventsProvider($stateProvider) {
|
229
|
+
$StateEventsProvider.prototype.instance = this;
|
230
|
+
var runtime = false;
|
231
|
+
var allEvents = ['$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError'];
|
232
|
+
var enabledStateEvents = allEvents.map(function (e) { return [e, true]; }).reduce(applyPairs, {});
|
233
|
+
function assertNotRuntime() {
|
234
|
+
if (runtime)
|
235
|
+
throw new Error("Cannot enable events at runtime (use $stateEventsProvider");
|
236
|
+
}
|
237
|
+
/**
|
238
|
+
* Enables the deprecated UI-Router 0.2.x State Events
|
239
|
+
* [ '$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError' ]
|
240
|
+
*/
|
241
|
+
this.enable = function () {
|
242
|
+
var events = [];
|
243
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
244
|
+
events[_i] = arguments[_i];
|
245
|
+
}
|
246
|
+
assertNotRuntime();
|
247
|
+
if (!events || !events.length)
|
248
|
+
events = allEvents;
|
249
|
+
events.forEach(function (event) { return enabledStateEvents[event] = true; });
|
250
|
+
};
|
251
|
+
/**
|
252
|
+
* Disables the deprecated UI-Router 0.2.x State Events
|
253
|
+
* [ '$stateChangeStart', '$stateNotFound', '$stateChangeSuccess', '$stateChangeError' ]
|
254
|
+
*/
|
255
|
+
this.disable = function () {
|
256
|
+
var events = [];
|
257
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
258
|
+
events[_i] = arguments[_i];
|
259
|
+
}
|
260
|
+
assertNotRuntime();
|
261
|
+
if (!events || !events.length)
|
262
|
+
events = allEvents;
|
263
|
+
events.forEach(function (event) { return delete enabledStateEvents[event]; });
|
264
|
+
};
|
265
|
+
this.enabled = function () { return enabledStateEvents; };
|
266
|
+
this.$get = $get;
|
267
|
+
$get.$inject = ['$transitions'];
|
268
|
+
function $get($transitions) {
|
269
|
+
runtime = true;
|
270
|
+
if (enabledStateEvents["$stateNotFound"])
|
271
|
+
$stateProvider.onInvalid(stateNotFoundHandler);
|
272
|
+
if (enabledStateEvents.$stateChangeStart)
|
273
|
+
$transitions.onBefore({}, stateChangeStartHandler, { priority: 1000 });
|
274
|
+
return {
|
275
|
+
provider: $StateEventsProvider.prototype.instance
|
276
|
+
};
|
277
|
+
}
|
278
|
+
}
|
279
|
+
ng.module('ui.router.state.events', ['ui.router.state'])
|
280
|
+
.provider("$stateEvents", $StateEventsProvider)
|
281
|
+
.run(['$stateEvents', function ($stateEvents) {
|
282
|
+
}]);
|
283
|
+
})();
|
284
|
+
|
285
|
+
exports.$stateChangeStart = $stateChangeStart;
|
286
|
+
exports.$stateChangeCancel = $stateChangeCancel;
|
287
|
+
exports.$stateChangeSuccess = $stateChangeSuccess;
|
288
|
+
exports.$stateChangeError = $stateChangeError;
|
289
|
+
exports.$stateNotFound = $stateNotFound;
|
290
|
+
|
291
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
292
|
+
|
293
|
+
})));
|
294
|
+
//# sourceMappingURL=stateEvents.js.map
|