summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-11-29 22:29:34 +0200
committerAlon Levy <alon@pobox.com>2014-11-29 22:39:03 +0200
commit03b856255549db4cb61d0a010dedd1fd3fba0d50 (patch)
tree1cbb6ef4818d055711dfcbdce3fd4c9f649bb04d
parentc8ad3bcd2d0bf7a8b23b2726d756d25536ce1c6a (diff)
enable user setting by ?user=someone
-rw-r--r--src/buttons.js27
-rw-r--r--src/model/graph.js17
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 {