Skip to content

Instantly share code, notes, and snippets.

@VirtuosiMedia
Last active April 6, 2016 19:32
Show Gist options
  • Save VirtuosiMedia/76093efe7222ddab8e257abab79ef08a to your computer and use it in GitHub Desktop.
Save VirtuosiMedia/76093efe7222ddab8e257abab79ef08a to your computer and use it in GitHub Desktop.
/**
* Renders the main container for the trade center.
*/
render: function(){
var template = _.f();
var header = _.e('div.header');
var breadcrumb = jg.ui.breadcrumb({'commercial': 'commercial.overview', 'tradeCenter': null}).inject(header);
header.inject(template);
var pageMenu = jg.ui.list('ul#tradeCenterMenu.pageMenu');
//TODO: Make these unlockable.
pageMenu.addItem(_.e('button#priceCenterLink', {'data-template': 'commercial.tradeIndex', text: _.translate('index')}));
pageMenu.addItem(_.e('button#portLink', {'data-template': 'commercial.port', text: _.translate('port')}));
pageMenu.addItem(_.e('button#inventoryLink', {'data-template': 'station.inventory', text: _.translate('inventory')}));
pageMenu.render().inject(template);
//Make list of component types for select boxes
var goodsCategories = _.container({
all: _.translate('all'),
resources: _.translate('resources')
});
_.container(_.language.getDataSet('items')).each(function(component){
if (!goodsCategories.hasKey(component.category)){
goodsCategories[component.category] = _.translate(component.category);
}
});
goodsCategories.sort();
//Render the display with tabs
var display = _.e('div#tradeCenterDisplay.display');
display.adopt(_.e('p', {text: _.translate('tradeCenterDescription')}));
var tabs = jg.ui.list('ul#tradeCenterTabs.displayTabs');
if (jg.data.state.commercial.trade.tradeCenterActiveTab === 'purchase'){
tabs.addItem(_.e('button.active', {
'data-click': 'templates.commercial.tradeCenter.setTab',
'data-tab': 'purchase',
text: _.translate('purchaseGoods')
}));
tabs.addItem(_.e('button', {
'data-click': 'templates.commercial.tradeCenter.setTab',
'data-tab': 'sell',
text: _.translate('sellGoods')
}));
var purchase = _.e('div#tradeCenterPurchaseTabPanel.active.tabPanel').adopt(this.renderPurchaseTab(goodsCategories));
var sell = _.e('div#tradeCenterSellTabPanel.tabPanel').adopt(this.renderSellTab(goodsCategories));
} else {
tabs.addItem(_.e('button', {
'data-click': 'templates.commercial.tradeCenter.setTab',
'data-tab': 'purchase',
text: _.translate('purchaseGoods')
}));
tabs.addItem(_.e('button.active', {
'data-click': 'templates.commercial.tradeCenter.setTab',
'data-tab': 'sell',
text: _.translate('sellGoods')
}));
var purchase = _.e('div#tradeCenterPurchaseTabPanel.tabPanel').adopt(this.renderPurchaseTab(goodsCategories));
var sell = _.e('div#tradeCenterSellTabPanel.active.tabPanel').adopt(this.renderSellTab(goodsCategories));
}
tabs.render().inject(display);
display.inject(template);
//Render the tab panels
var tradeCenterTables = _.e('div#tradeCenterTables').adopt(purchase).adopt(sell).inject(template);
return template;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment