From 6448bd281b26e0e85b465695dbeee01c70b3515a Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 4 Oct 2014 19:51:40 +0200 Subject: update angular --- js/package.json | 4 +- js/vendor/angular-mocks/.bower.json | 10 +- js/vendor/angular-mocks/angular-mocks.js | 2 +- js/vendor/angular-mocks/bower.json | 4 +- js/vendor/angular-route/.bower.json | 10 +- js/vendor/angular-route/angular-route.js | 17 +- js/vendor/angular-route/angular-route.min.js | 16 +- js/vendor/angular-route/angular-route.min.js.map | 4 +- js/vendor/angular-route/bower.json | 4 +- js/vendor/angular-sanitize/.bower.json | 10 +- js/vendor/angular-sanitize/angular-sanitize.js | 2 +- js/vendor/angular-sanitize/angular-sanitize.min.js | 2 +- js/vendor/angular-sanitize/bower.json | 4 +- js/vendor/angular/.bower.json | 8 +- js/vendor/angular/angular.js | 474 +++++++++++++++------ js/vendor/angular/angular.min.js | 470 ++++++++++---------- js/vendor/angular/angular.min.js.gzip | Bin 39789 -> 44238 bytes js/vendor/angular/angular.min.js.map | 4 +- js/vendor/angular/bower.json | 2 +- 19 files changed, 628 insertions(+), 419 deletions(-) (limited to 'js') diff --git a/js/package.json b/js/package.json index e737c0ac9..f4730c235 100644 --- a/js/package.json +++ b/js/package.json @@ -37,8 +37,8 @@ "grunt-protractor-runner": "^1.1.4", "grunt-protractor-webdriver": "^0.1.9", "grunt-wrap": "^0.3.0", - "karma": "^0.12.23", - "karma-chrome-launcher": "^0.1.4", + "karma": "^0.12.24", + "karma-chrome-launcher": "^0.1.5", "karma-coverage": "^0.2.6", "karma-firefox-launcher": "^0.1.3", "karma-jasmine": "^0.1.5", diff --git a/js/vendor/angular-mocks/.bower.json b/js/vendor/angular-mocks/.bower.json index 98f288028..b8f52aad9 100644 --- a/js/vendor/angular-mocks/.bower.json +++ b/js/vendor/angular-mocks/.bower.json @@ -1,16 +1,16 @@ { "name": "angular-mocks", - "version": "1.3.0-rc.3", + "version": "1.3.0-rc.4", "main": "./angular-mocks.js", "dependencies": { - "angular": "1.3.0-rc.3" + "angular": "1.3.0-rc.4" }, "homepage": "https://github.com/angular/bower-angular-mocks", - "_release": "1.3.0-rc.3", + "_release": "1.3.0-rc.4", "_resolution": { "type": "version", - "tag": "v1.3.0-rc.3", - "commit": "b629e1ed8a4a61ce98b4f52b32c7a8928d968703" + "tag": "v1.3.0-rc.4", + "commit": "5f883d4621cafeed13a671daf295ec8df7f5a315" }, "_source": "git://github.com/angular/bower-angular-mocks.git", "_target": "~1.3.*", diff --git a/js/vendor/angular-mocks/angular-mocks.js b/js/vendor/angular-mocks/angular-mocks.js index fa3fdba92..fee32da0d 100644 --- a/js/vendor/angular-mocks/angular-mocks.js +++ b/js/vendor/angular-mocks/angular-mocks.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.3.0-rc.3 + * @license AngularJS v1.3.0-rc.4 * (c) 2010-2014 Google, Inc. http://angularjs.org * License: MIT */ diff --git a/js/vendor/angular-mocks/bower.json b/js/vendor/angular-mocks/bower.json index c34a53c9a..a3464f253 100644 --- a/js/vendor/angular-mocks/bower.json +++ b/js/vendor/angular-mocks/bower.json @@ -1,8 +1,8 @@ { "name": "angular-mocks", - "version": "1.3.0-rc.3", + "version": "1.3.0-rc.4", "main": "./angular-mocks.js", "dependencies": { - "angular": "1.3.0-rc.3" + "angular": "1.3.0-rc.4" } } diff --git a/js/vendor/angular-route/.bower.json b/js/vendor/angular-route/.bower.json index 487eda65d..1375a6de0 100644 --- a/js/vendor/angular-route/.bower.json +++ b/js/vendor/angular-route/.bower.json @@ -1,16 +1,16 @@ { "name": "angular-route", - "version": "1.3.0-rc.3", + "version": "1.3.0-rc.4", "main": "./angular-route.js", "dependencies": { - "angular": "1.3.0-rc.3" + "angular": "1.3.0-rc.4" }, "homepage": "https://github.com/angular/bower-angular-route", - "_release": "1.3.0-rc.3", + "_release": "1.3.0-rc.4", "_resolution": { "type": "version", - "tag": "v1.3.0-rc.3", - "commit": "41cccd829acc6a2df293daa5fffc11b71a08560a" + "tag": "v1.3.0-rc.4", + "commit": "92a994cab488c86086badeb42d579377899a8b19" }, "_source": "git://github.com/angular/bower-angular-route.git", "_target": "~1.3.*", diff --git a/js/vendor/angular-route/angular-route.js b/js/vendor/angular-route/angular-route.js index 4a7bc17fc..3d95eb529 100644 --- a/js/vendor/angular-route/angular-route.js +++ b/js/vendor/angular-route/angular-route.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.3.0-rc.3 + * @license AngularJS v1.3.0-rc.4 * (c) 2010-2014 Google, Inc. http://angularjs.org * License: MIT */ @@ -854,7 +854,7 @@ function ngViewFactory( $route, $anchorScroll, $animate) { link: function(scope, $element, attr, ctrl, $transclude) { var currentScope, currentElement, - previousElement, + previousLeaveAnimation, autoScrollExp = attr.autoscroll, onloadExp = attr.onload || ''; @@ -862,19 +862,20 @@ function ngViewFactory( $route, $anchorScroll, $animate) { update(); function cleanupLastView() { - if(previousElement) { - previousElement.remove(); - previousElement = null; + if(previousLeaveAnimation) { + $animate.cancel(previousLeaveAnimation); + previousLeaveAnimation = null; } + if(currentScope) { currentScope.$destroy(); currentScope = null; } if(currentElement) { - $animate.leave(currentElement).then(function() { - previousElement = null; + previousLeaveAnimation = $animate.leave(currentElement); + previousLeaveAnimation.then(function() { + previousLeaveAnimation = null; }); - previousElement = currentElement; currentElement = null; } } diff --git a/js/vendor/angular-route/angular-route.min.js b/js/vendor/angular-route/angular-route.min.js index a18dd383a..e03c6596e 100644 --- a/js/vendor/angular-route/angular-route.min.js +++ b/js/vendor/angular-route/angular-route.min.js @@ -1,14 +1,14 @@ /* - AngularJS v1.3.0-rc.3 + AngularJS v1.3.0-rc.4 (c) 2010-2014 Google, Inc. http://angularjs.org License: MIT */ -(function(r,d,z){'use strict';function v(s,h,f){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,e,b,g,u){function w(){k&&(k.remove(),k=null);l&&(l.$destroy(),l=null);n&&(f.leave(n).then(function(){k=null}),k=n,n=null)}function t(){var c=s.current&&s.current.locals;if(d.isDefined(c&&c.$template)){var c=a.$new(),m=s.current;n=u(c,function(c){f.enter(c,null,n||e).then(function(){!d.isDefined(p)||p&&!a.$eval(p)||h()});w()});l=m.scope=c;l.$emit("$viewContentLoaded"); -l.$eval(q)}else w()}var l,n,k,p=b.autoscroll,q=b.onload||"";a.$on("$routeChangeSuccess",t);t()}}}function x(d,h,f){return{restrict:"ECA",priority:-400,link:function(a,e){var b=f.current,g=b.locals;e.html(g.$template);var u=d(e.contents());b.controller&&(g.$scope=a,g=h(b.controller,g),b.controllerAs&&(a[b.controllerAs]=g),e.data("$ngControllerController",g),e.children().data("$ngControllerController",g));u(a)}}}r=d.module("ngRoute",["ng"]).provider("$route",function(){function s(a,e){return d.extend(new (d.extend(function(){}, +(function(r,d,z){'use strict';function v(s,h,f){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,e,b,g,u){function w(){l&&(f.cancel(l),l=null);k&&(k.$destroy(),k=null);q&&(l=f.leave(q),l.then(function(){l=null}),q=null)}function t(){var c=s.current&&s.current.locals;if(d.isDefined(c&&c.$template)){var c=a.$new(),m=s.current;q=u(c,function(c){f.enter(c,null,q||e).then(function(){!d.isDefined(n)||n&&!a.$eval(n)||h()});w()});k=m.scope=c;k.$emit("$viewContentLoaded"); +k.$eval(p)}else w()}var k,q,l,n=b.autoscroll,p=b.onload||"";a.$on("$routeChangeSuccess",t);t()}}}function x(d,h,f){return{restrict:"ECA",priority:-400,link:function(a,e){var b=f.current,g=b.locals;e.html(g.$template);var u=d(e.contents());b.controller&&(g.$scope=a,g=h(b.controller,g),b.controllerAs&&(a[b.controllerAs]=g),e.data("$ngControllerController",g),e.children().data("$ngControllerController",g));u(a)}}}r=d.module("ngRoute",["ng"]).provider("$route",function(){function s(a,e){return d.extend(new (d.extend(function(){}, {prototype:a})),e)}function h(a,d){var b=d.caseInsensitiveMatch,g={originalPath:a,regexp:a},f=g.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,d,e,b){a="?"===b?b:null;b="*"===b?b:null;f.push({name:e,optional:!!a});d=d||"";return""+(a?"":d)+"(?:"+(a?d:"")+(b&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");g.regexp=new RegExp("^"+a+"$",b?"i":"");return g}var f={};this.when=function(a,e){f[a]=d.extend({reloadOnSearch:!0},e,a&&h(a,e));if(a){var b= -"/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";f[b]=d.extend({redirectTo:a},h(b,e))}return this};this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,e,b,g,h,r,t){function l(){var c=n(),m=q.current;if(c&&m&&c.$$route===m.$$route&&d.equals(c.pathParams,m.pathParams)&&!c.reloadOnSearch&&!p)m.params=c.params,d.copy(m.params,b),a.$broadcast("$routeUpdate", -m);else if(c||m)p=!1,a.$broadcast("$routeChangeStart",c,m),(q.current=c)&&c.redirectTo&&(d.isString(c.redirectTo)?e.path(k(c.redirectTo,c.params)).search(c.params).replace():e.url(c.redirectTo(c.pathParams,e.path(),e.search())).replace()),g.when(c).then(function(){if(c){var a=d.extend({},c.resolve),e,b;d.forEach(a,function(c,b){a[b]=d.isString(c)?h.get(c):h.invoke(c,null,null,b)});d.isDefined(e=c.template)?d.isFunction(e)&&(e=e(c.params)):d.isDefined(b=c.templateUrl)&&(d.isFunction(b)&&(b=b(c.params)), -b=t.getTrustedResourceUrl(b),d.isDefined(b)&&(c.loadedTemplateUrl=b,e=r(b)));d.isDefined(e)&&(a.$template=e);return g.all(a)}}).then(function(e){c==q.current&&(c&&(c.locals=e,d.copy(c.params,b)),a.$broadcast("$routeChangeSuccess",c,m))},function(d){c==q.current&&a.$broadcast("$routeChangeError",c,m,d)})}function n(){var c,a;d.forEach(f,function(b,g){var f;if(f=!a){var h=e.path();f=b.keys;var l={};if(b.regexp)if(h=b.regexp.exec(h)){for(var k=1,n=h.length;k * **Note:** When testing an element transclude directive you must not place the directive at the root of the @@ -5687,7 +5695,6 @@ function $TemplateCacheProvider() { * It is safe to do DOM transformation in the post-linking function on elements that are not waiting * for their async templates to be resolved. * - * * ### Attributes * * The {@link ng.$compile.directive.Attributes Attributes} object - passed as a parameter in the @@ -5725,7 +5732,7 @@ function $TemplateCacheProvider() { * } * ``` * - * Below is an example using `$compileProvider`. + * ## Example * *
* **Note**: Typically directives are registered with `module.directive`. The example below is @@ -5850,7 +5857,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { Suffix = 'Directive', COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/, CLASS_DIRECTIVE_REGEXP = /(([\d\w_\-]+)(?:\:([^;]+))?;?)/, - ALL_OR_NOTHING_ATTRS = makeMap('ngSrc,ngSrcset,src,srcset'); + ALL_OR_NOTHING_ATTRS = makeMap('ngSrc,ngSrcset,src,srcset'), + REQUIRE_PREFIX_REGEXP = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/; // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes // The assumption is that future DOM event attribute names will begin with @@ -6155,10 +6163,44 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { nodeName = nodeName_(this.$$element); - // sanitize a[href] and img[src] values if ((nodeName === 'a' && key === 'href') || (nodeName === 'img' && key === 'src')) { + // sanitize a[href] and img[src] values this[key] = value = $$sanitizeUri(value, key === 'src'); + } else if (nodeName === 'img' && key === 'srcset') { + // sanitize img[srcset] values + var result = ""; + + // first check if there are spaces because it's not the same pattern + var trimmedSrcset = trim(value); + // ( 999x ,| 999w ,| ,|, ) + var srcPattern = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/; + var pattern = /\s/.test(trimmedSrcset) ? srcPattern : /(,)/; + + // split srcset into tuple of uri and descriptor except for the last item + var rawUris = trimmedSrcset.split(pattern); + + // for each tuples + var nbrUrisWith2parts = Math.floor(rawUris.length / 2); + for (var i=0; i