diff options
| -rw-r--r-- | src/buttons.js | 27 | ||||
| -rw-r--r-- | src/model/graph.js | 17 |
2 files changed, 34 insertions, 10 deletions
diff --git a/src/buttons.js b/src/buttons.js index e5e37f52..fa51a527 100644 --- a/src/buttons.js +++ b/src/buttons.js @@ -67,18 +67,29 @@ $('.local-storage-load a').click(function(){ rz_core.load_from_json(json_blob); }); -$('a.set-user').click(function() { - $('.set-user').hide(); - $('.set-user-form').show(); - $('.set-user-form').submit(function() { - var user = $('.set-user-input').val(); - rz_core.graph.set_user(user); +var onUserSet = function(user) { + if (user) { $('.set-user').html('user: ' + user); $('.set-user').show(); $('.set-user-form').hide(); $('.save-history').show(); - return false; - }) + } else { + $('.set-user').html(''); + $('.set-user').hide(); + $('.set-user-form').show(); + } +} + +rz_core.graph.userBus.onValue(onUserSet); + +$('.set-user-form').submit(function() { + var user = $('.set-user-input').val(); + rz_core.graph.set_user(user); + return false; +}); +$('a.set-user').click(function() { + $('.set-user').hide(); + $('.set-user-form').show(); }); $('a.save-history').click(function() { diff --git a/src/model/graph.js b/src/model/graph.js index 6a299b5e..31c8fa32 100644 --- a/src/model/graph.js +++ b/src/model/graph.js @@ -9,8 +9,11 @@ function Graph() { var nodes = [], links = [], + user, + userBus = new Bacon.Bus(), diffBus = new Bacon.Bus(); + this.userBus = userBus; this.diffBus = diffBus; /** @@ -621,9 +624,12 @@ function Graph() { } this.set_user = function(user) { + var elem = $('svg g.zoom')[0]; this.user = user; - this.history = new History(this.user, $('svg g.zoom')[0]); - console.log('new user: ' + user); + + this.history = new history.History(this.user, this, elem); + console.log('new user: ' + this.user); + this.userBus.push(this.user); } function clear_history() { @@ -684,6 +690,13 @@ function Graph() { } return selected; } + + user = util.getParameterByName('user'); + if (user) { + var self = this; + console.log('setting user from parameter to: ' + user); + setTimeout(function() { self.set_user(user); }, 0); + } } return { |
