summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric van der Essen <fva@openerp.com>2012-04-26 16:47:01 +0200
committerFrédéric van der Essen <fva@openerp.com>2012-04-26 16:47:01 +0200
commita2a24f2cd49a4a4e603820c94d469e80ce107c8d (patch)
treefa6748e1110089f8ccbf6b996980e4147787e963
parent67341a8cef901b3ea80d622dbe757d344e330ddb (diff)
Draft of Screen API for Screen widgets
bzr revid: fva@openerp.com-20120426144701-s392ynlxdetnwtvk
-rw-r--r--addons/point_of_sale/static/src/js/pos_widgets.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/addons/point_of_sale/static/src/js/pos_widgets.js b/addons/point_of_sale/static/src/js/pos_widgets.js
index 870ce206ee8..d7e393c24ac 100644
--- a/addons/point_of_sale/static/src/js/pos_widgets.js
+++ b/addons/point_of_sale/static/src/js/pos_widgets.js
@@ -121,6 +121,7 @@ function openerp_pos_widgets(module, instance){ //module is instance.point_of_sa
this.pos.bind('change:selectedOrder', this.change_order, this);
},
change_order: function() {
+ console.log('change_order',this.selected_order);
if (this.selected_order) {
this.selected_order.unbind('change:step', this.change_step);
}
@@ -131,7 +132,9 @@ function openerp_pos_widgets(module, instance){ //module is instance.point_of_sa
this.change_step();
},
change_step: function() {
+ console.log('change_step',this.selected_order);
var new_step = this.selected_order ? this.selected_order.get('step') : 'products';
+ console.log('new step:', new_step);
$('.step-screen').hide();
$('#' + new_step + '-screen').show();
},
@@ -637,6 +640,80 @@ function openerp_pos_widgets(module, instance){ //module is instance.point_of_sa
},*/
});
+// ---------- Screens Widgets ----------
+
+
+ module.ScreenWidget = instance.web.Widget.extend({
+ init: function(parent, options){
+ this._super(parent, options);
+ },
+ show: function(){},
+ hide: function(){},
+ });
+
+ module.ScreenContainerWidget = instance.web.Widget.extend({
+ init: function(parent, options){
+ this.pos = options.pos;
+ this.screen_set = options.screen_set || {};
+ this.current_screen = undefined;
+ },
+ addScreen: function(screen_name, screen){
+ screen.hide();
+ this.screen_set[screen_name] = screen;
+ return this;
+ },
+ setCurrentScreen: function(screen_name){
+ var screen = this.screen_set[screen_name];
+ if(screen && screen != current_screen){
+ if(current_screen){
+ current_screen.hide();
+ }
+ current_screen = screen;
+ current_screen.show();
+ }
+ },
+ });
+
+ module.WelcomeScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.ScanProductScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.SearchProductScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.ScaleInviteScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.ScaleProductSelectionScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.AskForMoneyScreenWidget = module.ScreenWidget.extend({
+ });
+
+ module.ReceiptScreenWidget = module.ScreenWidget.extend({
+ });
+
+
+// ---------- PopUp Widgets ----------
+
+ module.PopUp = instance.web.Widget.extend({
+ close: function(){},
+ });
+
+ module.HelpPopUp = module.PopUp.extend({
+ });
+
+ module.ErrorPopUp = module.PopUp.extend({
+ });
+
+ module.TicketOrInvoicePopUp = module.PopUp.extend({
+ });
+
+
+
+
// A Widget that displays an onscreen keyboard.
// There are two options when creating the widget :
//