Odoo18-Base/addons/barcodes/static/src/barcode_handler_field.js
2025-01-06 10:57:38 +07:00

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);