rails-angularjs 1.3.15 → 1.3.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/rails-angularjs/version.rb +2 -2
- data/vendor/assets/javascripts/unstable/angular-animate.js +3012 -1881
- data/vendor/assets/javascripts/unstable/angular-animate.min.js +44 -28
- data/vendor/assets/javascripts/unstable/angular-animate.min.js.map +3 -3
- data/vendor/assets/javascripts/unstable/angular-aria.js +86 -73
- data/vendor/assets/javascripts/unstable/angular-aria.min.js +8 -8
- data/vendor/assets/javascripts/unstable/angular-aria.min.js.map +2 -2
- data/vendor/assets/javascripts/unstable/angular-cookies.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-cookies.min.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-loader.js +23 -4
- data/vendor/assets/javascripts/unstable/angular-loader.min.js +3 -3
- data/vendor/assets/javascripts/unstable/angular-loader.min.js.map +2 -2
- data/vendor/assets/javascripts/unstable/angular-messageFormat.js +922 -0
- data/vendor/assets/javascripts/unstable/angular-messageFormat.min.js +26 -0
- data/vendor/assets/javascripts/unstable/angular-messageFormat.min.js.map +8 -0
- data/vendor/assets/javascripts/unstable/angular-messages.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-messages.min.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-mocks.js +6 -4
- data/vendor/assets/javascripts/unstable/angular-resource.js +2 -2
- data/vendor/assets/javascripts/unstable/angular-resource.min.js +2 -2
- data/vendor/assets/javascripts/unstable/angular-resource.min.js.map +1 -1
- data/vendor/assets/javascripts/unstable/angular-route.js +4 -2
- data/vendor/assets/javascripts/unstable/angular-route.min.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-route.min.js.map +1 -1
- data/vendor/assets/javascripts/unstable/angular-sanitize.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-sanitize.min.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-scenario.js +668 -359
- data/vendor/assets/javascripts/unstable/angular-touch.js +14 -11
- data/vendor/assets/javascripts/unstable/angular-touch.min.js +8 -8
- data/vendor/assets/javascripts/unstable/angular-touch.min.js.map +2 -2
- data/vendor/assets/javascripts/unstable/angular.js +635 -359
- data/vendor/assets/javascripts/unstable/angular.min.js +281 -278
- data/vendor/assets/javascripts/unstable/angular.min.js.map +3 -3
- metadata +5 -3
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
AngularJS v1.4.0-rc.0
|
3
|
+
(c) 2010-2015 Google, Inc. http://angularjs.org
|
4
|
+
License: MIT
|
5
|
+
*/
|
6
|
+
(function(V,l){'use strict';function C(a){if(null==a)return"";switch(typeof a){case "string":return a;case "number":return""+a;default:return D(a)}}function f(a,b){for(var d=a.split(/\n/g),k=0;k<d.length;k++){var c=d[k];if(b>=c.length)b-=c.length;else return{h:k+1,f:b+1}}}function u(a){function b(){return a}var d=v[a];if(null!=d)return d;b.$$watchDelegate=function(b,d,c){var e=b.$watch(w,function(){n(d)&&d.call(null,a,a,b);e()},c);return e};v[a]=b;b.exp=a;b.D=[];return b}function F(a,b){function d(a){return void 0==
|
7
|
+
a?a:a-b}function c(b){return d(a(b))}if(0===b)return a;var e;c.$$watchDelegate=function(b,c,k){return e=b.$watch(a,function(a,k){n(c)&&c.call(null,d(a),d(k),b)},k)};return c}function h(a,b){var d=this;this.b=a;this.e=b;if(void 0===b.other)throw e("reqother");this.d=function(a){return d.F(a)};this.d.$$watchDelegate=function(a,b,c){return d.Q(a,b,c)}}function p(a,b,d,c){var e=this;this.scope=b;this.qa=a;this.v=d;this.ra=c;this.V=void 0;this.L=w;this.ma=b.$watch(a.b,function(a){return e.la(a)},c)}function q(a,
|
8
|
+
b){h.call(this,a,b)}function x(){}function r(a,b,d,c){h.call(this,a,b);this.offset=d;this.N=c}function y(){}function g(a,b){this.u=a;this.B=b;this.i=[];this.g=[];this.K=[];this.s="";this.q=null}function s(a,b,d){this.c=a;this.scope=b;this.Y=void 0;this.v=d;var c=this;this.na=b.$watchGroup(a.g,function(a,b){c.Fa(a,b)})}function t(a,b){b.b=a.b;b.C=a.C;b.w=a.w;b.e=a.e;b.k=a.k;b.c=a.c;b.n=a.n;b.G=a.G;b.l=a.l}function z(a){t(a,this)}function c(a,b,d,c,e,E,f,g){this.text=a;this.index=b||0;this.A=d;this.N=
|
9
|
+
c;this.Ea=e;this.W=!!E;this.u=f;this.B=!!g;this.G=this.c=this.k=this.e=this.w=this.C=this.b=null;this.M=[];this.H=this.j=this.ea=this.P=this.fa=this.l=this.n=this.o=this.a=this.d=null}function A(a){switch(a){case "{":return"}";case "[":return"]";case "(":return")";default:return null}}function G(a){switch(a){case "}":return"{";case "]":return"[";case ")":return"(";default:return null}}var e=l.$interpolateMinErr,w=l.noop,n=l.isFunction,D=l.toJson,v=Object.create(null);h.prototype.U=function(a){return this.e[this.S(a)]};
|
10
|
+
h.prototype.F=function(a){return this.U(this.b(a))(a)};h.prototype.Q=function(a,b,d){var c=new p(this,a,b,d);return function(){c.J()}};p.prototype.la=function(a){var b=this;this.L();a=this.qa.U(a);this.L=this.scope.$watch(a,function(a,c){return b.pa(a,c)},this.ra)};p.prototype.pa=function(a,b){n(this.v)&&this.v.call(null,a,a===b?a:this.V,this.scope);this.V=a};p.prototype.J=function(){this.ma();this.L()};x.prototype=h.prototype;q.prototype=new x;q.prototype.S=function(a){return void 0!==this.e[a]?
|
11
|
+
a:"other"};y.prototype=h.prototype;r.prototype=new y;r.prototype.S=function(a){if(isNaN(a))return"other";if(void 0!==this.e[a])return a;a=this.N(a-this.offset);return void 0!==this.e[a]?a:"other"};g.prototype.T=function(){this.s&&(null==this.q?this.i.push(this.s):(this.i.push(this.q.join("")),this.q=null),this.s="")};g.prototype.p=function(a){a.length&&(this.s?this.q?this.q.push(a):this.q=[this.s,a]:this.s=a)};g.prototype.I=function(a){this.T();this.K.push(this.i.length);this.g.push(a);this.i.push("")};
|
12
|
+
g.prototype.oa=function(a){for(var b=Array(this.g.length),d=0;d<this.g.length;d++)b[d]=this.g[d](a);return b};g.prototype.F=function(a){for(var b=0;b<this.K.length;b++){var d=a[b];if(this.B&&void 0===d)return;this.i[this.K[b]]=d}return this.i.join("")};g.prototype.ga=function(a,b){var d=this;this.T();if(!a||0!==this.g.length){if(0===this.i.length)return u("");this.u&&1<this.i.length&&e.throwNoconcat(b);if(0===this.g.length)return 1!=this.i.length&&this.r(),u(this.i[0]);var c=function(a){return d.F(d.oa(a))};
|
13
|
+
c.$$watchDelegate=function(a,b,c){return d.Q(a,b,c)};c.exp=b;c.D=Array(this.g.length);for(var f=0;f<this.g.length;f++)c.D[f]=this.g[f].exp;return c}};g.prototype.Q=function(a,b){var c=new s(this,a,b);return function(){c.J()}};s.prototype.Fa=function(a,b){var c=this.c.F(a);n(this.v)&&this.v.call(null,c,a===b?c:this.Y,this.scope);this.Y=c};s.prototype.J=function(){this.na()};var H=new z(new c("",0,null,null,null,!1,null,!1));c.prototype.pushState=function(){this.M.push(new z(this));t(H,this)};c.prototype.X=
|
14
|
+
function(){0===this.M.length&&this.r();var a=this.M.pop();t(a,this)};c.prototype.m=function(a,b){a.lastIndex=this.index;var c=a.exec(this.text);return null==c||!0!==b&&c.index!=this.index?null:(this.index=a.lastIndex,c)};c.prototype.t=function(a){return this.m(a,!0)};c.prototype.ja=function(a){return!!this.m(a)};c.prototype.Ca=function(a){this.o=[a];do{for(this.a=this.o.pop();this.a;)this.a();this.ia(this.a)}while(0<this.o.length)};c.prototype.r=function(){throw e("logicbug",this.text);};c.prototype.ia=
|
15
|
+
function(a){void 0===a&&this.r()};var I=/\s*(\w+)\s*/g;c.prototype.ka=function(){var a=this.m(I);if(null==a)throw a=f(this.text,this.index),e("reqarg",a.h,a.f,this.text);var b=a[1];if("select"==b||"plural"==b)throw a=f(this.text,this.index),e("reqcomma",b,a.h,a.f,this.text);a=f(this.text,this.index);throw e("unknarg",b,a.h,a.f,this.text);};c.prototype.Da=function(a){this.fa=a.index;this.P=a[0];this.ea="'"==this.P?J:K;this.a=this.va};var J=/\\(?:\\|'|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{2}|[0-7]{3}|\r\n|\n|[\s\S])|'/g,
|
16
|
+
K=/\\(?:\\|"|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{2}|[0-7]{3}|\r\n|\n|[\s\S])|"/g;c.prototype.va=function(){var a=this.t(this.ea);if(null==a)throw a=f(this.text,this.fa),e("untermstr",a.h,a.f,this.text);a==this.P&&(this.a=null)};var L=/\s*(plural|select)\s*,\s*/g;c.prototype.za=function(){var a=this.t(L);null==a&&this.ka();switch(a[1]){case "plural":this.a=this.Aa;break;case "select":this.a=this.Ba;break;default:this.r()}};c.prototype.Aa=function(){this.e=Object.create(null);this.n=this.O;this.a=this.ya};
|
17
|
+
c.prototype.Ba=function(){this.e=Object.create(null);this.a=this.n=this.da};var m=/[0]|(?:[1-9][0-9]*)/g,M=new RegExp("\\s*offset\\s*:\\s*("+m.source+")","g");c.prototype.ya=function(){var a=this.m(M);this.w=null==a?0:parseInt(a[1],10);this.C=F(this.b,this.w);this.a=this.O};c.prototype.R=function(a,b){if(void 0!==this.e[a]){var c=f(this.text,b);throw e("dupvalue",a,c.h,c.f,this.text);}};var N=/\s*(\w+)/g;c.prototype.da=function(){var a=this.m(N);null==a?(this.d=(new q(this.b,this.e)).d,this.a=null):
|
18
|
+
(this.k=a[1],this.R(this.k,a.index),this.a=this.ca)};var O=new RegExp("\\s*(?:(?:=("+m.source+"))|(\\w+))","g");c.prototype.O=function(){var a=this.m(O);null==a?(this.d=(new r(this.b,this.e,this.w,this.N)).d,this.a=null):(this.k=null!=a[1]?parseInt(a[1],10):a[2],this.R(this.k,a.index),this.a=this.ca)};var P=/\s*{/g;c.prototype.ca=function(){if(!this.ja(P)){var a=f(this.text,this.index);throw e("reqopenbrace",this.k,a.h,a.f,this.text);}this.G=this.index;this.c=new g(this.u,this.B);this.a=this.ba};
|
19
|
+
var Q=/\\.|{{|}/g,R=/\\.|{{|#|}/g,B=/\\.|{{/g;c.prototype.ha=function(){var a=this.index,b;if(null==this.n){if(b=this.t(B),null==b)return this.H=this.text.substring(a),this.index=this.text.length,null}else if(b=this.t(this.n==this.O?R:Q),null==b)throw a=f(this.text,this.G),e("reqendbrace",this.k,a.h,a.f,this.text);var c=b[0];this.H=this.text.substring(a,b.index);return c};c.prototype.ba=function(){var a=this.index,b=this.ha();null==b?(this.index=this.text.length,this.c.p(this.text.substring(a)),this.a=
|
20
|
+
null):"\\"==b[0]?this.c.p(this.H+b[1]):(this.c.p(this.H),"{{"==b?(this.pushState(),this.o.push(this.ua),this.a=this.Z):"}"==b?(this.e[this.k]=this.c.ga(this.W,this.text),this.a=this.n):"#"==b?this.c.I(this.C):this.r())};c.prototype.wa=function(){this.c=new g(this.u,this.B);this.a=this.aa};c.prototype.aa=function(){var a=this.index,b=this.t(B);if(null==b)this.index=this.text.length,this.c.p(this.text.substring(a)),this.d=this.c.ga(this.W,this.text),this.a=null;else{var c=b[0];"\\"==c[0]?this.c.p(this.text.substring(a,
|
21
|
+
b.index)+c[1]):(this.c.p(this.text.substring(a,b.index)),this.pushState(),this.o.push(this.xa),this.a=this.Z)}};c.prototype.xa=function(){var a=this.d;this.X();this.c.I(a);this.a=this.aa};c.prototype.Z=function(){this.d=null;this.o.push(this.ta);this.a=this.sa};c.prototype.ua=function(){var a=this.d;this.X();this.c.I(a);this.a=this.ba};var S=/\s*}}/g;c.prototype.ta=function(){if(null==this.m(S)){var a=f(this.text,this.index);throw e("reqendinterp","}}",a.h,a.f,this.text);}null==this.d&&(this.d=this.A(this.b,
|
22
|
+
this.Ea),this.d.exp=this.b.exp,this.d.D=this.b.D);this.a=null};c.prototype.sa=function(){this.j=[];this.l=this.index;this.a=this.$};var T=/[[\]{}()'",]/g;c.prototype.$=function(){var a=this.t(T);if(null==a){if(0===this.j.length){this.index=this.text.length;this.b=this.A(this.text.substring(this.l,this.index));this.b.exp=this.text.substring(this.l,this.index);this.a=null;return}throw e("badexpr",this.Ha(this.j[0]),this.text);}var b=a[0];if("'"==b||'"'==b)this.o.push(this.$),this.Da(a);else if(","==
|
23
|
+
b){if(this.u)throw a=f(this.text,this.index),e("unsafe",this.u,a.h,a.f,this.text);0===this.j.length&&(this.b=this.A(this.text.substring(this.l,a.index)),this.b.exp=this.text.substring(this.l,a.index),this.a=null,this.a=this.za)}else if(null!=A(b))this.j.unshift(b);else{var c=G(b);null==c&&this.r();if(0<this.j.length){if(c==this.j[0]){this.j.shift();return}a=f(this.text,this.index);throw e("badexpr",b,a.h,a.f,A(this.j[0]),this.text);}this.index=a.index;this.b=this.A(this.text.substring(this.l,this.index));
|
24
|
+
this.b.exp=this.text.substring(this.l,this.index);this.a=null}};var U=["$$messageFormat","$delegate",function(a,b){if("{{"!=b.startSymbol()||"}}"!=b.endSymbol())throw e("nochgmustache");var c=a.interpolate;c.startSymbol=b.startSymbol;c.endSymbol=b.endSymbol;return c}],m=l.module("ngMessageFormat",["ng"]);m.factory("$$messageFormat",["$parse","$locale","$sce","$exceptionHandler",function(a,b,d,f){function g(a,b,c){return function(g){try{return g=a?d.getTrusted(a,g):d.valueOf(g),b&&void 0===g?g:C(g)}catch(h){f(e.interr(c,
|
25
|
+
h))}}}return{interpolate:function(d,e,f,h){d=new c(d,0,a,b.pluralCat,g(f,h,d),e,f,h);d.Ca(d.wa);return d.d}}}]);m.config(["$provide",function(a){a.decorator("$interpolate",U)}])})(window,window.Ga);
|
26
|
+
//# sourceMappingURL=angular-messageFormat.min.js.map
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"angular-messageFormat.min.js",
|
4
|
+
"lineCount":25,
|
5
|
+
"mappings":"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",
|
6
|
+
"sources":["angular-messageFormat.js"],
|
7
|
+
"names":["window","angular","stringify","value","toJson","indexToLineAndColumn","text","index","lines","split","i","length","line","column","parseTextLiteral","parsedFn","cachedFn","PARSE_CACHE_FOR_TEXT_LITERALS","scope","listener","objectEquality","unwatch","noop","textLiteralWatcher","isFunction","call","exp","expressions","subtractOffset","expressionFn","offset","minusOffset","context","pluralExpressionWatchListener","newValue","oldValue","MessageSelectorBase","choices","self","$interpolateMinErr","this.parsedFn","getResult","watchDelegate","MessageSelectorWatchers","msgSelector","lastMessage","messageFnWatcher","expressionFnWatcher","expressionFnListener","SelectMessage","SelectMessageProto","PluralMessage","pluralCat","PluralMessageProto","InterpolationParts","trustedContext","allOrNothing","textParts","expressionFns","expressionIndices","partialText","concatParts","InterpolationPartsWatcher","interpolationParts","previousResult","expressionFnsWatcher","newExpressionValues","oldExpressionValues","watchListener","copyNestedParserState","src","dst","expressionMinusOffsetFn","pluralOffset","choiceKey","ruleChoiceKeyword","msgStartIndex","expressionStartIndex","NestedParserState","parser","MessageFormatParser","startIndex","$parse","stringifier","mustHaveExpression","nestedStateStack","textPart","angularOperatorStack","stringInterestsRe","stringQuote","stringStartIndex","ruleStack","rule","getEndOperator","opBegin","getBeginOperator","opEnd","Object","create","prototype","getMessageFn","MessageSelectorBase.prototype.getMessageFn","categorizeValue","MessageSelectorBase.prototype.getResult","MessageSelectorBase.prototype.watchDelegate","watchers","cancelWatch","MessageSelectorWatchers.prototype.expressionFnListener","messageFn","messageFnListener","newMessage","oldMessage","MessageSelectorWatchers.prototype.messageFnListener","MessageSelectorWatchers.prototype.cancelWatch","SelectMessage.prototype.categorizeValue","PluralMessage.prototype.categorizeValue","isNaN","category","flushPartialText","InterpolationParts.prototype.flushPartialText","push","join","addText","InterpolationParts.prototype.addText","addExpressionFn","InterpolationParts.prototype.addExpressionFn","getExpressionValues","InterpolationParts.prototype.getExpressionValues","expressionValues","Array","InterpolationParts.prototype.getResult","expressionValue","toParsedFn","InterpolationParts.prototype.toParsedFn","originalText","errorInParseLogic","InterpolationParts.prototype.watchDelegate","watcher","InterpolationPartsWatcher.prototype.watchListener","result","InterpolationPartsWatcher.prototype.cancelWatch","EMPTY_STATE","pushState","MessageFormatParser.prototype.pushState","popState","MessageFormatParser.prototype.popState","previousState","pop","matchRe","MessageFormatParser.prototype.matchRe","re","search","lastIndex","match","exec","searchRe","MessageFormatParser.prototype.searchRe","consumeRe","MessageFormatParser.prototype.consumeRe","run","MessageFormatParser.prototype.run","initialRule","assertRuleOrNull","MessageFormatParser.prototype.errorInParseLogic","MessageFormatParser.prototype.assertRuleOrNull","NEXT_WORD_RE","errorExpecting","MessageFormatParser.prototype.errorExpecting","position","word","startStringAtMatch","MessageFormatParser.prototype.startStringAtMatch","SQUOTED_STRING_INTEREST_RE","DQUOTED_STRING_INTEREST_RE","ruleInsideString","MessageFormatParser.prototype.ruleInsideString","PLURAL_OR_SELECT_ARG_TYPE_RE","rulePluralOrSelect","MessageFormatParser.prototype.rulePluralOrSelect","argType","rulePluralStyle","ruleSelectStyle","MessageFormatParser.prototype.rulePluralStyle","rulePluralValueOrKeyword","rulePluralOffset","MessageFormatParser.prototype.ruleSelectStyle","ruleSelectKeyword","NUMBER_RE","PLURAL_OFFSET_RE","RegExp","source","MessageFormatParser.prototype.rulePluralOffset","parseInt","assertChoiceKeyIsNew","MessageFormatParser.prototype.assertChoiceKeyIsNew","SELECT_KEYWORD","MessageFormatParser.prototype.ruleSelectKeyword","ruleMessageText","EXPLICIT_VALUE_OR_KEYWORD_RE","MessageFormatParser.prototype.rulePluralValueOrKeyword","BRACE_OPEN_RE","MessageFormatParser.prototype.ruleMessageText","ruleInInterpolationOrMessageText","INTERP_OR_END_MESSAGE_RE","INTERP_OR_PLURALVALUE_OR_END_MESSAGE_RE","ESCAPE_OR_MUSTACHE_BEGIN_RE","advanceInInterpolationOrMessageText","MessageFormatParser.prototype.advanceInInterpolationOrMessageText","currentIndex","substring","token","MessageFormatParser.prototype.ruleInInterpolationOrMessageText","ruleEndMustacheInInterpolationOrMessage","ruleEnteredMustache","ruleInterpolate","MessageFormatParser.prototype.ruleInterpolate","ruleInInterpolation","MessageFormatParser.prototype.ruleInInterpolation","ruleInterpolationEndMustache","MessageFormatParser.prototype.ruleInterpolationEndMustache","MessageFormatParser.prototype.ruleEnteredMustache","ruleEndMustache","ruleAngularExpression","MessageFormatParser.prototype.ruleEndMustacheInInterpolationOrMessage","INTERP_END_RE","MessageFormatParser.prototype.ruleEndMustache","MessageFormatParser.prototype.ruleAngularExpression","ruleInAngularExpression","INTERESTING_OPERATORS_RE","MessageFormatParser.prototype.ruleInAngularExpression","innermostOperator","operator","unshift","beginOperator","shift","$$interpolateDecorator","$$messageFormat","$interpolate","interpolate","module","$$MessageFormatFactory","$locale","$sce","$exceptionHandler","getStringifier","err","$provide"]
|
8
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.4.0-
|
2
|
+
* @license AngularJS v1.4.0-rc.0
|
3
3
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -64,6 +64,7 @@ angular.mock.$Browser = function() {
|
|
64
64
|
return listener;
|
65
65
|
};
|
66
66
|
|
67
|
+
self.$$applicationDestroyed = angular.noop;
|
67
68
|
self.$$checkUrlChange = angular.noop;
|
68
69
|
|
69
70
|
self.deferredFns = [];
|
@@ -770,13 +771,14 @@ angular.mock.animate = angular.module('ngAnimateMock', ['ng'])
|
|
770
771
|
};
|
771
772
|
});
|
772
773
|
|
773
|
-
$provide.decorator('$animate', ['$delegate', '$$asyncCallback', '$timeout', '$browser',
|
774
|
-
function($delegate, $$asyncCallback, $timeout, $browser) {
|
774
|
+
$provide.decorator('$animate', ['$delegate', '$$asyncCallback', '$timeout', '$browser', '$$rAF',
|
775
|
+
function($delegate, $$asyncCallback, $timeout, $browser, $$rAF) {
|
775
776
|
var animate = {
|
776
777
|
queue: [],
|
777
778
|
cancel: $delegate.cancel,
|
778
779
|
enabled: $delegate.enabled,
|
779
780
|
triggerCallbackEvents: function() {
|
781
|
+
$$rAF.flush();
|
780
782
|
$$asyncCallback.flush();
|
781
783
|
},
|
782
784
|
triggerCallbackPromise: function() {
|
@@ -1763,7 +1765,7 @@ angular.mock.$RAFDecorator = ['$delegate', function($delegate) {
|
|
1763
1765
|
queue[i]();
|
1764
1766
|
}
|
1765
1767
|
|
1766
|
-
queue =
|
1768
|
+
queue = queue.slice(i);
|
1767
1769
|
};
|
1768
1770
|
|
1769
1771
|
return rafFn;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.4.0-
|
2
|
+
* @license AngularJS v1.4.0-rc.0
|
3
3
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -10,7 +10,7 @@ var $resourceMinErr = angular.$$minErr('$resource');
|
|
10
10
|
// Helper functions and regex to lookup a dotted path on an object
|
11
11
|
// stopping at undefined/null. The path must be composed of ASCII
|
12
12
|
// identifiers (just like $parse)
|
13
|
-
var MEMBER_NAME_REGEX = /^(\.[a-zA-Z_
|
13
|
+
var MEMBER_NAME_REGEX = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;
|
14
14
|
|
15
15
|
function isValidDottedPath(path) {
|
16
16
|
return (path != null && path !== '' && path !== 'hasOwnProperty' &&
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.4.0-
|
2
|
+
AngularJS v1.4.0-rc.0
|
3
3
|
(c) 2010-2015 Google, Inc. http://angularjs.org
|
4
4
|
License: MIT
|
5
5
|
*/
|
6
|
-
(function(I,d,B){'use strict';function D(f,q){q=q||{};d.forEach(q,function(d,h){delete q[h]});for(var h in f)!f.hasOwnProperty(h)||"$"===h.charAt(0)&&"$"===h.charAt(1)||(q[h]=f[h]);return q}var w=d.$$minErr("$resource"),C=/^(\.[a-zA-Z_
|
6
|
+
(function(I,d,B){'use strict';function D(f,q){q=q||{};d.forEach(q,function(d,h){delete q[h]});for(var h in f)!f.hasOwnProperty(h)||"$"===h.charAt(0)&&"$"===h.charAt(1)||(q[h]=f[h]);return q}var w=d.$$minErr("$resource"),C=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;d.module("ngResource",["ng"]).provider("$resource",function(){var f=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}};
|
7
7
|
this.$get=["$http","$q",function(q,h){function t(d,g){this.template=d;this.defaults=s({},f.defaults,g);this.urlParams={}}function v(x,g,l,m){function c(b,k){var c={};k=s({},g,k);r(k,function(a,k){u(a)&&(a=a());var d;if(a&&a.charAt&&"@"==a.charAt(0)){d=b;var e=a.substr(1);if(null==e||""===e||"hasOwnProperty"===e||!C.test("."+e))throw w("badmember",e);for(var e=e.split("."),n=0,g=e.length;n<g&&d!==B;n++){var h=e[n];d=null!==d?d[h]:B}}else d=a;c[k]=d});return c}function F(b){return b.resource}function e(b){D(b||
|
8
8
|
{},this)}var G=new t(x,m);l=s({},f.defaults.actions,l);e.prototype.toJSON=function(){var b=s({},this);delete b.$promise;delete b.$resolved;return b};r(l,function(b,k){var g=/^(POST|PUT|PATCH)$/i.test(b.method);e[k]=function(a,y,m,x){var n={},f,l,z;switch(arguments.length){case 4:z=x,l=m;case 3:case 2:if(u(y)){if(u(a)){l=a;z=y;break}l=y;z=m}else{n=a;f=y;l=m;break}case 1:u(a)?l=a:g?f=a:n=a;break;case 0:break;default:throw w("badargs",arguments.length);}var t=this instanceof e,p=t?f:b.isArray?[]:new e(f),
|
9
9
|
A={},v=b.interceptor&&b.interceptor.response||F,C=b.interceptor&&b.interceptor.responseError||B;r(b,function(b,a){"params"!=a&&"isArray"!=a&&"interceptor"!=a&&(A[a]=H(b))});g&&(A.data=f);G.setUrlParams(A,s({},c(f,b.params||{}),n),b.url);n=q(A).then(function(a){var c=a.data,g=p.$promise;if(c){if(d.isArray(c)!==!!b.isArray)throw w("badcfg",k,b.isArray?"array":"object",d.isArray(c)?"array":"object");b.isArray?(p.length=0,r(c,function(a){"object"===typeof a?p.push(new e(a)):p.push(a)})):(D(c,p),p.$promise=
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"version":3,
|
3
3
|
"file":"angular-resource.min.js",
|
4
4
|
"lineCount":12,
|
5
|
-
"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CA6BtCC,QAASA,EAAmB,CAACC,CAAD,CAAMC,CAAN,CAAW,CACrCA,CAAA,CAAMA,CAAN,EAAa,EAEbJ,EAAAK,QAAA,CAAgBD,CAAhB,CAAqB,QAAQ,CAACE,CAAD,CAAQC,CAAR,CAAa,CACxC,OAAOH,CAAA,CAAIG,CAAJ,CADiC,CAA1C,CAIA,KAASA,IAAAA,CAAT,GAAgBJ,EAAhB,CACM,CAAAA,CAAAK,eAAA,CAAmBD,CAAnB,CAAJ,EAAmD,GAAnD,GAAiCA,CAAAE,OAAA,CAAW,CAAX,CAAjC,EAA4E,GAA5E,GAA0DF,CAAAE,OAAA,CAAW,CAAX,CAA1D,GACEL,CAAA,CAAIG,CAAJ,CADF,CACaJ,CAAA,CAAII,CAAJ,CADb,CAKF,OAAOH,EAb8B,CA3BvC,IAAIM,EAAkBV,CAAAW,SAAA,CAAiB,WAAjB,CAAtB,CAKIC,EAAoB,
|
5
|
+
"mappings":"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",
|
6
6
|
"sources":["angular-resource.js"],
|
7
7
|
"names":["window","angular","undefined","shallowClearAndCopy","src","dst","forEach","value","key","hasOwnProperty","charAt","$resourceMinErr","$$minErr","MEMBER_NAME_REGEX","module","provider","defaults","stripTrailingSlashes","actions","method","isArray","$get","$http","$q","Route","template","extend","urlParams","resourceFactory","url","paramDefaults","options","extractParams","data","actionParams","ids","isFunction","path","test","keys","split","i","ii","length","obj","defaultResponseInterceptor","response","resource","Resource","route","prototype","toJSON","Resource.prototype.toJSON","$promise","$resolved","action","name","hasBody","a1","a2","a3","a4","params","success","error","arguments","isInstanceCall","httpConfig","responseInterceptor","interceptor","responseErrorInterceptor","responseError","copy","setUrlParams","promise","then","item","push","noop","reject","headers","result","call","bind","Resource.bind","additionalParamDefaults","config","actionUrl","self","val","encodedVal","param","RegExp","replace","_","urlParam","isDefined","encodeURIComponent","match","p1","leadingSlashes","tail"]
|
8
8
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.4.0-
|
2
|
+
* @license AngularJS v1.4.0-rc.0
|
3
3
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -440,9 +440,11 @@ function $RouteProvider() {
|
|
440
440
|
* @name $route#$routeUpdate
|
441
441
|
* @eventType broadcast on root scope
|
442
442
|
* @description
|
443
|
-
*
|
444
443
|
* The `reloadOnSearch` property has been set to false, and we are reusing the same
|
445
444
|
* instance of the Controller.
|
445
|
+
*
|
446
|
+
* @param {Object} angularEvent Synthetic event object
|
447
|
+
* @param {Route} current Current/previous route information.
|
446
448
|
*/
|
447
449
|
|
448
450
|
var forceReload = false,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"version":3,
|
3
3
|
"file":"angular-route.min.js",
|
4
4
|
"lineCount":14,
|
5
|
-
"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,
|
5
|
+
"mappings":"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",
|
6
6
|
"sources":["angular-route.js"],
|
7
7
|
"names":["window","angular","undefined","ngViewFactory","$route","$anchorScroll","$animate","restrict","terminal","priority","transclude","link","scope","$element","attr","ctrl","$transclude","cleanupLastView","previousLeaveAnimation","cancel","currentScope","$destroy","currentElement","leave","then","update","locals","current","isDefined","$template","newScope","$new","clone","enter","onNgViewEnter","autoScrollExp","$eval","$emit","onloadExp","autoscroll","onload","$on","ngViewFillContentFactory","$compile","$controller","html","contents","controller","$scope","controllerAs","data","children","ngRouteModule","module","provider","$RouteProvider","inherit","parent","extra","extend","Object","create","pathRegExp","path","opts","insensitive","caseInsensitiveMatch","ret","originalPath","regexp","keys","replace","_","slash","key","option","optional","star","push","name","RegExp","routes","when","this.when","route","routeCopy","copy","isUndefined","reloadOnSearch","redirectPath","length","substr","redirectTo","otherwise","this.otherwise","params","$get","$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce","prepareRoute","$locationEvent","lastRoute","preparedRouteIsUpdateOnly","preparedRoute","parseRoute","$$route","equals","pathParams","forceReload","$broadcast","defaultPrevented","preventDefault","commitRoute","nextRoute","isString","interpolate","search","url","resolve","template","templateUrl","forEach","value","get","invoke","isFunction","getTrustedResourceUrl","loadedTemplateUrl","all","error","match","m","exec","on","i","len","val","string","result","split","segment","segmentMatch","join","reload","$evalAsync","updateParams","newParams","$routeMinErr","$$minErr","$RouteParamsProvider","this.$get","directive","$inject"]
|
8
8
|
}
|
@@ -9190,7 +9190,7 @@ return jQuery;
|
|
9190
9190
|
}));
|
9191
9191
|
|
9192
9192
|
/**
|
9193
|
-
* @license AngularJS v1.4.0-
|
9193
|
+
* @license AngularJS v1.4.0-rc.0
|
9194
9194
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
9195
9195
|
* License: MIT
|
9196
9196
|
*/
|
@@ -9249,7 +9249,7 @@ function minErr(module, ErrorConstructor) {
|
|
9249
9249
|
return match;
|
9250
9250
|
});
|
9251
9251
|
|
9252
|
-
message += '\nhttp://errors.angularjs.org/1.4.0-
|
9252
|
+
message += '\nhttp://errors.angularjs.org/1.4.0-rc.0/' +
|
9253
9253
|
(module ? module + '/' : '') + code;
|
9254
9254
|
|
9255
9255
|
for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') {
|
@@ -10342,8 +10342,8 @@ function toJsonReplacer(key, value) {
|
|
10342
10342
|
* stripped since angular uses this notation internally.
|
10343
10343
|
*
|
10344
10344
|
* @param {Object|Array|Date|string|number} obj Input to be serialized into JSON.
|
10345
|
-
* @param {boolean|number
|
10346
|
-
* If set to an integer, the JSON output will contain that many spaces per indentation
|
10345
|
+
* @param {boolean|number} [pretty=2] If set to true, the JSON output will contain newlines and whitespace.
|
10346
|
+
* If set to an integer, the JSON output will contain that many spaces per indentation.
|
10347
10347
|
* @returns {string|undefined} JSON-ified string representing `obj`.
|
10348
10348
|
*/
|
10349
10349
|
function toJson(obj, pretty) {
|
@@ -11198,6 +11198,18 @@ function setupModuleLoader(window) {
|
|
11198
11198
|
*/
|
11199
11199
|
constant: invokeLater('$provide', 'constant', 'unshift'),
|
11200
11200
|
|
11201
|
+
/**
|
11202
|
+
* @ngdoc method
|
11203
|
+
* @name angular.Module#decorator
|
11204
|
+
* @module ng
|
11205
|
+
* @param {string} The name of the service to decorate.
|
11206
|
+
* @param {Function} This function will be invoked when the service needs to be
|
11207
|
+
* instantiated and should return the decorated service instance.
|
11208
|
+
* @description
|
11209
|
+
* See {@link auto.$provide#decorator $provide.decorator()}.
|
11210
|
+
*/
|
11211
|
+
decorator: invokeLater('$provide', 'decorator'),
|
11212
|
+
|
11201
11213
|
/**
|
11202
11214
|
* @ngdoc method
|
11203
11215
|
* @name angular.Module#animation
|
@@ -11211,7 +11223,7 @@ function setupModuleLoader(window) {
|
|
11211
11223
|
*
|
11212
11224
|
*
|
11213
11225
|
* Defines an animation hook that can be later used with
|
11214
|
-
* {@link
|
11226
|
+
* {@link $animate $animate} service and directives that use this service.
|
11215
11227
|
*
|
11216
11228
|
* ```js
|
11217
11229
|
* module.animation('.animation-name', function($inject1, $inject2) {
|
@@ -11236,10 +11248,17 @@ function setupModuleLoader(window) {
|
|
11236
11248
|
* @ngdoc method
|
11237
11249
|
* @name angular.Module#filter
|
11238
11250
|
* @module ng
|
11239
|
-
* @param {string} name Filter name
|
11251
|
+
* @param {string} name Filter name - this must be a valid angular expression identifier
|
11240
11252
|
* @param {Function} filterFactory Factory function for creating new instance of filter.
|
11241
11253
|
* @description
|
11242
11254
|
* See {@link ng.$filterProvider#register $filterProvider.register()}.
|
11255
|
+
*
|
11256
|
+
* <div class="alert alert-warning">
|
11257
|
+
* **Note:** Filter names must be valid angular {@link expression} identifiers, such as `uppercase` or `orderBy`.
|
11258
|
+
* Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace
|
11259
|
+
* your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores
|
11260
|
+
* (`myapp_subsection_filterx`).
|
11261
|
+
* </div>
|
11243
11262
|
*/
|
11244
11263
|
filter: invokeLater('$filterProvider', 'register'),
|
11245
11264
|
|
@@ -11407,6 +11426,8 @@ function toDebugString(obj) {
|
|
11407
11426
|
|
11408
11427
|
$AnchorScrollProvider,
|
11409
11428
|
$AnimateProvider,
|
11429
|
+
$$CoreAnimateQueueProvider,
|
11430
|
+
$$CoreAnimateRunnerProvider,
|
11410
11431
|
$BrowserProvider,
|
11411
11432
|
$CacheFactoryProvider,
|
11412
11433
|
$ControllerProvider,
|
@@ -11417,6 +11438,8 @@ function toDebugString(obj) {
|
|
11417
11438
|
$IntervalProvider,
|
11418
11439
|
$$HashMapProvider,
|
11419
11440
|
$HttpProvider,
|
11441
|
+
$HttpParamSerializerProvider,
|
11442
|
+
$HttpParamSerializerJQLikeProvider,
|
11420
11443
|
$HttpBackendProvider,
|
11421
11444
|
$LocationProvider,
|
11422
11445
|
$LogProvider,
|
@@ -11455,11 +11478,11 @@ function toDebugString(obj) {
|
|
11455
11478
|
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
|
11456
11479
|
*/
|
11457
11480
|
var version = {
|
11458
|
-
full: '1.4.0-
|
11481
|
+
full: '1.4.0-rc.0', // all of these placeholder strings will be replaced by grunt's
|
11459
11482
|
major: 1, // package task
|
11460
11483
|
minor: 4,
|
11461
11484
|
dot: 0,
|
11462
|
-
codeName: '
|
11485
|
+
codeName: 'smooth-unwinding'
|
11463
11486
|
};
|
11464
11487
|
|
11465
11488
|
|
@@ -11565,6 +11588,8 @@ function publishExternalAPI(angular) {
|
|
11565
11588
|
$provide.provider({
|
11566
11589
|
$anchorScroll: $AnchorScrollProvider,
|
11567
11590
|
$animate: $AnimateProvider,
|
11591
|
+
$$animateQueue: $$CoreAnimateQueueProvider,
|
11592
|
+
$$AnimateRunner: $$CoreAnimateRunnerProvider,
|
11568
11593
|
$browser: $BrowserProvider,
|
11569
11594
|
$cacheFactory: $CacheFactoryProvider,
|
11570
11595
|
$controller: $ControllerProvider,
|
@@ -11574,6 +11599,8 @@ function publishExternalAPI(angular) {
|
|
11574
11599
|
$interpolate: $InterpolateProvider,
|
11575
11600
|
$interval: $IntervalProvider,
|
11576
11601
|
$http: $HttpProvider,
|
11602
|
+
$httpParamSerializer: $HttpParamSerializerProvider,
|
11603
|
+
$httpParamSerializerJQLike: $HttpParamSerializerJQLikeProvider,
|
11577
11604
|
$httpBackend: $HttpBackendProvider,
|
11578
11605
|
$location: $LocationProvider,
|
11579
11606
|
$log: $LogProvider,
|
@@ -13606,9 +13633,10 @@ function $AnchorScrollProvider() {
|
|
13606
13633
|
* @requires $rootScope
|
13607
13634
|
*
|
13608
13635
|
* @description
|
13609
|
-
* When called, it
|
13610
|
-
*
|
13611
|
-
*
|
13636
|
+
* When called, it scrolls to the element related to the specified `hash` or (if omitted) to the
|
13637
|
+
* current value of {@link ng.$location#hash $location.hash()}, according to the rules specified
|
13638
|
+
* in the
|
13639
|
+
* [HTML5 spec](http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document).
|
13612
13640
|
*
|
13613
13641
|
* It also watches the {@link ng.$location#hash $location.hash()} and automatically scrolls to
|
13614
13642
|
* match any anchor whenever it changes. This can be disabled by calling
|
@@ -13617,6 +13645,9 @@ function $AnchorScrollProvider() {
|
|
13617
13645
|
* Additionally, you can use its {@link ng.$anchorScroll#yOffset yOffset} property to specify a
|
13618
13646
|
* vertical scroll-offset (either fixed or dynamic).
|
13619
13647
|
*
|
13648
|
+
* @param {string=} hash The hash specifying the element to scroll to. If omitted, the value of
|
13649
|
+
* {@link ng.$location#hash $location.hash()} will be used.
|
13650
|
+
*
|
13620
13651
|
* @property {(number|function|jqLite)} yOffset
|
13621
13652
|
* If set, specifies a vertical scroll-offset. This is often useful when there are fixed
|
13622
13653
|
* positioned elements at the top of the page, such as navbars, headers etc.
|
@@ -13800,8 +13831,9 @@ function $AnchorScrollProvider() {
|
|
13800
13831
|
}
|
13801
13832
|
}
|
13802
13833
|
|
13803
|
-
function scroll() {
|
13804
|
-
|
13834
|
+
function scroll(hash) {
|
13835
|
+
hash = isString(hash) ? hash : $location.hash();
|
13836
|
+
var elm;
|
13805
13837
|
|
13806
13838
|
// empty hash, scroll to the top of the page
|
13807
13839
|
if (!hash) scrollTo(null);
|
@@ -13835,6 +13867,151 @@ function $AnchorScrollProvider() {
|
|
13835
13867
|
}
|
13836
13868
|
|
13837
13869
|
var $animateMinErr = minErr('$animate');
|
13870
|
+
var ELEMENT_NODE = 1;
|
13871
|
+
|
13872
|
+
function mergeClasses(a,b) {
|
13873
|
+
if (!a && !b) return '';
|
13874
|
+
if (!a) return b;
|
13875
|
+
if (!b) return a;
|
13876
|
+
if (isArray(a)) a = a.join(' ');
|
13877
|
+
if (isArray(b)) b = b.join(' ');
|
13878
|
+
return a + ' ' + b;
|
13879
|
+
}
|
13880
|
+
|
13881
|
+
function extractElementNode(element) {
|
13882
|
+
for (var i = 0; i < element.length; i++) {
|
13883
|
+
var elm = element[i];
|
13884
|
+
if (elm.nodeType === ELEMENT_NODE) {
|
13885
|
+
return elm;
|
13886
|
+
}
|
13887
|
+
}
|
13888
|
+
}
|
13889
|
+
|
13890
|
+
function splitClasses(classes) {
|
13891
|
+
if (isString(classes)) {
|
13892
|
+
classes = classes.split(' ');
|
13893
|
+
}
|
13894
|
+
|
13895
|
+
var obj = {};
|
13896
|
+
forEach(classes, function(klass) {
|
13897
|
+
// sometimes the split leaves empty string values
|
13898
|
+
// incase extra spaces were applied to the options
|
13899
|
+
if (klass.length) {
|
13900
|
+
obj[klass] = true;
|
13901
|
+
}
|
13902
|
+
});
|
13903
|
+
return obj;
|
13904
|
+
}
|
13905
|
+
|
13906
|
+
var $$CoreAnimateRunnerProvider = function() {
|
13907
|
+
this.$get = ['$q', '$$rAF', function($q, $$rAF) {
|
13908
|
+
function AnimateRunner() {}
|
13909
|
+
AnimateRunner.all = noop;
|
13910
|
+
AnimateRunner.chain = noop;
|
13911
|
+
AnimateRunner.prototype = {
|
13912
|
+
end: noop,
|
13913
|
+
cancel: noop,
|
13914
|
+
resume: noop,
|
13915
|
+
pause: noop,
|
13916
|
+
complete: noop,
|
13917
|
+
then: function(pass, fail) {
|
13918
|
+
return $q(function(resolve) {
|
13919
|
+
$$rAF(function() {
|
13920
|
+
resolve();
|
13921
|
+
});
|
13922
|
+
}).then(pass, fail);
|
13923
|
+
}
|
13924
|
+
};
|
13925
|
+
return AnimateRunner;
|
13926
|
+
}];
|
13927
|
+
};
|
13928
|
+
|
13929
|
+
// this is prefixed with Core since it conflicts with
|
13930
|
+
// the animateQueueProvider defined in ngAnimate/animateQueue.js
|
13931
|
+
var $$CoreAnimateQueueProvider = function() {
|
13932
|
+
var postDigestQueue = new HashMap();
|
13933
|
+
var postDigestElements = [];
|
13934
|
+
|
13935
|
+
this.$get = ['$$AnimateRunner', '$rootScope',
|
13936
|
+
function($$AnimateRunner, $rootScope) {
|
13937
|
+
return {
|
13938
|
+
enabled: noop,
|
13939
|
+
on: noop,
|
13940
|
+
off: noop,
|
13941
|
+
|
13942
|
+
push: function(element, event, options, domOperation) {
|
13943
|
+
domOperation && domOperation();
|
13944
|
+
|
13945
|
+
options = options || {};
|
13946
|
+
options.from && element.css(options.from);
|
13947
|
+
options.to && element.css(options.to);
|
13948
|
+
|
13949
|
+
if (options.addClass || options.removeClass) {
|
13950
|
+
addRemoveClassesPostDigest(element, options.addClass, options.removeClass);
|
13951
|
+
}
|
13952
|
+
|
13953
|
+
return new $$AnimateRunner(); // jshint ignore:line
|
13954
|
+
}
|
13955
|
+
};
|
13956
|
+
|
13957
|
+
function addRemoveClassesPostDigest(element, add, remove) {
|
13958
|
+
var data = postDigestQueue.get(element);
|
13959
|
+
var classVal;
|
13960
|
+
|
13961
|
+
if (!data) {
|
13962
|
+
postDigestQueue.put(element, data = {});
|
13963
|
+
postDigestElements.push(element);
|
13964
|
+
}
|
13965
|
+
|
13966
|
+
if (add) {
|
13967
|
+
forEach(add.split(' '), function(className) {
|
13968
|
+
if (className) {
|
13969
|
+
data[className] = true;
|
13970
|
+
}
|
13971
|
+
});
|
13972
|
+
}
|
13973
|
+
|
13974
|
+
if (remove) {
|
13975
|
+
forEach(remove.split(' '), function(className) {
|
13976
|
+
if (className) {
|
13977
|
+
data[className] = false;
|
13978
|
+
}
|
13979
|
+
});
|
13980
|
+
}
|
13981
|
+
|
13982
|
+
if (postDigestElements.length > 1) return;
|
13983
|
+
|
13984
|
+
$rootScope.$$postDigest(function() {
|
13985
|
+
forEach(postDigestElements, function(element) {
|
13986
|
+
var data = postDigestQueue.get(element);
|
13987
|
+
if (data) {
|
13988
|
+
var existing = splitClasses(element.attr('class'));
|
13989
|
+
var toAdd = '';
|
13990
|
+
var toRemove = '';
|
13991
|
+
forEach(data, function(status, className) {
|
13992
|
+
var hasClass = !!existing[className];
|
13993
|
+
if (status !== hasClass) {
|
13994
|
+
if (status) {
|
13995
|
+
toAdd += (toAdd.length ? ' ' : '') + className;
|
13996
|
+
} else {
|
13997
|
+
toRemove += (toRemove.length ? ' ' : '') + className;
|
13998
|
+
}
|
13999
|
+
}
|
14000
|
+
});
|
14001
|
+
|
14002
|
+
forEach(element, function(elm) {
|
14003
|
+
toAdd && jqLiteAddClass(elm, toAdd);
|
14004
|
+
toRemove && jqLiteRemoveClass(elm, toRemove);
|
14005
|
+
});
|
14006
|
+
postDigestQueue.remove(element);
|
14007
|
+
}
|
14008
|
+
});
|
14009
|
+
|
14010
|
+
postDigestElements.length = 0;
|
14011
|
+
});
|
14012
|
+
}
|
14013
|
+
}];
|
14014
|
+
};
|
13838
14015
|
|
13839
14016
|
/**
|
13840
14017
|
* @ngdoc provider
|
@@ -13842,20 +14019,18 @@ var $animateMinErr = minErr('$animate');
|
|
13842
14019
|
*
|
13843
14020
|
* @description
|
13844
14021
|
* Default implementation of $animate that doesn't perform any animations, instead just
|
13845
|
-
* synchronously performs DOM
|
13846
|
-
* updates and calls done() callbacks.
|
14022
|
+
* synchronously performs DOM updates and resolves the returned runner promise.
|
13847
14023
|
*
|
13848
|
-
* In order to enable animations the ngAnimate module has to be loaded.
|
14024
|
+
* In order to enable animations the `ngAnimate` module has to be loaded.
|
13849
14025
|
*
|
13850
|
-
* To see the functional implementation check out src/ngAnimate/animate.js
|
14026
|
+
* To see the functional implementation check out `src/ngAnimate/animate.js`.
|
13851
14027
|
*/
|
13852
14028
|
var $AnimateProvider = ['$provide', function($provide) {
|
14029
|
+
var provider = this;
|
13853
14030
|
|
14031
|
+
this.$$registeredAnimations = [];
|
13854
14032
|
|
13855
|
-
|
13856
|
-
|
13857
|
-
|
13858
|
-
/**
|
14033
|
+
/**
|
13859
14034
|
* @ngdoc method
|
13860
14035
|
* @name $animateProvider#register
|
13861
14036
|
*
|
@@ -13864,33 +14039,43 @@ var $AnimateProvider = ['$provide', function($provide) {
|
|
13864
14039
|
* animation object which contains callback functions for each event that is expected to be
|
13865
14040
|
* animated.
|
13866
14041
|
*
|
13867
|
-
* * `eventFn`: `function(
|
13868
|
-
*
|
13869
|
-
*
|
13870
|
-
*
|
14042
|
+
* * `eventFn`: `function(element, ... , doneFunction, options)`
|
14043
|
+
* The element to animate, the `doneFunction` and the options fed into the animation. Depending
|
14044
|
+
* on the type of animation additional arguments will be injected into the animation function. The
|
14045
|
+
* list below explains the function signatures for the different animation methods:
|
14046
|
+
*
|
14047
|
+
* - setClass: function(element, addedClasses, removedClasses, doneFunction, options)
|
14048
|
+
* - addClass: function(element, addedClasses, doneFunction, options)
|
14049
|
+
* - removeClass: function(element, removedClasses, doneFunction, options)
|
14050
|
+
* - enter, leave, move: function(element, doneFunction, options)
|
14051
|
+
* - animate: function(element, fromStyles, toStyles, doneFunction, options)
|
13871
14052
|
*
|
14053
|
+
* Make sure to trigger the `doneFunction` once the animation is fully complete.
|
13872
14054
|
*
|
13873
14055
|
* ```js
|
13874
14056
|
* return {
|
13875
|
-
|
13876
|
-
|
13877
|
-
|
13878
|
-
|
13879
|
-
|
13880
|
-
|
13881
|
-
|
13882
|
-
|
14057
|
+
* //enter, leave, move signature
|
14058
|
+
* eventFn : function(element, done, options) {
|
14059
|
+
* //code to run the animation
|
14060
|
+
* //once complete, then run done()
|
14061
|
+
* return function endFunction(wasCancelled) {
|
14062
|
+
* //code to cancel the animation
|
14063
|
+
* }
|
14064
|
+
* }
|
14065
|
+
* }
|
13883
14066
|
* ```
|
13884
14067
|
*
|
13885
|
-
* @param {string} name The name of the animation.
|
14068
|
+
* @param {string} name The name of the animation (this is what the class-based CSS value will be compared to).
|
13886
14069
|
* @param {Function} factory The factory function that will be executed to return the animation
|
13887
14070
|
* object.
|
13888
14071
|
*/
|
13889
14072
|
this.register = function(name, factory) {
|
14073
|
+
if (name && name.charAt(0) !== '.') {
|
14074
|
+
throw $animateMinErr('notcsel', "Expecting class selector starting with '.' got '{0}'.", name);
|
14075
|
+
}
|
14076
|
+
|
13890
14077
|
var key = name + '-animation';
|
13891
|
-
|
13892
|
-
"Expecting class selector starting with '.' got '{0}'.", name);
|
13893
|
-
this.$$selectors[name.substr(1)] = key;
|
14078
|
+
provider.$$registeredAnimations[name.substr(1)] = key;
|
13894
14079
|
$provide.factory(key, factory);
|
13895
14080
|
};
|
13896
14081
|
|
@@ -13901,8 +14086,8 @@ var $AnimateProvider = ['$provide', function($provide) {
|
|
13901
14086
|
* @description
|
13902
14087
|
* Sets and/or returns the CSS class regular expression that is checked when performing
|
13903
14088
|
* an animation. Upon bootstrap the classNameFilter value is not set at all and will
|
13904
|
-
* therefore enable $animate to attempt to perform an animation on any element.
|
13905
|
-
* When setting the classNameFilter value, animations will only be performed on elements
|
14089
|
+
* therefore enable $animate to attempt to perform an animation on any element that is triggered.
|
14090
|
+
* When setting the `classNameFilter` value, animations will only be performed on elements
|
13906
14091
|
* that successfully match the filter expression. This in turn can boost performance
|
13907
14092
|
* for low-powered devices as well as applications containing a lot of structural operations.
|
13908
14093
|
* @param {RegExp=} expression The className expression which will be checked against all animations
|
@@ -13915,98 +14100,48 @@ var $AnimateProvider = ['$provide', function($provide) {
|
|
13915
14100
|
return this.$$classNameFilter;
|
13916
14101
|
};
|
13917
14102
|
|
13918
|
-
this.$get = ['$$
|
13919
|
-
|
13920
|
-
|
13921
|
-
|
13922
|
-
|
13923
|
-
|
13924
|
-
|
13925
|
-
|
13926
|
-
|
13927
|
-
|
13928
|
-
$rootScope.$$postDigest(function ngAnimatePostDigest() {
|
13929
|
-
cancelFn = fn(function ngAnimateNotifyComplete() {
|
13930
|
-
defer.resolve();
|
13931
|
-
});
|
13932
|
-
});
|
13933
|
-
|
13934
|
-
return defer.promise;
|
13935
|
-
}
|
13936
|
-
|
13937
|
-
function resolveElementClasses(element, classes) {
|
13938
|
-
var toAdd = [], toRemove = [];
|
13939
|
-
|
13940
|
-
var hasClasses = createMap();
|
13941
|
-
forEach((element.attr('class') || '').split(/\s+/), function(className) {
|
13942
|
-
hasClasses[className] = true;
|
13943
|
-
});
|
13944
|
-
|
13945
|
-
forEach(classes, function(status, className) {
|
13946
|
-
var hasClass = hasClasses[className];
|
13947
|
-
|
13948
|
-
// If the most recent class manipulation (via $animate) was to remove the class, and the
|
13949
|
-
// element currently has the class, the class is scheduled for removal. Otherwise, if
|
13950
|
-
// the most recent class manipulation (via $animate) was to add the class, and the
|
13951
|
-
// element does not currently have the class, the class is scheduled to be added.
|
13952
|
-
if (status === false && hasClass) {
|
13953
|
-
toRemove.push(className);
|
13954
|
-
} else if (status === true && !hasClass) {
|
13955
|
-
toAdd.push(className);
|
14103
|
+
this.$get = ['$$animateQueue', function($$animateQueue) {
|
14104
|
+
function domInsert(element, parentElement, afterElement) {
|
14105
|
+
// if for some reason the previous element was removed
|
14106
|
+
// from the dom sometime before this code runs then let's
|
14107
|
+
// just stick to using the parent element as the anchor
|
14108
|
+
if (afterElement) {
|
14109
|
+
var afterNode = extractElementNode(afterElement);
|
14110
|
+
if (afterNode && !afterNode.parentNode && !afterNode.previousElementSibling) {
|
14111
|
+
afterElement = null;
|
13956
14112
|
}
|
13957
|
-
});
|
13958
|
-
|
13959
|
-
return (toAdd.length + toRemove.length) > 0 &&
|
13960
|
-
[toAdd.length ? toAdd : null, toRemove.length ? toRemove : null];
|
13961
|
-
}
|
13962
|
-
|
13963
|
-
function cachedClassManipulation(cache, classes, op) {
|
13964
|
-
for (var i=0, ii = classes.length; i < ii; ++i) {
|
13965
|
-
var className = classes[i];
|
13966
|
-
cache[className] = op;
|
13967
|
-
}
|
13968
|
-
}
|
13969
|
-
|
13970
|
-
function asyncPromise() {
|
13971
|
-
// only serve one instance of a promise in order to save CPU cycles
|
13972
|
-
if (!currentDefer) {
|
13973
|
-
currentDefer = $$q.defer();
|
13974
|
-
$$asyncCallback(function() {
|
13975
|
-
currentDefer.resolve();
|
13976
|
-
currentDefer = null;
|
13977
|
-
});
|
13978
|
-
}
|
13979
|
-
return currentDefer.promise;
|
13980
|
-
}
|
13981
|
-
|
13982
|
-
function applyStyles(element, options) {
|
13983
|
-
if (angular.isObject(options)) {
|
13984
|
-
var styles = extend(options.from || {}, options.to || {});
|
13985
|
-
element.css(styles);
|
13986
14113
|
}
|
14114
|
+
afterElement ? afterElement.after(element) : parentElement.prepend(element);
|
13987
14115
|
}
|
13988
14116
|
|
13989
14117
|
/**
|
13990
|
-
*
|
13991
14118
|
* @ngdoc service
|
13992
14119
|
* @name $animate
|
13993
|
-
* @description The $animate service
|
13994
|
-
*
|
13995
|
-
*
|
13996
|
-
*
|
14120
|
+
* @description The $animate service exposes a series of DOM utility methods that provide support
|
14121
|
+
* for animation hooks. The default behavior is the application of DOM operations, however,
|
14122
|
+
* when an animation is detected (and animations are enabled), $animate will do the heavy lifting
|
14123
|
+
* to ensure that animation runs with the triggered DOM operation.
|
14124
|
+
*
|
14125
|
+
* By default $animate doesn't trigger an animations. This is because the `ngAnimate` module isn't
|
14126
|
+
* included and only when it is active then the animation hooks that `$animate` triggers will be
|
14127
|
+
* functional. Once active then all structural `ng-` directives will trigger animations as they perform
|
14128
|
+
* their DOM-related operations (enter, leave and move). Other directives such as `ngClass`,
|
14129
|
+
* `ngShow`, `ngHide` and `ngMessages` also provide support for animations.
|
13997
14130
|
*
|
13998
|
-
*
|
13999
|
-
* to enable full out animation support. Otherwise, $animate will only perform simple DOM
|
14000
|
-
* manipulation operations.
|
14131
|
+
* It is recommended that the`$animate` service is always used when executing DOM-related procedures within directives.
|
14001
14132
|
*
|
14002
|
-
* To learn more about enabling animation support, click here to visit the
|
14003
|
-
*
|
14004
|
-
* page}.
|
14133
|
+
* To learn more about enabling animation support, click here to visit the
|
14134
|
+
* {@link ngAnimate ngAnimate module page}.
|
14005
14135
|
*/
|
14006
14136
|
return {
|
14007
|
-
|
14008
|
-
|
14009
|
-
|
14137
|
+
// we don't call it directly since non-existant arguments may
|
14138
|
+
// be interpreted as null within the sub enabled function
|
14139
|
+
on: $$animateQueue.on,
|
14140
|
+
off: $$animateQueue.off,
|
14141
|
+
enabled: $$animateQueue.enabled,
|
14142
|
+
|
14143
|
+
cancel: function(runner) {
|
14144
|
+
runner.cancel && runner.end();
|
14010
14145
|
},
|
14011
14146
|
|
14012
14147
|
/**
|
@@ -14014,193 +14149,172 @@ var $AnimateProvider = ['$provide', function($provide) {
|
|
14014
14149
|
* @ngdoc method
|
14015
14150
|
* @name $animate#enter
|
14016
14151
|
* @kind function
|
14017
|
-
* @description Inserts the element into the DOM either after the `after` element or
|
14018
|
-
*
|
14019
|
-
* is returned that will be resolved
|
14152
|
+
* @description Inserts the element into the DOM either after the `after` element (if provided) or
|
14153
|
+
* as the first child within the `parent` element and then triggers an animation.
|
14154
|
+
* A promise is returned that will be resolved during the next digest once the animation
|
14155
|
+
* has completed.
|
14156
|
+
*
|
14020
14157
|
* @param {DOMElement} element the element which will be inserted into the DOM
|
14021
14158
|
* @param {DOMElement} parent the parent element which will append the element as
|
14022
|
-
* a child (
|
14023
|
-
* @param {DOMElement} after the sibling element which will
|
14024
|
-
*
|
14025
|
-
*
|
14159
|
+
* a child (so long as the after element is not present)
|
14160
|
+
* @param {DOMElement=} after the sibling element after which the element will be appended
|
14161
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14162
|
+
*
|
14026
14163
|
* @return {Promise} the animation callback promise
|
14027
14164
|
*/
|
14028
14165
|
enter: function(element, parent, after, options) {
|
14029
|
-
|
14030
|
-
|
14031
|
-
|
14032
|
-
return asyncPromise();
|
14166
|
+
parent = parent || after.parent();
|
14167
|
+
domInsert(element, parent, after);
|
14168
|
+
return $$animateQueue.push(element, 'enter', options);
|
14033
14169
|
},
|
14034
14170
|
|
14035
14171
|
/**
|
14036
14172
|
*
|
14037
14173
|
* @ngdoc method
|
14038
|
-
* @name $animate#
|
14174
|
+
* @name $animate#move
|
14039
14175
|
* @kind function
|
14040
|
-
* @description
|
14041
|
-
*
|
14042
|
-
*
|
14043
|
-
*
|
14176
|
+
* @description Inserts (moves) the element into its new position in the DOM either after
|
14177
|
+
* the `after` element (if provided) or as the first child within the `parent` element
|
14178
|
+
* and then triggers an animation. A promise is returned that will be resolved
|
14179
|
+
* during the next digest once the animation has completed.
|
14180
|
+
*
|
14181
|
+
* @param {DOMElement} element the element which will be moved into the new DOM position
|
14182
|
+
* @param {DOMElement} parent the parent element which will append the element as
|
14183
|
+
* a child (so long as the after element is not present)
|
14184
|
+
* @param {DOMElement=} after the sibling element after which the element will be appended
|
14185
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14186
|
+
*
|
14044
14187
|
* @return {Promise} the animation callback promise
|
14045
14188
|
*/
|
14046
|
-
|
14047
|
-
|
14048
|
-
element
|
14049
|
-
return
|
14189
|
+
move: function(element, parent, after, options) {
|
14190
|
+
parent = parent || after.parent();
|
14191
|
+
domInsert(element, parent, after);
|
14192
|
+
return $$animateQueue.push(element, 'move', options);
|
14050
14193
|
},
|
14051
14194
|
|
14052
14195
|
/**
|
14053
|
-
*
|
14054
14196
|
* @ngdoc method
|
14055
|
-
* @name $animate#
|
14197
|
+
* @name $animate#leave
|
14056
14198
|
* @kind function
|
14057
|
-
* @description
|
14058
|
-
*
|
14059
|
-
*
|
14199
|
+
* @description Triggers an animation and then removes the element from the DOM.
|
14200
|
+
* When the function is called a promise is returned that will be resolved during the next
|
14201
|
+
* digest once the animation has completed.
|
14202
|
+
*
|
14203
|
+
* @param {DOMElement} element the element which will be removed from the DOM
|
14204
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14060
14205
|
*
|
14061
|
-
* @param {DOMElement} element the element which will be moved around within the
|
14062
|
-
* DOM
|
14063
|
-
* @param {DOMElement} parent the parent element where the element will be
|
14064
|
-
* inserted into (if the after element is not present)
|
14065
|
-
* @param {DOMElement} after the sibling element where the element will be
|
14066
|
-
* positioned next to
|
14067
|
-
* @param {object=} options an optional collection of options that will be applied to the element.
|
14068
14206
|
* @return {Promise} the animation callback promise
|
14069
14207
|
*/
|
14070
|
-
|
14071
|
-
|
14072
|
-
|
14073
|
-
|
14208
|
+
leave: function(element, options) {
|
14209
|
+
return $$animateQueue.push(element, 'leave', options, function() {
|
14210
|
+
element.remove();
|
14211
|
+
});
|
14074
14212
|
},
|
14075
14213
|
|
14076
14214
|
/**
|
14077
|
-
*
|
14078
14215
|
* @ngdoc method
|
14079
14216
|
* @name $animate#addClass
|
14080
14217
|
* @kind function
|
14081
|
-
*
|
14082
|
-
*
|
14083
|
-
*
|
14084
|
-
*
|
14085
|
-
*
|
14086
|
-
*
|
14218
|
+
*
|
14219
|
+
* @description Triggers an addClass animation surrounding the addition of the provided CSS class(es). Upon
|
14220
|
+
* execution, the addClass operation will only be handled after the next digest and it will not trigger an
|
14221
|
+
* animation if element already contains the CSS class or if the class is removed at a later step.
|
14222
|
+
* Note that class-based animations are treated differently compared to structural animations
|
14223
|
+
* (like enter, move and leave) since the CSS classes may be added/removed at different points
|
14224
|
+
* depending if CSS or JavaScript animations are used.
|
14225
|
+
*
|
14226
|
+
* @param {DOMElement} element the element which the CSS classes will be applied to
|
14227
|
+
* @param {string} className the CSS class(es) that will be added (multiple classes are separated via spaces)
|
14228
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14229
|
+
*
|
14087
14230
|
* @return {Promise} the animation callback promise
|
14088
14231
|
*/
|
14089
14232
|
addClass: function(element, className, options) {
|
14090
|
-
|
14091
|
-
|
14092
|
-
|
14093
|
-
$$addClassImmediately: function(element, className, options) {
|
14094
|
-
element = jqLite(element);
|
14095
|
-
className = !isString(className)
|
14096
|
-
? (isArray(className) ? className.join(' ') : '')
|
14097
|
-
: className;
|
14098
|
-
forEach(element, function(element) {
|
14099
|
-
jqLiteAddClass(element, className);
|
14100
|
-
});
|
14101
|
-
applyStyles(element, options);
|
14102
|
-
return asyncPromise();
|
14233
|
+
options = options || {};
|
14234
|
+
options.addClass = mergeClasses(options.addclass, className);
|
14235
|
+
return $$animateQueue.push(element, 'addClass', options);
|
14103
14236
|
},
|
14104
14237
|
|
14105
14238
|
/**
|
14106
|
-
*
|
14107
14239
|
* @ngdoc method
|
14108
14240
|
* @name $animate#removeClass
|
14109
14241
|
* @kind function
|
14110
|
-
*
|
14111
|
-
*
|
14112
|
-
*
|
14113
|
-
*
|
14114
|
-
*
|
14115
|
-
*
|
14242
|
+
*
|
14243
|
+
* @description Triggers a removeClass animation surrounding the removal of the provided CSS class(es). Upon
|
14244
|
+
* execution, the removeClass operation will only be handled after the next digest and it will not trigger an
|
14245
|
+
* animation if element does not contain the CSS class or if the class is added at a later step.
|
14246
|
+
* Note that class-based animations are treated differently compared to structural animations
|
14247
|
+
* (like enter, move and leave) since the CSS classes may be added/removed at different points
|
14248
|
+
* depending if CSS or JavaScript animations are used.
|
14249
|
+
*
|
14250
|
+
* @param {DOMElement} element the element which the CSS classes will be applied to
|
14251
|
+
* @param {string} className the CSS class(es) that will be removed (multiple classes are separated via spaces)
|
14252
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14253
|
+
*
|
14116
14254
|
* @return {Promise} the animation callback promise
|
14117
14255
|
*/
|
14118
14256
|
removeClass: function(element, className, options) {
|
14119
|
-
|
14120
|
-
|
14121
|
-
|
14122
|
-
$$removeClassImmediately: function(element, className, options) {
|
14123
|
-
element = jqLite(element);
|
14124
|
-
className = !isString(className)
|
14125
|
-
? (isArray(className) ? className.join(' ') : '')
|
14126
|
-
: className;
|
14127
|
-
forEach(element, function(element) {
|
14128
|
-
jqLiteRemoveClass(element, className);
|
14129
|
-
});
|
14130
|
-
applyStyles(element, options);
|
14131
|
-
return asyncPromise();
|
14257
|
+
options = options || {};
|
14258
|
+
options.removeClass = mergeClasses(options.removeClass, className);
|
14259
|
+
return $$animateQueue.push(element, 'removeClass', options);
|
14132
14260
|
},
|
14133
14261
|
|
14134
14262
|
/**
|
14135
|
-
*
|
14136
14263
|
* @ngdoc method
|
14137
14264
|
* @name $animate#setClass
|
14138
14265
|
* @kind function
|
14139
|
-
*
|
14140
|
-
*
|
14141
|
-
*
|
14142
|
-
*
|
14143
|
-
*
|
14144
|
-
*
|
14145
|
-
*
|
14266
|
+
*
|
14267
|
+
* @description Performs both the addition and removal of a CSS classes on an element and (during the process)
|
14268
|
+
* triggers an animation surrounding the class addition/removal. Much like `$animate.addClass` and
|
14269
|
+
* `$animate.removeClass`, `setClass` will only evaluate the classes being added/removed once a digest has
|
14270
|
+
* passed. Note that class-based animations are treated differently compared to structural animations
|
14271
|
+
* (like enter, move and leave) since the CSS classes may be added/removed at different points
|
14272
|
+
* depending if CSS or JavaScript animations are used.
|
14273
|
+
*
|
14274
|
+
* @param {DOMElement} element the element which the CSS classes will be applied to
|
14275
|
+
* @param {string} add the CSS class(es) that will be added (multiple classes are separated via spaces)
|
14276
|
+
* @param {string} remove the CSS class(es) that will be removed (multiple classes are separated via spaces)
|
14277
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14278
|
+
*
|
14146
14279
|
* @return {Promise} the animation callback promise
|
14147
14280
|
*/
|
14148
14281
|
setClass: function(element, add, remove, options) {
|
14149
|
-
|
14150
|
-
|
14151
|
-
|
14152
|
-
element
|
14153
|
-
|
14154
|
-
var cache = element.data(STORAGE_KEY);
|
14155
|
-
if (!cache) {
|
14156
|
-
cache = {
|
14157
|
-
classes: {},
|
14158
|
-
options: options
|
14159
|
-
};
|
14160
|
-
createdCache = true;
|
14161
|
-
} else if (options && cache.options) {
|
14162
|
-
cache.options = angular.extend(cache.options || {}, options);
|
14163
|
-
}
|
14164
|
-
|
14165
|
-
var classes = cache.classes;
|
14166
|
-
|
14167
|
-
add = isArray(add) ? add : add.split(' ');
|
14168
|
-
remove = isArray(remove) ? remove : remove.split(' ');
|
14169
|
-
cachedClassManipulation(classes, add, true);
|
14170
|
-
cachedClassManipulation(classes, remove, false);
|
14171
|
-
|
14172
|
-
if (createdCache) {
|
14173
|
-
cache.promise = runAnimationPostDigest(function(done) {
|
14174
|
-
var cache = element.data(STORAGE_KEY);
|
14175
|
-
element.removeData(STORAGE_KEY);
|
14176
|
-
|
14177
|
-
// in the event that the element is removed before postDigest
|
14178
|
-
// is run then the cache will be undefined and there will be
|
14179
|
-
// no need anymore to add or remove and of the element classes
|
14180
|
-
if (cache) {
|
14181
|
-
var classes = resolveElementClasses(element, cache.classes);
|
14182
|
-
if (classes) {
|
14183
|
-
self.$$setClassImmediately(element, classes[0], classes[1], cache.options);
|
14184
|
-
}
|
14185
|
-
}
|
14186
|
-
|
14187
|
-
done();
|
14188
|
-
});
|
14189
|
-
element.data(STORAGE_KEY, cache);
|
14190
|
-
}
|
14191
|
-
|
14192
|
-
return cache.promise;
|
14282
|
+
options = options || {};
|
14283
|
+
options.addClass = mergeClasses(options.addClass, add);
|
14284
|
+
options.removeClass = mergeClasses(options.removeClass, remove);
|
14285
|
+
return $$animateQueue.push(element, 'setClass', options);
|
14193
14286
|
},
|
14194
14287
|
|
14195
|
-
|
14196
|
-
|
14197
|
-
|
14198
|
-
|
14199
|
-
|
14200
|
-
|
14288
|
+
/**
|
14289
|
+
* @ngdoc method
|
14290
|
+
* @name $animate#animate
|
14291
|
+
* @kind function
|
14292
|
+
*
|
14293
|
+
* @description Performs an inline animation on the element which applies the provided to and from CSS styles to the element.
|
14294
|
+
* If any detected CSS transition, keyframe or JavaScript matches the provided className value then the animation will take
|
14295
|
+
* on the provided styles. For example, if a transition animation is set for the given className then the provided from and
|
14296
|
+
* to styles will be applied alongside the given transition. If a JavaScript animation is detected then the provided styles
|
14297
|
+
* will be given in as function paramters into the `animate` method (or as apart of the `options` parameter).
|
14298
|
+
*
|
14299
|
+
* @param {DOMElement} element the element which the CSS styles will be applied to
|
14300
|
+
* @param {object} from the from (starting) CSS styles that will be applied to the element and across the animation.
|
14301
|
+
* @param {object} to the to (destination) CSS styles that will be applied to the element and across the animation.
|
14302
|
+
* @param {string=} className an optional CSS class that will be applied to the element for the duration of the animation. If
|
14303
|
+
* this value is left as empty then a CSS class of `ng-inline-animate` will be applied to the element.
|
14304
|
+
* (Note that if no animation is detected then this value will not be appplied to the element.)
|
14305
|
+
* @param {object=} options an optional collection of options/styles that will be applied to the element
|
14306
|
+
*
|
14307
|
+
* @return {Promise} the animation callback promise
|
14308
|
+
*/
|
14309
|
+
animate: function(element, from, to, className, options) {
|
14310
|
+
options = options || {};
|
14311
|
+
options.from = options.from ? extend(options.from, from) : from;
|
14312
|
+
options.to = options.to ? extend(options.to, to) : to;
|
14201
14313
|
|
14202
|
-
|
14203
|
-
|
14314
|
+
className = className || 'ng-inline-animate';
|
14315
|
+
options.tempClasses = mergeClasses(options.tempClasses, className);
|
14316
|
+
return $$animateQueue.push(element, 'animate', options);
|
14317
|
+
}
|
14204
14318
|
};
|
14205
14319
|
}];
|
14206
14320
|
}];
|
@@ -14480,6 +14594,16 @@ function Browser(window, document, $log, $sniffer) {
|
|
14480
14594
|
return callback;
|
14481
14595
|
};
|
14482
14596
|
|
14597
|
+
/**
|
14598
|
+
* @private
|
14599
|
+
* Remove popstate and hashchange handler from window.
|
14600
|
+
*
|
14601
|
+
* NOTE: this api is intended for use only by $rootScope.
|
14602
|
+
*/
|
14603
|
+
self.$$applicationDestroyed = function() {
|
14604
|
+
jqLite(window).off('hashchange popstate', cacheStateAndFireUrlChange);
|
14605
|
+
};
|
14606
|
+
|
14483
14607
|
/**
|
14484
14608
|
* Checks whether the url has changed outside of Angular.
|
14485
14609
|
* Needs to be exported to be able to check for changes that have been done in sync,
|
@@ -15036,6 +15160,7 @@ function $TemplateCacheProvider() {
|
|
15036
15160
|
* scope: false,
|
15037
15161
|
* controller: function($scope, $element, $attrs, $transclude, otherInjectables) { ... },
|
15038
15162
|
* controllerAs: 'stringIdentifier',
|
15163
|
+
* bindToController: false,
|
15039
15164
|
* require: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'],
|
15040
15165
|
* compile: function compile(tElement, tAttrs, transclude) {
|
15041
15166
|
* return {
|
@@ -15355,9 +15480,15 @@ function $TemplateCacheProvider() {
|
|
15355
15480
|
* * `iAttrs` - instance attributes - Normalized list of attributes declared on this element shared
|
15356
15481
|
* between all directive linking functions.
|
15357
15482
|
*
|
15358
|
-
* * `controller` -
|
15359
|
-
*
|
15360
|
-
*
|
15483
|
+
* * `controller` - the directive's required controller instance(s) - Instances are shared
|
15484
|
+
* among all directives, which allows the directives to use the controllers as a communication
|
15485
|
+
* channel. The exact value depends on the directive's `require` property:
|
15486
|
+
* * `string`: the controller instance
|
15487
|
+
* * `array`: array of controller instances
|
15488
|
+
* * no controller(s) required: `undefined`
|
15489
|
+
*
|
15490
|
+
* If a required controller cannot be found, and it is optional, the instance is `null`,
|
15491
|
+
* otherwise the {@link error:$compile:ctreq Missing Required Controller} error is thrown.
|
15361
15492
|
*
|
15362
15493
|
* * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope.
|
15363
15494
|
* This is the same as the `$transclude`
|
@@ -15750,6 +15881,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
15750
15881
|
return bindings;
|
15751
15882
|
}
|
15752
15883
|
|
15884
|
+
function assertValidDirectiveName(name) {
|
15885
|
+
var letter = name.charAt(0);
|
15886
|
+
if (!letter || letter !== lowercase(letter)) {
|
15887
|
+
throw $compileMinErr('baddir', "Directive name '{0}' is invalid. The first character must be a lowercase letter", name);
|
15888
|
+
}
|
15889
|
+
}
|
15890
|
+
|
15753
15891
|
/**
|
15754
15892
|
* @ngdoc method
|
15755
15893
|
* @name $compileProvider#directive
|
@@ -15768,6 +15906,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
15768
15906
|
this.directive = function registerDirective(name, directiveFactory) {
|
15769
15907
|
assertNotHasOwnProperty(name, 'directive');
|
15770
15908
|
if (isString(name)) {
|
15909
|
+
assertValidDirectiveName(name);
|
15771
15910
|
assertArg(directiveFactory, 'directiveFactory');
|
15772
15911
|
if (!hasDirectives.hasOwnProperty(name)) {
|
15773
15912
|
hasDirectives[name] = [];
|
@@ -16938,13 +17077,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
|
|
16938
17077
|
for (i in elementControllers) {
|
16939
17078
|
controller = elementControllers[i];
|
16940
17079
|
var controllerResult = controller();
|
16941
|
-
if (controllerResult !== controller.instance
|
16942
|
-
|
16943
|
-
|
16944
|
-
|
16945
|
-
|
16946
|
-
|
16947
|
-
|
17080
|
+
if (controllerResult !== controller.instance) {
|
17081
|
+
controller.instance = controllerResult;
|
17082
|
+
$element.data('$' + directive.name + 'Controller', controllerResult);
|
17083
|
+
if (controller === controllerForBindings) {
|
17084
|
+
// Remove and re-install bindToController bindings
|
17085
|
+
thisLinkFn.$$destroyBindings();
|
17086
|
+
thisLinkFn.$$destroyBindings =
|
17087
|
+
initializeDirectiveBindings(scope, attrs, controllerResult, bindings, scopeDirective);
|
17088
|
+
}
|
16948
17089
|
}
|
16949
17090
|
}
|
16950
17091
|
}
|
@@ -17929,6 +18070,65 @@ var JSON_ENDS = {
|
|
17929
18070
|
};
|
17930
18071
|
var JSON_PROTECTION_PREFIX = /^\)\]\}',?\n/;
|
17931
18072
|
|
18073
|
+
function paramSerializerFactory(jQueryMode) {
|
18074
|
+
|
18075
|
+
function serializeValue(v) {
|
18076
|
+
if (isObject(v)) {
|
18077
|
+
return isDate(v) ? v.toISOString() : toJson(v);
|
18078
|
+
}
|
18079
|
+
return v;
|
18080
|
+
}
|
18081
|
+
|
18082
|
+
return function paramSerializer(params) {
|
18083
|
+
if (!params) return '';
|
18084
|
+
var parts = [];
|
18085
|
+
forEachSorted(params, function(value, key) {
|
18086
|
+
if (value === null || isUndefined(value)) return;
|
18087
|
+
if (isArray(value) || isObject(value) && jQueryMode) {
|
18088
|
+
forEach(value, function(v, k) {
|
18089
|
+
var keySuffix = jQueryMode ? '[' + (!isArray(value) ? k : '') + ']' : '';
|
18090
|
+
parts.push(encodeUriQuery(key + keySuffix) + '=' + encodeUriQuery(serializeValue(v)));
|
18091
|
+
});
|
18092
|
+
} else {
|
18093
|
+
parts.push(encodeUriQuery(key) + '=' + encodeUriQuery(serializeValue(value)));
|
18094
|
+
}
|
18095
|
+
});
|
18096
|
+
|
18097
|
+
return parts.length > 0 ? parts.join('&') : '';
|
18098
|
+
};
|
18099
|
+
}
|
18100
|
+
|
18101
|
+
function $HttpParamSerializerProvider() {
|
18102
|
+
/**
|
18103
|
+
* @ngdoc service
|
18104
|
+
* @name $httpParamSerializer
|
18105
|
+
* @description
|
18106
|
+
*
|
18107
|
+
* Default $http params serializer that converts objects to a part of a request URL
|
18108
|
+
* according to the following rules:
|
18109
|
+
* * `{'foo': 'bar'}` results in `foo=bar`
|
18110
|
+
* * `{'foo': Date.now()}` results in `foo=2015-04-01T09%3A50%3A49.262Z` (`toISOString()` and encoded representation of a Date object)
|
18111
|
+
* * `{'foo': ['bar', 'baz']}` results in `foo=bar&foo=baz` (repeated key for each array element)
|
18112
|
+
* * `{'foo': {'bar':'baz'}}` results in `foo=%7B%22bar%22%3A%22baz%22%7D"` (stringified and encoded representation of an object)
|
18113
|
+
* */
|
18114
|
+
this.$get = function() {
|
18115
|
+
return paramSerializerFactory(false);
|
18116
|
+
};
|
18117
|
+
}
|
18118
|
+
|
18119
|
+
function $HttpParamSerializerJQLikeProvider() {
|
18120
|
+
/**
|
18121
|
+
* @ngdoc service
|
18122
|
+
* @name $httpParamSerializerJQLike
|
18123
|
+
* @description
|
18124
|
+
*
|
18125
|
+
* Alternative $http params serializer that follows jQuerys `param()` method {http://api.jquery.com/jquery.param/} logic.
|
18126
|
+
* */
|
18127
|
+
this.$get = function() {
|
18128
|
+
return paramSerializerFactory(true);
|
18129
|
+
};
|
18130
|
+
}
|
18131
|
+
|
17932
18132
|
function defaultHttpResponseTransform(data, headers) {
|
17933
18133
|
if (isString(data)) {
|
17934
18134
|
// Strip json vulnerability protection prefix and trim whitespace
|
@@ -18073,6 +18273,11 @@ function $HttpProvider() {
|
|
18073
18273
|
* - **`defaults.headers.put`**
|
18074
18274
|
* - **`defaults.headers.patch`**
|
18075
18275
|
*
|
18276
|
+
* - **`defaults.paramSerializer`** - {string|function(Object<string,string>):string} - A function used to prepare string representation
|
18277
|
+
* of request parameters (specified as an object).
|
18278
|
+
* Is specified as string, it is interpreted as function registered in with the {$injector}.
|
18279
|
+
* Defaults to {$httpParamSerializer}.
|
18280
|
+
*
|
18076
18281
|
**/
|
18077
18282
|
var defaults = this.defaults = {
|
18078
18283
|
// transform incoming response data
|
@@ -18094,7 +18299,9 @@ function $HttpProvider() {
|
|
18094
18299
|
},
|
18095
18300
|
|
18096
18301
|
xsrfCookieName: 'XSRF-TOKEN',
|
18097
|
-
xsrfHeaderName: 'X-XSRF-TOKEN'
|
18302
|
+
xsrfHeaderName: 'X-XSRF-TOKEN',
|
18303
|
+
|
18304
|
+
paramSerializer: '$httpParamSerializer'
|
18098
18305
|
};
|
18099
18306
|
|
18100
18307
|
var useApplyAsync = false;
|
@@ -18108,7 +18315,7 @@ function $HttpProvider() {
|
|
18108
18315
|
* significant performance improvement for bigger applications that make many HTTP requests
|
18109
18316
|
* concurrently (common during application bootstrap).
|
18110
18317
|
*
|
18111
|
-
* Defaults to false. If no value is
|
18318
|
+
* Defaults to false. If no value is specified, returns the current configured value.
|
18112
18319
|
*
|
18113
18320
|
* @param {boolean=} value If true, when requests are loaded, they will schedule a deferred
|
18114
18321
|
* "apply" on the next tick, giving time for subsequent requests in a roughly ~10ms window
|
@@ -18145,6 +18352,12 @@ function $HttpProvider() {
|
|
18145
18352
|
|
18146
18353
|
var defaultCache = $cacheFactory('$http');
|
18147
18354
|
|
18355
|
+
/**
|
18356
|
+
* Make sure that default param serializer is exposed as a function
|
18357
|
+
*/
|
18358
|
+
defaults.paramSerializer = isString(defaults.paramSerializer) ?
|
18359
|
+
$injector.get(defaults.paramSerializer) : defaults.paramSerializer;
|
18360
|
+
|
18148
18361
|
/**
|
18149
18362
|
* Interceptors stored in reverse order. Inner interceptors before outer interceptors.
|
18150
18363
|
* The reversal is needed so that we can build up the interception chain around the
|
@@ -18297,7 +18510,7 @@ function $HttpProvider() {
|
|
18297
18510
|
* headers: {
|
18298
18511
|
* 'Content-Type': undefined
|
18299
18512
|
* },
|
18300
|
-
* data: { test: 'test' }
|
18513
|
+
* data: { test: 'test' }
|
18301
18514
|
* }
|
18302
18515
|
*
|
18303
18516
|
* $http(req).success(function(){...}).error(function(){...});
|
@@ -18556,6 +18769,9 @@ function $HttpProvider() {
|
|
18556
18769
|
* response body, headers and status and returns its transformed (typically deserialized) version.
|
18557
18770
|
* See {@link ng.$http#overriding-the-default-transformations-per-request
|
18558
18771
|
* Overriding the Default Transformations}
|
18772
|
+
* - **paramSerializer** - {string|function(Object<string,string>):string} - A function used to prepare string representation
|
18773
|
+
* of request parameters (specified as an object).
|
18774
|
+
* Is specified as string, it is interpreted as function registered in with the {$injector}.
|
18559
18775
|
* - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the
|
18560
18776
|
* GET request, otherwise if a cache instance built with
|
18561
18777
|
* {@link ng.$cacheFactory $cacheFactory}, this cache will be used for
|
@@ -18684,11 +18900,14 @@ function $HttpProvider() {
|
|
18684
18900
|
var config = extend({
|
18685
18901
|
method: 'get',
|
18686
18902
|
transformRequest: defaults.transformRequest,
|
18687
|
-
transformResponse: defaults.transformResponse
|
18903
|
+
transformResponse: defaults.transformResponse,
|
18904
|
+
paramSerializer: defaults.paramSerializer
|
18688
18905
|
}, requestConfig);
|
18689
18906
|
|
18690
18907
|
config.headers = mergeHeaders(requestConfig);
|
18691
18908
|
config.method = uppercase(config.method);
|
18909
|
+
config.paramSerializer = isString(config.paramSerializer) ?
|
18910
|
+
$injector.get(config.paramSerializer) : config.paramSerializer;
|
18692
18911
|
|
18693
18912
|
var serverRequest = function(config) {
|
18694
18913
|
var headers = config.headers;
|
@@ -18732,6 +18951,8 @@ function $HttpProvider() {
|
|
18732
18951
|
}
|
18733
18952
|
|
18734
18953
|
promise.success = function(fn) {
|
18954
|
+
assertArgFn(fn, 'fn');
|
18955
|
+
|
18735
18956
|
promise.then(function(response) {
|
18736
18957
|
fn(response.data, response.status, response.headers, config);
|
18737
18958
|
});
|
@@ -18739,6 +18960,8 @@ function $HttpProvider() {
|
|
18739
18960
|
};
|
18740
18961
|
|
18741
18962
|
promise.error = function(fn) {
|
18963
|
+
assertArgFn(fn, 'fn');
|
18964
|
+
|
18742
18965
|
promise.then(null, function(response) {
|
18743
18966
|
fn(response.data, response.status, response.headers, config);
|
18744
18967
|
});
|
@@ -18948,7 +19171,7 @@ function $HttpProvider() {
|
|
18948
19171
|
cache,
|
18949
19172
|
cachedResp,
|
18950
19173
|
reqHeaders = config.headers,
|
18951
|
-
url = buildUrl(config.url, config.params);
|
19174
|
+
url = buildUrl(config.url, config.paramSerializer(config.params));
|
18952
19175
|
|
18953
19176
|
$http.pendingRequests.push(config);
|
18954
19177
|
promise.then(removePendingReq, removePendingReq);
|
@@ -19055,27 +19278,9 @@ function $HttpProvider() {
|
|
19055
19278
|
}
|
19056
19279
|
|
19057
19280
|
|
19058
|
-
function buildUrl(url,
|
19059
|
-
if (
|
19060
|
-
|
19061
|
-
forEachSorted(params, function(value, key) {
|
19062
|
-
if (value === null || isUndefined(value)) return;
|
19063
|
-
if (!isArray(value)) value = [value];
|
19064
|
-
|
19065
|
-
forEach(value, function(v) {
|
19066
|
-
if (isObject(v)) {
|
19067
|
-
if (isDate(v)) {
|
19068
|
-
v = v.toISOString();
|
19069
|
-
} else {
|
19070
|
-
v = toJson(v);
|
19071
|
-
}
|
19072
|
-
}
|
19073
|
-
parts.push(encodeUriQuery(key) + '=' +
|
19074
|
-
encodeUriQuery(v));
|
19075
|
-
});
|
19076
|
-
});
|
19077
|
-
if (parts.length > 0) {
|
19078
|
-
url += ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&');
|
19281
|
+
function buildUrl(url, serializedParams) {
|
19282
|
+
if (serializedParams.length > 0) {
|
19283
|
+
url += ((url.indexOf('?') == -1) ? '?' : '&') + serializedParams;
|
19079
19284
|
}
|
19080
19285
|
return url;
|
19081
19286
|
}
|
@@ -19219,7 +19424,7 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc
|
|
19219
19424
|
};
|
19220
19425
|
|
19221
19426
|
function jsonpReq(url, callbackId, done) {
|
19222
|
-
// we can't use jQuery/jqLite here because jQuery does crazy
|
19427
|
+
// we can't use jQuery/jqLite here because jQuery does crazy stuff with script elements, e.g.:
|
19223
19428
|
// - fetches local scripts via XHR and evals them
|
19224
19429
|
// - adds and immediately removes script elements from the document
|
19225
19430
|
var script = rawDocument.createElement('script'), callback = null;
|
@@ -19255,7 +19460,17 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc
|
|
19255
19460
|
}
|
19256
19461
|
}
|
19257
19462
|
|
19258
|
-
var $interpolateMinErr = minErr('$interpolate');
|
19463
|
+
var $interpolateMinErr = angular.$interpolateMinErr = minErr('$interpolate');
|
19464
|
+
$interpolateMinErr.throwNoconcat = function(text) {
|
19465
|
+
throw $interpolateMinErr('noconcat',
|
19466
|
+
"Error while interpolating: {0}\nStrict Contextual Escaping disallows " +
|
19467
|
+
"interpolations that concatenate multiple expressions when a trusted value is " +
|
19468
|
+
"required. See http://docs.angularjs.org/api/ng.$sce", text);
|
19469
|
+
};
|
19470
|
+
|
19471
|
+
$interpolateMinErr.interr = function(text, err) {
|
19472
|
+
return $interpolateMinErr('interr', "Can't interpolate: {0}\n{1}", text, err.toString());
|
19473
|
+
};
|
19259
19474
|
|
19260
19475
|
/**
|
19261
19476
|
* @ngdoc provider
|
@@ -19499,10 +19714,7 @@ function $InterpolateProvider() {
|
|
19499
19714
|
// make it obvious that you bound the value to some user controlled value. This helps reduce
|
19500
19715
|
// the load when auditing for XSS issues.
|
19501
19716
|
if (trustedContext && concat.length > 1) {
|
19502
|
-
|
19503
|
-
"Error while interpolating: {0}\nStrict Contextual Escaping disallows " +
|
19504
|
-
"interpolations that concatenate multiple expressions when a trusted value is " +
|
19505
|
-
"required. See http://docs.angularjs.org/api/ng.$sce", text);
|
19717
|
+
$interpolateMinErr.throwNoconcat(text);
|
19506
19718
|
}
|
19507
19719
|
|
19508
19720
|
if (!mustHaveExpression || expressions.length) {
|
@@ -19532,9 +19744,7 @@ function $InterpolateProvider() {
|
|
19532
19744
|
|
19533
19745
|
return compute(values);
|
19534
19746
|
} catch (err) {
|
19535
|
-
|
19536
|
-
err.toString());
|
19537
|
-
$exceptionHandler(newErr);
|
19747
|
+
$exceptionHandler($interpolateMinErr.interr(text, err));
|
19538
19748
|
}
|
19539
19749
|
|
19540
19750
|
}, {
|
@@ -19559,9 +19769,7 @@ function $InterpolateProvider() {
|
|
19559
19769
|
value = getValue(value);
|
19560
19770
|
return allOrNothing && !isDefined(value) ? value : stringify(value);
|
19561
19771
|
} catch (err) {
|
19562
|
-
|
19563
|
-
err.toString());
|
19564
|
-
$exceptionHandler(newErr);
|
19772
|
+
$exceptionHandler($interpolateMinErr.interr(text, err));
|
19565
19773
|
}
|
19566
19774
|
}
|
19567
19775
|
}
|
@@ -21785,7 +21993,7 @@ ASTCompiler.prototype = {
|
|
21785
21993
|
self.state.computing = fnKey;
|
21786
21994
|
var intoId = self.nextId();
|
21787
21995
|
self.recurse(watch, intoId);
|
21788
|
-
self.
|
21996
|
+
self.return_(intoId);
|
21789
21997
|
self.state.inputs.push(fnKey);
|
21790
21998
|
watch.watchId = key;
|
21791
21999
|
});
|
@@ -21872,7 +22080,7 @@ ASTCompiler.prototype = {
|
|
21872
22080
|
recursionFn = recursionFn || noop;
|
21873
22081
|
if (!skipWatchIdCheck && isDefined(ast.watchId)) {
|
21874
22082
|
intoId = intoId || this.nextId();
|
21875
|
-
this.
|
22083
|
+
this.if_('i',
|
21876
22084
|
this.lazyAssign(intoId, this.computedMember('i', ast.watchId)),
|
21877
22085
|
this.lazyRecurse(ast, intoId, nameId, recursionFn, create, true)
|
21878
22086
|
);
|
@@ -21885,7 +22093,7 @@ ASTCompiler.prototype = {
|
|
21885
22093
|
if (pos !== ast.body.length - 1) {
|
21886
22094
|
self.current().body.push(right, ';');
|
21887
22095
|
} else {
|
21888
|
-
self.
|
22096
|
+
self.return_(right);
|
21889
22097
|
}
|
21890
22098
|
});
|
21891
22099
|
break;
|
@@ -21916,13 +22124,13 @@ ASTCompiler.prototype = {
|
|
21916
22124
|
case AST.LogicalExpression:
|
21917
22125
|
intoId = intoId || this.nextId();
|
21918
22126
|
self.recurse(ast.left, intoId);
|
21919
|
-
self.
|
22127
|
+
self.if_(ast.operator === '&&' ? intoId : self.not(intoId), self.lazyRecurse(ast.right, intoId));
|
21920
22128
|
recursionFn(intoId);
|
21921
22129
|
break;
|
21922
22130
|
case AST.ConditionalExpression:
|
21923
22131
|
intoId = intoId || this.nextId();
|
21924
22132
|
self.recurse(ast.test, intoId);
|
21925
|
-
self.
|
22133
|
+
self.if_(intoId, self.lazyRecurse(ast.alternate, intoId), self.lazyRecurse(ast.consequent, intoId));
|
21926
22134
|
recursionFn(intoId);
|
21927
22135
|
break;
|
21928
22136
|
case AST.Identifier:
|
@@ -21933,11 +22141,11 @@ ASTCompiler.prototype = {
|
|
21933
22141
|
nameId.name = ast.name;
|
21934
22142
|
}
|
21935
22143
|
ensureSafeMemberName(ast.name);
|
21936
|
-
self.
|
22144
|
+
self.if_(self.stage === 'inputs' || self.not(self.getHasOwnProperty('l', ast.name)),
|
21937
22145
|
function() {
|
21938
|
-
self.
|
22146
|
+
self.if_(self.stage === 'inputs' || 's', function() {
|
21939
22147
|
if (create && create !== 1) {
|
21940
|
-
self.
|
22148
|
+
self.if_(
|
21941
22149
|
self.not(self.nonComputedMember('s', ast.name)),
|
21942
22150
|
self.lazyAssign(self.nonComputedMember('s', ast.name), '{}'));
|
21943
22151
|
}
|
@@ -21954,13 +22162,13 @@ ASTCompiler.prototype = {
|
|
21954
22162
|
left = nameId && (nameId.context = this.nextId()) || this.nextId();
|
21955
22163
|
intoId = intoId || this.nextId();
|
21956
22164
|
self.recurse(ast.object, left, undefined, function() {
|
21957
|
-
self.
|
22165
|
+
self.if_(self.notNull(left), function() {
|
21958
22166
|
if (ast.computed) {
|
21959
22167
|
right = self.nextId();
|
21960
22168
|
self.recurse(ast.property, right);
|
21961
22169
|
self.addEnsureSafeMemberName(right);
|
21962
22170
|
if (create && create !== 1) {
|
21963
|
-
self.
|
22171
|
+
self.if_(self.not(self.computedMember(left, right)), self.lazyAssign(self.computedMember(left, right), '{}'));
|
21964
22172
|
}
|
21965
22173
|
expression = self.ensureSafeObject(self.computedMember(left, right));
|
21966
22174
|
self.assign(intoId, expression);
|
@@ -21971,7 +22179,7 @@ ASTCompiler.prototype = {
|
|
21971
22179
|
} else {
|
21972
22180
|
ensureSafeMemberName(ast.property.name);
|
21973
22181
|
if (create && create !== 1) {
|
21974
|
-
self.
|
22182
|
+
self.if_(self.not(self.nonComputedMember(left, ast.property.name)), self.lazyAssign(self.nonComputedMember(left, ast.property.name), '{}'));
|
21975
22183
|
}
|
21976
22184
|
expression = self.nonComputedMember(left, ast.property.name);
|
21977
22185
|
if (self.state.expensiveChecks || isPossiblyDangerousMemberName(ast.property.name)) {
|
@@ -22005,7 +22213,7 @@ ASTCompiler.prototype = {
|
|
22005
22213
|
left = {};
|
22006
22214
|
args = [];
|
22007
22215
|
self.recurse(ast.callee, right, left, function() {
|
22008
|
-
self.
|
22216
|
+
self.if_(self.notNull(right), function() {
|
22009
22217
|
self.addEnsureSafeFunction(right);
|
22010
22218
|
forEach(ast.arguments, function(expr) {
|
22011
22219
|
self.recurse(expr, self.nextId(), undefined, function(argument) {
|
@@ -22034,7 +22242,7 @@ ASTCompiler.prototype = {
|
|
22034
22242
|
throw $parseMinErr('lval', 'Trying to assing a value to a non l-value');
|
22035
22243
|
}
|
22036
22244
|
this.recurse(ast.left, undefined, left, function() {
|
22037
|
-
self.
|
22245
|
+
self.if_(self.notNull(left.context), function() {
|
22038
22246
|
self.recurse(ast.right, right);
|
22039
22247
|
self.addEnsureSafeObject(self.member(left.context, left.name, left.computed));
|
22040
22248
|
expression = self.member(left.context, left.name, left.computed) + ast.operator + right;
|
@@ -22109,11 +22317,11 @@ ASTCompiler.prototype = {
|
|
22109
22317
|
return 'plus(' + left + ',' + right + ')';
|
22110
22318
|
},
|
22111
22319
|
|
22112
|
-
|
22320
|
+
return_: function(id) {
|
22113
22321
|
this.current().body.push('return ', id, ';');
|
22114
22322
|
},
|
22115
22323
|
|
22116
|
-
|
22324
|
+
if_: function(test, alternate, consequent) {
|
22117
22325
|
if (test === true) {
|
22118
22326
|
alternate();
|
22119
22327
|
} else {
|
@@ -24376,13 +24584,17 @@ function $RootScopeProvider() {
|
|
24376
24584
|
* clean up DOM bindings before an element is removed from the DOM.
|
24377
24585
|
*/
|
24378
24586
|
$destroy: function() {
|
24379
|
-
//
|
24587
|
+
// We can't destroy a scope that has been already destroyed.
|
24380
24588
|
if (this.$$destroyed) return;
|
24381
24589
|
var parent = this.$parent;
|
24382
24590
|
|
24383
24591
|
this.$broadcast('$destroy');
|
24384
24592
|
this.$$destroyed = true;
|
24385
|
-
|
24593
|
+
|
24594
|
+
if (this === $rootScope) {
|
24595
|
+
//Remove handlers attached to window when $rootScope is removed
|
24596
|
+
$browser.$$applicationDestroyed();
|
24597
|
+
}
|
24386
24598
|
|
24387
24599
|
incrementWatchersCount(this, -this.$$watchersCount);
|
24388
24600
|
for (var eventName in this.$$listenerCount) {
|
@@ -24391,8 +24603,8 @@ function $RootScopeProvider() {
|
|
24391
24603
|
|
24392
24604
|
// sever all the references to parent scopes (after this cleanup, the current scope should
|
24393
24605
|
// not be retained by any of our references and should be eligible for garbage collection)
|
24394
|
-
if (parent.$$childHead == this) parent.$$childHead = this.$$nextSibling;
|
24395
|
-
if (parent.$$childTail == this) parent.$$childTail = this.$$prevSibling;
|
24606
|
+
if (parent && parent.$$childHead == this) parent.$$childHead = this.$$nextSibling;
|
24607
|
+
if (parent && parent.$$childTail == this) parent.$$childTail = this.$$prevSibling;
|
24396
24608
|
if (this.$$prevSibling) this.$$prevSibling.$$nextSibling = this.$$nextSibling;
|
24397
24609
|
if (this.$$nextSibling) this.$$nextSibling.$$prevSibling = this.$$prevSibling;
|
24398
24610
|
|
@@ -26496,7 +26708,7 @@ function $WindowProvider() {
|
|
26496
26708
|
* @return {Object} a key/value map of the current cookies
|
26497
26709
|
*/
|
26498
26710
|
function $$CookieReader($document) {
|
26499
|
-
var rawDocument = $document[0];
|
26711
|
+
var rawDocument = $document[0] || {};
|
26500
26712
|
var lastCookies = {};
|
26501
26713
|
var lastCookieString = '';
|
26502
26714
|
|
@@ -26510,9 +26722,10 @@ function $$CookieReader($document) {
|
|
26510
26722
|
|
26511
26723
|
return function() {
|
26512
26724
|
var cookieArray, cookie, i, index, name;
|
26725
|
+
var currentCookieString = rawDocument.cookie || '';
|
26513
26726
|
|
26514
|
-
if (
|
26515
|
-
lastCookieString =
|
26727
|
+
if (currentCookieString !== lastCookieString) {
|
26728
|
+
lastCookieString = currentCookieString;
|
26516
26729
|
cookieArray = lastCookieString.split('; ');
|
26517
26730
|
lastCookies = {};
|
26518
26731
|
|
@@ -26560,6 +26773,13 @@ function $$CookieReaderProvider() {
|
|
26560
26773
|
* Dependency Injected. To achieve this a filter definition consists of a factory function which is
|
26561
26774
|
* annotated with dependencies and is responsible for creating a filter function.
|
26562
26775
|
*
|
26776
|
+
* <div class="alert alert-warning">
|
26777
|
+
* **Note:** Filter names must be valid angular {@link expression} identifiers, such as `uppercase` or `orderBy`.
|
26778
|
+
* Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace
|
26779
|
+
* your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores
|
26780
|
+
* (`myapp_subsection_filterx`).
|
26781
|
+
* </div>
|
26782
|
+
*
|
26563
26783
|
* ```js
|
26564
26784
|
* // Filter registration
|
26565
26785
|
* function MyModule($provide, $filterProvider) {
|
@@ -26641,6 +26861,13 @@ function $FilterProvider($provide) {
|
|
26641
26861
|
* @name $filterProvider#register
|
26642
26862
|
* @param {string|Object} name Name of the filter function, or an object map of filters where
|
26643
26863
|
* the keys are the filter names and the values are the filter factories.
|
26864
|
+
*
|
26865
|
+
* <div class="alert alert-warning">
|
26866
|
+
* **Note:** Filter names must be valid angular {@link expression} identifiers, such as `uppercase` or `orderBy`.
|
26867
|
+
* Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace
|
26868
|
+
* your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores
|
26869
|
+
* (`myapp_subsection_filterx`).
|
26870
|
+
* </div>
|
26644
26871
|
* @returns {Object} Registered filter instance, or if a map of filters was provided then a map
|
26645
26872
|
* of the registered filter instances.
|
26646
26873
|
*/
|
@@ -26823,14 +27050,16 @@ function filterFilter() {
|
|
26823
27050
|
}
|
26824
27051
|
}
|
26825
27052
|
|
27053
|
+
var expressionType = getTypeForFilter(expression);
|
26826
27054
|
var predicateFn;
|
26827
27055
|
var matchAgainstAnyProp;
|
26828
27056
|
|
26829
|
-
switch (
|
27057
|
+
switch (expressionType) {
|
26830
27058
|
case 'function':
|
26831
27059
|
predicateFn = expression;
|
26832
27060
|
break;
|
26833
27061
|
case 'boolean':
|
27062
|
+
case 'null':
|
26834
27063
|
case 'number':
|
26835
27064
|
case 'string':
|
26836
27065
|
matchAgainstAnyProp = true;
|
@@ -26860,6 +27089,14 @@ function createPredicateFn(expression, comparator, matchAgainstAnyProp) {
|
|
26860
27089
|
comparator = equals;
|
26861
27090
|
} else if (!isFunction(comparator)) {
|
26862
27091
|
comparator = function(actual, expected) {
|
27092
|
+
if (isUndefined(actual)) {
|
27093
|
+
// No substring matching against `undefined`
|
27094
|
+
return false;
|
27095
|
+
}
|
27096
|
+
if ((actual === null) || (expected === null)) {
|
27097
|
+
// No substring matching against `null`; only match against `null`
|
27098
|
+
return actual === expected;
|
27099
|
+
}
|
26863
27100
|
if (isObject(expected) || (isObject(actual) && !hasCustomToString(actual))) {
|
26864
27101
|
// Should not compare primitives against objects, unless they have custom `toString` method
|
26865
27102
|
return false;
|
@@ -26882,8 +27119,8 @@ function createPredicateFn(expression, comparator, matchAgainstAnyProp) {
|
|
26882
27119
|
}
|
26883
27120
|
|
26884
27121
|
function deepCompare(actual, expected, comparator, matchAgainstAnyProp, dontMatchWholeObject) {
|
26885
|
-
var actualType = (actual
|
26886
|
-
var expectedType = (expected
|
27122
|
+
var actualType = getTypeForFilter(actual);
|
27123
|
+
var expectedType = getTypeForFilter(expected);
|
26887
27124
|
|
26888
27125
|
if ((expectedType === 'string') && (expected.charAt(0) === '!')) {
|
26889
27126
|
return !deepCompare(actual, expected.substring(1), comparator, matchAgainstAnyProp);
|
@@ -26930,6 +27167,11 @@ function deepCompare(actual, expected, comparator, matchAgainstAnyProp, dontMatc
|
|
26930
27167
|
}
|
26931
27168
|
}
|
26932
27169
|
|
27170
|
+
// Used for easily differentiating between `null` and actual `object`
|
27171
|
+
function getTypeForFilter(val) {
|
27172
|
+
return (val === null) ? 'null' : typeof val;
|
27173
|
+
}
|
27174
|
+
|
26933
27175
|
/**
|
26934
27176
|
* @ngdoc filter
|
26935
27177
|
* @name currency
|
@@ -27641,7 +27883,7 @@ function limitToFilter() {
|
|
27641
27883
|
* Can be one of:
|
27642
27884
|
*
|
27643
27885
|
* - `function`: Getter function. The result of this function will be sorted using the
|
27644
|
-
* `<`,
|
27886
|
+
* `<`, `===`, `>` operator.
|
27645
27887
|
* - `string`: An Angular expression. The result of this expression is used to compare elements
|
27646
27888
|
* (for example `name` to sort by a property called `name` or `name.substr(0, 3)` to sort by
|
27647
27889
|
* 3 first characters of a property called `name`). The result of a constant expression
|
@@ -29456,7 +29698,11 @@ var inputType = {
|
|
29456
29698
|
* Text input with number validation and transformation. Sets the `number` validation
|
29457
29699
|
* error if not a valid number.
|
29458
29700
|
*
|
29459
|
-
*
|
29701
|
+
* <div class="alert alert-warning">
|
29702
|
+
* The model must always be of type `number` otherwise Angular will throw an error.
|
29703
|
+
* Be aware that a string containing a number is not enough. See the {@link ngModel:numfmt}
|
29704
|
+
* error docs for more information and an example of how to convert your model if necessary.
|
29705
|
+
* </div>
|
29460
29706
|
*
|
29461
29707
|
* @param {string} ngModel Assignable angular expression to data-bind to.
|
29462
29708
|
* @param {string=} name Property name of the form under which the control is published.
|
@@ -30869,12 +31115,15 @@ function classDirective(name, selector) {
|
|
30869
31115
|
}
|
30870
31116
|
|
30871
31117
|
function arrayClasses(classVal) {
|
31118
|
+
var classes = [];
|
30872
31119
|
if (isArray(classVal)) {
|
30873
|
-
|
31120
|
+
forEach(classVal, function(v) {
|
31121
|
+
classes = classes.concat(arrayClasses(v));
|
31122
|
+
});
|
31123
|
+
return classes;
|
30874
31124
|
} else if (isString(classVal)) {
|
30875
31125
|
return classVal.split(' ');
|
30876
31126
|
} else if (isObject(classVal)) {
|
30877
|
-
var classes = [];
|
30878
31127
|
forEach(classVal, function(v, k) {
|
30879
31128
|
if (v) {
|
30880
31129
|
classes = classes.concat(k.split(' '));
|
@@ -30902,16 +31151,18 @@ function classDirective(name, selector) {
|
|
30902
31151
|
* 1. If the expression evaluates to a string, the string should be one or more space-delimited class
|
30903
31152
|
* names.
|
30904
31153
|
*
|
30905
|
-
* 2. If the expression evaluates to an
|
30906
|
-
* one or more space-delimited class names.
|
30907
|
-
*
|
30908
|
-
* 3. If the expression evaluates to an object, then for each key-value pair of the
|
31154
|
+
* 2. If the expression evaluates to an object, then for each key-value pair of the
|
30909
31155
|
* object with a truthy value the corresponding key is used as a class name.
|
30910
31156
|
*
|
31157
|
+
* 3. If the expression evaluates to an array, each element of the array should either be a string as in
|
31158
|
+
* type 1 or an object as in type 2. This means that you can mix strings and objects together in an array
|
31159
|
+
* to give you more control over what CSS classes appear. See the code below for an example of this.
|
31160
|
+
*
|
31161
|
+
*
|
30911
31162
|
* The directive won't add duplicate classes if a particular class was already set.
|
30912
31163
|
*
|
30913
|
-
* When the expression changes, the previously added classes are removed and only then the
|
30914
|
-
* new classes
|
31164
|
+
* When the expression changes, the previously added classes are removed and only then are the
|
31165
|
+
* new classes added.
|
30915
31166
|
*
|
30916
31167
|
* @animations
|
30917
31168
|
* **add** - happens just before the class is applied to the elements
|
@@ -30940,10 +31191,14 @@ function classDirective(name, selector) {
|
|
30940
31191
|
<input ng-model="style1" placeholder="Type: bold, strike or red"><br>
|
30941
31192
|
<input ng-model="style2" placeholder="Type: bold, strike or red"><br>
|
30942
31193
|
<input ng-model="style3" placeholder="Type: bold, strike or red"><br>
|
31194
|
+
<hr>
|
31195
|
+
<p ng-class="[style4, {orange: warning}]">Using Array and Map Syntax</p>
|
31196
|
+
<input ng-model="style4" placeholder="Type: bold, strike"><br>
|
31197
|
+
<input type="checkbox" ng-model="warning"> warning (apply "orange" class)
|
30943
31198
|
</file>
|
30944
31199
|
<file name="style.css">
|
30945
31200
|
.strike {
|
30946
|
-
|
31201
|
+
text-decoration: line-through;
|
30947
31202
|
}
|
30948
31203
|
.bold {
|
30949
31204
|
font-weight: bold;
|
@@ -30951,6 +31206,9 @@ function classDirective(name, selector) {
|
|
30951
31206
|
.red {
|
30952
31207
|
color: red;
|
30953
31208
|
}
|
31209
|
+
.orange {
|
31210
|
+
color: orange;
|
31211
|
+
}
|
30954
31212
|
</file>
|
30955
31213
|
<file name="protractor.js" type="protractor">
|
30956
31214
|
var ps = element.all(by.css('p'));
|
@@ -30975,11 +31233,18 @@ function classDirective(name, selector) {
|
|
30975
31233
|
});
|
30976
31234
|
|
30977
31235
|
it('array example should have 3 classes', function() {
|
30978
|
-
expect(ps.
|
31236
|
+
expect(ps.get(2).getAttribute('class')).toBe('');
|
30979
31237
|
element(by.model('style1')).sendKeys('bold');
|
30980
31238
|
element(by.model('style2')).sendKeys('strike');
|
30981
31239
|
element(by.model('style3')).sendKeys('red');
|
30982
|
-
expect(ps.
|
31240
|
+
expect(ps.get(2).getAttribute('class')).toBe('bold strike red');
|
31241
|
+
});
|
31242
|
+
|
31243
|
+
it('array with map example should have 2 classes', function() {
|
31244
|
+
expect(ps.last().getAttribute('class')).toBe('');
|
31245
|
+
element(by.model('style4')).sendKeys('bold');
|
31246
|
+
element(by.model('warning')).click();
|
31247
|
+
expect(ps.last().getAttribute('class')).toBe('bold orange');
|
30983
31248
|
});
|
30984
31249
|
</file>
|
30985
31250
|
</example>
|
@@ -31029,8 +31294,8 @@ function classDirective(name, selector) {
|
|
31029
31294
|
The ngClass directive still supports CSS3 Transitions/Animations even if they do not follow the ngAnimate CSS naming structure.
|
31030
31295
|
Upon animation ngAnimate will apply supplementary CSS classes to track the start and end of an animation, but this will not hinder
|
31031
31296
|
any pre-existing CSS transitions already on the element. To get an idea of what happens during a class-based animation, be sure
|
31032
|
-
to view the step by step details of {@link
|
31033
|
-
{@link
|
31297
|
+
to view the step by step details of {@link $animate#addClass $animate.addClass} and
|
31298
|
+
{@link $animate#removeClass $animate.removeClass}.
|
31034
31299
|
*/
|
31035
31300
|
var ngClassDirective = classDirective('', true);
|
31036
31301
|
|
@@ -33506,7 +33771,10 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$
|
|
33506
33771
|
|
33507
33772
|
// if scope model value and ngModel value are out of sync
|
33508
33773
|
// TODO(perf): why not move this to the action fn?
|
33509
|
-
if (modelValue !== ctrl.$modelValue
|
33774
|
+
if (modelValue !== ctrl.$modelValue &&
|
33775
|
+
// checks for NaN is needed to allow setting the model to NaN when there's an asyncValidator
|
33776
|
+
(ctrl.$modelValue === ctrl.$modelValue || modelValue === modelValue)
|
33777
|
+
) {
|
33510
33778
|
ctrl.$modelValue = ctrl.$$rawModelValue = modelValue;
|
33511
33779
|
parserValid = undefined;
|
33512
33780
|
|
@@ -34097,8 +34365,9 @@ var ngOptionsMinErr = minErr('ngOptions');
|
|
34097
34365
|
* option. See example below for demonstration.
|
34098
34366
|
*
|
34099
34367
|
* <div class="alert alert-warning">
|
34100
|
-
* **Note:** `ngModel` compares by reference, not value. This is important when binding to an
|
34101
|
-
* array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/).
|
34368
|
+
* **Note:** By default, `ngModel` compares by reference, not value. This is important when binding to an
|
34369
|
+
* array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). When using `track by`
|
34370
|
+
* in an `ngOptions` expression, however, deep equality checks will be performed.
|
34102
34371
|
* </div>
|
34103
34372
|
*
|
34104
34373
|
* ## `select` **`as`**
|
@@ -34340,6 +34609,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
|
|
34340
34609
|
}
|
34341
34610
|
|
34342
34611
|
return {
|
34612
|
+
trackBy: trackBy,
|
34343
34613
|
getWatchables: $parse(valuesFn, function(values) {
|
34344
34614
|
// Create a collection of things that we would like to watch (watchedArray)
|
34345
34615
|
// so that they can all be watched using a single $watchCollection
|
@@ -34565,8 +34835,9 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
|
|
34565
34835
|
|
34566
34836
|
// We also need to watch to see if the internals of the model changes, since
|
34567
34837
|
// ngModel only watches for object identity change
|
34568
|
-
|
34569
|
-
|
34838
|
+
if (ngOptions.trackBy) {
|
34839
|
+
scope.$watch(attr.ngModel, function() { ngModelCtrl.$render(); }, true);
|
34840
|
+
}
|
34570
34841
|
// ------------------------------------------------------------------ //
|
34571
34842
|
|
34572
34843
|
|
@@ -34708,10 +34979,13 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
|
|
34708
34979
|
// Check to see if the value has changed due to the update to the options
|
34709
34980
|
if (!ngModelCtrl.$isEmpty(previousValue)) {
|
34710
34981
|
var nextValue = selectCtrl.readValue();
|
34711
|
-
if (!equals(previousValue, nextValue)
|
34982
|
+
if (ngOptions.trackBy && !equals(previousValue, nextValue) ||
|
34983
|
+
previousValue !== nextValue) {
|
34712
34984
|
ngModelCtrl.$setViewValue(nextValue);
|
34985
|
+
ngModelCtrl.$render();
|
34713
34986
|
}
|
34714
34987
|
}
|
34988
|
+
|
34715
34989
|
}
|
34716
34990
|
|
34717
34991
|
}
|
@@ -34990,8 +35264,8 @@ var ngPluralizeDirective = ['$locale', '$interpolate', '$log', function($locale,
|
|
34990
35264
|
* <div ng-repeat="(key, value) in myObj"> ... </div>
|
34991
35265
|
* ```
|
34992
35266
|
*
|
34993
|
-
* You need to be aware that the JavaScript specification does not define
|
34994
|
-
*
|
35267
|
+
* You need to be aware that the JavaScript specification does not define the order of keys
|
35268
|
+
* returned for an object. (To mitigate this in Angular 1.3 the `ngRepeat` directive
|
34995
35269
|
* used to sort the keys alphabetically.)
|
34996
35270
|
*
|
34997
35271
|
* Version 1.4 removed the alphabetic sorting. We now rely on the order returned by the browser
|
@@ -35856,12 +36130,12 @@ var ngHideDirective = ['$animate', function($animate) {
|
|
35856
36130
|
</example>
|
35857
36131
|
*/
|
35858
36132
|
var ngStyleDirective = ngDirective(function(scope, element, attr) {
|
35859
|
-
scope.$
|
36133
|
+
scope.$watch(attr.ngStyle, function ngStyleWatchAction(newStyles, oldStyles) {
|
35860
36134
|
if (oldStyles && (newStyles !== oldStyles)) {
|
35861
36135
|
forEach(oldStyles, function(val, style) { element.css(style, '');});
|
35862
36136
|
}
|
35863
36137
|
if (newStyles) element.css(newStyles);
|
35864
|
-
});
|
36138
|
+
}, true);
|
35865
36139
|
});
|
35866
36140
|
|
35867
36141
|
/**
|
@@ -36323,13 +36597,13 @@ var SelectController =
|
|
36323
36597
|
* option. See example below for demonstration.
|
36324
36598
|
*
|
36325
36599
|
* <div class="alert alert-warning">
|
36326
|
-
* **Note:** `ngModel` compares by reference, not value. This is important when binding to an
|
36327
|
-
* array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/).
|
36600
|
+
* **Note:** By default, `ngModel` compares by reference, not value. This is important when binding to an
|
36601
|
+
* array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/). When using `track by`
|
36602
|
+
* in an `ngOptions` expression, however, deep equality checks will be performed.
|
36328
36603
|
* </div>
|
36329
36604
|
*
|
36330
36605
|
*/
|
36331
36606
|
var selectDirective = function() {
|
36332
|
-
var lastView;
|
36333
36607
|
|
36334
36608
|
return {
|
36335
36609
|
restrict: 'E',
|
@@ -36388,11 +36662,13 @@ var selectDirective = function() {
|
|
36388
36662
|
|
36389
36663
|
// we have to do it on each watch since ngModel watches reference, but
|
36390
36664
|
// we need to work of an array, so we need to see if anything was inserted/removed
|
36665
|
+
var lastView, lastViewRef = NaN;
|
36391
36666
|
scope.$watch(function selectMultipleWatch() {
|
36392
|
-
if (!equals(lastView, ngModelCtrl.$viewValue)) {
|
36667
|
+
if (lastViewRef === ngModelCtrl.$viewValue && !equals(lastView, ngModelCtrl.$viewValue)) {
|
36393
36668
|
lastView = shallowCopy(ngModelCtrl.$viewValue);
|
36394
36669
|
ngModelCtrl.$render();
|
36395
36670
|
}
|
36671
|
+
lastViewRef = ngModelCtrl.$viewValue;
|
36396
36672
|
});
|
36397
36673
|
|
36398
36674
|
// If we are a multiple select then value is now a collection
|
@@ -36971,6 +37247,8 @@ _jQuery.fn.bindings = function(windowJquery, bindExp) {
|
|
36971
37247
|
evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime || 0);
|
36972
37248
|
}
|
36973
37249
|
}
|
37250
|
+
} else if (/touch/.test(eventType) && supportsTouchEvents()) {
|
37251
|
+
evnt = createTouchEvent(element, eventType, x, y);
|
36974
37252
|
} else {
|
36975
37253
|
evnt = document.createEvent('MouseEvents');
|
36976
37254
|
x = x || 0;
|
@@ -37006,6 +37284,37 @@ _jQuery.fn.bindings = function(windowJquery, bindExp) {
|
|
37006
37284
|
|
37007
37285
|
return finalProcessDefault;
|
37008
37286
|
};
|
37287
|
+
|
37288
|
+
function supportsTouchEvents() {
|
37289
|
+
if ('_cached' in supportsTouchEvents) {
|
37290
|
+
return supportsTouchEvents._cached;
|
37291
|
+
}
|
37292
|
+
if (!document.createTouch || !document.createTouchList) {
|
37293
|
+
supportsTouchEvents._cached = false;
|
37294
|
+
return false;
|
37295
|
+
}
|
37296
|
+
try {
|
37297
|
+
document.createEvent('TouchEvent');
|
37298
|
+
} catch (e) {
|
37299
|
+
supportsTouchEvents._cached = false;
|
37300
|
+
return false;
|
37301
|
+
}
|
37302
|
+
supportsTouchEvents._cached = true;
|
37303
|
+
return true;
|
37304
|
+
}
|
37305
|
+
|
37306
|
+
function createTouchEvent(element, eventType, x, y) {
|
37307
|
+
var evnt = new Event(eventType);
|
37308
|
+
x = x || 0;
|
37309
|
+
y = y || 0;
|
37310
|
+
|
37311
|
+
var touch = document.createTouch(window, element, Date.now(), x, y, x, y);
|
37312
|
+
var touches = document.createTouchList(touch);
|
37313
|
+
|
37314
|
+
evnt.touches = touches;
|
37315
|
+
|
37316
|
+
return evnt;
|
37317
|
+
}
|
37009
37318
|
}());
|
37010
37319
|
|
37011
37320
|
/**
|
@@ -38769,5 +39078,5 @@ if (config.autotest) {
|
|
38769
39078
|
})(window, document);
|
38770
39079
|
|
38771
39080
|
|
38772
|
-
!window.angular.$$csp() && window.angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";\n\n[ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],\n.ng-cloak, .x-ng-cloak,\n.ng-hide:not(.ng-hide-animate) {\n display: none !important;\n}\n\nng\\:form {\n display: block;\n}\n</style>');
|
39081
|
+
!window.angular.$$csp() && window.angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";\n\n[ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],\n.ng-cloak, .x-ng-cloak,\n.ng-hide:not(.ng-hide-animate) {\n display: none !important;\n}\n\nng\\:form {\n display: block;\n}\n\n.ng-animate-shim {\n visibility:hidden;\n}\n\n.ng-animate-anchor {\n position:absolute;\n}\n</style>');
|
38773
39082
|
!window.angular.$$csp() && window.angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";\n/* CSS Document */\n\n/** Structure */\nbody {\n font-family: Arial, sans-serif;\n margin: 0;\n font-size: 14px;\n}\n\n#system-error {\n font-size: 1.5em;\n text-align: center;\n}\n\n#json, #xml {\n display: none;\n}\n\n#header {\n position: fixed;\n width: 100%;\n}\n\n#specs {\n padding-top: 50px;\n}\n\n#header .angular {\n font-family: Courier New, monospace;\n font-weight: bold;\n}\n\n#header h1 {\n font-weight: normal;\n float: left;\n font-size: 30px;\n line-height: 30px;\n margin: 0;\n padding: 10px 10px;\n height: 30px;\n}\n\n#application h2,\n#specs h2 {\n margin: 0;\n padding: 0.5em;\n font-size: 1.1em;\n}\n\n#status-legend {\n margin-top: 10px;\n margin-right: 10px;\n}\n\n#header,\n#application,\n.test-info,\n.test-actions li {\n overflow: hidden;\n}\n\n#application {\n margin: 10px;\n}\n\n#application iframe {\n width: 100%;\n height: 758px;\n}\n\n#application .popout {\n float: right;\n}\n\n#application iframe {\n border: none;\n}\n\n.tests li,\n.test-actions li,\n.test-it li,\n.test-it ol,\n.status-display {\n list-style-type: none;\n}\n\n.tests,\n.test-it ol,\n.status-display {\n margin: 0;\n padding: 0;\n}\n\n.test-info {\n margin-left: 1em;\n margin-top: 0.5em;\n border-radius: 8px 0 0 8px;\n -webkit-border-radius: 8px 0 0 8px;\n -moz-border-radius: 8px 0 0 8px;\n cursor: pointer;\n}\n\n.test-info:hover .test-name {\n text-decoration: underline;\n}\n\n.test-info .closed:before {\n content: \'\\25b8\\00A0\';\n}\n\n.test-info .open:before {\n content: \'\\25be\\00A0\';\n font-weight: bold;\n}\n\n.test-it ol {\n margin-left: 2.5em;\n}\n\n.status-display,\n.status-display li {\n float: right;\n}\n\n.status-display li {\n padding: 5px 10px;\n}\n\n.timer-result,\n.test-title {\n display: inline-block;\n margin: 0;\n padding: 4px;\n}\n\n.test-actions .test-title,\n.test-actions .test-result {\n display: table-cell;\n padding-left: 0.5em;\n padding-right: 0.5em;\n}\n\n.test-actions {\n display: table;\n}\n\n.test-actions li {\n display: table-row;\n}\n\n.timer-result {\n width: 4em;\n padding: 0 10px;\n text-align: right;\n font-family: monospace;\n}\n\n.test-it pre,\n.test-actions pre {\n clear: left;\n color: black;\n margin-left: 6em;\n}\n\n.test-describe {\n padding-bottom: 0.5em;\n}\n\n.test-describe .test-describe {\n margin: 5px 5px 10px 2em;\n}\n\n.test-actions .status-pending .test-title:before {\n content: \'\\00bb\\00A0\';\n}\n\n.scrollpane {\n max-height: 20em;\n overflow: auto;\n}\n\n/** Colors */\n\n#header {\n background-color: #F2C200;\n}\n\n#specs h2 {\n border-top: 2px solid #BABAD1;\n}\n\n#specs h2,\n#application h2 {\n background-color: #efefef;\n}\n\n#application {\n border: 1px solid #BABAD1;\n}\n\n.test-describe .test-describe {\n border-left: 1px solid #BABAD1;\n border-right: 1px solid #BABAD1;\n border-bottom: 1px solid #BABAD1;\n}\n\n.status-display {\n border: 1px solid #777;\n}\n\n.status-display .status-pending,\n.status-pending .test-info {\n background-color: #F9EEBC;\n}\n\n.status-display .status-success,\n.status-success .test-info {\n background-color: #B1D7A1;\n}\n\n.status-display .status-failure,\n.status-failure .test-info {\n background-color: #FF8286;\n}\n\n.status-display .status-error,\n.status-error .test-info {\n background-color: black;\n color: white;\n}\n\n.test-actions .status-success .test-title {\n color: #30B30A;\n}\n\n.test-actions .status-failure .test-title {\n color: #DF0000;\n}\n\n.test-actions .status-error .test-title {\n color: black;\n}\n\n.test-actions .timer-result {\n color: #888;\n}\n</style>');
|