Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
5392 Weergaven

I'm trying to modify POS widget, getting the following error:


TypeError: screens.ActionpadWidget is not a function
at OdooClass.screens.ProductScreenWidget.include.start


I'm sure there is some mess with inheritance or syntax but have no idea where the key to solve it.

Below is my code:


odoo.define('my_pos.my_pos', function (require) {
"use strict";
    var screens = require('point_of_sale.screens');
    var models = require('point_of_sale.models');
    var core = require('web.core');
    var QWeb = core.qweb;
    var _t = core._t;
// ######################
// Product Screen Widget
// ######################
    screens.ProductScreenWidget.include({
        start: function(){
            var self = this;
            this.actionpad = new screens.ActionpadWidget(this,{});
            this.actionpad.replace(this.$('.placeholder-ActionpadWidget'));
            this.numpad = new screens.NumpadWidget(this,{});
            this.numpad.replace(this.$('.placeholder-NumpadWidget'));
            this.order_widget = new screens.OrderWidget(this,{
                numpad_state: this.numpad.state,
             });
            this.order_widget.replace(this.$('.placeholder-OrderWidget'));
            this.product_list_widget = new screens.ProductListWidget(this,{
                mouseover_product_action: function(product){ self.mouseover_product(product); },
                product_list: this.pos.db.get_product_by_category(0)
            });
            this.product_list_widget.replace(this.$('.placeholder-ProductListWidget'));
            this.product_categories_widget = new screens.ProductCategoriesWidget(this,{
                    product_list_widget: this.product_list_widget,
            });
            this.product_categories_widget.replace(this.$('.placeholder-ProductCategoriesWidget'));
            this.action_buttons = {};
            var classes = action_button_classes;
            for (var i = 0; i < classes.length; i++) {
                    var classe = classes[i];
                    if ( !classe.condition || classe.condition.call(this) ) {
                        var widget = new classe.widget(this,{});
                          widget.appendTo(this.$('.control-buttons'));
                         this.action_buttons[classe.name] = widget;
                    }
                }
                if (_.size(this.action_buttons)) {
                    this.$('.control-buttons').removeClass('oe_hidden');
                 }
             },
// What happens when Mouse over Product (just for test)
            mouseover_product: function(product) {
            this.gui.show_popup('error', {
                    'title': _t('Mouse over!'),
                    'body': _t('Watch your mouse man!')
                    });
            },
        });
});


Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
6
feb. 18
15618
1
nov. 24
1116
4
okt. 24
3340
0
okt. 22
5081
0
sep. 22
38