angularjs-rails 1.3.15 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/angularjs-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/angular-animate.js +3443 -1872
  4. data/vendor/assets/javascripts/angular-aria.js +89 -75
  5. data/vendor/assets/javascripts/angular-cookies.js +255 -141
  6. data/vendor/assets/javascripts/angular-loader.js +41 -17
  7. data/vendor/assets/javascripts/angular-message-format.js +980 -0
  8. data/vendor/assets/javascripts/angular-messages.js +430 -153
  9. data/vendor/assets/javascripts/angular-mocks.js +76 -92
  10. data/vendor/assets/javascripts/angular-resource.js +6 -6
  11. data/vendor/assets/javascripts/angular-route.js +8 -6
  12. data/vendor/assets/javascripts/angular-sanitize.js +32 -28
  13. data/vendor/assets/javascripts/angular-scenario.js +4315 -2452
  14. data/vendor/assets/javascripts/angular-touch.js +26 -21
  15. data/vendor/assets/javascripts/angular.js +4314 -2490
  16. data/vendor/assets/javascripts/unstable/angular2.js +24024 -0
  17. metadata +4 -14
  18. data/vendor/assets/javascripts/unstable/angular-animate.js +0 -2137
  19. data/vendor/assets/javascripts/unstable/angular-aria.js +0 -364
  20. data/vendor/assets/javascripts/unstable/angular-cookies.js +0 -206
  21. data/vendor/assets/javascripts/unstable/angular-loader.js +0 -405
  22. data/vendor/assets/javascripts/unstable/angular-messages.js +0 -401
  23. data/vendor/assets/javascripts/unstable/angular-mocks.js +0 -2468
  24. data/vendor/assets/javascripts/unstable/angular-resource.js +0 -668
  25. data/vendor/assets/javascripts/unstable/angular-route.js +0 -989
  26. data/vendor/assets/javascripts/unstable/angular-sanitize.js +0 -679
  27. data/vendor/assets/javascripts/unstable/angular-scenario.js +0 -37678
  28. data/vendor/assets/javascripts/unstable/angular-touch.js +0 -622
  29. data/vendor/assets/javascripts/unstable/angular.js +0 -26309
