Skip to content

Commit

Permalink
created a programable menu router that is used for displaying the mai…
Browse files Browse the repository at this point in the history
…n inventory and reports menus. (greatly simplified the design for menus)

finished the router renaming/refactoring.
  • Loading branch information
boxxxie committed May 15, 2012
1 parent 2020cb6 commit 5579069
Show file tree
Hide file tree
Showing 13 changed files with 549 additions and 620 deletions.
137 changes: 137 additions & 0 deletions back_office_app/attachments/reporting/inventory/InventoryRouter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
var inventory_view =
general_report_table_view.extend(
{
initialize:function(options){
var view = general_report_table_view.prototype.initialize.call(this,options);
view.menu_table =
new templated_view({
template:'menuReportsInventoryMenutable_TMP',
auto_el:'#inventorymenutable'
});
view.scan_table =
new templated_view({
template:'menuReportsInventoryScantable_TMP',
auto_el:'#inventoryscantable'
});
view.ecr_table =
new templated_view({
template:'menuReportsInventoryEcrtable_TMP',
auto_el:'#inventoryecrtable'
});
return view;
},
setup:function(){
var view = general_report_table_view.prototype.setup.call(this);
if(view.$('#inventorymenutable').size()){
//the divs for the tables are made, don't need to remake them
}
else{
//build the divs for the tables
view.$el.append(view.menu_table.make("div", {"id": "inventorymenutable"}));
view.$el.append(view.menu_table.make("div", {"id": "inventoryscantable"}));
view.$el.append(view.menu_table.make("div", {"id": "inventoryecrtable"}));
}
return view;
},
events:{
'change #inventorydown':'select_table_category'
},
_render:function(data){
var view = this;
view.menu_table.render(data);
view.scan_table.render(data);
view.ecr_table.render(data);
return view;
},
_show_hide_tables:multimethod()
.dispatch(function(event){
var child_index = event.currentTarget.selectedIndex;
var category_selected = $(event.currentTarget.children[child_index]).val();
return category_selected;
})
.when("ALL", function(){
this.menu_table.$el.show();
this.scan_table.$el.show();
this.ecr_table.$el.show();
})
.when("Menu",function(){
this.menu_table.$el.show();
this.scan_table.$el.hide();
this.ecr_table.$el.hide();
})
.when("Scan",function(){
this.menu_table.$el.hide();
this.scan_table.$el.show();
this.ecr_table.$el.hide();
})
.when("ECR",function(){
this.menu_table.$el.hide();
this.scan_table.$el.hide();
this.ecr_table.$el.show();
}),
select_table_category:function(event){
this._show_hide_tables(event);
},
_selection_obj:function(event){
var child_index = event.currentTarget.selectedIndex;
var el = $(event.currentTarget.children[child_index]);
var selection = {
id : el.val(),
name : el.text()
}
return selection;
}
});

var inventory_sold_report_router =
general_report_router.extend(
{
export_csv:function(callback){
console.log('export inventory sold report')
function convert_to_array(data){
return _.chain([
data.menu_sales_list,
data.scan_sales_list,
data.ecr_sales_list,
data.scale_sales_list
])
.flatten(true)
.map(function(item){
if(item.upc){
var label = item.label +'-'+ item.upc
}
else{
var label = item.label
}
return [
label,
item.sales.quantity,
item.sales.price,
item.refunds.quantity,
item.refunds.price,
item.totals.quantity,
item.totals.price,
item.typedSalesPercentage,
item.totalSalesPercentage
]
})
.value()
}
callback(convert_to_array,'inventory_sold_report');
},
fetch_inventory_report:function(callback) {
var router = this
inventoryTotalsRangeFetcher_F(router.selected_entity)
(router.startDate.toArray().slice(0,3), router.endDate.toArray().slice(0,3))
(function(err,response) {
callback(response);
});
}
});
new inventory_sold_report_router(
{
route : new RegExp('inventory/inventory_sold'),
report_table_view:inventory_view,
template:"report_TMP",
title:'Inventory Sold Report'
});
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var menuInventorytaxChangeLogRouter =
var menuInventorytaxChangeLogRouter =
new (Backbone.Router.extend(
{routes: {
"inventory/tax_change_log":"menuInventoryTaxChangeLog"
"inventory/scan_tax_change_log":"menuInventoryTaxChangeLog"
},
menuInventoryTaxChangeLog:function() {
console.log("menuInventoryCompanytaxChangeLog");
Expand Down
39 changes: 39 additions & 0 deletions back_office_app/attachments/reporting/inventory/mainInvRouter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
(new (Backbone.Router.extend(
{routes: {
"inventory/":"setup"
},
menu_options:{
inventory_sold:{img:'reports/inventorysold.png',title:'Inventory Sold Report',link:'inventory_sold'},
idle_inventory:{img:'inventory-idle.png',title:'Idle Inventory Report',link:'idle_inventory'},
stock_management:{img:"inventory-idle.png",title:"Inventory Stock Management",link:'stock_management'},
scan_price_change:{img:"reports/scanprice.png",title:"SCAN Item Price Changes",link:'scan_price_change'},
scan_tax_change:{img:"reports/scantax.png",title:"SCAN Sales Tax Changes",link:"scan_tax_change"},
add_scan_item:{img:"reports/scanaddnew.png",title:"Add New Inventory SCAN Items",link:"add_scan_item"},
price_change_log:{img:"reports/pricelog.png",title:'Price Change Log',link:'price_change_log'},
scan_tax_change_log:{img:"reports/taxlog.png",title:"Tax Change Log",link:'scan_tax_change_log'},
menu_price_change:{img:"reports/menupricechange.png",title:"Menu Price Change",link:'menu_price_change'}
},
render:function(template_data){
var html = ich.menuInventory_TMP(template_data);
$("#main").html(html);
},
setup:multimethod()
.dispatch(function(){
return topLevelEntity(ReportData).type;
})
.when('company',function(){
var options_list = _.toArray(this.menu_options);
var template_data = _.extend(autoBreadCrumb(),{options:options_list});
this.render(template_data);
})
.when('group',function(){
var options_list = _.chain(this.menu_options).removeKeys('menu_price_change').toArray().value();
var template_data = _.extend(autoBreadCrumb(),{options:options_list});
this.render(template_data);
})
.when('store',function(){
var options_list = _.chain(this.menu_options).removeKeys('menu_price_change').toArray().value();
var template_data = _.extend(autoBreadCrumb(),{options:options_list});
this.render(template_data);
})
})));
Loading

0 comments on commit 5579069

Please sign in to comment.