-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
created a programable menu router that is used for displaying the mai…
…n inventory and reports menus. (greatly simplified the design for menus) finished the router renaming/refactoring.
- Loading branch information
Showing
13 changed files
with
549 additions
and
620 deletions.
There are no files selected for viewing
137 changes: 137 additions & 0 deletions
137
back_office_app/attachments/reporting/inventory/InventoryRouter.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | ||
}); |
4 changes: 2 additions & 2 deletions
4
back_office_app/attachments/reporting/inventory/TaxChangeLogRouter.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
back_office_app/attachments/reporting/inventory/mainInvRouter.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | ||
}) | ||
}))); |
Oops, something went wrong.