@@ -1,364 +0,0 @@
1
- /**
2
- * @license AngularJS v1.3.15
3
- * (c) 2010-2014 Google, Inc. http://angularjs.org
4
- * License: MIT
5
- */
6
- (function(window, angular, undefined) {'use strict';
7
-
8
- /**
9
- * @ngdoc module
10
- * @name ngAria
11
- * @description
12
- *
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.
17
- *
18
- * <div doc-module-components="ngAria"></div>
19
- *
20
- * ## Usage
21
- *
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
- *
26
- * Below is a more detailed breakdown of the attributes handled by ngAria:
27
- *
28
- * | Directive | Supported Attributes |
29
- * |---------------------------------------------|----------------------------------------------------------------------------------------|
30
- * | {@link ng.directive:ngDisabled ngDisabled} | aria-disabled |
31
- * | {@link ng.directive:ngShow ngShow} | aria-hidden |
32
- * | {@link ng.directive:ngHide ngHide} | aria-hidden |
33
- * | {@link ng.directive:ngDblclick ngDblclick} | tabindex |
34
- * | {@link module:ngMessages ngMessages} | aria-live |
35
- * | {@link ng.directive:ngModel ngModel} | aria-checked, aria-valuemin, aria-valuemax, aria-valuenow, aria-invalid, aria-required, input roles |
36
- * | {@link ng.directive:ngClick ngClick} | tabindex, keypress event, button role |
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}.
55
- */
56
- /* global -ngAriaModule */
57
- var ngAriaModule = angular.module('ngAria', ['ng']).
58
- provider('$aria', $AriaProvider);
59
-
60
- /**
61
- * @ngdoc provider
62
- * @name $ariaProvider
63
- *
64
- * @description
65
- *
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
- *```
76
- *
77
- * ## Dependencies
78
- * Requires the {@link ngAria} module to be installed.
79
- *
80
- */
81
- function $AriaProvider() {
82
- var config = {
83
- ariaHidden: true,
84
- ariaChecked: true,
85
- ariaDisabled: true,
86
- ariaRequired: true,
87
- ariaInvalid: true,
88
- ariaMultiline: true,
89
- ariaValue: true,
90
- tabindex: true,
91
- bindKeypress: true
92
- };
93
-
94
- /**
95
- * @ngdoc method
96
- * @name $ariaProvider#config
97
- *
98
- * @param {object} config object to enable/disable specific ARIA attributes
99
- *
100
- * - **ariaHidden** – `{boolean}` – Enables/disables aria-hidden tags
101
- * - **ariaChecked** – `{boolean}` – Enables/disables aria-checked tags
102
- * - **ariaDisabled** – `{boolean}` – Enables/disables aria-disabled tags
103
- * - **ariaRequired** – `{boolean}` – Enables/disables aria-required tags
104
- * - **ariaInvalid** – `{boolean}` – Enables/disables aria-invalid tags
105
- * - **ariaMultiline** – `{boolean}` – Enables/disables aria-multiline tags
106
- * - **ariaValue** – `{boolean}` – Enables/disables aria-valuemin, aria-valuemax and aria-valuenow tags
107
- * - **tabindex** – `{boolean}` – Enables/disables tabindex tags
108
- * - **bindKeypress** – `{boolean}` – Enables/disables keypress event binding on `&lt;div&gt;` and
109
- * `&lt;li&gt;` elements with ng-click
110
- *
111
- * @description
112
- * Enables/disables various ARIA attributes
113
- */
114
- this.config = function(newConfig) {
115
- config = angular.extend(config, newConfig);
116
- };
117
-
118
- function watchExpr(attrName, ariaAttr, negate) {
119
- return function(scope, elem, attr) {
120
- var ariaCamelName = attr.$normalize(ariaAttr);
121
- if (config[ariaCamelName] && !attr[ariaCamelName]) {
122
- scope.$watch(attr[attrName], function(boolVal) {
123
- if (negate) {
124
- boolVal = !boolVal;
125
- }
126
- elem.attr(ariaAttr, boolVal);
127
- });
128
- }
129
- };
130
- }
131
-
132
- /**
133
- * @ngdoc service
134
- * @name $aria
135
- *
136
- * @description
137
- * @priority 200
138
- *
139
- * The $aria service contains helper methods for applying common
140
- * [ARIA](http://www.w3.org/TR/wai-aria/) attributes to HTML directives.
141
- *
142
- * ngAria injects common accessibility attributes that tell assistive technologies when HTML
143
- * elements are enabled, selected, hidden, and more. To see how this is performed with ngAria,
144
- * let's review a code snippet from ngAria itself:
145
- *
146
- *```js
147
- * ngAriaModule.directive('ngDisabled', ['$aria', function($aria) {
148
- * return $aria.$$watchExpr('ngDisabled', 'aria-disabled');
149
- * }])
150
- *```
151
- * Shown above, the ngAria module creates a directive with the same signature as the
152
- * traditional `ng-disabled` directive. But this ngAria version is dedicated to
153
- * solely managing accessibility attributes. The internal `$aria` service is used to watch the
154
- * boolean attribute `ngDisabled`. If it has not been explicitly set by the developer,
155
- * `aria-disabled` is injected as an attribute with its value synchronized to the value in
156
- * `ngDisabled`.
157
- *
158
- * Because ngAria hooks into the `ng-disabled` directive, developers do not have to do
159
- * anything to enable this feature. The `aria-disabled` attribute is automatically managed
160
- * simply as a silent side-effect of using `ng-disabled` with the ngAria module.
161
- *
162
- * The full list of directives that interface with ngAria:
163
- * * **ngModel**
164
- * * **ngShow**
165
- * * **ngHide**
166
- * * **ngClick**
167
- * * **ngDblclick**
168
- * * **ngMessages**
169
- * * **ngDisabled**
170
- *
171
- * Read the {@link guide/accessibility ngAria Developer Guide} for a thorough explanation of each
172
- * directive.
173
- *
174
- *
175
- * ## Dependencies
176
- * Requires the {@link ngAria} module to be installed.
177
- */
178
- this.$get = function() {
179
- return {
180
- config: function(key) {
181
- return config[key];
182
- },
183
- $$watchExpr: watchExpr
184
- };
185
- };
186
- }
187
-
188
-
189
- ngAriaModule.directive('ngShow', ['$aria', function($aria) {
190
- return $aria.$$watchExpr('ngShow', 'aria-hidden', true);
191
- }])
192
- .directive('ngHide', ['$aria', function($aria) {
193
- return $aria.$$watchExpr('ngHide', 'aria-hidden', false);
194
- }])
195
- .directive('ngModel', ['$aria', function($aria) {
196
-
197
- function shouldAttachAttr(attr, normalizedAttr, elem) {
198
- return $aria.config(normalizedAttr) && !elem.attr(attr);
199
- }
200
-
201
- function shouldAttachRole(role, elem) {
202
- return !elem.attr('role') && (elem.attr('type') === role) && (elem[0].nodeName !== 'INPUT');
203
- }
204
-
205
- function getShape(attr, elem) {
206
- var type = attr.type,
207
- role = attr.role;
208
-
209
- return ((type || role) === 'checkbox' || role === 'menuitemcheckbox') ? 'checkbox' :
210
- ((type || role) === 'radio' || role === 'menuitemradio') ? 'radio' :
211
- (type === 'range' || role === 'progressbar' || role === 'slider') ? 'range' :
212
- (type || role) === 'textbox' || elem[0].nodeName === 'TEXTAREA' ? 'multiline' : '';
213
- }
214
-
215
- return {
216
- restrict: 'A',
217
- require: '?ngModel',
218
- priority: 200, //Make sure watches are fired after any other directives that affect the ngModel value
219
- link: function(scope, elem, attr, ngModel) {
220
- var shape = getShape(attr, elem);
221
- var needsTabIndex = shouldAttachAttr('tabindex', 'tabindex', elem);
222
-
223
- function ngAriaWatchModelValue() {
224
- return ngModel.$modelValue;
225
- }
226
-
227
- function getRadioReaction() {
228
- if (needsTabIndex) {
229
- needsTabIndex = false;
230
- return function ngAriaRadioReaction(newVal) {
231
- var boolVal = (attr.value == ngModel.$viewValue);
232
- elem.attr('aria-checked', boolVal);
233
- elem.attr('tabindex', 0 - !boolVal);
234
- };
235
- } else {
236
- return function ngAriaRadioReaction(newVal) {
237
- elem.attr('aria-checked', (attr.value == ngModel.$viewValue));
238
- };
239
- }
240
- }
241
-
242
- function ngAriaCheckboxReaction(newVal) {
243
- elem.attr('aria-checked', !ngModel.$isEmpty(ngModel.$viewValue));
244
- }
245
-
246
- switch (shape) {
247
- case 'radio':
248
- case 'checkbox':
249
- if (shouldAttachRole(shape, elem)) {
250
- elem.attr('role', shape);
251
- }
252
- if (shouldAttachAttr('aria-checked', 'ariaChecked', elem)) {
253
- scope.$watch(ngAriaWatchModelValue, shape === 'radio' ?
254
- getRadioReaction() : ngAriaCheckboxReaction);
255
- }
256
- break;
257
- case 'range':
258
- if (shouldAttachRole(shape, elem)) {
259
- elem.attr('role', 'slider');
260
- }
261
- if ($aria.config('ariaValue')) {
262
- if (attr.min && !elem.attr('aria-valuemin')) {
263
- elem.attr('aria-valuemin', attr.min);
264
- }
265
- if (attr.max && !elem.attr('aria-valuemax')) {
266
- elem.attr('aria-valuemax', attr.max);
267
- }
268
- if (!elem.attr('aria-valuenow')) {
269
- scope.$watch(ngAriaWatchModelValue, function ngAriaValueNowReaction(newVal) {
270
- elem.attr('aria-valuenow', newVal);
271
- });
272
- }
273
- }
274
- break;
275
- case 'multiline':
276
- if (shouldAttachAttr('aria-multiline', 'ariaMultiline', elem)) {
277
- elem.attr('aria-multiline', true);
278
- }
279
- break;
280
- }
281
-
282
- if (needsTabIndex) {
283
- elem.attr('tabindex', 0);
284
- }
285
-
286
- if (ngModel.$validators.required && shouldAttachAttr('aria-required', 'ariaRequired', elem)) {
287
- scope.$watch(function ngAriaRequiredWatch() {
288
- return ngModel.$error.required;
289
- }, function ngAriaRequiredReaction(newVal) {
290
- elem.attr('aria-required', !!newVal);
291
- });
292
- }
293
-
294
- if (shouldAttachAttr('aria-invalid', 'ariaInvalid', elem)) {
295
- scope.$watch(function ngAriaInvalidWatch() {
296
- return ngModel.$invalid;
297
- }, function ngAriaInvalidReaction(newVal) {
298
- elem.attr('aria-invalid', !!newVal);
299
- });
300
- }
301
- }
302
- };
303
- }])
304
- .directive('ngDisabled', ['$aria', function($aria) {
305
- return $aria.$$watchExpr('ngDisabled', 'aria-disabled');
306
- }])
307
- .directive('ngMessages', function() {
308
- return {
309
- restrict: 'A',
310
- require: '?ngMessages',
311
- link: function(scope, elem, attr, ngMessages) {
312
- if (!elem.attr('aria-live')) {
313
- elem.attr('aria-live', 'assertive');
314
- }
315
- }
316
- };
317
- })
318
- .directive('ngClick',['$aria', '$parse', function($aria, $parse) {
319
- return {
320
- restrict: 'A',
321
- compile: function(elem, attr) {
322
- var fn = $parse(attr.ngClick, /* interceptorFn */ null, /* expensiveChecks */ true);
323
- return function(scope, elem, attr) {
324
-
325
- var nodeBlackList = ['BUTTON', 'A', 'INPUT', 'TEXTAREA'];
326
-
327
- function isNodeOneOf(elem, nodeTypeArray) {
328
- if (nodeTypeArray.indexOf(elem[0].nodeName) !== -1) {
329
- return true;
330
- }
331
- }
332
- if (!elem.attr('role') && !isNodeOneOf(elem, nodeBlackList)) {
333
- elem.attr('role', 'button');
334
- }
335
-
336
- if ($aria.config('tabindex') && !elem.attr('tabindex')) {
337
- elem.attr('tabindex', 0);
338
- }
339
-
340
- if ($aria.config('bindKeypress') && !attr.ngKeypress && !isNodeOneOf(elem, nodeBlackList)) {
341
- elem.on('keypress', function(event) {
342
- if (event.keyCode === 32 || event.keyCode === 13) {
343
- scope.$apply(callback);
344
- }
345
-
346
- function callback() {
347
- fn(scope, { $event: event });
348
- }
349
- });
350
- }
351
- };
352
- }
353
- };
354
- }])
355
- .directive('ngDblclick', ['$aria', function($aria) {
356
- return function(scope, elem, attr) {
357
- if ($aria.config('tabindex') && !elem.attr('tabindex')) {
358
- elem.attr('tabindex', 0);
359
- }
360
- };
361
- }]);
362
-
363
-
364
- })(window, window.angular);
@@ -1,206 +0,0 @@
1
- /**
2
- * @license AngularJS v1.3.15
3
- * (c) 2010-2014 Google, Inc. http://angularjs.org
4
- * License: MIT
5
- */
6
- (function(window, angular, undefined) {'use strict';
7
-
8
- /**
9
- * @ngdoc module
10
- * @name ngCookies
11
- * @description
12
- *
13
- * # ngCookies
14
- *
15
- * The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies.
16
- *
17
- *
18
- * <div doc-module-components="ngCookies"></div>
19
- *
20
- * See {@link ngCookies.$cookies `$cookies`} and
21
- * {@link ngCookies.$cookieStore `$cookieStore`} for usage.
22
- */
23
-
24
-
25
- angular.module('ngCookies', ['ng']).
26
- /**
27
- * @ngdoc service
28
- * @name $cookies
29
- *
30
- * @description
31
- * Provides read/write access to browser's cookies.
32
- *
33
- * Only a simple Object is exposed and by adding or removing properties to/from this object, new
34
- * cookies are created/deleted at the end of current $eval.
35
- * The object's properties can only be strings.
36
- *
37
- * Requires the {@link ngCookies `ngCookies`} module to be installed.
38
- *
39
- * @example
40
- *
41
- * ```js
42
- * angular.module('cookiesExample', ['ngCookies'])
43
- * .controller('ExampleController', ['$cookies', function($cookies) {
44
- * // Retrieving a cookie
45
- * var favoriteCookie = $cookies.myFavorite;
46
- * // Setting a cookie
47
- * $cookies.myFavorite = 'oatmeal';
48
- * }]);
49
- * ```
50
- */
51
- factory('$cookies', ['$rootScope', '$browser', function($rootScope, $browser) {
52
- var cookies = {},
53
- lastCookies = {},
54
- lastBrowserCookies,
55
- runEval = false,
56
- copy = angular.copy,
57
- isUndefined = angular.isUndefined;
58
-
59
- //creates a poller fn that copies all cookies from the $browser to service & inits the service
60
- $browser.addPollFn(function() {
61
- var currentCookies = $browser.cookies();
62
- if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
63
- lastBrowserCookies = currentCookies;
64
- copy(currentCookies, lastCookies);
65
- copy(currentCookies, cookies);
66
- if (runEval) $rootScope.$apply();
67
- }
68
- })();
69
-
70
- runEval = true;
71
-
72
- //at the end of each eval, push cookies
73
- //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
74
- // strings or browser refuses to store some cookies, we update the model in the push fn.
75
- $rootScope.$watch(push);
76
-
77
- return cookies;
78
-
79
-
80
- /**
81
- * Pushes all the cookies from the service to the browser and verifies if all cookies were
82
- * stored.
83
- */
84
- function push() {
85
- var name,
86
- value,
87
- browserCookies,
88
- updated;
89
-
90
- //delete any cookies deleted in $cookies
91
- for (name in lastCookies) {
92
- if (isUndefined(cookies[name])) {
93
- $browser.cookies(name, undefined);
94
- }
95
- }
96
-
97
- //update all cookies updated in $cookies
98
- for (name in cookies) {
99
- value = cookies[name];
100
- if (!angular.isString(value)) {
101
- value = '' + value;
102
- cookies[name] = value;
103
- }
104
- if (value !== lastCookies[name]) {
105
- $browser.cookies(name, value);
106
- updated = true;
107
- }
108
- }
109
-
110
- //verify what was actually stored
111
- if (updated) {
112
- updated = false;
113
- browserCookies = $browser.cookies();
114
-
115
- for (name in cookies) {
116
- if (cookies[name] !== browserCookies[name]) {
117
- //delete or reset all cookies that the browser dropped from $cookies
118
- if (isUndefined(browserCookies[name])) {
119
- delete cookies[name];
120
- } else {
121
- cookies[name] = browserCookies[name];
122
- }
123
- updated = true;
124
- }
125
- }
126
- }
127
- }
128
- }]).
129
-
130
-
131
- /**
132
- * @ngdoc service
133
- * @name $cookieStore
134
- * @requires $cookies
135
- *
136
- * @description
137
- * Provides a key-value (string-object) storage, that is backed by session cookies.
138
- * Objects put or retrieved from this storage are automatically serialized or
139
- * deserialized by angular's toJson/fromJson.
140
- *
141
- * Requires the {@link ngCookies `ngCookies`} module to be installed.
142
- *
143
- * @example
144
- *
145
- * ```js
146
- * angular.module('cookieStoreExample', ['ngCookies'])
147
- * .controller('ExampleController', ['$cookieStore', function($cookieStore) {
148
- * // Put cookie
149
- * $cookieStore.put('myFavorite','oatmeal');
150
- * // Get cookie
151
- * var favoriteCookie = $cookieStore.get('myFavorite');
152
- * // Removing a cookie
153
- * $cookieStore.remove('myFavorite');
154
- * }]);
155
- * ```
156
- */
157
- factory('$cookieStore', ['$cookies', function($cookies) {
158
-
159
- return {
160
- /**
161
- * @ngdoc method
162
- * @name $cookieStore#get
163
- *
164
- * @description
165
- * Returns the value of given cookie key
166
- *
167
- * @param {string} key Id to use for lookup.
168
- * @returns {Object} Deserialized cookie value.
169
- */
170
- get: function(key) {
171
- var value = $cookies[key];
172
- return value ? angular.fromJson(value) : value;
173
- },
174
-
175
- /**
176
- * @ngdoc method
177
- * @name $cookieStore#put
178
- *
179
- * @description
180
- * Sets a value for given cookie key
181
- *
182
- * @param {string} key Id for the `value`.
183
- * @param {Object} value Value to be stored.
184
- */
185
- put: function(key, value) {
186
- $cookies[key] = angular.toJson(value);
187
- },
188
-
189
- /**
190
- * @ngdoc method
191
- * @name $cookieStore#remove
192
- *
193
- * @description
194
- * Remove given cookie
195
- *
196
- * @param {string} key Id of the key-value pair to delete.
197
- */
198
- remove: function(key) {
199
- delete $cookies[key];
200
- }
201
- };
202
-
203
- }]);
204
-
205
-
206
- })(window, window.angular);