Skip to content

Commit

Permalink
fixed up home so that refreshing data doesn't make screen blink
Browse files Browse the repository at this point in the history
  • Loading branch information
pwshugar committed Aug 12, 2013
1 parent 0f5c958 commit 3015dc9
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 48 deletions.
4 changes: 4 additions & 0 deletions css/assassin.css
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
color: gray !important;
}

.info {
display:none;
}

#killbutton {
display:none;
}
Expand Down
64 changes: 30 additions & 34 deletions js/models/Home.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
var Home = Backbone.Model.extend({

initialize: function (){
this.set('data', {message:'Game has not started yet.'});
this.set('data', { message: undefined });
this.set('username', undefined);
this.set('name', undefined);
this.set('age', undefined);
this.set('weapon', undefined);
this.set('fact', undefined);
this.set('message', undefined);

},

contractUpdate: function (self){
Expand All @@ -19,11 +18,9 @@ var Home = Backbone.Model.extend({
success: function (data){
if (data.username !== self.attributes.data.username){
self.set('data', data);
self.helper(data);
} else {
if (data.message !== self.attributes.data.message){
self.set('data', data);
self.helper(data);
}
}
}
Expand All @@ -37,44 +34,43 @@ var Home = Backbone.Model.extend({
type: "post",
data: { flag: false },
success: function (data){
self.helper(data);
if (data.admin){
self.trigger('goAdmin');
} else {
self.trigger('goHome');
}
}
});
},

helper: function (data){
if (data){
if (data.flag){
this.set('message', data.message);
this.set('name', undefined);
this.set('username', undefined);
this.set('age', undefined);
this.set('weapon', undefined);
this.set('fact', undefined);
this.set('flag', undefined);
} else {
this.set('message', undefined);
this.set('name', data.fname + " " + data.lname);
this.set('username', 'Assassin Name: ' + data.username[0].toUpperCase() + data.username.slice(1));
this.set('age', 'Age: ' + data.age);
this.set('weapon', 'Weapon of Choice: ' + data.weapon);
this.set('fact', 'Interesting Fact: ' + data.fact);
}
} else {
this.set('message', 'You were assassinated. Game Over.');
this.set('name', undefined);
this.set('username', undefined);
this.set('age', undefined);
this.set('weapon', undefined);
this.set('fact', undefined);
this.set('flag', undefined);
}
}

// helper: function (data){
// if (data){
// if (data.flag){
// this.set('message', data.message);
// this.set('name', undefined);
// this.set('username', undefined);
// this.set('age', undefined);
// this.set('weapon', undefined);
// this.set('fact', undefined);
// this.set('flag', undefined);
// } else {
// this.set('message', undefined);
// this.set('name', data.fname + " " + data.lname);
// this.set('username', 'Assassin Name: ' + data.username[0].toUpperCase() + data.username.slice(1));
// this.set('age', 'Age: ' + data.age);
// this.set('weapon', 'Weapon of Choice: ' + data.weapon);
// this.set('fact', 'Interesting Fact: ' + data.fact);
// }
// } else {
// this.set('message', 'You were assassinated. Game Over.');
// this.set('name', undefined);
// this.set('username', undefined);
// this.set('age', undefined);
// this.set('weapon', undefined);
// this.set('fact', undefined);
// this.set('flag', undefined);
// }
// }

});

2 changes: 1 addition & 1 deletion js/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ var SessionModel = mongoose.model('sessions', Session);

// var user = new UserModel();
// user.collection.drop();
// var group = new GroupModel();
// var group = new GroupModel();
// group.collection.drop();
// var session = new SessionModel();
// session.collection.drop();
Expand Down
53 changes: 42 additions & 11 deletions js/views/HomeView.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
var HomeView = Backbone.View.extend({

initialize: function (){
// var self = this;
var self = this;
// this.model.on('homeRefresh', function (){
// self.render();
// });
this.model.bind('change', this.render, this);
// this.model.bind('change', this.render, this);
this.model.on('change', function (){
updateTemp(self.model.attributes.data);
});

var updateTemp = function (data){
if (data){
if (data.flag){
$('.info').css('display', "none");
$('#killbutton').css('display', "none");
$('#nocontract').css('display', 'block');
$('#nocontract').text(data.message);
if (data.flag === 'admin'){ $('#resetbutton').css('display', 'block'); }
} else {
$('#nocontract').css('display', 'none');
$('.info').css('display', "block");
$('#killbutton').css('display', "block");
$('#name')[0].textContent = data.fname + " " + data.lname;
$('#username').text(data.username[0].toUpperCase() + data.username.slice(1));
$('#age').text(data.age);
$('#weapon').text(data.weapon);
$('#fact').text(data.fact);
}
} else {
$('.info').css('display', "none");
$('#killbutton').css('display', "none");
$('#nocontract').css('display', 'block');
$('#nocontract').text('You were assassinated. Game Over.');
}
};

},

tagName: 'div',
Expand All @@ -20,12 +50,12 @@ var HomeView = Backbone.View.extend({
<div class="editor flex-none" id="divIn">\
<div class="well-header" id="infoarea">Target Profile</div>\
<div class="well">\
<h2 class="info" id="name"><%= name %></h2>\
<p id="nocontract" ><%= message %></p>\
<p class="info" ><span id="username"><%= username %></span></p>\
<p class="info" ><span id="age"><%= age %></span></p>\
<p class="info" ><span id="weapon"><%= weapon %></span></p>\
<p class="info" ><span id="fact"><%= fact %></span></p><br>\
<h2 class="info" id="name"></h2>\
<p id="nocontract" ></p>\
<p class="info" ><b>Assassin Name: </b><span id="username"></span></p>\
<p class="info" ><b>Age: </b><span id="age"></span></p>\
<p class="info" ><b>Weapon of Choice: </b><span id="weapon"></span></p>\
<p class="info" ><b>Interesting Fact: </b><span id="fact"></span></p><br>\
</div>\
<button class="red large" id="killbutton" >Kill Target</button>\
<button class="black large" id="resetbutton" >Reset Game</button>\
Expand Down Expand Up @@ -90,10 +120,11 @@ var HomeView = Backbone.View.extend({
},

render: function (){
this.$el.html(this.template(this.model.attributes));
if(this.model.attributes.username){ $('#killbutton').css('display', 'block'); }
this.$el.html(this.template());
console.log(this.model.attributes.data.message);
console.log(this.model.attributes.data.flag);
if(this.model.attributes.data.flag === 'admin'){ $('#resetbutton').css('display', 'block'); }
// if(this.model.attributes.username){ $('#killbutton').css('display', 'block'); }
// if(this.model.attributes.data.flag === 'admin'){ $('#resetbutton').css('display', 'block'); }
return this.el;
}

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"name": "assassins",
"subdomain": "assassins",
"scripts": {
"start": "node server.js"
"start": "node js/server.js"
},
"description": "test",
"version": "0.0.1-13",
"version": "0.0.1-16",
"engines": {
"node": "v0.8.x"
},
Expand Down

0 comments on commit 3015dc9

Please sign in to comment.