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
@@ -1,5 +1,38 @@
|
|
1
1
|
Changelog
|
2
2
|
==========
|
3
|
+
## 0.9.0
|
4
|
+
- resolved issue with parentSelector when parent has no children
|
5
|
+
([#244](https://github.com/chieffancypants/angular-loading-bar/pull/244))
|
6
|
+
([#251](https://github.com/chieffancypants/angular-loading-bar/issues/251))
|
7
|
+
([#239](https://github.com/chieffancypants/angular-loading-bar/issues/239))
|
8
|
+
([#179](https://github.com/chieffancypants/angular-loading-bar/issues/179))
|
9
|
+
- added style property to package.json
|
10
|
+
([#271](https://github.com/chieffancypants/angular-loading-bar/pull/271))
|
11
|
+
([#231](https://github.com/chieffancypants/angular-loading-bar/pull/231))
|
12
|
+
- Removed duplicated property declaration in CSS
|
13
|
+
([#226](https://github.com/chieffancypants/angular-loading-bar/pull/226))
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## 0.8.0
|
18
|
+
- auto incrementing is now configurable
|
19
|
+
([#209](https://github.com/chieffancypants/angular-loading-bar/pull/209))
|
20
|
+
- removed `version` from bower.json
|
21
|
+
([#207](https://github.com/chieffancypants/angular-loading-bar/pull/207))
|
22
|
+
- added support for webpack and browserify
|
23
|
+
([#200](https://github.com/chieffancypants/angular-loading-bar/pull/200))
|
24
|
+
- spinner border radius 10px -> 50%
|
25
|
+
([#184](https://github.com/chieffancypants/angular-loading-bar/issues/184))
|
26
|
+
|
27
|
+
|
28
|
+
## 0.7.1
|
29
|
+
- Merge correct PR for broken interceptor detection ([#133](https://github.com/chieffancypants/angular-loading-bar/pull/133), [#50](https://github.com/chieffancypants/angular-loading-bar/pull/50))
|
30
|
+
|
31
|
+
## 0.7.0
|
32
|
+
- Changes for animate.enter compatibility for 1.2 and 1.3 ([#170](https://github.com/chieffancypants/angular-loading-bar/pull/170))
|
33
|
+
- Detect errors with other interceptors ([#133](https://github.com/chieffancypants/angular-loading-bar/pull/133), [#50](https://github.com/chieffancypants/angular-loading-bar/pull/50))
|
34
|
+
- Provide more detail on response/responseError events ([#128](https://github.com/chieffancypants/angular-loading-bar/pull/128))
|
35
|
+
- Change angular dependency in bower ([#126](https://github.com/chieffancypants/angular-loading-bar/issues/126))
|
3
36
|
|
4
37
|
## 0.6.0
|
5
38
|
- Customize progress bar template: ([#111](https://github.com/chieffancypants/angular-loading-bar/pull/111))
|
@@ -0,0 +1,17 @@
|
|
1
|
+
### Submitting a PR
|
2
|
+
Excellent! You've chosen to help advance the project by either fixing a bug, or implementing a new feature. Before you put forth any work on a PR, please follow these steps:
|
3
|
+
|
4
|
+
1. Ensure a similar PR has not already been opened or closed.
|
5
|
+
1. Clearly define the intent of the PR. The more detail, the more likelihood of it getting merged.
|
6
|
+
1. Is this a feature that would benefit the **majority** of users? This is a small library, and it intends to stay that way. If you do not believe most users of the project will benefit from your work, it should probably be added in your own application.
|
7
|
+
1. Be sure to include test cases that cover all newly introduced code. This part is essential, as any PRs without tests will be closed.
|
8
|
+
1. Link any [issues](https://github.com/chieffancypants/angular-loading-bar/issues) that are addressed by the PR.
|
9
|
+
|
10
|
+
### Submitting a bug report
|
11
|
+
If you believe you've found a bug in the source code, and are unable to fix it yourself (by submitting a PR) please follow these steps:
|
12
|
+
|
13
|
+
1. Ensure the bug has not already been reported by searching the [issues](https://github.com/chieffancypants/angular-loading-bar/issues)
|
14
|
+
1. Submit a reduced test case that clearly demonstrates the bug. This means submitting a plunker or jsfiddle with the bare minimum of code necessary to reproduce the bug. Without this, your issue may be closed as invalid.
|
15
|
+
1. Include any relevant browser information
|
16
|
+
1. If you're unable to fix this bug yourself, but can point to why it is occuring, please send that information along (line# or commit)
|
17
|
+
|
@@ -51,6 +51,14 @@ module.exports = function(grunt) {
|
|
51
51
|
dir: 'coverage/'
|
52
52
|
}
|
53
53
|
},
|
54
|
+
unit14: {
|
55
|
+
configFile: 'test/karma-angular-1.4.conf.js',
|
56
|
+
singleRun: true,
|
57
|
+
coverageReporter: {
|
58
|
+
type: 'text',
|
59
|
+
dir: 'coverage/'
|
60
|
+
}
|
61
|
+
},
|
54
62
|
watch: {
|
55
63
|
configFile: 'test/karma-angular-1.2.conf.js',
|
56
64
|
singleRun: false,
|
@@ -87,7 +95,7 @@ module.exports = function(grunt) {
|
|
87
95
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
88
96
|
grunt.loadNpmTasks('grunt-karma');
|
89
97
|
|
90
|
-
grunt.registerTask('default', ['jshint', 'karma:unit', 'karma:unit13', 'uglify', 'cssmin', 'concat:build']);
|
98
|
+
grunt.registerTask('default', ['jshint', 'karma:unit', 'karma:unit13', 'karma:unit14', 'uglify', 'cssmin', 'concat:build']);
|
91
99
|
grunt.registerTask('test', ['karma:watch']);
|
92
100
|
grunt.registerTask('build', ['default']);
|
93
101
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#### Summary:
|
2
|
+
|
3
|
+
Provide a general description of the code changes in your pull
|
4
|
+
request. If bugs were fixed, please document the changes and why
|
5
|
+
they were introduced.
|
6
|
+
|
7
|
+
Please ensure that your PR contains test cases that cover all new
|
8
|
+
code and any changes to existing code. Without tests, your PR is
|
9
|
+
likely to be closed without merging.
|
10
|
+
|
11
|
+
#### Related issues:
|
12
|
+
Please review the [issues](https://github.com/chieffancypants/angular-loading-bar/issues)
|
13
|
+
page, and link any issues that are addressed or related to this PR.
|
@@ -18,7 +18,13 @@ This is mostly cool because you simply include it in your app, and it works. Th
|
|
18
18
|
angular.module('myApp', ['angular-loading-bar', 'ngAnimate'])
|
19
19
|
```
|
20
20
|
|
21
|
-
2. include the supplied CSS file (or create your own).
|
21
|
+
2. include the supplied JS and CSS file (or create your own CSS to override defaults).
|
22
|
+
|
23
|
+
```html
|
24
|
+
<link rel='stylesheet' href='build/loading-bar.min.css' type='text/css' media='all' />
|
25
|
+
<script type='text/javascript' src='build/loading-bar.min.js'></script>
|
26
|
+
```
|
27
|
+
|
22
28
|
3. That's it -- you're done!
|
23
29
|
|
24
30
|
#### via bower:
|
@@ -30,9 +36,14 @@ $ bower install angular-loading-bar
|
|
30
36
|
$ npm install angular-loading-bar
|
31
37
|
```
|
32
38
|
|
39
|
+
#### via CDN:
|
40
|
+
```html
|
41
|
+
<link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.css' type='text/css' media='all' />
|
42
|
+
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.js'></script>
|
43
|
+
```
|
33
44
|
|
34
45
|
## Why I created this
|
35
|
-
There are a couple projects similar to this out there, but none were ideal for me. All implementations I've seen require that you maintain state on behalf of the loading bar. In other words, you're setting the value of the loading/progress bar manually from potentially many different locations. This becomes complicated when you have a very large application with several services all making
|
46
|
+
There are a couple projects similar to this out there, but none were ideal for me. All implementations I've seen require that you maintain state on behalf of the loading bar. In other words, you're setting the value of the loading/progress bar manually from potentially many different locations. This becomes complicated when you have a very large application with several services all making independent XHR requests. It becomes even more complicated if you want these services to be loosly coupled.
|
36
47
|
|
37
48
|
Additionally, Angular was created as a highly testable framework, so it pains me to see Angular modules without tests. That is not the case here as this loading bar ships with 100% code coverage.
|
38
49
|
|
@@ -68,6 +79,16 @@ angular.module('myApp', ['angular-loading-bar'])
|
|
68
79
|
}])
|
69
80
|
```
|
70
81
|
|
82
|
+
#### Customize the template:
|
83
|
+
If you'd like to replace the default HTML template you can configure it by providing inline HTML as a string:
|
84
|
+
|
85
|
+
```js
|
86
|
+
angular.module('myApp', ['angular-loading-bar'])
|
87
|
+
.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
|
88
|
+
cfpLoadingBarProvider.spinnerTemplate = '<div><span class="fa fa-spinner">Loading...</div>';
|
89
|
+
}])
|
90
|
+
```
|
91
|
+
|
71
92
|
#### Latency Threshold
|
72
93
|
By default, the loading bar will only display after it has been waiting for a response for over 100ms. This helps keep things feeling snappy, and avoids the annoyingness of showing a loading bar every few seconds on really chatty applications. This threshold is totally configurable:
|
73
94
|
|
@@ -82,11 +103,17 @@ angular.module('myApp', ['angular-loading-bar'])
|
|
82
103
|
The loading bar can also be forced to ignore certain requests, for example, when long-polling or periodically sending debugging information back to the server.
|
83
104
|
|
84
105
|
```js
|
85
|
-
// ignore particular $http
|
106
|
+
// ignore a particular $http GET:
|
86
107
|
$http.get('/status', {
|
87
108
|
ignoreLoadingBar: true
|
88
109
|
});
|
89
110
|
|
111
|
+
// ignore a particular $http POST. Note: POST and GET have different
|
112
|
+
// method signatures:
|
113
|
+
$http.post('/save', data, {
|
114
|
+
ignoreLoadingBar: true
|
115
|
+
});
|
116
|
+
|
90
117
|
```
|
91
118
|
|
92
119
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
{
|
2
2
|
"name": "angular-loading-bar",
|
3
|
-
"version": "0.6.0",
|
4
3
|
"main": [
|
5
4
|
"build/loading-bar.js",
|
6
5
|
"build/loading-bar.css"
|
@@ -12,15 +11,21 @@
|
|
12
11
|
"test",
|
13
12
|
"example"
|
14
13
|
],
|
14
|
+
"dependencies": {
|
15
|
+
"angular": "^1.2.9"
|
16
|
+
},
|
15
17
|
"devDependencies": {
|
16
|
-
"angular": "
|
18
|
+
"angular": "~1.2.23",
|
17
19
|
"angular-1.3": "angular#1.3",
|
18
|
-
"angular-
|
20
|
+
"angular-1.4": "angular#1.4",
|
21
|
+
"angular-mocks": "~1.2.9",
|
19
22
|
"angular-mocks-1.3": "angular-mocks#1.3",
|
20
|
-
"angular-
|
21
|
-
"angular-animate
|
23
|
+
"angular-mocks-1.4": "angular-mocks#1.4",
|
24
|
+
"angular-animate": "~1.2.9",
|
25
|
+
"angular-animate-1.3": "angular-animate#1.3",
|
26
|
+
"angular-animate-1.4": "angular-animate#1.4"
|
22
27
|
},
|
23
28
|
"resolutions": {
|
24
|
-
"angular": "1.2.23"
|
29
|
+
"angular": "~1.2.23"
|
25
30
|
}
|
26
31
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* angular-loading-bar v0.
|
2
|
+
* angular-loading-bar v0.9.0
|
3
3
|
* https://chieffancypants.github.io/angular-loading-bar
|
4
|
-
* Copyright (c)
|
4
|
+
* Copyright (c) 2016 Wes Cruver
|
5
5
|
* License: MIT
|
6
6
|
*/
|
7
7
|
|
@@ -79,7 +79,7 @@
|
|
79
79
|
border: solid 2px transparent;
|
80
80
|
border-top-color: #29d;
|
81
81
|
border-left-color: #29d;
|
82
|
-
border-radius:
|
82
|
+
border-radius: 50%;
|
83
83
|
|
84
84
|
-webkit-animation: loading-bar-spinner 400ms linear infinite;
|
85
85
|
-moz-animation: loading-bar-spinner 400ms linear infinite;
|
@@ -105,6 +105,6 @@
|
|
105
105
|
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
106
106
|
}
|
107
107
|
@keyframes loading-bar-spinner {
|
108
|
-
0% { transform: rotate(0deg);
|
109
|
-
100% { transform: rotate(360deg);
|
108
|
+
0% { transform: rotate(0deg); }
|
109
|
+
100% { transform: rotate(360deg); }
|
110
110
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* angular-loading-bar v0.
|
2
|
+
* angular-loading-bar v0.9.0
|
3
3
|
* https://chieffancypants.github.io/angular-loading-bar
|
4
|
-
* Copyright (c)
|
4
|
+
* Copyright (c) 2016 Wes Cruver
|
5
5
|
* License: MIT
|
6
6
|
*/
|
7
7
|
/*
|
@@ -32,7 +32,7 @@ angular.module('chieffancypants.loadingBar', ['cfp.loadingBarInterceptor']);
|
|
32
32
|
angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
|
33
33
|
.config(['$httpProvider', function ($httpProvider) {
|
34
34
|
|
35
|
-
var interceptor = ['$q', '$cacheFactory', '$timeout', '$rootScope', 'cfpLoadingBar', function ($q, $cacheFactory, $timeout, $rootScope, cfpLoadingBar) {
|
35
|
+
var interceptor = ['$q', '$cacheFactory', '$timeout', '$rootScope', '$log', 'cfpLoadingBar', function ($q, $cacheFactory, $timeout, $rootScope, $log, cfpLoadingBar) {
|
36
36
|
|
37
37
|
/**
|
38
38
|
* The total number of requests made
|
@@ -113,9 +113,14 @@ angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
|
|
113
113
|
},
|
114
114
|
|
115
115
|
'response': function(response) {
|
116
|
+
if (!response || !response.config) {
|
117
|
+
$log.error('Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
|
118
|
+
return response;
|
119
|
+
}
|
120
|
+
|
116
121
|
if (!response.config.ignoreLoadingBar && !isCached(response.config)) {
|
117
122
|
reqsCompleted++;
|
118
|
-
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: response.config.url});
|
123
|
+
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: response.config.url, result: response});
|
119
124
|
if (reqsCompleted >= reqsTotal) {
|
120
125
|
setComplete();
|
121
126
|
} else {
|
@@ -126,9 +131,14 @@ angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
|
|
126
131
|
},
|
127
132
|
|
128
133
|
'responseError': function(rejection) {
|
134
|
+
if (!rejection || !rejection.config) {
|
135
|
+
$log.error('Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
|
136
|
+
return $q.reject(rejection);
|
137
|
+
}
|
138
|
+
|
129
139
|
if (!rejection.config.ignoreLoadingBar && !isCached(rejection.config)) {
|
130
140
|
reqsCompleted++;
|
131
|
-
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: rejection.config.url});
|
141
|
+
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: rejection.config.url, result: rejection});
|
132
142
|
if (reqsCompleted >= reqsTotal) {
|
133
143
|
setComplete();
|
134
144
|
} else {
|
@@ -156,6 +166,7 @@ angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
|
|
156
166
|
angular.module('cfp.loadingBar', [])
|
157
167
|
.provider('cfpLoadingBar', function() {
|
158
168
|
|
169
|
+
this.autoIncrement = true;
|
159
170
|
this.includeSpinner = true;
|
160
171
|
this.includeBar = true;
|
161
172
|
this.latencyThreshold = 100;
|
@@ -176,6 +187,7 @@ angular.module('cfp.loadingBar', [])
|
|
176
187
|
started = false,
|
177
188
|
status = 0;
|
178
189
|
|
190
|
+
var autoIncrement = this.autoIncrement;
|
179
191
|
var includeSpinner = this.includeSpinner;
|
180
192
|
var includeBar = this.includeBar;
|
181
193
|
var startSize = this.startSize;
|
@@ -188,7 +200,6 @@ angular.module('cfp.loadingBar', [])
|
|
188
200
|
$animate = $injector.get('$animate');
|
189
201
|
}
|
190
202
|
|
191
|
-
var $parent = $document.find($parentSelector).eq(0);
|
192
203
|
$timeout.cancel(completeTimeout);
|
193
204
|
|
194
205
|
// do not continually broadcast the started event:
|
@@ -196,15 +207,28 @@ angular.module('cfp.loadingBar', [])
|
|
196
207
|
return;
|
197
208
|
}
|
198
209
|
|
210
|
+
var document = $document[0];
|
211
|
+
var parent = document.querySelector ?
|
212
|
+
document.querySelector($parentSelector)
|
213
|
+
: $document.find($parentSelector)[0]
|
214
|
+
;
|
215
|
+
|
216
|
+
if (! parent) {
|
217
|
+
parent = document.getElementsByTagName('body')[0];
|
218
|
+
}
|
219
|
+
|
220
|
+
var $parent = angular.element(parent);
|
221
|
+
var $after = parent.lastChild && angular.element(parent.lastChild);
|
222
|
+
|
199
223
|
$rootScope.$broadcast('cfpLoadingBar:started');
|
200
224
|
started = true;
|
201
225
|
|
202
226
|
if (includeBar) {
|
203
|
-
$animate.enter(loadingBarContainer, $parent);
|
227
|
+
$animate.enter(loadingBarContainer, $parent, $after);
|
204
228
|
}
|
205
229
|
|
206
230
|
if (includeSpinner) {
|
207
|
-
$animate.enter(spinner, $parent);
|
231
|
+
$animate.enter(spinner, $parent, loadingBarContainer);
|
208
232
|
}
|
209
233
|
|
210
234
|
_set(startSize);
|
@@ -226,10 +250,12 @@ angular.module('cfp.loadingBar', [])
|
|
226
250
|
// increment loadingbar to give the illusion that there is always
|
227
251
|
// progress but make sure to cancel the previous timeouts so we don't
|
228
252
|
// have multiple incs running at the same time.
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
253
|
+
if (autoIncrement) {
|
254
|
+
$timeout.cancel(incTimeout);
|
255
|
+
incTimeout = $timeout(function() {
|
256
|
+
_inc();
|
257
|
+
}, 250);
|
258
|
+
}
|
233
259
|
}
|
234
260
|
|
235
261
|
/**
|
@@ -302,6 +328,7 @@ angular.module('cfp.loadingBar', [])
|
|
302
328
|
status : _status,
|
303
329
|
inc : _inc,
|
304
330
|
complete : _complete,
|
331
|
+
autoIncrement : this.autoIncrement,
|
305
332
|
includeSpinner : this.includeSpinner,
|
306
333
|
latencyThreshold : this.latencyThreshold,
|
307
334
|
parentSelector : this.parentSelector,
|
@@ -1,8 +1 @@
|
|
1
|
-
|
2
|
-
* angular-loading-bar v0.6.0
|
3
|
-
* https://chieffancypants.github.io/angular-loading-bar
|
4
|
-
* Copyright (c) 2014 Wes Cruver
|
5
|
-
* License: MIT
|
6
|
-
*/
|
7
|
-
|
8
|
-
#loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active,#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active{opacity:0}#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave,#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:10px;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}}
|
1
|
+
#loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active,#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active{opacity:0}#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave,#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* angular-loading-bar v0.
|
2
|
+
* angular-loading-bar v0.9.0
|
3
3
|
* https://chieffancypants.github.io/angular-loading-bar
|
4
|
-
* Copyright (c)
|
4
|
+
* Copyright (c) 2016 Wes Cruver
|
5
5
|
* License: MIT
|
6
6
|
*/
|
7
|
-
!function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function(a){var b=["$q","$cacheFactory","$timeout","$rootScope","cfpLoadingBar",function(b,c,d,e,f){function
|
7
|
+
!function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function(a){var b=["$q","$cacheFactory","$timeout","$rootScope","$log","cfpLoadingBar",function(b,c,d,e,f,g){function h(){d.cancel(j),g.complete(),l=0,k=0}function i(b){var d,e=c.get("$http"),f=a.defaults;!b.cache&&!f.cache||b.cache===!1||"GET"!==b.method&&"JSONP"!==b.method||(d=angular.isObject(b.cache)?b.cache:angular.isObject(f.cache)?f.cache:e);var g=void 0!==d?void 0!==d.get(b.url):!1;return void 0!==b.cached&&g!==b.cached?b.cached:(b.cached=g,g)}var j,k=0,l=0,m=g.latencyThreshold;return{request:function(a){return a.ignoreLoadingBar||i(a)||(e.$broadcast("cfpLoadingBar:loading",{url:a.url}),0===k&&(j=d(function(){g.start()},m)),k++,g.set(l/k)),a},response:function(a){return a&&a.config?(a.config.ignoreLoadingBar||i(a.config)||(l++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url,result:a}),l>=k?h():g.set(l/k)),a):(f.error("Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),a)},responseError:function(a){return a&&a.config?(a.config.ignoreLoadingBar||i(a.config)||(l++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url,result:a}),l>=k?h():g.set(l/k)),b.reject(a)):(f.error("Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),b.reject(a))}}}];a.interceptors.push(b)}]),angular.module("cfp.loadingBar",[]).provider("cfpLoadingBar",function(){this.autoIncrement=!0,this.includeSpinner=!0,this.includeBar=!0,this.latencyThreshold=100,this.startSize=.02,this.parentSelector="body",this.spinnerTemplate='<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>',this.loadingBarTemplate='<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>',this.$get=["$injector","$document","$timeout","$rootScope",function(a,b,c,d){function e(){if(k||(k=a.get("$animate")),c.cancel(m),!r){var e=b[0],g=e.querySelector?e.querySelector(n):b.find(n)[0];g||(g=e.getElementsByTagName("body")[0]);var h=angular.element(g),i=g.lastChild&&angular.element(g.lastChild);d.$broadcast("cfpLoadingBar:started"),r=!0,v&&k.enter(o,h,i),u&&k.enter(q,h,o),f(w)}}function f(a){if(r){var b=100*a+"%";p.css("width",b),s=a,t&&(c.cancel(l),l=c(function(){g()},250))}}function g(){if(!(h()>=1)){var a=0,b=h();a=b>=0&&.25>b?(3*Math.random()+3)/100:b>=.25&&.65>b?3*Math.random()/100:b>=.65&&.9>b?2*Math.random()/100:b>=.9&&.99>b?.005:0;var c=h()+a;f(c)}}function h(){return s}function i(){s=0,r=!1}function j(){k||(k=a.get("$animate")),d.$broadcast("cfpLoadingBar:completed"),f(1),c.cancel(m),m=c(function(){var a=k.leave(o,i);a&&a.then&&a.then(i),k.leave(q)},500)}var k,l,m,n=this.parentSelector,o=angular.element(this.loadingBarTemplate),p=o.find("div").eq(0),q=angular.element(this.spinnerTemplate),r=!1,s=0,t=this.autoIncrement,u=this.includeSpinner,v=this.includeBar,w=this.startSize;return{start:e,set:f,status:h,inc:g,complete:j,autoIncrement:this.autoIncrement,includeSpinner:this.includeSpinner,latencyThreshold:this.latencyThreshold,parentSelector:this.parentSelector,startSize:this.startSize}}]})}();
|
@@ -1,8 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "angular-loading-bar",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.9.0",
|
4
4
|
"description": "An automatic loading bar for AngularJS",
|
5
|
-
"main": "
|
5
|
+
"main": "index.js",
|
6
|
+
"style": "build/loading-bar.css",
|
6
7
|
"directories": {
|
7
8
|
"example": "example",
|
8
9
|
"test": "test"
|
@@ -26,20 +27,16 @@
|
|
26
27
|
},
|
27
28
|
"homepage": "https://chieffancypants.github.io/angular-loading-bar",
|
28
29
|
"devDependencies": {
|
29
|
-
"karma-
|
30
|
-
"karma-
|
31
|
-
"karma-
|
32
|
-
"karma
|
33
|
-
"karma-
|
34
|
-
"karma-coffee-preprocessor": "~0.1.0",
|
35
|
-
"karma-phantomjs-launcher": "~0.1.0",
|
36
|
-
"karma": "~0.10.2",
|
37
|
-
"karma-coverage": "~0.1.0",
|
30
|
+
"karma-jasmine": "^0.1.3",
|
31
|
+
"karma-coffee-preprocessor": "^0.2.0",
|
32
|
+
"karma-phantomjs-launcher": "^0.1.0",
|
33
|
+
"karma": "~0.12.0",
|
34
|
+
"karma-coverage": "^0.1.0",
|
38
35
|
"grunt": "~0.4.1",
|
39
36
|
"grunt-contrib-jshint": "~0.6.4",
|
40
|
-
"grunt-contrib-uglify": "
|
41
|
-
"grunt-contrib-cssmin": "~0.
|
42
|
-
"grunt-karma": "~0.
|
43
|
-
"grunt-contrib-concat": "
|
37
|
+
"grunt-contrib-uglify": "^0.9.1",
|
38
|
+
"grunt-contrib-cssmin": "~0.12.0",
|
39
|
+
"grunt-karma": "~0.11.0",
|
40
|
+
"grunt-contrib-concat": "^0.5.0"
|
44
41
|
}
|
45
42
|
}
|
@@ -73,7 +73,7 @@
|
|
73
73
|
border: solid 2px transparent;
|
74
74
|
border-top-color: #29d;
|
75
75
|
border-left-color: #29d;
|
76
|
-
border-radius:
|
76
|
+
border-radius: 50%;
|
77
77
|
|
78
78
|
-webkit-animation: loading-bar-spinner 400ms linear infinite;
|
79
79
|
-moz-animation: loading-bar-spinner 400ms linear infinite;
|
@@ -99,6 +99,6 @@
|
|
99
99
|
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
|
100
100
|
}
|
101
101
|
@keyframes loading-bar-spinner {
|
102
|
-
0% { transform: rotate(0deg);
|
103
|
-
100% { transform: rotate(360deg);
|
102
|
+
0% { transform: rotate(0deg); }
|
103
|
+
100% { transform: rotate(360deg); }
|
104
104
|
}
|