2015-03-20 14:21:44 -07:00

64 lines
2.3 KiB
JavaScript

define(['jquery', 'backbone'], function($, Backbone){
var View = Backbone.View.extend({
el: '#tables',
initialize: function(options){
var me = this;
me.options = options;
options.eventPubSub.bind('initTableListView', function(){
$('.app-view').hide();
me.$el.show('fast');
me.tableDom = $('#table-list');
me.getTables();
me.options.eventPubSub.trigger('getFriendList');
me.newTableContainer = $('#create-table-container');
$('#messenger-area').html('');
me.renderNewTable();
});
},
events: {
'click #register-btn': 'register',
'click #create-table-btn': 'createTable',
'click .join-table-btn': 'joinTable',
'click #sync-table-list': 'getTables'
},
getTables: function(){
var me = this;
pomelo.request('game.tableHandler.getTables', '', function(res){
if(res.code != 200){
console.log('error', res.error);
}else{
console.log('getTables', res);
me.renderTables(res.tables);
}
});
},
renderTables: function(tables){
this.tableDom.html(_.template($('#TableListTmpl').html(), tables));
},
renderNewTable: function(){
this.newTableContainer.html(_.template($('#newTableTmpl').html()));
},
createTable: function(e){
e.preventDefault();
var me = this;
pomelo.request('game.tableHandler.createTable', utils.collect(this.newTableContainer), function(res){
if(res.code != 200){
console.log('error', res.error);
}else{
console.log('createTable', res);
me.getTables();
// Backbone.history.navigate('#/table');
}
});
},
joinTable: function(e){
e.preventDefault();
var tid = $(e.currentTarget).closest('tr').attr('did');
if(tid){
Backbone.history.navigate('#/table/'+tid);
}
}
});
return View;
});