summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src/js/editor/rte.summernote.js
AgeCommit message (Collapse)Author
2021-03-17[FIX] website_forum: show normal image modal in forumNicolas Lempereur
In #67893 the image icon was removed, but it contradicts the interface and made a feature that was working for employee less available. Since saas-12.3, we always use the full media dialog when showing the editor on the forum so we could not add an image with the image icon if were not an employee. Before saas-12.3, the original summernote image dialog was shown for everyone but website editor that saw the full media dialog (beecause we are using the same editor to do both things). With this change, we always have the original dialog in the forum message editor thanks to a new option "disableFullMediaDialog". opw-2470720 closes odoo/odoo#68018 X-original-commit: 74af23fb0be60c996503ad599eb96bc2ab4d64f9 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2021-02-18[FIX] web_editor: don't save cropping tool on CTRL+ZNicolas Lempereur
Scenario: - start cropping of an image - press TAB key - do CTRL + Z => now the image cropping tool are inside the page and there is no way to remove them. Why: The image crop tool was added inside the editable elemnt, so if we did an action that changed history the cropping tools are saved in the snapshot and going back to it will add them without any code handling their removal. opw-2394877 opw-2423445 closes odoo/odoo#66462 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2021-01-13[FIX] web_editor: solve bold command issuesqsm-odoo
Summernote uses execCommand and, worth, obsolete queryCommandState function to customize the edited content. Here we try to hack the function to solve some problems by making the DOM and style easier to understand for the base functions for the duration of their executions. This won't obviously solves all problems but this is an improvement while waiting for the new Odoo editor coming in future versions. The original problem this solves is handling bold text in blog posts. Posts are using font-weight: 300 which is enough to confuse summernote. Hitting bold on a selected paragraph wraps its content in a <b> tag but hitting bold again does nothing... having a <b> rendered as fw-400 is enough to break it. What this commit does is: before any execCommand or queryCommandState being used to modify the DOM or retrieve its state, the whole DOM is forced to fw-400 and <b> elements to fw-700. This also solves issues in some base snippets. closes odoo/odoo#64472 X-original-commit: 424d9661c5657cbcf10ce40acb94a7a200c2a48b Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-01-07[FIX] web_editor: fix replacing media leaving unexpected elementsSamuel Degueldre
Previously, changing a media from a video/icon/document to a different type would leave empty elements in the DOM, this is because summernote's range API `range.insertNode` function deletes the content but not the structure (HTML elements). This commit fixes that by using jQuery's replaceWith method instead of summernote's insertNode when a media was found, and only using summernote in case no media was found (eg. a text range). Part of: odoo/odoo#60450 X-original-commit: 63f80995a05eeab1061b769c7733a1cfa98c726e
2020-12-24[FIX] web_editor: stop suggesting shapes for model-related imagesqsm-odoo
Those kind of images use a specific route (/web_editor/shape/...) to be fetched. While waiting for a more complete solution to maybe handle them for model-related images, this commit only allows their use for images in views and HTML fields. closes odoo/odoo#63682 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-21[FIX] web_editor: disable embedded video for html fields in backendIEL
TLDR: the videos doesn't work anyway, but nobody noticed it for years; at the same time there is no easy way to fix it STEPS: * create a record with html field, e.g. project.task * add an embedded video (File/Image icon) * save BEFORE: video doesn't work AFTER: there is no option to add embedded video anymore WHY: * iframe tags are removed before storing html in database, so after saving a record, embedded video doesn't work anymore * possible fixes look too tricky for stable branches: * new field attribute sanitize_iframe=False -- requires changes in core python framework which may have side effect * adding iframe on client side -- the problem is that the backend doesn't have mechanism to use animation in html fields like it's done in website: https://github.com/odoo/odoo/blob/ced500e9bcbb5c84033463689d135ad4c7dc4f39/addons/website/static/src/js/content/snippets.animation.js#L623-L632 * adding iframe on server side -- parsing html fields in _read... Doesn't look good either * double selector is required to make it work both in frontend and backend: $editable.closest('.o_editable, .note-editor') * we don't need hardcoded exception for mailing.mailing, mail.compose.message because those fields marked as sanitized (default value) https://github.com/odoo/odoo/blob/c92f058571b0656451f24e24154dd1bdb3bdb48a/odoo/fields.py#L1589-L1590 https://github.com/odoo/odoo/blob/c92f058571b0656451f24e24154dd1bdb3bdb48a/addons/mail/wizard/mail_compose_message.py#L115 https://github.com/odoo/odoo/blob/61734cdaf1cf6857125b1ece63928ab080359c6c/addons/mass_mailing/models/mailing.py#L77 * I don't apply this for Odoo 12, because js is refactored in Odoo 13 (e.g. field_html.js has another name in Odoo 12) --- opw-2353103 closes odoo/odoo#60474 X-original-commit: 2dcbac08effcedafbcf50610355752030902b16d Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com> Signed-off-by: Ivan Yelizariev // IEL <yelizariev@users.noreply.github.com>
2020-09-28[FIX] web_editor: restore background and foreground color previewsqsm-odoo
Forward-port of [1] for the custom text tools for the website editor. Still has to be improved with the future text tools. [1]: https://github.com/odoo/odoo/pull/58690 Part of https://github.com/odoo/odoo/pull/58638 closes odoo/odoo#58638 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-09-28[FIX] web_editor, *: show text tools in style tab onlyqsm-odoo
*: website As the text editor is still the summernote one, this improvement was made possible through a series of hack. It has to be reviewed once the new editor is ready. This makes the text tools only appear in the style tab by switching to it as soon as the summernote tools are updated. To prevent flickering, css and js hacks had to be made. This also moves the undo/redo buttons in the top bar with another hack: those simulates click on the hidden summernote ones. Part of https://github.com/odoo/odoo/pull/58638
2020-06-05[IMP] web_editor, *: move image optimization feature to left-panelSamuel Degueldre
*: website, mass_mailing In continuity with the nline crop, in an effort to make the image workflow as seamless as possible in the website editor, the image optimization feature has been moved out of the modal which could be opened through the media-dialog and into the left panel. This commit adds a quality slider and a width selector, as well as a preview of the image's weight to the left panel, and removes the image_optimize dialog. This commit also introduces the possibility to add a color filter on images. Part of https://github.com/odoo/odoo/pull/51517 task-2192755 closes odoo/odoo#51517 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-06-05[IMP] web_editor, *: change image cropping from modal to inline widgetSamuel Degueldre
*: base Previously, cropping an image was done inside of a modal window, turning it into an inline widget makes the editor feel more integrated and allows you to better see the result of cropping directly in the page, it's also less intrusive to the user's edition workflow. At the same time, the way cropped images are saved was refactored to use the new original_id field on ir_attachment, as the old system was creating problems. Part of https://github.com/odoo/odoo/pull/51517 task-2192755
2020-05-15[IMP] web, web_editor: integrate colorpicker in colorpalettefja-odoo
Stop using the colorpicker dialog in the colorpalette widget. Integrate the colorpicker widget in the colorpalette widget. Of course, the colorpicker behaviors are adapted so that no useless rerendering of the colorpalette is made on each value change. The 'reset color' button is now a button like the other colors, no need for a 'color_reset' event anymore. It is removed and replaced with a 'color_picked' event with color being an empty string. The clear button now also work on hover. Also, the topbar colorpalette for text and text background colors now has the exact same behaviour as the background colorpalette: adding color preview on hover. The colorpalette now also closes on 'enter' keypress. Part of https://github.com/odoo/odoo/pull/46088 task-2195313 closes odoo/odoo#46088 Related: odoo/enterprise#8696 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-05-14[IMP] web_editor, *: make Colorpicker a Widgetfja-odoo
*: website, web Move the colorpicker dialog logic into a colorpicker *widget*, which the colorpicker dialog will now instantiate. Part of https://github.com/odoo/odoo/pull/46088 task-2195313
2020-04-28[FIX] web_editor: fix media dialog when no media selectedDavid Monjoie
closes odoo/odoo#50341 X-original-commit: 9baf753ace725b000eae98cd95e4f5e0aa84466a Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-04-10[FIX] web, web_editor: allow editor instantiation from public userqsm-odoo
If for some reason someone wanted to develop a textarea using the editor which is supposed to work as a public user (like we are trying to do on Odoo.com), it was not possible. The code was "designed" to allow it but there was one problem: the lazy loading of the editor assets required a `render_template` call to the server... which cannot be done from a public user. This commit solves the issues by allowing the lazy loading of assets to use a custom route if required. That route is then used by the editor "root". That route performs the render_template as a superuser provided that the view's xmlid is whitelisted. Note: there was another unauthorized call for public user: the colorpicker. This was solved by disabling the colorpicker template rpc for public user, they will still get the default summernote one. Part of https://github.com/odoo/odoo/pull/48981 closes odoo/odoo#48981 closes odoo/odoo#49398 X-original-commit: e84a0bfdc99c21406861b88c02b11c925d92f927 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-04-03[FIX] web_editor: fix dialogs (link, media, alt, crop) not openingSamuel Degueldre
In 3f4092d837d50d25d6c9630d84f67545cf586c7a, the SummernoteManager that was previously owned by RTE was removed, this was because the wysiwyg already has one. One problem with this however is that when an editor is created in an iframe, the wysiwyg is instanciated outside, while the editor is instanciated inside. This means that they don't have the same core.bus to listen for and trigger events, such as those used to open the various editor dialogs. This commit fixes that by always using the top-level core.bus when opening dialogs. This also has the advantage that the dialogs are no longer confined to the iframe and can take up the whole screen, making them more comfortable to use. closes odoo/odoo#48932 X-original-commit: 68ac735aa7e17e66910f51706829035697dfcc1e Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-30[IMP] web_editor: remove summernoteManager from rteSamuel Degueldre
The wysiwyg which is the parent of the EditorMenuBar already has an instance that can be used instead.
2020-03-17[FIX] web_editor: stop base 64 being saved in the DOM when recroppingSamuel Degueldre
When saving after cropping an attachment, a new cropped attachment is created, and the temporary base64 URL is replaced by the url of the new attachment. However, when cropping an image for a second time, the original image is recropped, and the cropped image attachment that was created previously is overriden with the new data. Previously, the step that overrides the temporary base64 url with the url of the croppped attachment was not present when overriding a previously cropped attachment, meaning it would be saved as is in the DOM, and the overriden attachment would no longer have any links pointing to it. This commit fixes that by overriding the temporary base64 url both when cropping for the first time, but also for subsequent re-crops of the same image. closes odoo/odoo#47836 X-original-commit: 3b23f137a2b519b88087452fa4c33a9f97ccdf61 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-04[FIX] web_editor: stop media-dialog from loading all db attachmentsSamuel Degueldre
Before this commit, the media-dialog was reading all attachments that matched certain criteria for each tab. On large databases, this results in the search_read call timing out, preventing the media-dialog from opening and making all images and documents un-editable. One unfortunate consequence of this is that we can no longer use the firstFilter and lastFilter features, as those rely on fetching all records and sorting them client-side, as such, this feature has been removed entirely. task-2198527 closes https://github.com/odoo/odoo/issues/43113 closes odoo/odoo#46895 X-original-commit: 1e91a89b78ff6019c6120c73ea1eab09b3d58d2f Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-27[FIX] web_editor: do not store base64 of cropped image to html fieldKishan Gajjar
On crop dialog save, the image src is set to the base64. We are creating an attachment for the cropped image if the user save the changes and after that, we set the newly created image as the src of that image. Meanwhile, when the user save the 'html' field, it is not creating any attachment for the cropped image and also it leaves base64 as it is. Due to that field store large data into the database. this commit makes sure that attachment is created for cropped images and update src before storing field value to the database. closes odoo/odoo#46455 X-original-commit: 2bcaa25e67260e3013d4400d1b3ce380ba5cbd1d Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-11[FIX] web_editor: deny videos in mass mailingAndrea Grazioso (agr-odoo)
Create a new mass mailing, add a video via youtube embed link, save. Send email. Embedding a video can't work because it embeds an iframe, which is not supported by most email clients for security reasons. Extending the noVideo flag also to mass_mailing opw-2179665 closes odoo/odoo#45104 X-original-commit: f9f8c9cc4075fdc5fd4556aa49c914054469198a Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-12-09[REV] web: reverts update to fontawesome 5.11.2Kevin Baptiste
This reverts commit ff1c35513aecef5fbc30f7c2f3834450e719714e. closes odoo/odoo#41480 X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc Related: odoo/enterprise#7110 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-01[IMP] web_editor, *: add new user value colorpicker widgetqsm-odoo
* web, mass_mailing, website Introduced a new sub-widget for snippet options: we-colorpicker. This allows to retrieve a color value (either a normalized css color or a theme color name) to be used for a snippet option method. This commit replaces the old 'colorpicker' snippet option whose behavior is now simply achieved by defining an xml option using a we-colorpicker widget in combination with the 'selectStyle' standard method. This commit also adds the possibility to control the border-color of elements alongside their border-width. Again, just a we-colorpicker widget in combination with the 'selectStyle' standard method. Note: this commit reviewed what the colorpalette palette widget notifies. This is not a cssColor and a 'isClass' flag to say if it is a css class or not. The colorpalette always returns a color string which can be the name of a color like 'alpha'. This is up to the caller to check if the color string is a css color or not with isCSSColor. In the case it is not, the related code can read the actual color by reading the related css variable. Part of https://github.com/odoo/odoo/pull/40282 In preparation of task-2122935 and other tasks
2019-12-01[REF] web, web_editor, *: review normalization of colorsqsm-odoo
* website Review colorpicker methods to always allow to use normalized colors. Also factorize some code in the color palette widget. Part of https://github.com/odoo/odoo/pull/40282 In preparation of task-2122935 and other tasks
2019-11-28[FIX] web_editor: apply missing fix from saas-12.3 revertDavid Monjoie
closes odoo/odoo#41021 X-original-commit: 21c23050f100bab2c5377c37a6de40c4acf28ca8 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2019-11-28[IMP] web: update to fontawesome 4.7.0 to 5.11.2Kevin Baptiste
FontAwesome 5 introduced new names for some icons as described on https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes This commit replaces the old names to the new ones. closes odoo/odoo#35826 Taskid: 2050241 Related: odoo/enterprise#5180 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-18[IMP] web_editor, website: generalize colorpickerfja-odoo
Currently we have: - a colorpicker for background color of snippets - a colorpicker for foreground and background text (topbar) - a colorpicker for menu/footer/navbar/etc These 3 are separate colorpickers with different options. After this Commit All 3 will use the same color palette wich allow you to select theme color, common colors, custom color and transparent filter. Part of https://github.com/odoo/odoo/pull/38959 maintask-2066614 task-2087383
2019-11-06[FIX] web_editor: link dialog over image keep imageNicolas Lempereur
In f29699231 (12.3) part of the code of the editor `Link Dialog` was moved to a web_editor/static/src/js/wysiwyg/plugin/link.js file/class. In 13.0 the 12.3 editor changes were mostly reverted in 35b61822a but part of the change of `Link Dialog` that was moved to another file/class was not moved back, thus: it does not work as expected => eg. if we add a link over an image, the image is removed. In this commit we get back the missing part as it was in 12.0 version. opw-2086444 closes #39858 closes odoo/odoo#39881 X-original-commit: 9996d04fd2ec8329cd5561a4bc94ccc35d529d93 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-10-24[FIX] web_editor, *: fix the theme colorpickerfja-odoo
*: website Inherited colorpicker were not used due to the context missing the website_id and the method call being used instead of call_kw. task-2092386 closes odoo/odoo#39357 X-original-commit: 7e2b0ebe7996c9fa35f75949b7fc8cd5a58d7c36 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-10-07[FIX] web_editor: link from the web editorGoaman
Before this commit, the feature for selecting a link and then clicking on the "link" button or hitting the CTRL+K was partially broken. The method "commonAncestor" was not returing the expected value. This commit add a check in the method "showLinkDialog" to prevent this error to happen. closes odoo/odoo#38103 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2019-09-19[FIX] web_editor: fix link style being lost on editGorash
2019-08-21[REF] web_editor, website: adapt wysiwyg to 12.0 editorGorash
The wysiwyg abstraction layer was introduced in saas-12.2 by commit f2969923. Its goal was to provide an external interface for other modules that wanted to use the editor feature such that the editor core itself could be changed without requiring extensive changes in the other modules. This commit is adapting the wysiwyg interface to instantiate the 12.0 editor below it rather than the saas-12.2 one, thus reverting the "new editor" part of f2969923 itself. Part of PR 35677. Co-authored-by: Nicolas Bayet <nby@odoo.com> Co-authored-by: Antoine Guenet <age@odoo.com> Co-authored-by: Christophe Matthieu <chm@odoo.com> Co-authored-by: David Monjoie <dmo@odoo.com>
2019-08-21[REV] wev_editor, website: revert saas-12.2 editorGorash
This commit reverts the saas-12.2 editor by putting back the editor of Odoo 12. The saas-12.2 editor was an intermediate work between the previous editor of Odoo 12 and the new one slated for Odoo 13. It was unstable but it was supposed to be replaced by the new editor of version 13. However, since the new editor has been postponed to Odoo 14, the saas-12.2 one would have been staying in Odoo 13, which would have been a nightmare to maintain. To avoid this outcome, we chose to put back the 12.0 editor in its place. This has the particular advantage that Odoo 13 will share the same bugfixes as Odoo 12 and 11 as they all run under the same core editor, while the saas-12.2 one would have been an entirely different beast to maintain. This is a partial revert of f2969923. Part of PR 35677. Co-authored-by: Nicolas Bayet <nby@odoo.com> Co-authored-by: Antoine Guenet <age@odoo.com> Co-authored-by: Christophe Matthieu <chm@odoo.com> Co-authored-by: David Monjoie <dmo@odoo.com>
2019-01-17[IMP] web_editor,*: Refactoring the wysiwyg editor and 'html' fieldChristophe Matthieu
* Creating a new structure by transforming all the plugins in the library using the odoo inheritance system. Plugins are easier to implement with the AbstractPlugin to add Odoo behaviors. * From now on, the methods of the library (in this case Summernote) can no longer be called by other modules or files. Only the wysiwyg widgets can access it, to simplify the updating process. The wysiwyg object serves as an interface. * Depending on the options the snippets will be loaded or not, the editor will be in an iframe or not... all of this is transparent from the outside. * Regarding iframes, all controllers related to editing have been removed: the new API no longer needs them. This speeds up loading, eases testing and removes complexity for the same features. PUBLIC FEATURES There are several public methods on the Wysiwyg class: * Wysiwyg.prepare (WidgetParent): returns a deferred resolved when the library (xml, lazy, assets...) is loaded. * Wysiwyg.getRange (DOM): returns the range (selection in the dom) * Wysiwyg.setRange (startNode, startOffset, endNode, endOffset): creates a range (selection in the dom) * Wysiwyg.setRangeFromNode (DOM, options) that creates a range from an element (option available to select all, start or end) A jQuery selector was added: :o_editable, which indicates whether the current element is editable. That is, if it is contained in a tag with the attribute 'contentEditable = "true"' or in a tag with the class o_editable. Several methods are also present: * focusIn: makes a focus and places the cursor at the beginning of the element * focusInEnd: makes a focus and places the cursor at the end of the element * selectContent: makes a focus and selects the content HTML FIELD The HTML field can receive different options: * style-inline: {boolean} transforms a class into an inline style when saving and vice versa when reading. * no-attachment: {boolean} prevents the use of attachments (in media dialog) * cssEdit: {xml_id} to use a template containing the css to loaded in an iframe when editing * cssReadonly: {xml_id} to use a template containing the css to load into an iframe when viewing in readonly * snippets: {xml_id} snippets template (can be used with or without cssEdit) * wrapper: {template} qweb static template (containing a tag: id = "wrapper") that will include the content during editing (removed on save) MASS MAILING A widget was created for mass mailing. There are now two fields: body_html and body_arch. body_arch contains the code with the class without conversion into inline style, useful when editing and one with the inline style that is visible in readonly mode and sent by email. Advantage: no spreading errors, able to update css/theme, able to do more changes when converting to inline style so that a maximum of mail clients have an impeccable rendering. Co-authored-by: Antoine Guenet <age@odoo.com>
2018-11-29[FIX] web_editor: remove embed video option when composing an emaillen-odoo
Embedding a video can't work because it embeds an iframe, which is not supported by most email clients for security reasons. (What happens when Gmail shows embedded videos in displayed emails, is that you send a link in the email body, and it is at rendering that Gmail adds the iframe into the page.) In true bugfix fashion, we hide the button. When the "res_model" is "mail.compose.message", we generate a widget with the noVideo option. Essentially a foward-port of v11 commit: 264f89f63f89678b01a75a20b508dd10018b00d8 opw 1905497 closes odoo/odoo#28912
2018-10-01[FIX] web_editor, website: adapt to transparent colorqsm-odoo
- Adapt used-in-the-page color behavior - Add transparent image for theme customize dialog previews See https://github.com/odoo/odoo/commit/5ba0216b746a16b4609bc9c147fcacad109e969a
2018-10-01[FIX] web, *: support opacity in colorpicker dialogAndrea Ulliana
* web_editor, website Add an opacity slider and an opacity input to control opacity over the chosen color. task-1887571 Closes https://github.com/odoo/odoo/pull/27289
2018-08-21[FIX] web_editor: restore custom colors featureDipalee Bhalodia
- The current code found colors in the page which were not custom colors (because we were case-sensitive for hex values) - Applying custom colors font font/background were inverted
2018-08-17[FIX] web_editor: BS4, mark proper active img-padding optionKishan Gajjar
2018-08-13[IMP] website, *: review snippets and colorsCocographique
* web, web_editor, website_hr_recruitment, website_mail_channel, website_mass_mailing - Review all snippets and add new ones - Add lots of new options - Use odoo colors as default theme colors task-38878
2018-08-12[IMP] web_editor: add custom colors for editor colorpickerDipalee Bhalodia
- Custom color can now be applied to elements - Find used custom colors in the page and add them as colorpicker suggestions - Current color is selected in the picker when you open the custom color wizard task-37974 Closes #26274
2018-08-12[IMP] web_editor: improve text colorpickerDipalee Bhalodia
- Split editor button: one for font color and one for background color - Remove recent color button feature - Add only theme colors and remove other color sections like graypalette/standard colors - Button's icon for font color and background color buttons have the same color of currently selected element task-37974 Closes #26274
2018-08-02[FIX] *: BS4, restore some popover designqsm-odoo
Completes commit https://github.com/odoo/odoo/commit/2d5595fcbad73ed0ce03f048fdd870d9659bcd5e
2018-07-27[REF] web_editor: make our Summernote/BS3 work with BS4qsm-odoo
The big plan is to remove our current editor and its customization and replace it with an updated summernote. Meanwhile, we have to patch our current lib directly so that it works with BS4.
2018-07-27[REF] *: BS4, 'center-block' -> 'd-block mx-auto'qsm-odoo
2018-07-27[REF] *: BS4, 'pull-left/right' -> 'float-left/right'qsm-odoo
2018-07-27[REF] *: BS4, replace img-rounded/img-circle classesqsm-odoo
'img-rounded' -> 'rounded' 'img-circle' -> 'rounded-circle'
2018-07-27[REF] *: BS4, adapt dropdowns and caretsqsm-odoo
- The dropdown structure was simplified, allowing to get rid of the 3-levels structure induced by <ul/> elements and dropdowns can now contain anything. The class 'dropdown-item' is now mandatory for each dropdown clickable element. The class 'dropdown-item-text' can be used to add same padding and style but without making the element have a clickable look. - Dividers now use the class 'dropdown-divider' - The way dropdowns are opened and hidden also changed (before the 'open' class was added on the `.dropdown-menu` parent, now the 'show' class is added on both the `.dropdown-menu` parent and the `.dropdown-menu` itself). - JS-wise, no click event handlers can be put on `.dropdown-toggle` elements anymore (instead, use handlers for dropdown events). - Carets are automatically put on `.dropdown-toggle` elements, so this commit replaces the `.caret` elements with this. This feature was possible to disable but would prevent us from adding a caret with scss. Also, this simplifies the DOM. The 'o-no-caret' class was also introduced to allow using the 'dropdown-toggle' class on non-caret elements. - Also adapt the scss to use $caret-width instead of $caret-width-base
2018-07-27[REF] *: BS4, rename btn-default to btn-secondaryqsm-odoo
BS4 "btn-default" class was replaced with "btn-secondary", which makes more sense.
2018-07-27[REF] *: BS4, remove the use of btn-smqsm-odoo
Odoo made the bad choice of using the 'btn-sm' class for every button instead of configuring the padding for default 'btn' to be smaller. In BS4, the style of btn-sm is actually more complex, lowering the font-size too. Also, btn-xs was removed so we would not have the possibility to display smaller button than our default ones. This commit removes btn-sm wherever it was used. Unfortunately, this might remove it at some places where it made sense but this can be restored in a second time.
2018-07-27[REF] *: BS4, adapt display classesqsm-odoo
The system completely changed. I also had to adapt classes to new screen breakpoints. hidden/hide -> d-none show -> d-block hidden-xs -> d-none d-md-(block/inline/...) hidden-sm -> d-md-none d-lg-(block/inline/...) hidden-md -> d-lg-none d-xl-(block/inline/...) hidden-lg -> d-xl-none visible-xs-* -> d-* d-md-none visible-sm-* -> d-none d-md-* d-lg-none visible-md-* -> d-none d-lg-* d-xl-none visible-lg-* -> d-none d-xl-* hidden-print -> d-print-none visible-print-* -> d-none d-print-* ... and all possible combination of those had to be handled too.