diff options
| author | qsm-odoo <qsm@odoo.com> | 2018-10-26 14:17:00 +0000 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2018-11-26 12:23:09 +0000 |
| commit | 2dcd8c8566df71fef03b16b9d0b0d94397ee73a6 (patch) | |
| tree | 44f492e9f5e1a54207c69d30add82265722c46d9 /addons/web | |
| parent | 4173d4603e1ce5e713c5e5bc8a89ce83f70bd0e8 (diff) | |
[REF] web, *: review the assets helpers organization
* survey, website_slides
While not changing their name or their amount, this commit reorganizes
the assets helpers to:
Avoid all file duplicates in different helpers
----------------------------------------------
Before, we had to put some files in different helpers, like our
bootstrap mixin overrides which were in the _assets_utils template and
in the _assets_bootstrap template.
Enforce the use of an helper when using bootstrap
-------------------------------------------------
Bootstrap functions, variables and mixins are now out of the
_assets_bootstrap template, which now only contains bootstrap css rules
and our bootstrap fixes and extensions.
Allow using the correct bootstrap utils in all assets
-----------------------------------------------------
In some assets (especially editor ones), we may want to use bootstrap
variables even though bootstrap is not included in those. This worked
before but using *default* bootstrap variables. Now, our overrides can
be properly included if necessary.
Note: this commit may also be a first step to allow for backend
bootstrap and frontend bootstrap to co-exist.
closes odoo/odoo#28204
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/static/src/scss/import_bootstrap.scss (renamed from addons/web/static/src/scss/import_bootstrap_part2.scss) | 13 | ||||
| -rw-r--r-- | addons/web/static/src/scss/import_bootstrap_part1.scss | 11 | ||||
| -rw-r--r-- | addons/web/views/report_templates.xml | 7 | ||||
| -rw-r--r-- | addons/web/views/webclient_templates.xml | 25 |
4 files changed, 25 insertions, 31 deletions
diff --git a/addons/web/static/src/scss/import_bootstrap_part2.scss b/addons/web/static/src/scss/import_bootstrap.scss index c15793019ad..d3d033a3575 100644 --- a/addons/web/static/src/scss/import_bootstrap_part2.scss +++ b/addons/web/static/src/scss/import_bootstrap.scss @@ -1,11 +1,14 @@ // This file is importing bootstrap. While a simple "import "bootstrap";" -// should be enough, this does not allow overridding mixins. Overridding mixins -// is necessary for some of our need and allow to generate more efficient CSS -// than adding more rules. This file instead copies the second part of the -// content of the "bootstrap.scss" files to allow adding mixin overrides in -// between. +// should be enough, this does not allow overridding mixins/functions. +// Overridding those is necessary for some of our need and allow to generate +// more efficient CSS than adding more rules. This file instead copies the +// content of the "bootstrap.scss" files but do not import functions, variables +// and mixins which will be handled "by hand" in _assets_helpers. +// @import "functions"; +// @import "variables"; +// @import "mixins"; @import "root"; @import "reboot"; @import "type"; diff --git a/addons/web/static/src/scss/import_bootstrap_part1.scss b/addons/web/static/src/scss/import_bootstrap_part1.scss deleted file mode 100644 index 09f4d3579ac..00000000000 --- a/addons/web/static/src/scss/import_bootstrap_part1.scss +++ /dev/null @@ -1,11 +0,0 @@ - -// This file is importing bootstrap. While a simple "import "bootstrap";" -// should be enough, this does not allow overridding mixins. Overridding mixins -// is necessary for some of our need and allow to generate more efficient CSS -// than adding more rules. This file instead copies the first part of the -// content of the "bootstrap.scss" files to allow adding mixin overrides in -// between. - -@import "functions"; -@import "variables"; -@import "mixins"; diff --git a/addons/web/views/report_templates.xml b/addons/web/views/report_templates.xml index 7cd5b04a01f..b33f89cd929 100644 --- a/addons/web/views/report_templates.xml +++ b/addons/web/views/report_templates.xml @@ -3,10 +3,11 @@ <!-- Assets for reports --> <template id="report_assets_common"> - <t t-call="web._assets_helpers"><t t-set="no_bs_vars" t-value="True"/></t> + <t t-call="web._assets_helpers"> + <!-- FIXME web_editor ? --> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/> + </t> - <!-- FIXME web_editor ? --> - <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/> <t t-call="web._assets_bootstrap"/> <link href="/base/static/src/css/description.css" rel="stylesheet" type="text/css"/> diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index fa0ecce61e6..1ce0a83f63b 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -3,8 +3,10 @@ <template id="_assets_utils"> <link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_functions.scss"/> <link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_mixins.scss"/> - <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/utils.scss"/> + <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bs_mixins_overrides.scss"/> + + <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/utils.scss"/> </template> <template id="_assets_primary_variables"> @@ -20,26 +22,21 @@ <t t-call="web._assets_primary_variables"/> <t t-call="web._assets_secondary_variables"/> - <!-- Bootstrap variables should not be necessary, all pages come with bootstrap in at least one of their --> - <!-- bundle and, ideally, these should be available in all assets... with their odoo override. This system --> - <!-- however works for now as non-backend and non-frontend assets do not need overriden BS variables yet. --> - <link t-if="not no_bs_vars" rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_variables.scss"/> + <t t-raw="0"/> + + <link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_variables.scss"/> </template> <template id="_assets_backend_helpers"> - <t t-call="web._assets_helpers"><t t-set="no_bs_vars" t-value="True"/></t> <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_overridden.scss"/> </template> <template id="_assets_frontend_helpers"> - <t t-call="web._assets_helpers"><t t-set="no_bs_vars" t-value="True"/></t> <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_overridden_frontend.scss"/> </template> <template id="_assets_bootstrap"> - <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/import_bootstrap_part1.scss"/> - <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bs_mixins_overrides.scss"/> - <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/import_bootstrap_part2.scss"/> + <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/import_bootstrap.scss"/> <link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_review.scss"/> </template> @@ -141,7 +138,9 @@ </template> <template id="assets_backend" name="Backend Assets (used in backend interface)"> - <t t-call="web._assets_backend_helpers"/> + <t t-call="web._assets_helpers"> + <t t-call="web._assets_backend_helpers"/> + </t> <t t-call="web._assets_bootstrap"/> <link rel="stylesheet" type="text/scss" href="/web/static/lib/tempusdominus/tempusdominus.scss"/> @@ -316,7 +315,9 @@ </template> <template id="web.assets_frontend" name="Website Assets"> - <t t-call="web._assets_frontend_helpers"/> + <t t-call="web._assets_helpers"> + <t t-call="web._assets_frontend_helpers"/> + </t> <t t-call="web._assets_bootstrap"/> <link rel="stylesheet" type="text/scss" href="/web/static/lib/tempusdominus/tempusdominus.scss"/> |
