Skip to content

Commit cead16d

Browse files
committed
upgrading AngularJS to 1.0
1 parent 0eb162a commit cead16d

14 files changed

+291
-222
lines changed

app/lib/angular/angular-cookies.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.0.0rc12
2+
* @license AngularJS v1.0.0
33
* (c) 2010-2012 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/

app/lib/angular/angular-cookies.min.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
AngularJS v1.0.0rc12
2+
AngularJS v1.0.0
33
(c) 2010-2012 Google, Inc. http://angularjs.org
44
License: MIT
55
*/

app/lib/angular/angular-loader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.0.0rc12
2+
* @license AngularJS v1.0.0
33
* (c) 2010-2012 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/

app/lib/angular/angular-loader.min.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
AngularJS v1.0.0rc12
2+
AngularJS v1.0.0
33
(c) 2010-2012 Google, Inc. http://angularjs.org
44
License: MIT
55
*/

app/lib/angular/angular-resource.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.0.0rc12
2+
* @license AngularJS v1.0.0
33
* (c) 2010-2012 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/

app/lib/angular/angular-resource.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/lib/angular/angular-sanitize.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.0.0rc12
2+
* @license AngularJS v1.0.0
33
* (c) 2010-2012 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/

app/lib/angular/angular-sanitize.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/lib/angular/angular.js

