194f73a9bbad8c3c3fb5c378e7bdfa704aaacdc0
*: web_editor, mass_mailing This commit changes the way the font size selector works. Before this commit, the font size selector applied a hardcoded font size using the style attribute of the selected element. The purpose of this commit is to change this to apply a class on the selected element, making it responsive and customizable. In all Odoo applications, the font size selector will now apply a class on the current selection. An exception is made for mass mailing where the class would not make much sense as not related to the custom heading sizes (probably needs to be refactored in the future to use the standard font-size classes) and fonts cannot be responsive in mails anyway (so there would be a difference between preview and sent mail). Those classes are: - `display-N-fs` with N in [1 => 4]. The sizes are stored in the `$display-font-sizes` map. - `hN-fs` with N in [1 => 6]. The sizes are stored in the `$hN-font-size` variables. - `small` for the small font size. The size is stored in the `$small-font-size` variable. The font size selector shows the value of the class (which is dynamic) that will be applied. In the website application, the value of each class is configurable thanks to a previous commit. The user can choose the size of each font size class in the website settings. Note that many alternatives were considered for this feature, this is the chosen compromise. For the record, here is a very short summary of the alternatives: - Doing nothing: voted as the worse idea. Users see a font-size selector they will use it one way or another. The font-size won't be responsive, breaking their mobile website. And there are real use cases you could not do: a big "promotion" paragraph on your product page? Not possible: you either break your mobile page (using the font size option) or possibly hurt your SEO (using the font-style option and turning your paragraph into an h1). - Removing the font-size selector: we did not want the loss of the feature as there are correct usecases to use it (as mentioned above). - Using the Bootstrap hN and display-N classes instead of making new ones. Closed to be the chosen idea but discarded because those classes comes with colors (that the user can configure) and it would feel weird to have the color change when changing the font-size. Also, in the end, we also did not want the line-height, margins, etc of those classes (only the font-size). - Instead of X new classes, have only one: o-fs, which would be applied alongside a bootstrap hN or display-N class, when chosen by the user, to cancel the unwanted style of those. It works but it forces us to always have an added `<span>` to apply the font-size, which we don't want in the future (mainly because of display-N classes, see next commit). It is actually very needed to be able to use proper line-height when reducing the font. - Using a combination of an inline `em` font-size + a class to clamp it on mobile. Was probably the best next idea but rejected for several reasons. The main one probably being the inconsistency when changing the whole size of a title/paragraph (not part of it) and later changing the related theme size later. E.g. have an `<h1>` followed by a `<p>`. The h1 is 40px, the paragraph is 20px. Force the title to 20px, because you want it smaller, same size as the paragraph. Real use case but also users could simply use the font-size controls by mistake. We would thus apply 0.5em to do that. Later, change the theme font-size of h1 to 36px (small change). The 0.5em one is now 18px, smaller than the following paragraph. Preventing that would require more checks which would "break" other things / possibilities. - Probably others that were forgotten. In the end, there was no good or bad answer. "Anything works", as long as the feature "I want this text smaller/bigger" is there. The surrounding features are always compromise (some users would expect some behavior, some users would expect others). This commit focused on solving the unresponsiveness of those custom font-sizes, which was a problem for many users. task-1958098 Part-of: odoo/odoo#129791 Co-authored-by: qsm-odoo <qsm@odoo.com>
…
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%