summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2020-10-06 10:32:35 +0000
committerqsm-odoo <qsm@odoo.com>2020-10-07 10:12:03 +0000
commit61ffe97d03deae0aee72568311c453d1cd3470c8 (patch)
tree55131e5078644e999efd5b57a13a4431738e7402
parent8f8d1e4d845fe30b5b89e5a24f3c21af092e6476 (diff)
[FIX] web_editor: reduce clickable area of checkboxes in editor panel
Before this commit the clickable zone of a checkbox in the editor was all the width of the panel. After this commit, the clickable zone is only the label width + the checkbox width. Also, the active and hover states of the label have been removed to not confuse the user. task-2312878 closes odoo/odoo#59240 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
-rw-r--r--addons/web_editor/static/src/js/editor/snippets.options.js15
-rw-r--r--addons/web_editor/static/src/scss/wysiwyg_snippets.scss10
-rw-r--r--addons/website_form/static/tests/tours/website_form_editor.js6
3 files changed, 26 insertions, 5 deletions
diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js
index d8887d67095..14bc101290f 100644
--- a/addons/web_editor/static/src/js/editor/snippets.options.js
+++ b/addons/web_editor/static/src/js/editor/snippets.options.js
@@ -705,6 +705,21 @@ const CheckboxUserValueWidget = ButtonUserValueWidget.extend({
return this._super(...arguments);
},
+
+ //--------------------------------------------------------------------------
+ // Handlers
+ //--------------------------------------------------------------------------
+
+ /**
+ * @override
+ */
+ _onButtonClick(ev) {
+ if (!ev.target.closest('we-title, we-checkbox')) {
+ // Only consider clicks on the label and the checkbox control itself
+ return;
+ }
+ return this._super(...arguments);
+ },
});
const BaseSelectionUserValueWidget = UserValueWidget.extend({
diff --git a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
index ef54977e7da..b7e598c6662 100644
--- a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
+++ b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
@@ -671,13 +671,16 @@ body.editor_enable.editor_has_snippets {
padding: 0;
border: none;
background: none;
+ cursor: default;
+ > we-title {
+ cursor: pointer;
+ }
> div {
display: flex;
min-height: $o-we-sidebar-content-field-height;
line-height: $o-we-sidebar-content-field-height;
}
-
we-checkbox {
flex: 0 0 auto;
display: flex;
@@ -686,6 +689,7 @@ body.editor_enable.editor_has_snippets {
height: $o-we-sidebar-content-field-toggle-height;
background-color: $o-we-sidebar-content-field-toggle-bg;
border-radius: 10rem;
+ cursor: pointer;
&::after {
content: "";
@@ -697,11 +701,13 @@ body.editor_enable.editor_has_snippets {
box-shadow: $o-we-sidebar-content-field-toggle-control-shadow;
}
}
-
&.active we-checkbox {
background-color: $o-we-sidebar-content-field-toggle-active-bg;
justify-content: flex-end;
}
+ &.active, &:hover {
+ color: $o-we-sidebar-content-field-clickable-color;
+ }
}
// Selection (select and button groups)
diff --git a/addons/website_form/static/tests/tours/website_form_editor.js b/addons/website_form/static/tests/tours/website_form_editor.js
index 9431307688a..a50afdf1e7b 100644
--- a/addons/website_form/static/tests/tours/website_form_editor.js
+++ b/addons/website_form/static/tests/tours/website_form_editor.js
@@ -43,14 +43,14 @@ odoo.define('website_form_editor.tour', function (require) {
testText += '.s_website_form_required';
ret.push({
content: "Mark the field as required",
- trigger: 'we-button[data-name="required_opt"]',
+ trigger: 'we-button[data-name="required_opt"] we-checkbox',
});
}
if (hidden) {
testText += '.s_website_form_field_hidden';
ret.push({
content: "Mark the field as hidden",
- trigger: 'we-button[data-name="hidden_opt"]',
+ trigger: 'we-button[data-name="hidden_opt"] we-checkbox',
});
}
if (label) {
@@ -176,7 +176,7 @@ odoo.define('website_form_editor.tour', function (require) {
run: 'text Management Service',
}, {
content: "Mark the field as not required",
- trigger: 'we-button[data-name="required_opt"]',
+ trigger: 'we-button[data-name="required_opt"] we-checkbox',
}, {
content: "Check the resulting field",
trigger: ".s_website_form_field.s_website_form_custom:not(.s_website_form_required)" +