diff options
| author | Misko Hevery | 2010-07-29 15:26:10 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-07-29 15:26:10 -0700 |
| commit | 03aac8b0ab17a9e8a41c5794f1e838315875051a (patch) | |
| tree | 422bd60c097b8c76b88d34b68f2010f46baf53ad | |
| parent | 1b768b84439e725010acc943ebfda462e49d3704 (diff) | |
| download | angular.js-03aac8b0ab17a9e8a41c5794f1e838315875051a.tar.bz2 | |
fix broken build, fix #autobind and css loading
| -rw-r--r-- | example/temp.html | 15 | ||||
| -rw-r--r-- | jsTestDriver-jquery.conf | 1 | ||||
| -rw-r--r-- | jsTestDriver.conf | 1 | ||||
| -rw-r--r-- | src/Angular.js | 25 | ||||
| -rw-r--r-- | src/angular-bootstrap.js | 4 | ||||
| -rw-r--r-- | src/angular.suffix | 2 |
6 files changed, 31 insertions, 17 deletions
diff --git a/example/temp.html b/example/temp.html index b238c185..b6752d57 100644 --- a/example/temp.html +++ b/example/temp.html @@ -2,7 +2,7 @@ <html xmlns:ng="http://angularjs.org"> <head> <script type="text/javascript" - src="../src/angular-bootstrap.js#autobind"></script> + src="../angular-debug.js" ng:autobind ng:css="css/angular.css"></script> </head> <body ng:init="$window.$root = this"> @@ -17,10 +17,7 @@ function TicTacToeCntl(){ 'cursor': 'pointer' }; this.reset(); - this.$watch('$location.hashPath', this.setMemento); - this.$onEval(function(){ - this.$location.hashPath = this.getMemento(); - }); + this.$watch('$location.hashPath', this.readUrl); } TicTacToeCntl.prototype = { dropPiece: function(row, col) { @@ -28,6 +25,7 @@ TicTacToeCntl.prototype = { this.board[row][col] = this.nextMove; this.nextMove = this.nextMove == 'X' ? 'O' : 'X'; this.grade(); + this.setUrl(); } }, reset: function(){ @@ -38,6 +36,7 @@ TicTacToeCntl.prototype = { ]; this.nextMove = 'X'; this.winner = ''; + this.setUrl(); }, grade: function(){ var b = this.board; @@ -50,14 +49,14 @@ TicTacToeCntl.prototype = { function diagonal(i) { return same(b[0][1-i], b[1][1], b[2][1+i]);} function same(a, b, c) { return (a==b && b==c) ? a : '';}; }, - getMemento: function(){ + setUrl: function(){ var rows = []; angular.foreach(this.board, function(row){ rows.push(row.join(',')); }); - return rows.join(';') + '/' + this.nextMove; + this.$location.hashPath = rows.join(';') + '/' + this.nextMove; }, - setMemento: function(value) { + readUrl: function(value) { if (value) { value = value.split('/'); this.nextMove = value[1]; diff --git a/jsTestDriver-jquery.conf b/jsTestDriver-jquery.conf index 34538bce..e5dac727 100644 --- a/jsTestDriver-jquery.conf +++ b/jsTestDriver-jquery.conf @@ -6,6 +6,7 @@ load: - lib/jquery/jquery-1.4.2.js - test/jquery_alias.js - src/Angular.js + - src/JSON.js - src/*.js - src/scenario/Runner.js - src/scenario/*.js diff --git a/jsTestDriver.conf b/jsTestDriver.conf index 16bcf1db..bcd01694 100644 --- a/jsTestDriver.conf +++ b/jsTestDriver.conf @@ -6,6 +6,7 @@ load: - lib/jquery/jquery-1.4.2.js - test/jquery_remove.js - src/Angular.js + - src/JSON.js - src/*.js - src/scenario/Runner.js - src/scenario/*.js diff --git a/src/Angular.js b/src/Angular.js index 80acddf0..a9362c69 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -369,22 +369,35 @@ function toKeyValue(obj) { function angularInit(config){ if (config.autobind) { - var scope = compile(window.document, null, {'$config':config}); // TODO default to the source of angular.js - scope.$browser.addCss('css/angular.css'); + var scope = compile(window.document, null, {'$config':config}); + if (config.css) + scope.$browser.addCss(config.base_url + config.css); scope.$init(); } } -function angularJsConfig(document) { - var filename = /(.*)\/angular(-(.*))?.js(#(.*))?/, +function angularJsConfig(document, config) { + var filename = /^(.*)\/angular(-([^\/]*))?.js(#(.*))?$/, scripts = document.getElementsByTagName("script"), match; + config = extend({ + base_url: '', + css: '../css/angular.css' + }, config); for(var j = 0; j < scripts.length; j++) { match = (scripts[j].src || "").match(filename); if (match) { - return match[5]; + config.base_url = match[1] + '/'; + extend(match, config, toKeyValue(match[5])); + eachAttribute(jqLite(scripts[j]), function(value, name){ + if (/^ng:/.exec(name)) { + name = name.substring(3).replace(/-/g, '_'); + if (name == 'autobind') value = true; + config[name] = value; + } + }); } } - return ""; + return config; } diff --git a/src/angular-bootstrap.js b/src/angular-bootstrap.js index e055371a..1f03b8a3 100644 --- a/src/angular-bootstrap.js +++ b/src/angular-bootstrap.js @@ -22,7 +22,7 @@ * THE SOFTWARE. */ (function(previousOnLoad){ - var filename = /(.*)\/angular-(.*).js(#.*)?/, + var filename = /^(.*)\/angular-bootstrap.js(#.*)?$/, scripts = document.getElementsByTagName("SCRIPT"), serverPath, match; @@ -61,7 +61,7 @@ try { if (previousOnLoad) previousOnLoad(); } catch(e) {} - angularInit(parseKeyValue(angularJsConfig(document))); + angularInit(angularJsConfig(document)); }; })(window.onload); diff --git a/src/angular.suffix b/src/angular.suffix index 36d73df2..7e86c5d5 100644 --- a/src/angular.suffix +++ b/src/angular.suffix @@ -3,7 +3,7 @@ try { if (previousOnLoad) previousOnLoad(); } catch(e) {} - angularInit(parseKeyValue(angularJsConfig(document))); + angularInit(angularJsConfig(document)); }; })(window, document, window.onload); |
