26 lines
814 B
JavaScript
26 lines
814 B
JavaScript
/** @odoo-module **/
|
|
|
|
import { registry } from "@web/core/registry";
|
|
import { standardFieldProps } from "@web/views/fields/standard_field_props";
|
|
import { useBus, useService } from "@web/core/utils/hooks";
|
|
import { Component, xml } from "@odoo/owl";
|
|
|
|
export class BarcodeHandlerField extends Component {
|
|
static template = xml``;
|
|
static props = { ...standardFieldProps };
|
|
setup() {
|
|
const barcode = useService("barcode");
|
|
useBus(barcode.bus, "barcode_scanned", this.onBarcodeScanned);
|
|
}
|
|
onBarcodeScanned(event) {
|
|
const { barcode } = event.detail;
|
|
this.props.record.update({ [this.props.name]: barcode });
|
|
}
|
|
}
|
|
|
|
export const barcodeHandlerField = {
|
|
component: BarcodeHandlerField,
|
|
};
|
|
|
|
registry.category("fields").add("barcode_handler", barcodeHandlerField);
|