summaryrefslogtreecommitdiff
path: root/addons/web
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2018-10-26 14:17:00 +0000
committerqsm-odoo <qsm@odoo.com>2018-11-26 12:23:09 +0000
commit2dcd8c8566df71fef03b16b9d0b0d94397ee73a6 (patch)
tree44f492e9f5e1a54207c69d30add82265722c46d9 /addons/web
parent4173d4603e1ce5e713c5e5bc8a89ce83f70bd0e8 (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.scss11
-rw-r--r--addons/web/views/report_templates.xml7
-rw-r--r--addons/web/views/webclient_templates.xml25
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"/>