Lines changed: 67 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.0.0rc12
2+
* @license AngularJS v1.0.0
33
* (c) 2010-2012 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/
@@ -1247,11 +1247,11 @@ function setupModuleLoader(window) {
12471247
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
12481248
*/
12491249
var version = {
1250-
full: '1.0.0rc12', // all of these placeholder strings will be replaced by rake's
1250+
full: '1.0.0', // all of these placeholder strings will be replaced by rake's
12511251
major: 1, // compile task
12521252
minor: 0,
12531253
dot: 0,
1254-
codeName: 'regression-extermination'
1254+
codeName: 'temporal-domination'
12551255
};
12561256

12571257

@@ -4827,6 +4827,10 @@ function encodePath(path) {
48274827
return segments.join('/');
48284828
}
48294829

4830+
function stripHash(url) {
4831+
return url.split('#')[0];
4832+
}
4833+
48304834

48314835
function matchUrl(url, obj) {
48324836
var match = URL_MATCH.exec(url);
@@ -4906,19 +4910,19 @@ function convertToHashbangUrl(url, basePath, hashPrefix) {
49064910
* @param {string} url HTML5 url
49074911
* @param {string} pathPrefix
49084912
*/
4909-
function LocationUrl(url, pathPrefix) {
4913+
function LocationUrl(url, pathPrefix, appBaseUrl) {
49104914
pathPrefix = pathPrefix || '';
49114915

49124916
/**
49134917
* Parse given html5 (regular) url string into properties
4914-
* @param {string} url HTML5 url
4918+
* @param {string} newAbsoluteUrl HTML5 url
49154919
* @private
49164920
*/
4917-
this.$$parse = function(url) {
4918-
var match = matchUrl(url, this);
4921+
this.$$parse = function(newAbsoluteUrl) {
4922+
var match = matchUrl(newAbsoluteUrl, this);
49194923

49204924
if (match.path.indexOf(pathPrefix) !== 0) {
4921-
throw Error('Invalid url "' + url + '", missing path prefix "' + pathPrefix + '" !');
4925+
throw Error('Invalid url "' + newAbsoluteUrl + '", missing path prefix "' + pathPrefix + '" !');
49224926
}
49234927

49244928
this.$$path = decodeURIComponent(match.path.substr(pathPrefix.length));
@@ -4941,6 +4945,14 @@ function LocationUrl(url, pathPrefix) {
49414945
pathPrefix + this.$$url;
49424946
};
49434947

4948+
4949+
this.$$rewriteAppUrl = function(absoluteLinkUrl) {
4950+
if(absoluteLinkUrl.indexOf(appBaseUrl) == 0) {
4951+
return absoluteLinkUrl;
4952+
}
4953+
}
4954+
4955+
49444956
this.$$parse(url);
49454957
}
49464958

@@ -4953,7 +4965,7 @@ function LocationUrl(url, pathPrefix) {
49534965
* @param {string} url Legacy url
49544966
* @param {string} hashPrefix Prefix for hash part (containing path and search)
49554967
*/
4956-
function LocationHashbangUrl(url, hashPrefix) {
4968+
function LocationHashbangUrl(url, hashPrefix, appBaseUrl) {
49574969
var basePath;
49584970

49594971
/**
@@ -4996,6 +5008,13 @@ function LocationHashbangUrl(url, hashPrefix) {
49965008
basePath + (this.$$url ? '#' + hashPrefix + this.$$url : '');
49975009
};
49985010

5011+
this.$$rewriteAppUrl = function(absoluteLinkUrl) {
5012+
if(absoluteLinkUrl.indexOf(appBaseUrl) == 0) {
5013+
return absoluteLinkUrl;
5014+
}
5015+
}
5016+
5017+
49995018
this.$$parse(url);
50005019
}
50015020

@@ -5184,6 +5203,19 @@ LocationUrl.prototype = {
51845203

51855204
LocationHashbangUrl.prototype = inherit(LocationUrl.prototype);
51865205

5206+
function LocationHashbangInHtml5Url(url, hashPrefix, appBaseUrl, baseExtra) {
5207+
LocationHashbangUrl.apply(this, arguments);
5208+
5209+
5210+
this.$$rewriteAppUrl = function(absoluteLinkUrl) {
5211+
if (absoluteLinkUrl.indexOf(appBaseUrl) == 0) {
5212+
return appBaseUrl + baseExtra + '#' + hashPrefix + absoluteLinkUrl.substr(appBaseUrl.length);
5213+
}
5214+
}
5215+
}
5216+
5217+
LocationHashbangInHtml5Url.prototype = inherit(LocationHashbangUrl.prototype);
5218+
51875219
function locationGetter(property) {
51885220
return function() {
51895221
return this[property];
@@ -5283,26 +5315,33 @@ function $LocationProvider(){
52835315
basePath,
52845316
pathPrefix,
52855317
initUrl = $browser.url(),
5286-
absUrlPrefix;
5318+
initUrlParts = matchUrl(initUrl),
5319+
appBaseUrl;
52875320

52885321
if (html5Mode) {
52895322
basePath = $browser.baseHref() || '/';
52905323
pathPrefix = pathPrefixFromBase(basePath);
5324+
appBaseUrl =
5325+
composeProtocolHostPort(initUrlParts.protocol, initUrlParts.host, initUrlParts.port) +
5326+
pathPrefix + '/';
5327+
52915328
if ($sniffer.history) {
52925329
$location = new LocationUrl(
52935330
convertToHtml5Url(initUrl, basePath, hashPrefix),
5294-
pathPrefix);
5331+
pathPrefix, appBaseUrl);
52955332
} else {
5296-
$location = new LocationHashbangUrl(
5333+
$location = new LocationHashbangInHtml5Url(
52975334
convertToHashbangUrl(initUrl, basePath, hashPrefix),
5298-
hashPrefix);
5335+
hashPrefix, appBaseUrl, basePath.substr(pathPrefix.length + 1));
52995336
}
5300-
// link rewriting
5301-
absUrlPrefix = composeProtocolHostPort(
5302-
$location.protocol(), $location.host(), $location.port()) + pathPrefix;
53035337
} else {
5304-
$location = new LocationHashbangUrl(initUrl, hashPrefix);
5305-
absUrlPrefix = $location.absUrl().split('#')[0];
5338+
appBaseUrl =
5339+
composeProtocolHostPort(initUrlParts.protocol, initUrlParts.host, initUrlParts.port) +
5340+
(initUrlParts.path || '') +
5341+
(initUrlParts.search ? ('?' + initUrlParts.search) : '') +
5342+
'#' + hashPrefix + '/';
5343+
5344+
$location = new LocationHashbangUrl(initUrl, hashPrefix, appBaseUrl);
53065345
}
53075346

53085347
$rootElement.bind('click', function(event) {
@@ -5314,27 +5353,22 @@ function $LocationProvider(){
53145353
var elm = jqLite(event.target);
53155354

53165355
// traverse the DOM up to find first A tag
5317-
while (elm.length && lowercase(elm[0].nodeName) !== 'a') {
5356+
while (lowercase(elm[0].nodeName) !== 'a') {
5357+
if (elm[0] === $rootElement[0]) return;
53185358
elm = elm.parent();
53195359
}
53205360

53215361
var absHref = elm.prop('href'),
5322-
href;
5362+
rewrittenUrl = $location.$$rewriteAppUrl(absHref);
53235363

5324-
if (!absHref ||
5325-
elm.attr('target') ||
5326-
absHref.indexOf(absUrlPrefix) !== 0) { // link to different domain or base path
5327-
return;
5364+
if (absHref && !elm.attr('target') && rewrittenUrl) {
5365+
// update location manually
5366+
$location.$$parse(rewrittenUrl);
5367+
$rootScope.$apply();
5368+
event.preventDefault();
5369+
// hack to work around FF6 bug 684208 when scenario runner clicks on links
5370+
window.angular['ff-684208-preventDefault'] = true;
53285371
}
5329-
5330-
// update location with href without the prefix
5331-
href = absHref.substr(absUrlPrefix.length);
5332-
if (href.charAt(0) == '#') href = href.substr(1);
5333-
$location.url(href);
5334-
$rootScope.$apply();
5335-
event.preventDefault();
5336-
// hack to work around FF6 bug 684208 when scenario runner clicks on links
5337-
window.angular['ff-684208-preventDefault'] = true;
53385372
});
53395373

53405374

0 commit comments

Comments
 (0)