From 6447bb3a4636822f96c04182285cd5fcd964d0a9 Mon Sep 17 00:00:00 2001 From: "Xavier BOL (xbo)" Date: Fri, 2 Sep 2022 12:39:06 +0000 Subject: [PATCH] [REF] web: refactor `BooleanToggleField` to inherit to `BooleanField` Before this commit, `BooleanToggleField` and `BooleanField` are 2 distincts components. However, they are some attributes in common. Also, there is an inconsistency between the both components, in the boolean field, a `onChange` method is defined but not in the other one. This commit changes the `BooleanToggleField`, this one will inherit to `BooleanField` to have the attributes in common and override the ones which are different. Also, the `onChange` method will exist in the both components. closes odoo/odoo#99492 Signed-off-by: Aaron Bohy (aab) --- .../fields/boolean_toggle/boolean_toggle_field.js | 14 ++------------ .../boolean_toggle/boolean_toggle_field.xml | 15 ++++++--------- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.js b/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.js index 7fddabbe030..0230876c2c9 100644 --- a/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.js +++ b/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.js @@ -1,27 +1,17 @@ /** @odoo-module **/ -import { CheckBox } from "@web/core/checkbox/checkbox"; import { registry } from "@web/core/registry"; import { _lt } from "@web/core/l10n/translation"; -import { standardFieldProps } from "../standard_field_props"; +import { BooleanField } from "../boolean/boolean_field"; -const { Component } = owl; - -export class BooleanToggleField extends Component { +export class BooleanToggleField extends BooleanField { get isReadonly() { return this.props.record.isReadonly(this.props.name); } } BooleanToggleField.template = "web.BooleanToggleField"; -BooleanToggleField.components = { CheckBox }; -BooleanToggleField.props = { - ...standardFieldProps, -}; BooleanToggleField.displayName = _lt("Toggle"); -BooleanToggleField.supportedTypes = ["boolean"]; - -BooleanToggleField.isEmpty = () => false; registry.category("fields").add("boolean_toggle", BooleanToggleField); diff --git a/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.xml b/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.xml index 72981d4689b..9e09da934fb 100644 --- a/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.xml +++ b/addons/web/static/src/views/fields/boolean_toggle/boolean_toggle_field.xml @@ -1,16 +1,13 @@ - - + + + 'o_field_boolean o_boolean_toggle form-switch' + + ​ - +