Can anyone give me minimal code so that any method I can override for JS method?
JavaScript
x
11
11
1
changeMode(mode) {
2
if (!this.hasPriceControlRights && mode === 'price' ) {
3
4
return;
5
}
6
if (!this.hasManualDiscount && mode === 'discount') {
7
return;
8
}
9
this.trigger('set-numpad-mode', { mode });
10
}
11
Advertisement
Answer
You need to extend in-place a class in the registry, it is documented in the point of sale ClassRegistry.
Example
JavaScript
1
18
18
1
odoo.define('MODULE_NAME.NumpadWidget', function(require) {
2
'use strict';
3
4
const NumpadWidget = require('point_of_sale.NumpadWidget');
5
const Registries = require('point_of_sale.Registries');
6
7
const CustomNumpadWidget = NumpadWidget => class extends NumpadWidget {
8
changeMode(mode) {
9
10
return super.changeMode(mode);
11
}
12
};
13
14
Registries.Component.extend(NumpadWidget, CustomNumpadWidget);
15
16
return NumpadWidget;
17
});
18