angular-gem 1.3.1 → 1.3.2
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.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
|