angular-gem 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/angular-gem/version.rb +1 -1
- data/vendor/assets/javascripts/1.3.2/angular-animate.js +2136 -0
- data/vendor/assets/javascripts/1.3.2/angular-aria.js +261 -0
- data/vendor/assets/javascripts/1.3.2/angular-cookies.js +206 -0
- data/vendor/assets/javascripts/1.3.2/angular-loader.js +422 -0
- data/vendor/assets/javascripts/1.3.2/angular-messages.js +400 -0
- data/vendor/assets/javascripts/1.3.2/angular-mocks.js +2376 -0
- data/vendor/assets/javascripts/1.3.2/angular-resource.js +667 -0
- data/vendor/assets/javascripts/1.3.2/angular-route.js +982 -0
- data/vendor/assets/javascripts/1.3.2/angular-sanitize.js +678 -0
- data/vendor/assets/javascripts/1.3.2/angular-scenario.js +37076 -0
- data/vendor/assets/javascripts/1.3.2/angular-touch.js +622 -0
- data/vendor/assets/javascripts/1.3.2/angular.js +25722 -0
- data/vendor/assets/javascripts/angular-animate.js +1 -1
- data/vendor/assets/javascripts/angular-aria.js +12 -1
- data/vendor/assets/javascripts/angular-cookies.js +1 -1
- data/vendor/assets/javascripts/angular-loader.js +2 -2
- data/vendor/assets/javascripts/angular-messages.js +1 -1
- data/vendor/assets/javascripts/angular-mocks.js +88 -1
- data/vendor/assets/javascripts/angular-resource.js +1 -1
- data/vendor/assets/javascripts/angular-route.js +10 -6
- data/vendor/assets/javascripts/angular-sanitize.js +1 -1
- data/vendor/assets/javascripts/angular-scenario.js +143 -46
- data/vendor/assets/javascripts/angular-touch.js +1 -1
- data/vendor/assets/javascripts/angular.js +143 -46
- metadata +13 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.
|
2
|
+
* @license AngularJS v1.3.2
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -71,7 +71,7 @@ function minErr(module, ErrorConstructor) {
|
|
71
71
|
return match;
|
72
72
|
});
|
73
73
|
|
74
|
-
message = message + '\nhttp://errors.angularjs.org/1.3.
|
74
|
+
message = message + '\nhttp://errors.angularjs.org/1.3.2/' +
|
75
75
|
(module ? module + '/' : '') + code;
|
76
76
|
for (i = 2; i < arguments.length; i++) {
|
77
77
|
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
|
@@ -2089,11 +2089,11 @@ function setupModuleLoader(window) {
|
|
2089
2089
|
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
|
2090
2090
|
*/
|
2091
2091
|
var version = {
|
2092
|
-
full: '1.3.
|
2092
|
+
full: '1.3.2', // all of these placeholder strings will be replaced by grunt's
|
2093
2093
|
major: 1, // package task
|
2094
2094
|
minor: 3,
|
2095
|
-
dot:
|
2096
|
-
codeName: '
|
2095
|
+
dot: 2,
|
2096
|
+
codeName: 'cardiovasculatory-magnification'
|
2097
2097
|
};
|
2098
2098
|
|
2099
2099
|
|
@@ -6270,10 +6270,17 @@ function $TemplateCacheProvider() {
|
|
6270
6270
|
*
|
6271
6271
|
*
|
6272
6272
|
* @param {string|DOMElement} element Element or HTML string to compile into a template function.
|
6273
|
-
* @param {function(angular.Scope, cloneAttachFn=)} transclude function available to directives.
|
6273
|
+
* @param {function(angular.Scope, cloneAttachFn=)} transclude function available to directives - DEPRECATED.
|
6274
|
+
*
|
6275
|
+
* <div class="alert alert-error">
|
6276
|
+
* **Note:** Passing a `transclude` function to the $compile function is deprecated, as it
|
6277
|
+
* e.g. will not use the right outer scope. Please pass the transclude function as a
|
6278
|
+
* `parentBoundTranscludeFn` to the link function instead.
|
6279
|
+
* </div>
|
6280
|
+
*
|
6274
6281
|
* @param {number} maxPriority only apply directives lower than given priority (Only effects the
|
6275
6282
|
* root element(s), not their children)
|
6276
|
-
* @returns {function(scope, cloneAttachFn=)} a link function which is used to bind template
|
6283
|
+
* @returns {function(scope, cloneAttachFn=, options=)} a link function which is used to bind template
|
6277
6284
|
* (a DOM element/tree) to a scope. Where:
|
6278
6285
|
*
|
6279
6286
|
* * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to.
|
@@ -6285,6 +6292,19 @@ function $TemplateCacheProvider() {
|
|
6285
6292
|
* * `clonedElement` - is a clone of the original `element` passed into the compiler.
|
6286
6293
|
* * `scope` - is the current scope with which the linking function is working with.
|
6287
6294
|
*
|
6295
|
+
* * `options` - An optional object hash with linking options. If `options` is provided, then the following
|
6296
|
+
* keys may be used to control linking behavior:
|
6297
|
+
*
|
6298
|
+
* * `parentBoundTranscludeFn` - the transclude function made available to
|
6299
|
+
* directives; if given, it will be passed through to the link functions of
|
6300
|
+
* directives found in `element` during compilation.
|
6301
|
+
* * `transcludeControllers` - an object hash with keys that map controller names
|
6302
|
+
* to controller instances; if given, it will make the controllers
|
6303
|
+
* available to directives.
|
6304
|
+
* * `futureParentElement` - defines the parent to which the `cloneAttachFn` will add
|
6305
|
+
* the cloned elements; only needed for transcludes that are allowed to contain non html
|
6306
|
+
* elements (e.g. SVG elements). See also the directive.controller property.
|
6307
|
+
*
|
6288
6308
|
* Calling the linking function returns the element of the template. It is either the original
|
6289
6309
|
* element passed in, or the clone of the element if the `cloneAttachFn` is provided.
|
6290
6310
|
*
|
@@ -6803,8 +6823,22 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
6803
6823
|
maxPriority, ignoreDirective, previousCompileContext);
|
6804
6824
|
compile.$$addScopeClass($compileNodes);
|
6805
6825
|
var namespace = null;
|
6806
|
-
return function publicLinkFn(scope, cloneConnectFn,
|
6826
|
+
return function publicLinkFn(scope, cloneConnectFn, options) {
|
6807
6827
|
assertArg(scope, 'scope');
|
6828
|
+
|
6829
|
+
options = options || {};
|
6830
|
+
var parentBoundTranscludeFn = options.parentBoundTranscludeFn,
|
6831
|
+
transcludeControllers = options.transcludeControllers,
|
6832
|
+
futureParentElement = options.futureParentElement;
|
6833
|
+
|
6834
|
+
// When `parentBoundTranscludeFn` is passed, it is a
|
6835
|
+
// `controllersBoundTransclude` function (it was previously passed
|
6836
|
+
// as `transclude` to directive.link) so we must unwrap it to get
|
6837
|
+
// its `boundTranscludeFn`
|
6838
|
+
if (parentBoundTranscludeFn && parentBoundTranscludeFn.$$boundTransclude) {
|
6839
|
+
parentBoundTranscludeFn = parentBoundTranscludeFn.$$boundTransclude;
|
6840
|
+
}
|
6841
|
+
|
6808
6842
|
if (!namespace) {
|
6809
6843
|
namespace = detectNamespaceForChildElements(futureParentElement);
|
6810
6844
|
}
|
@@ -6974,7 +7008,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
6974
7008
|
transcludedScope.$$transcluded = true;
|
6975
7009
|
}
|
6976
7010
|
|
6977
|
-
return transcludeFn(transcludedScope, cloneFn,
|
7011
|
+
return transcludeFn(transcludedScope, cloneFn, {
|
7012
|
+
parentBoundTranscludeFn: previousBoundTranscludeFn,
|
7013
|
+
transcludeControllers: controllers,
|
7014
|
+
futureParentElement: futureParentElement
|
7015
|
+
});
|
6978
7016
|
};
|
6979
7017
|
|
6980
7018
|
return boundTranscludeFn;
|
@@ -7442,7 +7480,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
7442
7480
|
isolateScope = scope.$new(true);
|
7443
7481
|
}
|
7444
7482
|
|
7445
|
-
|
7483
|
+
if (boundTranscludeFn) {
|
7484
|
+
// track `boundTranscludeFn` so it can be unwrapped if `transcludeFn`
|
7485
|
+
// is later passed as `parentBoundTranscludeFn` to `publicLinkFn`
|
7486
|
+
transcludeFn = controllersBoundTransclude;
|
7487
|
+
transcludeFn.$$boundTransclude = boundTranscludeFn;
|
7488
|
+
}
|
7489
|
+
|
7446
7490
|
if (controllerDirectives) {
|
7447
7491
|
// TODO: merge `controllers` and `elementControllers` into single object.
|
7448
7492
|
controllers = {};
|
@@ -12201,64 +12245,85 @@ function setter(obj, path, setValue, fullExp) {
|
|
12201
12245
|
return setValue;
|
12202
12246
|
}
|
12203
12247
|
|
12204
|
-
var
|
12248
|
+
var getterFnCacheDefault = createMap();
|
12249
|
+
var getterFnCacheExpensive = createMap();
|
12250
|
+
|
12251
|
+
function isPossiblyDangerousMemberName(name) {
|
12252
|
+
return name == 'constructor';
|
12253
|
+
}
|
12205
12254
|
|
12206
12255
|
/**
|
12207
12256
|
* Implementation of the "Black Hole" variant from:
|
12208
12257
|
* - http://jsperf.com/angularjs-parse-getter/4
|
12209
12258
|
* - http://jsperf.com/path-evaluation-simplified/7
|
12210
12259
|
*/
|
12211
|
-
function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp) {
|
12260
|
+
function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, expensiveChecks) {
|
12212
12261
|
ensureSafeMemberName(key0, fullExp);
|
12213
12262
|
ensureSafeMemberName(key1, fullExp);
|
12214
12263
|
ensureSafeMemberName(key2, fullExp);
|
12215
12264
|
ensureSafeMemberName(key3, fullExp);
|
12216
12265
|
ensureSafeMemberName(key4, fullExp);
|
12266
|
+
var eso = function(o) {
|
12267
|
+
return ensureSafeObject(o, fullExp);
|
12268
|
+
};
|
12269
|
+
var eso0 = (expensiveChecks || isPossiblyDangerousMemberName(key0)) ? eso : identity;
|
12270
|
+
var eso1 = (expensiveChecks || isPossiblyDangerousMemberName(key1)) ? eso : identity;
|
12271
|
+
var eso2 = (expensiveChecks || isPossiblyDangerousMemberName(key2)) ? eso : identity;
|
12272
|
+
var eso3 = (expensiveChecks || isPossiblyDangerousMemberName(key3)) ? eso : identity;
|
12273
|
+
var eso4 = (expensiveChecks || isPossiblyDangerousMemberName(key4)) ? eso : identity;
|
12217
12274
|
|
12218
12275
|
return function cspSafeGetter(scope, locals) {
|
12219
12276
|
var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope;
|
12220
12277
|
|
12221
12278
|
if (pathVal == null) return pathVal;
|
12222
|
-
pathVal = pathVal[key0];
|
12279
|
+
pathVal = eso0(pathVal[key0]);
|
12223
12280
|
|
12224
12281
|
if (!key1) return pathVal;
|
12225
12282
|
if (pathVal == null) return undefined;
|
12226
|
-
pathVal = pathVal[key1];
|
12283
|
+
pathVal = eso1(pathVal[key1]);
|
12227
12284
|
|
12228
12285
|
if (!key2) return pathVal;
|
12229
12286
|
if (pathVal == null) return undefined;
|
12230
|
-
pathVal = pathVal[key2];
|
12287
|
+
pathVal = eso2(pathVal[key2]);
|
12231
12288
|
|
12232
12289
|
if (!key3) return pathVal;
|
12233
12290
|
if (pathVal == null) return undefined;
|
12234
|
-
pathVal = pathVal[key3];
|
12291
|
+
pathVal = eso3(pathVal[key3]);
|
12235
12292
|
|
12236
12293
|
if (!key4) return pathVal;
|
12237
12294
|
if (pathVal == null) return undefined;
|
12238
|
-
pathVal = pathVal[key4];
|
12295
|
+
pathVal = eso4(pathVal[key4]);
|
12239
12296
|
|
12240
12297
|
return pathVal;
|
12241
12298
|
};
|
12242
12299
|
}
|
12243
12300
|
|
12301
|
+
function getterFnWithEnsureSafeObject(fn, fullExpression) {
|
12302
|
+
return function(s, l) {
|
12303
|
+
return fn(s, l, ensureSafeObject, fullExpression);
|
12304
|
+
};
|
12305
|
+
}
|
12306
|
+
|
12244
12307
|
function getterFn(path, options, fullExp) {
|
12308
|
+
var expensiveChecks = options.expensiveChecks;
|
12309
|
+
var getterFnCache = (expensiveChecks ? getterFnCacheExpensive : getterFnCacheDefault);
|
12245
12310
|
var fn = getterFnCache[path];
|
12246
|
-
|
12247
12311
|
if (fn) return fn;
|
12248
12312
|
|
12313
|
+
|
12249
12314
|
var pathKeys = path.split('.'),
|
12250
12315
|
pathKeysLength = pathKeys.length;
|
12251
12316
|
|
12252
12317
|
// http://jsperf.com/angularjs-parse-getter/6
|
12253
12318
|
if (options.csp) {
|
12254
12319
|
if (pathKeysLength < 6) {
|
12255
|
-
fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp);
|
12320
|
+
fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp, expensiveChecks);
|
12256
12321
|
} else {
|
12257
12322
|
fn = function cspSafeGetter(scope, locals) {
|
12258
12323
|
var i = 0, val;
|
12259
12324
|
do {
|
12260
12325
|
val = cspSafeGetterFn(pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++],
|
12261
|
-
pathKeys[i++], fullExp)(scope, locals);
|
12326
|
+
pathKeys[i++], fullExp, expensiveChecks)(scope, locals);
|
12262
12327
|
|
12263
12328
|
locals = undefined; // clear after first iteration
|
12264
12329
|
scope = val;
|
@@ -12268,22 +12333,33 @@ function getterFn(path, options, fullExp) {
|
|
12268
12333
|
}
|
12269
12334
|
} else {
|
12270
12335
|
var code = '';
|
12336
|
+
if (expensiveChecks) {
|
12337
|
+
code += 's = eso(s, fe);\nl = eso(l, fe);\n';
|
12338
|
+
}
|
12339
|
+
var needsEnsureSafeObject = expensiveChecks;
|
12271
12340
|
forEach(pathKeys, function(key, index) {
|
12272
12341
|
ensureSafeMemberName(key, fullExp);
|
12273
|
-
|
12274
|
-
's='+ (index
|
12342
|
+
var lookupJs = (index
|
12275
12343
|
// we simply dereference 's' on any .dot notation
|
12276
12344
|
? 's'
|
12277
12345
|
// but if we are first then we check locals first, and if so read it first
|
12278
|
-
: '((l&&l.hasOwnProperty("' + key + '"))?l:s)') + '.' + key
|
12346
|
+
: '((l&&l.hasOwnProperty("' + key + '"))?l:s)') + '.' + key;
|
12347
|
+
if (expensiveChecks || isPossiblyDangerousMemberName(key)) {
|
12348
|
+
lookupJs = 'eso(' + lookupJs + ', fe)';
|
12349
|
+
needsEnsureSafeObject = true;
|
12350
|
+
}
|
12351
|
+
code += 'if(s == null) return undefined;\n' +
|
12352
|
+
's=' + lookupJs + ';\n';
|
12279
12353
|
});
|
12280
12354
|
code += 'return s;';
|
12281
12355
|
|
12282
12356
|
/* jshint -W054 */
|
12283
|
-
var evaledFnGetter = new Function('s', 'l', code); // s=scope, l=locals
|
12357
|
+
var evaledFnGetter = new Function('s', 'l', 'eso', 'fe', code); // s=scope, l=locals, eso=ensureSafeObject
|
12284
12358
|
/* jshint +W054 */
|
12285
12359
|
evaledFnGetter.toString = valueFn(code);
|
12286
|
-
|
12360
|
+
if (needsEnsureSafeObject) {
|
12361
|
+
evaledFnGetter = getterFnWithEnsureSafeObject(evaledFnGetter, fullExp);
|
12362
|
+
}
|
12287
12363
|
fn = evaledFnGetter;
|
12288
12364
|
}
|
12289
12365
|
|
@@ -12353,15 +12429,20 @@ function getValueOf(value) {
|
|
12353
12429
|
* service.
|
12354
12430
|
*/
|
12355
12431
|
function $ParseProvider() {
|
12356
|
-
var
|
12432
|
+
var cacheDefault = createMap();
|
12433
|
+
var cacheExpensive = createMap();
|
12357
12434
|
|
12358
|
-
var $parseOptions = {
|
12359
|
-
csp: false
|
12360
|
-
};
|
12361
12435
|
|
12362
12436
|
|
12363
12437
|
this.$get = ['$filter', '$sniffer', function($filter, $sniffer) {
|
12364
|
-
$parseOptions
|
12438
|
+
var $parseOptions = {
|
12439
|
+
csp: $sniffer.csp,
|
12440
|
+
expensiveChecks: false
|
12441
|
+
},
|
12442
|
+
$parseOptionsExpensive = {
|
12443
|
+
csp: $sniffer.csp,
|
12444
|
+
expensiveChecks: true
|
12445
|
+
};
|
12365
12446
|
|
12366
12447
|
function wrapSharedExpression(exp) {
|
12367
12448
|
var wrapped = exp;
|
@@ -12378,13 +12459,14 @@ function $ParseProvider() {
|
|
12378
12459
|
return wrapped;
|
12379
12460
|
}
|
12380
12461
|
|
12381
|
-
return function $parse(exp, interceptorFn) {
|
12462
|
+
return function $parse(exp, interceptorFn, expensiveChecks) {
|
12382
12463
|
var parsedExpression, oneTime, cacheKey;
|
12383
12464
|
|
12384
12465
|
switch (typeof exp) {
|
12385
12466
|
case 'string':
|
12386
12467
|
cacheKey = exp = exp.trim();
|
12387
12468
|
|
12469
|
+
var cache = (expensiveChecks ? cacheExpensive : cacheDefault);
|
12388
12470
|
parsedExpression = cache[cacheKey];
|
12389
12471
|
|
12390
12472
|
if (!parsedExpression) {
|
@@ -12393,8 +12475,9 @@ function $ParseProvider() {
|
|
12393
12475
|
exp = exp.substring(2);
|
12394
12476
|
}
|
12395
12477
|
|
12396
|
-
var
|
12397
|
-
var
|
12478
|
+
var parseOptions = expensiveChecks ? $parseOptionsExpensive : $parseOptions;
|
12479
|
+
var lexer = new Lexer(parseOptions);
|
12480
|
+
var parser = new Parser(lexer, $filter, parseOptions);
|
12398
12481
|
parsedExpression = parser.parse(exp);
|
12399
12482
|
|
12400
12483
|
if (parsedExpression.constant) {
|
@@ -12567,7 +12650,7 @@ function $ParseProvider() {
|
|
12567
12650
|
var result = interceptorFn(value, scope, locals);
|
12568
12651
|
// we only return the interceptor's result if the
|
12569
12652
|
// initial value is defined (for bind-once)
|
12570
|
-
return isDefined(value) ? result : value;
|
12653
|
+
return isDefined(value) || interceptorFn.$stateful ? result : value;
|
12571
12654
|
};
|
12572
12655
|
|
12573
12656
|
// Propagate $$watchDelegates other then inputsWatchDelegate
|
@@ -13300,6 +13383,10 @@ function $RootScopeProvider() {
|
|
13300
13383
|
expect(parent.salutation).toEqual('Hello');
|
13301
13384
|
* ```
|
13302
13385
|
*
|
13386
|
+
* When interacting with `Scope` in tests, additional helper methods are available on the
|
13387
|
+
* instances of `Scope` type. See {@link ngMock.$rootScope.Scope ngMock Scope} for additional
|
13388
|
+
* details.
|
13389
|
+
*
|
13303
13390
|
*
|
13304
13391
|
* @param {Object.<string, function()>=} providers Map of service factory which need to be
|
13305
13392
|
* provided for the current scope. Defaults to {@link ng}.
|
@@ -13738,6 +13825,9 @@ function $RootScopeProvider() {
|
|
13738
13825
|
newValue = _value;
|
13739
13826
|
var newLength, key, bothNaN, newItem, oldItem;
|
13740
13827
|
|
13828
|
+
// If the new value is undefined, then return undefined as the watch may be a one-time watch
|
13829
|
+
if (isUndefined(newValue)) return;
|
13830
|
+
|
13741
13831
|
if (!isObject(newValue)) { // if primitive
|
13742
13832
|
if (oldValue !== newValue) {
|
13743
13833
|
oldValue = newValue;
|
@@ -18540,7 +18630,7 @@ var inputType = {
|
|
18540
18630
|
|
18541
18631
|
/**
|
18542
18632
|
* @ngdoc input
|
18543
|
-
* @name input[
|
18633
|
+
* @name input[datetime-local]
|
18544
18634
|
*
|
18545
18635
|
* @description
|
18546
18636
|
* Input with datetime validation and transformation. In browsers that do not yet support
|
@@ -19916,9 +20006,6 @@ var VALID_CLASS = 'ng-valid',
|
|
19916
20006
|
* };
|
19917
20007
|
* ```
|
19918
20008
|
*
|
19919
|
-
* @param {string} name The name of the validator.
|
19920
|
-
* @param {Function} validationFn The validation function that will be run.
|
19921
|
-
*
|
19922
20009
|
* @property {Array.<Function>} $viewChangeListeners Array of functions to execute whenever the
|
19923
20010
|
* view value has changed. It is called with no arguments, and its return value is ignored.
|
19924
20011
|
* This can be used in place of additional $watches against the model value.
|
@@ -19932,6 +20019,7 @@ var VALID_CLASS = 'ng-valid',
|
|
19932
20019
|
* @property {boolean} $dirty True if user has already interacted with the control.
|
19933
20020
|
* @property {boolean} $valid True if there is no error.
|
19934
20021
|
* @property {boolean} $invalid True if at least one error on the control.
|
20022
|
+
* @property {string} $name The name attribute of the control.
|
19935
20023
|
*
|
19936
20024
|
* @description
|
19937
20025
|
*
|
@@ -20632,7 +20720,7 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$
|
|
20632
20720
|
* - {@link input[email] email}
|
20633
20721
|
* - {@link input[url] url}
|
20634
20722
|
* - {@link input[date] date}
|
20635
|
-
* - {@link input[
|
20723
|
+
* - {@link input[datetime-local] datetime-local}
|
20636
20724
|
* - {@link input[time] time}
|
20637
20725
|
* - {@link input[month] month}
|
20638
20726
|
* - {@link input[week] week}
|
@@ -21112,12 +21200,17 @@ var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/;
|
|
21112
21200
|
* @name ngValue
|
21113
21201
|
*
|
21114
21202
|
* @description
|
21115
|
-
* Binds the given expression to the value of
|
21116
|
-
* that when the element is selected, the `ngModel` of that element is set to
|
21203
|
+
* Binds the given expression to the value of `<option>` or {@link input[radio] `input[radio]`},
|
21204
|
+
* so that when the element is selected, the {@link ngModel `ngModel`} of that element is set to
|
21117
21205
|
* the bound value.
|
21118
21206
|
*
|
21119
|
-
* `ngValue` is useful when dynamically generating lists of radio buttons using
|
21120
|
-
* shown below.
|
21207
|
+
* `ngValue` is useful when dynamically generating lists of radio buttons using
|
21208
|
+
* {@link ngRepeat `ngRepeat`}, as shown below.
|
21209
|
+
*
|
21210
|
+
* Likewise, `ngValue` can be used to generate `<option>` elements for
|
21211
|
+
* the {@link select `select`} element. In that case however, only strings are supported
|
21212
|
+
* for the `value `attribute, so the resulting `ngModel` will always be a string.
|
21213
|
+
* Support for `select` models with non-string values is available via `ngOptions`.
|
21121
21214
|
*
|
21122
21215
|
* @element input
|
21123
21216
|
* @param {string=} ngValue angular expression, whose value will be bound to the `value` attribute
|
@@ -22541,7 +22634,11 @@ forEach(
|
|
22541
22634
|
return {
|
22542
22635
|
restrict: 'A',
|
22543
22636
|
compile: function($element, attr) {
|
22544
|
-
|
22637
|
+
// We expose the powerful $event object on the scope that provides access to the Window,
|
22638
|
+
// etc. that isn't protected by the fast paths in $parse. We explicitly request better
|
22639
|
+
// checks at the cost of speed since event handler expressions are not executed as
|
22640
|
+
// frequently as regular change detection.
|
22641
|
+
var fn = $parse(attr[directiveName], /* interceptorFn */ null, /* expensiveChecks */ true);
|
22545
22642
|
return function ngEventHandler(scope, element) {
|
22546
22643
|
element.on(eventName, function(event) {
|
22547
22644
|
var callback = function() {
|
@@ -23376,7 +23473,7 @@ var ngIncludeFillContentDirective = ['$compile',
|
|
23376
23473
|
$compile(jqLiteBuildFragment(ctrl.template, document).childNodes)(scope,
|
23377
23474
|
function namespaceAdaptedClone(clone) {
|
23378
23475
|
$element.append(clone);
|
23379
|
-
},
|
23476
|
+
}, {futureParentElement: $element});
|
23380
23477
|
return;
|
23381
23478
|
}
|
23382
23479
|
|
@@ -25340,7 +25437,7 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
|
|
25340
25437
|
if (multiple) {
|
25341
25438
|
return isDefined(selectedSet.remove(callExpression(compareValueFn, key, value)));
|
25342
25439
|
} else {
|
25343
|
-
return viewValue
|
25440
|
+
return viewValue === callExpression(compareValueFn, key, value);
|
25344
25441
|
}
|
25345
25442
|
};
|
25346
25443
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular-gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Vuerings
|
@@ -1032,6 +1032,18 @@ files:
|
|
1032
1032
|
- vendor/assets/javascripts/1.3.1/angular-scenario.js
|
1033
1033
|
- vendor/assets/javascripts/1.3.1/angular-touch.js
|
1034
1034
|
- vendor/assets/javascripts/1.3.1/angular.js
|
1035
|
+
- vendor/assets/javascripts/1.3.2/angular-animate.js
|
1036
|
+
- vendor/assets/javascripts/1.3.2/angular-aria.js
|
1037
|
+
- vendor/assets/javascripts/1.3.2/angular-cookies.js
|
1038
|
+
- vendor/assets/javascripts/1.3.2/angular-loader.js
|
1039
|
+
- vendor/assets/javascripts/1.3.2/angular-messages.js
|
1040
|
+
- vendor/assets/javascripts/1.3.2/angular-mocks.js
|
1041
|
+
- vendor/assets/javascripts/1.3.2/angular-resource.js
|
1042
|
+
- vendor/assets/javascripts/1.3.2/angular-route.js
|
1043
|
+
- vendor/assets/javascripts/1.3.2/angular-sanitize.js
|
1044
|
+
- vendor/assets/javascripts/1.3.2/angular-scenario.js
|
1045
|
+
- vendor/assets/javascripts/1.3.2/angular-touch.js
|
1046
|
+
- vendor/assets/javascripts/1.3.2/angular.js
|
1035
1047
|
- vendor/assets/javascripts/angular-animate.js
|
1036
1048
|
- vendor/assets/javascripts/angular-aria.js
|
1037
1049
|
- vendor/assets/javascripts/angular-cookies.js
|