Commit af61c833 authored by Randall Leeds's avatar Randall Leeds

upgrade to angular v1.1.4

parent 190a8dc9
/** /**
* @license AngularJS v1.0.5 * @license AngularJS v1.1.4
* (c) 2010-2012 Google, Inc. http://angularjs.org * (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT * License: MIT
*/ */
...@@ -163,4 +163,5 @@ directive.tabPane = function() { ...@@ -163,4 +163,5 @@ directive.tabPane = function() {
angular.module('bootstrap', []).directive(directive); angular.module('bootstrap', []).directive(directive);
})(window, window.angular); })(window, window.angular);
/** /**
* @license AngularJS v1.0.5 * @license AngularJS v1.1.4
* (c) 2010-2012 Google, Inc. http://angularjs.org * (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT * License: MIT
*/ */
...@@ -129,7 +129,7 @@ var START_TAG_REGEXP = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?: ...@@ -129,7 +129,7 @@ var START_TAG_REGEXP = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:
BEGING_END_TAGE_REGEXP = /^<\s*\//, BEGING_END_TAGE_REGEXP = /^<\s*\//,
COMMENT_REGEXP = /<!--(.*?)-->/g, COMMENT_REGEXP = /<!--(.*?)-->/g,
CDATA_REGEXP = /<!\[CDATA\[(.*?)]]>/g, CDATA_REGEXP = /<!\[CDATA\[(.*?)]]>/g,
URI_REGEXP = /^((ftp|https?):\/\/|mailto:|#)/, URI_REGEXP = /^((ftp|https?):\/\/|mailto:|tel:|#)/,
NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; // Match everything outside of normal chars and " (quote character) NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; // Match everything outside of normal chars and " (quote character)
...@@ -422,6 +422,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san ...@@ -422,6 +422,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san
}); });
}; };
}]); }]);
/** /**
* @ngdoc filter * @ngdoc filter
* @name ngSanitize.filter:linky * @name ngSanitize.filter:linky
...@@ -432,6 +433,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san ...@@ -432,6 +433,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san
* plain email address links. * plain email address links.
* *
* @param {string} text Input text. * @param {string} text Input text.
* @param {string} target Window (_blank|_self|_parent|_top) or named frame to open links in.
* @returns {string} Html-linkified text. * @returns {string} Html-linkified text.
* *
* @usage * @usage
...@@ -448,6 +450,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san ...@@ -448,6 +450,7 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san
'mailto:us@somewhere.org,\n'+ 'mailto:us@somewhere.org,\n'+
'another@somewhere.org,\n'+ 'another@somewhere.org,\n'+
'and one more: ftp://127.0.0.1/.'; 'and one more: ftp://127.0.0.1/.';
$scope.snippetWithTarget = 'http://angularjs.org/';
} }
</script> </script>
<div ng-controller="Ctrl"> <div ng-controller="Ctrl">
...@@ -467,6 +470,15 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san ...@@ -467,6 +470,15 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san
<div ng-bind-html="snippet | linky"></div> <div ng-bind-html="snippet | linky"></div>
</td> </td>
</tr> </tr>
<tr id="linky-target">
<td>linky target</td>
<td>
<pre>&lt;div ng-bind-html="snippetWithTarget | linky:'_blank'"&gt;<br>&lt;/div&gt;</pre>
</td>
<td>
<div ng-bind-html="snippetWithTarget | linky:'_blank'"></div>
</td>
</tr>
<tr id="escaped-html"> <tr id="escaped-html">
<td>no filter</td> <td>no filter</td>
<td><pre>&lt;div ng-bind="snippet"&gt;<br>&lt;/div&gt;</pre></td> <td><pre>&lt;div ng-bind="snippet"&gt;<br>&lt;/div&gt;</pre></td>
...@@ -499,6 +511,11 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san ...@@ -499,6 +511,11 @@ angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($san
toBe('new <a href="http://link">http://link</a>.'); toBe('new <a href="http://link">http://link</a>.');
expect(using('#escaped-html').binding('snippet')).toBe('new http://link.'); expect(using('#escaped-html').binding('snippet')).toBe('new http://link.');
}); });
it('should work with the target property', function() {
expect(using('#linky-target').binding("snippetWithTarget | linky:'_blank'")).
toBe('<a target="_blank" href="http://angularjs.org/">http://angularjs.org/</a>');
});
</doc:scenario> </doc:scenario>
</doc:example> </doc:example>
*/ */
...@@ -506,7 +523,7 @@ angular.module('ngSanitize').filter('linky', function() { ...@@ -506,7 +523,7 @@ angular.module('ngSanitize').filter('linky', function() {
var LINKY_URL_REGEXP = /((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s\.\;\,\(\)\{\}\<\>]/, var LINKY_URL_REGEXP = /((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s\.\;\,\(\)\{\}\<\>]/,
MAILTO_REGEXP = /^mailto:/; MAILTO_REGEXP = /^mailto:/;
return function(text) { return function(text, target) {
if (!text) return text; if (!text) return text;
var match; var match;
var raw = text; var raw = text;
...@@ -515,6 +532,10 @@ angular.module('ngSanitize').filter('linky', function() { ...@@ -515,6 +532,10 @@ angular.module('ngSanitize').filter('linky', function() {
var writer = htmlSanitizeWriter(html); var writer = htmlSanitizeWriter(html);
var url; var url;
var i; var i;
var properties = {};
if (angular.isDefined(target)) {
properties.target = target;
}
while ((match = raw.match(LINKY_URL_REGEXP))) { while ((match = raw.match(LINKY_URL_REGEXP))) {
// We can not end in these as they are sometimes found at the end of the sentence // We can not end in these as they are sometimes found at the end of the sentence
url = match[0]; url = match[0];
...@@ -522,7 +543,8 @@ angular.module('ngSanitize').filter('linky', function() { ...@@ -522,7 +543,8 @@ angular.module('ngSanitize').filter('linky', function() {
if (match[2] == match[3]) url = 'mailto:' + url; if (match[2] == match[3]) url = 'mailto:' + url;
i = match.index; i = match.index;
writer.chars(raw.substr(0, i)); writer.chars(raw.substr(0, i));
writer.start('a', {href:url}); properties.href = url;
writer.start('a', properties);
writer.chars(match[0].replace(MAILTO_REGEXP, '')); writer.chars(match[0].replace(MAILTO_REGEXP, ''));
writer.end('a'); writer.end('a');
raw = raw.substring(i + match[0].length); raw = raw.substring(i + match[0].length);
...@@ -532,4 +554,5 @@ angular.module('ngSanitize').filter('linky', function() { ...@@ -532,4 +554,5 @@ angular.module('ngSanitize').filter('linky', function() {
}; };
}); });
})(window, window.angular); })(window, window.angular);
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment