From 0ebf956edb4ac4f1f352affaeb299bb0f746658d Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Mon, 6 Sep 2021 13:22:13 +0000 Subject: [PATCH] [FIX] web_editor, website: allow to define 'null' values in palettes When [1] was introduced, we prevented to define a 'null' value for a parameter P in a palette and forced a fallback to a default value X defined in a "base" palette (value X which could be null). That allowed to ensure that all final palette values were consistent as always fallbacking to a "safe" value. However, since then, we introduced [2] which makes it so a parameter P in the "base" palette is defined to X (not null) while null is a valid value for P. We could keep the old system and define that paramater P to a 'null' value in the "base" palette and add the default X value in all palettes explicitely... but with this commit we are choosing to be less tolerant (but in fact more tolerant to custo) and rely on the fact palettes are well defined with valid values (e.g. not defining a value to null while only X or Y are allowed for example). Indeed, an exception for the "null" value did not make much sense: if only X or Y are allowed as value for a parameter P, setting a random Z value was not prevented, only null was. [1]: https://github.com/odoo/odoo/commit/05d17089c4a604cb49f1a263b68f39aeffecccda [2]: https://github.com/odoo/odoo/commit/a48a30f954afcb6ff3a59c4f32b05fd0c2cfcd2b Part-of: odoo/odoo#76033 --- .../static/src/scss/secondary_variables.scss | 10 +++++----- .../website/static/src/scss/secondary_variables.scss | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/web_editor/static/src/scss/secondary_variables.scss b/addons/web_editor/static/src/scss/secondary_variables.scss index 33d5019ec82..421e6670aa5 100644 --- a/addons/web_editor/static/src/scss/secondary_variables.scss +++ b/addons/web_editor/static/src/scss/secondary_variables.scss @@ -20,7 +20,7 @@ $-combination-additions: (); $o-color-palette: map-get($o-color-palettes, $o-color-palette-name) or (); // Original color palette can contain override of the default combinations (so keep 'null' values for this merge) $o-color-palette: map-merge($-combination-additions, $o-color-palette); -$o-color-palette: map-merge($o-base-color-palette, o-map-omit($o-color-palette)); +$o-color-palette: map-merge($o-base-color-palette, $o-color-palette); $o-color-palette: o-map-force-nulls($o-color-palette); // Theme colors @@ -41,16 +41,16 @@ $o-theme-color-palette: map-merge(( // very dark version of a desaturate version of the main color 'light': lighten(desaturate($-main-color, 80%), min(70%, max(0%, 97% - $-main-color-lightness))), // Does not increase over 97% lightness 'dark': darken(desaturate($-main-color, 80%), min(70%, max(0%, $-main-color-lightness - 10%))), // Does not lower under 10% lightness -), o-map-omit($o-theme-color-palette)); -$o-theme-color-palette: map-merge($o-base-theme-color-palette, o-map-omit($o-theme-color-palette)); +), $o-theme-color-palette); +$o-theme-color-palette: map-merge($o-base-theme-color-palette, $o-theme-color-palette); $o-theme-color-palette: o-map-force-nulls($o-theme-color-palette); // Gray colors // Extend grays with transparent ones (for some reason, BS4 create black-50 and // white-50 but does not allow overridding that with variables). $o-gray-color-palette: map-get($o-gray-color-palettes, $o-gray-color-palette-name) or () !default; -$o-gray-color-palette: map-merge($o-transparent-grays, o-map-omit($o-gray-color-palette)); -$o-gray-color-palette: map-merge($o-base-gray-color-palette, o-map-omit($o-gray-color-palette)); +$o-gray-color-palette: map-merge($o-transparent-grays, $o-gray-color-palette); +$o-gray-color-palette: map-merge($o-base-gray-color-palette, $o-gray-color-palette); $o-gray-color-palette: o-map-force-nulls($o-gray-color-palette); $o-color-system-initialized: false; diff --git a/addons/website/static/src/scss/secondary_variables.scss b/addons/website/static/src/scss/secondary_variables.scss index c0db7f2e75b..14c27077550 100644 --- a/addons/website/static/src/scss/secondary_variables.scss +++ b/addons/website/static/src/scss/secondary_variables.scss @@ -54,7 +54,7 @@ $o-fonts-similar: ( // automatically replaced with corresponsing values in chosen default values // palette. $-website-values-default: o-safe-nth($o-website-values-palettes, $o-website-values-palette-number, ()); -$-website-values-default: map-merge($o-base-website-values-palette, o-map-omit($-website-values-default)); +$-website-values-default: map-merge($o-base-website-values-palette, $-website-values-default); $o-user-website-values: o-map-font-aliases($o-user-website-values); $-actual-user-website-values-palette: map-merge($-website-values-default, $o-user-website-values); // Default font selection + User font selection have been merged, now need to