angular-gem 1.3.2 → 1.3.4
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 +8 -8
- data/lib/angular-gem/version.rb +1 -1
- data/vendor/assets/javascripts/1.3.4/angular-animate.js +2136 -0
- data/vendor/assets/javascripts/1.3.4/angular-aria.js +321 -0
- data/vendor/assets/javascripts/1.3.4/angular-cookies.js +206 -0
- data/vendor/assets/javascripts/1.3.4/angular-loader.js +405 -0
- data/vendor/assets/javascripts/1.3.4/angular-messages.js +400 -0
- data/vendor/assets/javascripts/1.3.4/angular-mocks.js +2380 -0
- data/vendor/assets/javascripts/1.3.4/angular-resource.js +667 -0
- data/vendor/assets/javascripts/1.3.4/angular-route.js +996 -0
- data/vendor/assets/javascripts/1.3.4/angular-sanitize.js +678 -0
- data/vendor/assets/javascripts/1.3.4/angular-scenario.js +37269 -0
- data/vendor/assets/javascripts/1.3.4/angular-touch.js +622 -0
- data/vendor/assets/javascripts/1.3.4/angular.js +25915 -0
- data/vendor/assets/javascripts/angular-animate.js +15 -15
- data/vendor/assets/javascripts/angular-aria.js +83 -23
- data/vendor/assets/javascripts/angular-cookies.js +1 -1
- data/vendor/assets/javascripts/angular-loader.js +6 -23
- data/vendor/assets/javascripts/angular-messages.js +1 -1
- data/vendor/assets/javascripts/angular-mocks.js +21 -17
- data/vendor/assets/javascripts/angular-resource.js +1 -1
- data/vendor/assets/javascripts/angular-route.js +21 -7
- data/vendor/assets/javascripts/angular-sanitize.js +26 -26
- data/vendor/assets/javascripts/angular-scenario.js +646 -453
- data/vendor/assets/javascripts/angular-touch.js +3 -3
- data/vendor/assets/javascripts/angular.js +641 -448
- metadata +14 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.4
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -245,7 +245,7 @@
|
|
245
245
|
* You then configure `$animate` to enforce this prefix:
|
246
246
|
*
|
247
247
|
* ```js
|
248
|
-
* $animateProvider.
|
248
|
+
* $animateProvider.classNameFilter(/animate-/);
|
249
249
|
* ```
|
250
250
|
* </div>
|
251
251
|
*
|
@@ -976,9 +976,9 @@ angular.module('ngAnimate', ['ng'])
|
|
976
976
|
* | 3. $animate waits for the next digest to start the animation | class="my-animation ng-animate" |
|
977
977
|
* | 4. the .ng-leave class is added to the element | class="my-animation ng-animate ng-leave" |
|
978
978
|
* | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate ng-leave" |
|
979
|
-
* | 6. $animate blocks all CSS transitions on the element to ensure the .ng-leave class styling is applied right away | class="my-animation ng-animate ng-leave
|
979
|
+
* | 6. $animate blocks all CSS transitions on the element to ensure the .ng-leave class styling is applied right away | class="my-animation ng-animate ng-leave" |
|
980
980
|
* | 7. $animate waits for a single animation frame (this performs a reflow) | class="my-animation ng-animate ng-leave" |
|
981
|
-
* | 8. $animate removes the CSS transition block placed on the element | class="my-animation ng-animate ng-leave
|
981
|
+
* | 8. $animate removes the CSS transition block placed on the element | class="my-animation ng-animate ng-leave" |
|
982
982
|
* | 9. the .ng-leave-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-leave ng-leave-active" |
|
983
983
|
* | 10. $animate waits for the animation to complete (via events and timeout) | class="my-animation ng-animate ng-leave ng-leave-active" |
|
984
984
|
* | 11. The animation ends and all generated CSS classes are removed from the element | class="my-animation" |
|
@@ -1022,9 +1022,9 @@ angular.module('ngAnimate', ['ng'])
|
|
1022
1022
|
* | 4. $animate runs the JavaScript-defined animations detected on the element | class="my-animation ng-animate" |
|
1023
1023
|
* | 5. the .ng-move class is added to the element | class="my-animation ng-animate ng-move" |
|
1024
1024
|
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate ng-move" |
|
1025
|
-
* | 7. $animate blocks all CSS transitions on the element to ensure the .ng-move class styling is applied right away | class="my-animation ng-animate ng-move
|
1025
|
+
* | 7. $animate blocks all CSS transitions on the element to ensure the .ng-move class styling is applied right away | class="my-animation ng-animate ng-move" |
|
1026
1026
|
* | 8. $animate waits for a single animation frame (this performs a reflow) | class="my-animation ng-animate ng-move" |
|
1027
|
-
* | 9. $animate removes the CSS transition block placed on the element | class="my-animation ng-animate ng-move
|
1027
|
+
* | 9. $animate removes the CSS transition block placed on the element | class="my-animation ng-animate ng-move" |
|
1028
1028
|
* | 10. the .ng-move-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-move ng-move-active" |
|
1029
1029
|
* | 11. $animate waits for the animation to complete (via events and timeout) | class="my-animation ng-animate ng-move ng-move-active" |
|
1030
1030
|
* | 12. The animation ends and all generated CSS classes are removed from the element | class="my-animation" |
|
@@ -1069,8 +1069,8 @@ angular.module('ngAnimate', ['ng'])
|
|
1069
1069
|
* | 3. the .super-add class is added to the element | class="my-animation ng-animate super-add" |
|
1070
1070
|
* | 4. $animate waits for a single animation frame (this performs a reflow) | class="my-animation ng-animate super-add" |
|
1071
1071
|
* | 5. the .super and .super-add-active classes are added (this triggers the CSS transition/animation) | class="my-animation ng-animate super super-add super-add-active" |
|
1072
|
-
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate super-add"
|
1073
|
-
* | 7. $animate waits for the animation to complete (via events and timeout) | class="my-animation super super-add super-add-active"
|
1072
|
+
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate super super-add super-add-active" |
|
1073
|
+
* | 7. $animate waits for the animation to complete (via events and timeout) | class="my-animation ng-animate super super-add super-add-active" |
|
1074
1074
|
* | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation super" |
|
1075
1075
|
* | 9. The super class is kept on the element | class="my-animation super" |
|
1076
1076
|
* | 10. The returned promise is resolved. | class="my-animation super" |
|
@@ -1103,7 +1103,7 @@ angular.module('ngAnimate', ['ng'])
|
|
1103
1103
|
* | 3. the .super-remove class is added to the element | class="my-animation super ng-animate super-remove" |
|
1104
1104
|
* | 4. $animate waits for a single animation frame (this performs a reflow) | class="my-animation super ng-animate super-remove" |
|
1105
1105
|
* | 5. the .super-remove-active classes are added and .super is removed (this triggers the CSS transition/animation) | class="my-animation ng-animate super-remove super-remove-active" |
|
1106
|
-
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation
|
1106
|
+
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate super-remove super-remove-active" |
|
1107
1107
|
* | 7. $animate waits for the animation to complete (via events and timeout) | class="my-animation ng-animate super-remove super-remove-active" |
|
1108
1108
|
* | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation" |
|
1109
1109
|
* | 9. The returned promise is resolved. | class="my-animation" |
|
@@ -1128,11 +1128,11 @@ angular.module('ngAnimate', ['ng'])
|
|
1128
1128
|
*
|
1129
1129
|
* | Animation Step | What the element class attribute looks like |
|
1130
1130
|
* |--------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
1131
|
-
* | 1. $animate.
|
1132
|
-
* | 2. $animate runs the JavaScript-defined animations detected on the element | class="my-animation
|
1133
|
-
* | 3. the .on-add and .off-remove classes are added to the element | class="my-animation ng-animate on-add off-remove off
|
1134
|
-
* | 4. $animate waits for a single animation frame (this performs a reflow) | class="my-animation ng-animate on-add off-remove off
|
1135
|
-
* | 5. the .on, .on-add-active and .off-remove-active classes are added and .off is removed (this triggers the CSS transition/animation) | class="my-animation ng-animate on on-add on-add-active off-remove off-remove-active
|
1131
|
+
* | 1. $animate.setClass(element, 'on', 'off') is called | class="my-animation off" |
|
1132
|
+
* | 2. $animate runs the JavaScript-defined animations detected on the element | class="my-animation ng-animate off" |
|
1133
|
+
* | 3. the .on-add and .off-remove classes are added to the element | class="my-animation ng-animate on-add off-remove off" |
|
1134
|
+
* | 4. $animate waits for a single animation frame (this performs a reflow) | class="my-animation ng-animate on-add off-remove off" |
|
1135
|
+
* | 5. the .on, .on-add-active and .off-remove-active classes are added and .off is removed (this triggers the CSS transition/animation) | class="my-animation ng-animate on on-add on-add-active off-remove off-remove-active" |
|
1136
1136
|
* | 6. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate on on-add on-add-active off-remove off-remove-active" |
|
1137
1137
|
* | 7. $animate waits for the animation to complete (via events and timeout) | class="my-animation ng-animate on on-add on-add-active off-remove off-remove-active" |
|
1138
1138
|
* | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation on" |
|
@@ -1889,7 +1889,7 @@ angular.module('ngAnimate', ['ng'])
|
|
1889
1889
|
//the jqLite object, so we're safe to use a single variable to house
|
1890
1890
|
//the styles since there is always only one element being animated
|
1891
1891
|
var oldStyle = node.getAttribute('style') || '';
|
1892
|
-
if (oldStyle.charAt(oldStyle.length-1) !== ';') {
|
1892
|
+
if (oldStyle.charAt(oldStyle.length - 1) !== ';') {
|
1893
1893
|
oldStyle += ';';
|
1894
1894
|
}
|
1895
1895
|
node.setAttribute('style', oldStyle + ' ' + style);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.4
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -10,33 +10,49 @@
|
|
10
10
|
* @name ngAria
|
11
11
|
* @description
|
12
12
|
*
|
13
|
-
* The `ngAria` module provides support for
|
14
|
-
*
|
15
|
-
*
|
13
|
+
* The `ngAria` module provides support for common
|
14
|
+
* [<abbr title="Accessible Rich Internet Applications">ARIA</abbr>](http://www.w3.org/TR/wai-aria/)
|
15
|
+
* attributes that convey state or semantic information about the application for users
|
16
|
+
* of assistive technologies, such as screen readers.
|
16
17
|
*
|
17
18
|
* <div doc-module-components="ngAria"></div>
|
18
19
|
*
|
19
|
-
*
|
20
|
-
* To enable the addition of the ARIA tags, just require the module into your application and the tags will
|
21
|
-
* hook into your ng-show/ng-hide, input, textarea, button, select and ng-required directives and adds the
|
22
|
-
* appropriate ARIA attributes.
|
20
|
+
* ## Usage
|
23
21
|
*
|
24
|
-
*
|
22
|
+
* For ngAria to do its magic, simply include the module as a dependency. The directives supported
|
23
|
+
* by ngAria are:
|
24
|
+
* `ngModel`, `ngDisabled`, `ngShow`, `ngHide`, `ngClick`, `ngDblClick`, and `ngMessages`.
|
25
25
|
*
|
26
|
-
*
|
27
|
-
* + aria-checked
|
28
|
-
* + aria-disabled
|
29
|
-
* + aria-required
|
30
|
-
* + aria-invalid
|
31
|
-
* + aria-multiline
|
32
|
-
* + aria-valuenow
|
33
|
-
* + aria-valuemin
|
34
|
-
* + aria-valuemax
|
35
|
-
* + tabindex
|
26
|
+
* Below is a more detailed breakdown of the attributes handled by ngAria:
|
36
27
|
*
|
37
|
-
*
|
28
|
+
* | Directive | Supported Attributes |
|
29
|
+
* |---------------------------------------------|----------------------------------------------------------------------------------------|
|
30
|
+
* | {@link ng.directive:ngModel ngModel} | aria-checked, aria-valuemin, aria-valuemax, aria-valuenow, aria-invalid, aria-required |
|
31
|
+
* | {@link ng.directive:ngDisabled ngDisabled} | aria-disabled |
|
32
|
+
* | {@link ng.directive:ngShow ngShow} | aria-hidden |
|
33
|
+
* | {@link ng.directive:ngHide ngHide} | aria-hidden |
|
34
|
+
* | {@link ng.directive:ngClick ngClick} | tabindex |
|
35
|
+
* | {@link ng.directive:ngDblclick ngDblclick} | tabindex |
|
36
|
+
* | {@link module:ngMessages ngMessages} | aria-live |
|
37
|
+
*
|
38
|
+
* Find out more information about each directive by reading the
|
39
|
+
* {@link guide/accessibility ngAria Developer Guide}.
|
40
|
+
*
|
41
|
+
* ##Example
|
42
|
+
* Using ngDisabled with ngAria:
|
43
|
+
* ```html
|
44
|
+
* <md-checkbox ng-disabled="disabled">
|
45
|
+
* ```
|
46
|
+
* Becomes:
|
47
|
+
* ```html
|
48
|
+
* <md-checkbox ng-disabled="disabled" aria-disabled="true">
|
49
|
+
* ```
|
50
|
+
*
|
51
|
+
* ##Disabling Attributes
|
52
|
+
* It's possible to disable individual attributes added by ngAria with the
|
53
|
+
* {@link ngAria.$ariaProvider#config config} method. For more details, see the
|
54
|
+
* {@link guide/accessibility Developer Guide}.
|
38
55
|
*/
|
39
|
-
|
40
56
|
/* global -ngAriaModule */
|
41
57
|
var ngAriaModule = angular.module('ngAria', ['ng']).
|
42
58
|
provider('$aria', $AriaProvider);
|
@@ -47,10 +63,20 @@ var ngAriaModule = angular.module('ngAria', ['ng']).
|
|
47
63
|
*
|
48
64
|
* @description
|
49
65
|
*
|
50
|
-
* Used for configuring ARIA attributes.
|
66
|
+
* Used for configuring the ARIA attributes injected and managed by ngAria.
|
67
|
+
*
|
68
|
+
* ```js
|
69
|
+
* angular.module('myApp', ['ngAria'], function config($ariaProvider) {
|
70
|
+
* $ariaProvider.config({
|
71
|
+
* ariaValue: true,
|
72
|
+
* tabindex: false
|
73
|
+
* });
|
74
|
+
* });
|
75
|
+
*```
|
51
76
|
*
|
52
77
|
* ## Dependencies
|
53
78
|
* Requires the {@link ngAria} module to be installed.
|
79
|
+
*
|
54
80
|
*/
|
55
81
|
function $AriaProvider() {
|
56
82
|
var config = {
|
@@ -113,7 +139,41 @@ function $AriaProvider() {
|
|
113
139
|
*
|
114
140
|
* @description
|
115
141
|
*
|
116
|
-
*
|
142
|
+
* The $aria service contains helper methods for applying common
|
143
|
+
* [ARIA](http://www.w3.org/TR/wai-aria/) attributes to HTML directives.
|
144
|
+
*
|
145
|
+
* ngAria injects common accessibility attributes that tell assistive technologies when HTML
|
146
|
+
* elements are enabled, selected, hidden, and more. To see how this is performed with ngAria,
|
147
|
+
* let's review a code snippet from ngAria itself:
|
148
|
+
*
|
149
|
+
*```js
|
150
|
+
* ngAriaModule.directive('ngDisabled', ['$aria', function($aria) {
|
151
|
+
* return $aria.$$watchExpr('ngDisabled', 'aria-disabled');
|
152
|
+
* }])
|
153
|
+
*```
|
154
|
+
* Shown above, the ngAria module creates a directive with the same signature as the
|
155
|
+
* traditional `ng-disabled` directive. But this ngAria version is dedicated to
|
156
|
+
* solely managing accessibility attributes. The internal `$aria` service is used to watch the
|
157
|
+
* boolean attribute `ngDisabled`. If it has not been explicitly set by the developer,
|
158
|
+
* `aria-disabled` is injected as an attribute with its value synchronized to the value in
|
159
|
+
* `ngDisabled`.
|
160
|
+
*
|
161
|
+
* Because ngAria hooks into the `ng-disabled` directive, developers do not have to do
|
162
|
+
* anything to enable this feature. The `aria-disabled` attribute is automatically managed
|
163
|
+
* simply as a silent side-effect of using `ng-disabled` with the ngAria module.
|
164
|
+
*
|
165
|
+
* The full list of directives that interface with ngAria:
|
166
|
+
* * **ngModel**
|
167
|
+
* * **ngShow**
|
168
|
+
* * **ngHide**
|
169
|
+
* * **ngClick**
|
170
|
+
* * **ngDblclick**
|
171
|
+
* * **ngMessages**
|
172
|
+
* * **ngDisabled**
|
173
|
+
*
|
174
|
+
* Read the {@link guide/accessibility ngAria Developer Guide} for a thorough explanation of each
|
175
|
+
* directive.
|
176
|
+
*
|
117
177
|
*
|
118
178
|
* ## Dependencies
|
119
179
|
* Requires the {@link ngAria} module to be installed.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.4
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -43,40 +43,23 @@ function minErr(module, ErrorConstructor) {
|
|
43
43
|
prefix = '[' + (module ? module + ':' : '') + code + '] ',
|
44
44
|
template = arguments[1],
|
45
45
|
templateArgs = arguments,
|
46
|
-
|
47
|
-
if (typeof obj === 'function') {
|
48
|
-
return obj.toString().replace(/ \{[\s\S]*$/, '');
|
49
|
-
} else if (typeof obj === 'undefined') {
|
50
|
-
return 'undefined';
|
51
|
-
} else if (typeof obj !== 'string') {
|
52
|
-
return JSON.stringify(obj);
|
53
|
-
}
|
54
|
-
return obj;
|
55
|
-
},
|
46
|
+
|
56
47
|
message, i;
|
57
48
|
|
58
49
|
message = prefix + template.replace(/\{\d+\}/g, function(match) {
|
59
50
|
var index = +match.slice(1, -1), arg;
|
60
51
|
|
61
52
|
if (index + 2 < templateArgs.length) {
|
62
|
-
|
63
|
-
if (typeof arg === 'function') {
|
64
|
-
return arg.toString().replace(/ ?\{[\s\S]*$/, '');
|
65
|
-
} else if (typeof arg === 'undefined') {
|
66
|
-
return 'undefined';
|
67
|
-
} else if (typeof arg !== 'string') {
|
68
|
-
return toJson(arg);
|
69
|
-
}
|
70
|
-
return arg;
|
53
|
+
return toDebugString(templateArgs[index + 2]);
|
71
54
|
}
|
72
55
|
return match;
|
73
56
|
});
|
74
57
|
|
75
|
-
message = message + '\nhttp://errors.angularjs.org/1.3.
|
58
|
+
message = message + '\nhttp://errors.angularjs.org/1.3.4/' +
|
76
59
|
(module ? module + '/' : '') + code;
|
77
60
|
for (i = 2; i < arguments.length; i++) {
|
78
|
-
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
|
79
|
-
encodeURIComponent(
|
61
|
+
message = message + (i == 2 ? '?' : '&') + 'p' + (i - 2) + '=' +
|
62
|
+
encodeURIComponent(toDebugString(arguments[i]));
|
80
63
|
}
|
81
64
|
return new ErrorConstructor(message);
|
82
65
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.4
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -117,7 +117,7 @@ angular.mock.$Browser = function() {
|
|
117
117
|
self.defer.now += delay;
|
118
118
|
} else {
|
119
119
|
if (self.deferredFns.length) {
|
120
|
-
self.defer.now = self.deferredFns[self.deferredFns.length-1].time;
|
120
|
+
self.defer.now = self.deferredFns[self.deferredFns.length - 1].time;
|
121
121
|
} else {
|
122
122
|
throw new Error('No deferred tasks to be flushed');
|
123
123
|
}
|
@@ -428,7 +428,7 @@ angular.mock.$LogProvider = function() {
|
|
428
428
|
});
|
429
429
|
});
|
430
430
|
if (errors.length) {
|
431
|
-
errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or "+
|
431
|
+
errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or " +
|
432
432
|
"an expected log message was not checked and removed:");
|
433
433
|
errors.push('');
|
434
434
|
throw new Error(errors.join('\n---------\n'));
|
@@ -461,17 +461,17 @@ angular.mock.$LogProvider = function() {
|
|
461
461
|
* @returns {promise} A promise which will be notified on each iteration.
|
462
462
|
*/
|
463
463
|
angular.mock.$IntervalProvider = function() {
|
464
|
-
this.$get = ['$rootScope', '$q',
|
465
|
-
function($rootScope, $q) {
|
464
|
+
this.$get = ['$browser', '$rootScope', '$q', '$$q',
|
465
|
+
function($browser, $rootScope, $q, $$q) {
|
466
466
|
var repeatFns = [],
|
467
467
|
nextRepeatId = 0,
|
468
468
|
now = 0;
|
469
469
|
|
470
470
|
var $interval = function(fn, delay, count, invokeApply) {
|
471
|
-
var
|
472
|
-
|
473
|
-
|
474
|
-
|
471
|
+
var iteration = 0,
|
472
|
+
skipApply = (angular.isDefined(invokeApply) && !invokeApply),
|
473
|
+
deferred = (skipApply ? $$q : $q).defer(),
|
474
|
+
promise = deferred.promise;
|
475
475
|
|
476
476
|
count = (angular.isDefined(count)) ? count : 0;
|
477
477
|
promise.then(null, null, fn);
|
@@ -494,7 +494,11 @@ angular.mock.$IntervalProvider = function() {
|
|
494
494
|
}
|
495
495
|
}
|
496
496
|
|
497
|
-
if (
|
497
|
+
if (skipApply) {
|
498
|
+
$browser.defer.flush();
|
499
|
+
} else {
|
500
|
+
$rootScope.$apply();
|
501
|
+
}
|
498
502
|
}
|
499
503
|
|
500
504
|
repeatFns.push({
|
@@ -581,10 +585,10 @@ function jsonStringToDate(string) {
|
|
581
585
|
tzMin = int(match[9] + match[11]);
|
582
586
|
}
|
583
587
|
date.setUTCFullYear(int(match[1]), int(match[2]) - 1, int(match[3]));
|
584
|
-
date.setUTCHours(int(match[4]||0) - tzHour,
|
585
|
-
int(match[5]||0) - tzMin,
|
586
|
-
int(match[6]||0),
|
587
|
-
int(match[7]||0));
|
588
|
+
date.setUTCHours(int(match[4] || 0) - tzHour,
|
589
|
+
int(match[5] || 0) - tzMin,
|
590
|
+
int(match[6] || 0),
|
591
|
+
int(match[7] || 0));
|
588
592
|
return date;
|
589
593
|
}
|
590
594
|
return string;
|
@@ -663,7 +667,7 @@ angular.mock.TzDate = function(offset, timestamp) {
|
|
663
667
|
}
|
664
668
|
|
665
669
|
var localOffset = new Date(timestamp).getTimezoneOffset();
|
666
|
-
self.offsetDiff = localOffset*60*1000 - offset*1000*60*60;
|
670
|
+
self.offsetDiff = localOffset * 60 * 1000 - offset * 1000 * 60 * 60;
|
667
671
|
self.date = new Date(timestamp + self.offsetDiff);
|
668
672
|
|
669
673
|
self.getTime = function() {
|
@@ -815,7 +819,7 @@ angular.mock.animate = angular.module('ngAnimateMock', ['ng'])
|
|
815
819
|
animate.queue.push({
|
816
820
|
event: method,
|
817
821
|
element: arguments[0],
|
818
|
-
options: arguments[arguments.length-1],
|
822
|
+
options: arguments[arguments.length - 1],
|
819
823
|
args: arguments
|
820
824
|
});
|
821
825
|
return $delegate[method].apply($delegate, arguments);
|
@@ -1770,7 +1774,7 @@ angular.mock.$RAFDecorator = ['$delegate', function($delegate) {
|
|
1770
1774
|
}
|
1771
1775
|
|
1772
1776
|
var length = queue.length;
|
1773
|
-
for (var i=0;i<length;i++) {
|
1777
|
+
for (var i = 0; i < length; i++) {
|
1774
1778
|
queue[i]();
|
1775
1779
|
}
|
1776
1780
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.4
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -41,7 +41,7 @@ var ngRouteModule = angular.module('ngRoute', ['ng']).
|
|
41
41
|
*/
|
42
42
|
function $RouteProvider() {
|
43
43
|
function inherit(parent, extra) {
|
44
|
-
return angular.extend(
|
44
|
+
return angular.extend(Object.create(parent), extra);
|
45
45
|
}
|
46
46
|
|
47
47
|
var routes = {};
|
@@ -151,6 +151,9 @@ function $RouteProvider() {
|
|
151
151
|
if (angular.isUndefined(routeCopy.reloadOnSearch)) {
|
152
152
|
routeCopy.reloadOnSearch = true;
|
153
153
|
}
|
154
|
+
if (angular.isUndefined(routeCopy.caseInsensitiveMatch)) {
|
155
|
+
routeCopy.caseInsensitiveMatch = this.caseInsensitiveMatch;
|
156
|
+
}
|
154
157
|
routes[path] = angular.extend(
|
155
158
|
routeCopy,
|
156
159
|
path && pathRegExp(path, routeCopy)
|
@@ -158,9 +161,9 @@ function $RouteProvider() {
|
|
158
161
|
|
159
162
|
// create redirection for trailing slashes
|
160
163
|
if (path) {
|
161
|
-
var redirectPath = (path[path.length-1] == '/')
|
162
|
-
? path.substr(0, path.length-1)
|
163
|
-
: path +'/';
|
164
|
+
var redirectPath = (path[path.length - 1] == '/')
|
165
|
+
? path.substr(0, path.length - 1)
|
166
|
+
: path + '/';
|
164
167
|
|
165
168
|
routes[redirectPath] = angular.extend(
|
166
169
|
{redirectTo: path},
|
@@ -171,6 +174,17 @@ function $RouteProvider() {
|
|
171
174
|
return this;
|
172
175
|
};
|
173
176
|
|
177
|
+
/**
|
178
|
+
* @ngdoc property
|
179
|
+
* @name $routeProvider#caseInsensitiveMatch
|
180
|
+
* @description
|
181
|
+
*
|
182
|
+
* A boolean property indicating if routes defined
|
183
|
+
* using this provider should be matched using a case sensitive
|
184
|
+
* algorithm. Defaults to `false`.
|
185
|
+
*/
|
186
|
+
this.caseInsensitiveMatch = false;
|
187
|
+
|
174
188
|
/**
|
175
189
|
* @param path {string} path
|
176
190
|
* @param opts {Object} options
|
@@ -639,11 +653,11 @@ function $RouteProvider() {
|
|
639
653
|
*/
|
640
654
|
function interpolate(string, params) {
|
641
655
|
var result = [];
|
642
|
-
angular.forEach((string||'').split(':'), function(segment, i) {
|
656
|
+
angular.forEach((string || '').split(':'), function(segment, i) {
|
643
657
|
if (i === 0) {
|
644
658
|
result.push(segment);
|
645
659
|
} else {
|
646
|
-
var segmentMatch = segment.match(/(\w+)(.*)/);
|
660
|
+
var segmentMatch = segment.match(/(\w+)(?:[?*])?(.*)/);
|
647
661
|
var key = segmentMatch[1];
|
648
662
|
result.push(params[key]);
|
649
663
|
result.push(segmentMatch[2] || '');
|