summaryrefslogtreecommitdiff
path: root/doc/reference/javascript_cheatsheet.rst
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2018-04-26 14:53:51 +0200
committerqsm-odoo <qsm@odoo.com>2018-04-26 16:23:39 +0200
commitb2ad88e38de44692661baf08b127b7f5b1782e54 (patch)
tree08ce0331a47c77211815c23bfce5aee9cb7f9a10 /doc/reference/javascript_cheatsheet.rst
parent9fb6d6eac3163ea80c146ec1bf8578a189dd2365 (diff)
[FIX] web: form buttons should always get a btn style class
Here is the story of the problem: back in 10.0, everything *seemed* fine with button rendering except it was very messy duplicated codes. The system was still not consistent: -> In Header, button with: no class -> btn-default btn-primary -> btn-default btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-default btn-link oe_link -> btn-default oe_link btn-danger -> btn-default btn-danger some_class -> btn-default some_class -> Not in header, button with: no class -> no class btn-primary -> btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-link oe_link -> oe_link btn-danger -> btn-danger some_class -> some_class So, outside the header, the system seemed to not process anything except transforming the oe_highlight class. In the header, the btn-default was always added, except if using the oe_highlight class. The style is fine for those, except for .btn-default.btn-link and .btn-default.oe_link where the link class has no effect (which is fine as header are not supposed to contain links). In 11.0, the new views were introduced alongside websitepocalypse. The new system led to: -> In Header, button with: no class -> btn-default btn-primary -> btn-default btn-primary oe_highlight -> btn-default oe_highlight btn-default -> btn-default btn-link -> btn-default btn-link oe_link -> btn-default oe_link btn-danger -> btn-default btn-danger some_class -> btn-default some_class -> Not in header, button with: no class -> btn-default btn-primary -> btn-primary oe_highlight -> oe_highlight btn-default -> btn-default btn-link -> btn-link oe_link -> oe_link btn-danger -> btn-danger some_class -> some_class So, it worsened the header buttons by not processing the oe_highlight class and adding the btn-default class in all cases. This is even worse since in 11.0 .btn-default.btn-link do have a specific style and thus not appear as .btn-default anymore. Those may be invisible "bugs" though as .btn-link are not supposed to be in header and oe_highlight is styled correctly in css. For buttons outside the header, a little processing was added to add "btn-default" class for buttons which did not specify a class (and oe_highlight is not processed anymore there too). In master, with the less2scss task, the system had to change again but led this time to visible bugs: -> In Header, button with: no class -> btn-default btn-primary -> btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-link oe_link -> btn-link btn-danger -> btn-danger some_class -> some_class -> Not in header, button with: no class -> btn-default btn-primary -> btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-link oe_link -> btn-link btn-danger -> btn-danger some_class -> some_class As you can see, the system is now the same for both header button and normal buttons. The system is also better for all cases as it produce only *one* *bootstrap* class for all cases. However, the problematic case is the last one for header buttons: it did not receive the btn-default class automatically. Even though this is the API for the rest of odoo (dialogs, renderButton (old WidgetButton), ...), this is a problem here as fixing this would require to add the 'btn-default' class in every view which is using this case. While waiting for a better solution, this commit is instead forcing the btn-default class in that header case only (so only when a class was mentioned but it did not contain any bootstrap btn type class). So the new system gives: -> In Header, button with: no class -> btn-default btn-primary -> btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-link oe_link -> btn-link btn-danger -> btn-danger some_class -> btn-default some_class -> Not in header, button with: no class -> btn-default btn-primary -> btn-primary oe_highlight -> btn-primary btn-default -> btn-default btn-link -> btn-link oe_link -> btn-link btn-danger -> btn-danger some_class -> some_class This commit also adds tests which will prevent the system to change again without noticing it. Closes https://github.com/odoo/odoo/pull/24443
Diffstat (limited to 'doc/reference/javascript_cheatsheet.rst')
0 files changed, 0 insertions, 0 deletions