kms 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|