initial commit of poker game
This commit is contained in:
103
web-server/public/js/routers/desktopRouter.js
Normal file
103
web-server/public/js/routers/desktopRouter.js
Normal file
@@ -0,0 +1,103 @@
|
||||
define([
|
||||
'jquery',
|
||||
'backbone',
|
||||
'views/AlertGeneralView',
|
||||
'views/AlertConfirmView',
|
||||
'views/AlertErrorView',
|
||||
'views/GlobalView',
|
||||
'views/LoginView',
|
||||
'views/RegisterView',
|
||||
'views/TableListView',
|
||||
'views/TableView',
|
||||
'views/ProfileView'
|
||||
], function($, Backbone, AlertGeneralView, AlertConfirmView, AlertErrorView, GlobalView, LoginView, RegisterView, TableListView, TableView, ProfileView){
|
||||
// bind alerts
|
||||
Alerts.General = new AlertGeneralView();
|
||||
Alerts.Confirm = new AlertConfirmView();
|
||||
Alerts.Error = new AlertErrorView();
|
||||
// main router
|
||||
var Router = Backbone.Router.extend({
|
||||
initialize: function(){
|
||||
// establish event pub/sub
|
||||
this.eventPubSub = _.extend({}, Backbone.Events);
|
||||
this.game = new GameClient();
|
||||
var gv = new GlobalView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
var lv = new LoginView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
var rv = new RegisterView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
var tlv = new TableListView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
var tv = new TableView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
var pv = new ProfileView({game:this.game, eventPubSub:this.eventPubSub});
|
||||
Backbone.history.start();
|
||||
},
|
||||
routes: {
|
||||
'' : 'tables',
|
||||
'login' : 'login',
|
||||
'register' : 'register',
|
||||
'profile' : 'profile',
|
||||
'tables' : 'tables',
|
||||
'table/:id' : 'table'
|
||||
},
|
||||
login: function(){
|
||||
var me = this;
|
||||
me.connect(function(){
|
||||
me.eventPubSub.trigger('initLoginView');
|
||||
});
|
||||
},
|
||||
register: function(){
|
||||
var me = this;
|
||||
me.connect(function(){
|
||||
me.eventPubSub.trigger('initRegisterView');
|
||||
});
|
||||
},
|
||||
profile: function(){
|
||||
var me = this;
|
||||
me.connect(function(){
|
||||
me.auth(function(){
|
||||
me.eventPubSub.trigger('initProfileView');
|
||||
});
|
||||
});
|
||||
},
|
||||
tables: function(){
|
||||
var me = this;
|
||||
me.connect(function(){
|
||||
me.auth(function(){
|
||||
me.eventPubSub.trigger('initTableListView');
|
||||
});
|
||||
});
|
||||
},
|
||||
table: function(id){
|
||||
var me = this;
|
||||
me.connect(function(){
|
||||
me.auth(function(){
|
||||
me.eventPubSub.trigger('initTableView', {
|
||||
tid : id
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
connect: function(callback){
|
||||
if(!this.game.connection.host){
|
||||
this.game.getEntry(callback);
|
||||
}else{
|
||||
callback();
|
||||
}
|
||||
},
|
||||
auth: function(callback){
|
||||
if(!this.game.session.user){
|
||||
$('.username-placeholder').html('');
|
||||
$('.chips-placeholder').html('');
|
||||
$('.authed-section').hide();
|
||||
$('.unauthed-section').show();
|
||||
Backbone.history.navigate('#/login');
|
||||
}else{
|
||||
$('.username-placeholder').html(this.game.session.user.username);
|
||||
$('.chips-placeholder').html(this.game.session.user.chips);
|
||||
$('.unauthed-section').hide();
|
||||
$('.authed-section').show();
|
||||
callback();
|
||||
}
|
||||
}
|
||||
});
|
||||
return Router;
|
||||
});
|
||||
var Alerts = {};
|
Reference in New Issue
Block a user