Commit Graph
2488 Commits
Author SHA1 Message Date
Emilien Durieu (edu) a4e3685ccb [FIX] web_editor: add color preview to color picker
The web editor offered in-content preview when hovering over a color to change text or background color.
This commit implements this behavior with Jabberwocky.

closes odoo/odoo#61588

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-18 08:57:22 +00:00
Emilien Durieu (edu) c65e284dcc [FIX] web_editor: image overlay did not update with changes
The blue overlay on the snippet currently being edited did not update when the size or place of the element changed.
The overlay is now edited on each Jabberwock commit.

closes odoo/odoo#61716

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-13 12:16:22 +00:00
qsm-odoo 3c53748d7a [FIX] web_editor, *: ease understanding of snippet drag, not click
*: web, website

Make the empty oe_structure messages "wizz" when the user clicks on a
snippet to drag instead of dragging it.

Note: also rename the "_onSnippetMouseDown" handler to not confuse it
with this new "_onSnippetClick" and add the missing documentation
comment for it.

Part of https://github.com/odoo/odoo/pull/60837
Related to task-2363616

closes odoo/odoo#61724

X-original-commit: bdfddace29b16404c06a7ebfc0cc242463a0e768
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-13 15:36:43 +00:00
qsm-odoo dc1ebbafde [FIX] web_editor: encourage to use snippets in empty oe_structure (wizz)
Make the draggable snippets "wizz" when the user clicks on an empty
oe_structure.

Part of https://github.com/odoo/odoo/pull/60837
Related to task-2363616

X-original-commit: 3ed3537abd416ebc35f8bc2ee65f209840c071bf
2020-11-13 15:30:42 +00:00
IEL dcf3519a64 [FIX] *: Change some terms to unambiguous ones
WHY: odoo translation framework still cannot properly handle terms that have
different translations, so we need to avoid english terms with double meaning.
Also, this improves term understanding for translators.

---

closes odoo/odoo#61668

Discussion: #60765 #61272
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-11-12 12:44:07 +00:00
Samuel Degueldre c5a2652c9b [FIX] web_editor: fix gap between transformed shape and next section
Previously, when flipping some shapes vertically on chrome, and
vertically or horizontally on firefox, there was a gap of 1px or less at
some screen widths. This is caused by the way these browsers render
backgrounds on transformed elements. It seems like firefox will round
the size of the element to render the background image on it if the
element is transformed, while chrome will always render the background
at the correct size (or render it at a larger size and clip it to the
correct size after the fact), but will round the coordinates of the
symmetry point, causing only the vertical flip to have this issue, and
only if the background image would not extend beyond the bounds of the
element (on firefox, even shapes that would extend beyond the bounds of
the element would showcase a gap, eg origins 1)

This commit fixes that by applying the transform to the SVG rather than
to the element, by use of the shapes controller.

task-2369560

closes odoo/odoo#61609

X-original-commit: 42b3ad10e0b32b7fc72f801e2c67d6baf938c566
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-10 18:27:45 +00:00
Siddarth Gajjar 4f69f742c1 [FIX] web_editor: restore website menu creation
Broken by new editor merge at [1].

[1]: https://github.com/odoo/odoo/pull/59828

task-2370575

closes odoo/odoo#61530

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-09 16:01:46 +00:00
Antoine Guenet 4e252d02f8 [FIX] web_editor: properly mock createWysiwygIntance (sic) in tests
closes odoo/odoo#61525

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-09 10:18:42 +00:00
Benjamin Vray bd6749e750 [FIX] web_editor: allow single quotes in getShapeData
Before this commit, the value of data-oe-shape-data required double
quotes to be properly parsed in JSON in the getShapeData method.

After this commit, we also allow single quotes to prevent issue if
someone doesn't use double quotes in the the value of
data-oe-shape-data. Which was precisely the case in one of the themes
and this is why this commit is a fix.

task-2327741

closes odoo/odoo#61487

X-original-commit: 10ac750aaecf502500dc08966f4642a8604a685b
Related: odoo/design-themes#423
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-06 15:14:17 +00:00
Antoine Guenet 1547ea1985 [IMP] note: restyle note without sheet or resizer
This change of style is a special request from FP: full width, full
height, no <sheet>, no resizer.
I did end up using a <sheet> and restyling it specially for note because
the styles that allow us to have the note next to chatter is too
intricately linked to the style of the sheet in form view to make it
safe to remove the sheet. Indeed, fully removing the sheet implied
duplicating a lot of css from community and enterprise alike. This way
is the least intrusive even though semantically unsound.

closes odoo/odoo#61405

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-06 13:34:44 +00:00
Sébastien Geelen (sge) 7da9cc2f27 [FIX] web_editor: fix image remove from images wall
* on image remove was removing two images instead of one -> fixed
* reactivate the image adder helper if you manually remove the last image

----

bug report :
[QSM] Images wall snippet -> Add images -> click on one -> Delete via the trash icon button on the overlay -> Sometimes (most of the time) delete 2 images instead of the selected one

closes odoo/odoo#61462

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-06 09:58:41 +00:00
Antoine Guenet b211cf9664 [FIX] web_editor: ensure dom is properly cleaned at end of save test
closes odoo/odoo#61421

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-05 14:33:02 +00:00
Benoit Socias 91419a811a [IMP] web_editor, website_form: put add action in front of other options
Before this commit the add field actions are in the middle of the editor
top options

After this commit the add field actions are in front of the editor top
options

task-2367124

closes odoo/odoo#60996

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-03 07:24:46 +00:00
Benjamin Vray 2ca115f650 [FIX] web_editor, website, website_mass_mailing: center bg images
Before this commit, background images were not centered by default.
It was especially annoying on mobile device. We created a new class
to center background image and we added it on all the snippets with a
background image except those with a parallax effect because they
already have a background-position in inline style.

task-2318526

closes odoo/odoo#60430

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-04 14:53:37 +00:00
David Monjoie 34892f3cd0 [IMP] web_editor: update Jabberwock library to commit de13ed7e
Changelog:
[IMP] DomLayout: Some errors are logged without doing an automatic undo
[FIX] Build: add back odoo-integration
[FIX] Core: snapshots do not alter the operation of memory slice switches
[FIX] polyfill: ensure shadow caret position fallback in contenteditable
[FIX] Dom: properly target deepest in a siblingless shadow

closes odoo/odoo#61314

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-11-04 11:19:05 +00:00
Gorash 7a717b221c [FIX] web_editor: fix shadow selector for Safari 2020-11-04 10:43:19 +00:00
qsm-odoo f81cb46b3d [FIX] web_editor: unblock the editor after dropping the "Quotes" snippet
Before this commit, when the user dropped the "Quotes" snippet, the
editor was not allowing to drop any more snippet (see [1]). This was
because the editors initialization related to the drop of the "Quotes"
snippet was not able to be fully performed. Indeed, it is composed of
carousel items, themself containing images. As some of those carousel
items are hidden, the images they contains are too... and some options
actually wait to access their naturalWidth. As the images are lazy
loaded since [2], we were thus waiting infinitely.

[1]: https://github.com/odoo/odoo/commit/277f39904e7218bef2dd23b1c5b719ce8660008f
[2]: https://github.com/odoo/odoo/commit/617c716aeafd7bbc776d81da134a9b25329f08c9

closes odoo/odoo#61308

X-original-commit: 2e37befbf84f0f587774d4c2fa095487148b549b
Signed-off-by: Samuel Degueldre <sdegueldre@users.noreply.github.com>
2020-11-04 08:39:29 +00:00
Antoine Guenet fcd2f942c2 [FIX] web_editor: disable snippet in preview mode on mouse leave options
closes odoo/odoo#61030

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-30 10:54:37 +00:00
Antoine Guenet a6b7d082e8 [FIX] web_editor: properly deactivate snippets and reactivate the last
Some lines had been wrongly (re-)moved during the process of integration
of Jabberwock. This restores them. Among other things, this fixes the
issue that made the popover snippet options still appear when the
snippet was invisible.
2020-10-30 10:12:43 +00:00
xO-Tx 3ab48f5f56 [FIX] web_editor, website: restore footer visibility option
Making the footer visible after having made it disappear was not
possible anymore because of [1].

Part of https://github.com/odoo/odoo/pull/59624
task-2312878

[1]: https://github.com/odoo/odoo/commit/61ffe97d03deae0aee72568311c453d1cd3470c8

closes odoo/odoo#61275

X-original-commit: fab31e378d2069ff6f2bd18365de2f116a43b872
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-03 14:16:31 +00:00
Benjamin Vray 2c21649d35 [FIX] web_editor: avoid traceback on form inputs double-clicks
Before this commit, double clicking on the border or on the padding of
a form input generated a traceback.

task-2312878

closes odoo/odoo#61201

X-original-commit: 904af21214a5a6924ec80b5690a523819aaec5f1
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-11-02 16:37:49 +00:00
Antoine Guenet 069d61cf5a [REF] web_editor, website: use editor helper setClass
This helper is the equivalent of jquery's `toggleClass` with a value for
the `force` attribute. I chose to name it `setClass` instead because
with that attribute it's technically not toggling: it's setting.
2020-10-27 11:25:46 +00:00
Sébastien Geelen (sge) 71b3fc7c17 [IMP] web_editor: update Jabberwock library to commit 43a10003
Changelog:
[FIX] List: Keep lonely containers in LI if they have attribute(s)
[ADD] Core: handle triple-click delete special case
[FIX] formattingSpace: properly ignore empty text and hidden inputs.
[FIX] should use the dev mode with mobile and multi devices in same time
[FIX] DomEditable: remove flickering in browsers without auto-completion
[FIX] DomLayout,KeyMap: remove flickering on delete, backspace, enter...
[REF] Core: merge .eslintignore inside .eslintrc.js
[REF] Core: remove odoo webpack build

closes odoo/odoo#61074

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-30 15:57:44 +00:00
Samuel Degueldre b1654e5b2b [FIX] web_editor: fix issues related to loading image info
In order to allow modifying background images, we need information on
the image, this is done by creating a placeholder img and calling the
loadImageInfo function on it. However this function did not account for
the case where an image had not src attribute, which causes an
unnecessary rpc. Other problems could arise from this as an attachment
that doesn't have the correct mimetype but has a matching src could be
returned, causing its image_src field to be false, which we would then
attempt to load as a valid image, causing crashes.

This commit fixes that by not trying to load image infos when the src of
an image is empty, only looking for attachments of the supported
mimetypes, and also checking that we actually did receive an image_src
before setting it as the original src of the image, which will prevent
accidentally trying to load a falsy src as an actual image.

closes odoo/odoo#60982

X-original-commit: b0993370b6fcec1f966e4bf2994eee7f31da82d5
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-29 12:27:13 +00:00
qsm-odoo 9e193cb898 [FIX] web_editor: properly allow to select a bg color for badges
Before this commit, the badges' background color was not possible to
edit: the previews were done correctly but the background color was
removed after final selection.

This was because the background color property is animated on badges,
messing with the related edition function.

Closes https://github.com/odoo/odoo/issues/59337

closes odoo/odoo#60820

X-original-commit: 34238b77ace7e6feeb1f9e693d7cd3b12786505d
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-27 14:38:01 +00:00
2160418674 [FIX] web_editor: do not show overlay for invisible elements
When a snippet is out of the viewport or hidden, the overlay should
not be visible. Two distinct cases we had:

- When the page is scrolled, the header is sometimes hidden thanks to
  tranform: translate(0, -100%); for some kind of effect -> the header
  is thus still visible but out of the viewport, any selected snippet
  inside that header would still have this overlay enabled so we would
  see the move and delete button on the top of the screen.

- When the page is scrolled, with the vertical header, some part of the
  header are hidden for the affixed version. If any snippet in those
  hidden elements was selected, the overlay is still visible floating.

task-2312878

closes odoo/odoo#60658

X-original-commit: 8a949019fd39c6c07ae5827462ee96e15f3190a1
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: Benjamin Vray <bvr@odoo.com>
Co-authored-by: Thanh Dodeur <tso@odoo.com>
2020-10-26 08:27:25 +00:00
IEL 1aae1f0205 [FIX] web_editor: disable embedded video for html fields in backend
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 to activate embedded videos in backend:

  * new field attribute sanitize_iframe=False

  * 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

---

opw-2353103

closes odoo/odoo#60477

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-10-22 08:18:59 +00:00
Sébastien Geelen (sge) 2d2f8e6562 [FIX] web_editor: adapt iframe Qunit test to new editor
- iframe editor Qunit test

closes odoo/odoo#60551

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-22 15:16:15 +00:00
David Monjoie 7e03e8ea14 [IMP] web_editor: update Jabberwock library to commit a7ba7c34
Changelog:
[FIX] Template: ensure an overflow on the template container
[FIX] OdooWebsiteEditor: On mobile, shows the boudary box inside
[FIX] Odoo: double clicking on a link allows you to edit it in full
2020-10-22 15:16:14 +00:00
qsm-odoo b2afa61ec7 [FIX] web_editor: restore overlay top options on top of the page
When the overlay covers a snippet, if that snippet is at the top of
the page, the options at the top of the overlay are hidden. A system
was made to make them change position in that case but this was broken
by [1], leaving the toggling of a class for that case but without its
related scss.

This commit restores that scss and also improves the detection of that
problematic case.

[1]: https://github.com/odoo/odoo/commit/4f27e52cabb77b8b1a9637a11185ddf882adc9af

closes odoo/odoo#60467

X-original-commit: 97f11571f9e3deacc9b9e1dc0d2cc8fc6b93f15c
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-22 08:12:59 +00:00
Nasreddin (bon) c73b42244c [FIX] web_editor: Autocomplete options can break layout
Issue

	- Install "Website" app
	- Go to "Contact us" page on website
	- Edit Page, then click on submit button to
	edit form style
	- Alter 'Recipient Email' by selecting a value
	from 'autocomplete' values

	Other input text options are also altered.

Cause

	Due to chrome autocompletition, others text input fields are
	also altered (like it will do with a form address).
	In this case, the error was obvious since it alter also the
	'Labels Width' who break the layout.

Solution

	Disable autocompletition on `<input type='text'/>` options
	elements.

opw-2361169

closes odoo/odoo#60481

X-original-commit: 48d4c8185482545b049e2fecf315dd66ab9472f8
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
2020-10-21 18:06:50 +00:00
Benjamin Vray 8107fe0c68 [FIX] web_editor: fix option background position
Keep the original position of the background as a percentage. In this
way, we avoid converting in pixel a direction that we have not changed.

Part of #55857

Related to task-2318526

X-original-commit: b8ac4f6b0c0aaa17ccae43ad8756c5b807e29823
2020-10-21 11:58:33 +00:00
Antoine Guenet c4503c736d [FIX] web_editor: open media modal in appropriate tab on dblclick media
closes odoo/odoo#60331

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-21 09:16:39 +00:00
David Monjoie d1429aec45 [IMP] web_editor: update Jabberwock library to commit 0bd94881
Changelog:
[FIX] formattingSpace: remove space between inline elem and block
[FIX] EventNormalizer: consistently apply insertLineBreak on shift+enter
[FIX] DomObjectRenderer: fix typo in comment
[FIX] Bundle: change css bundler for rollup
[FIX] Odoo: open the media modal in the right tab on dblclick media
2020-10-21 09:16:38 +00:00
Benjamin Vray b0d58f18c1 [FIX] web_editor: fix mouse up event on active handles
Before this commit, the mouseup event was not detected outside the
body element when resizing paddings.

task-2312878

closes odoo/odoo#60380

X-original-commit: 2766eee14341a2475bc1c33a032ea05b50becc29
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-20 15:30:29 +00:00
Antoine Guenet c724da2160 [FIX] web_editor: do not insert chars around step icon on click
closes odoo/odoo#60301

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-19 15:45:27 +00:00
Benjamin Vray b971b417c5 [FIX] web_editor: disable overlay pointer events on wheel event
This commit disable the pointer events on the overlay during the mouse
wheel event. To prevent page scrolling from stopping when hovering
over the overlay.

task-2312878

closes odoo/odoo#60367

X-original-commit: 978cd02406495e7566cefb556276e2ac2292e3f8
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-20 11:41:05 +00:00
qsm-odoo 040fe8a086 [FIX] web_editor: do not allow we-checkbox to shrink below checkbox size
E.g. the scrolltop button option has a checkbox followed by a select
on the same row and the checkbox was partly cut because of it.

Part of https://github.com/odoo/odoo/pull/60271
task-2312878

X-original-commit: 70570c69989b49b8ab89d71ea89d19195e3028ae
2020-10-20 10:54:27 +00:00
Benjamin Vray 06ee836ff0 [FIX] web_editor: fix select with we-title
Before this commit, line height on items in a select was not applied
if the items were in a we-title tag (this is the case when using the
string attribute on we-button instead of text content).

Part of https://github.com/odoo/odoo/pull/60271
task-2312878

X-original-commit: d184004c846234ecd9d9924c0e37472c03633f5c
2020-10-20 10:54:26 +00:00
qsm-odoo 6ce28c29db [FIX] mass_mailing: make better link dialog for mass mailing
Primary and link buttons are "hacked" by mailing themes scss. We thus
have to fix their preview if possible (as they are previewed as standard
bootstrap while they actually have a different look depending on the
mailing theme).

Note: this commit is obviously a big hack which calls for lots of
improvements in master.

FIXME: this only partially work due to the new editor, it has to be
fixed as soon as the master becomes stable again...

Part of https://github.com/odoo/odoo/pull/60308
opw-2360756

X-original-commit: 7bd7bc2513b72f5ffc006758c4bf4eb42ae6ed67
2020-10-20 09:14:00 +00:00
Jeremy Kerstenandqsm-odoo f0eda15108 [FIX] web_editor: fix width of SVG images in media dialog
This solves an issue with svg images from Isometric for example. The
media dialog assigns width to its displayed images thanks to the
flex-basis and flex-grow properties of their container, based on the
aspect ratio of each image. This was done correctly for SVG images too.
However, after assigning a nice space for a specific SVG image, the
image itself was not made to fill that assigned space... it only worked
if the natural width of the image was higher than the assigned space.
This was of course more obvious with SVG files with no intrinsic width
as they would simply not appear.

closes odoo/odoo#60305

X-original-commit: 585aed8b49b98d014db1e06c11e42b0d38a0b8c6
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
2020-10-19 16:22:26 +00:00
Antoine Guenet 1e4e890eca [IMP] web_editor: update Jabberwock library to commit 41e4063
Changelog:
[IMP] Resizer: prepare for use of Resizer in Odoo
[FIX] FollowRange : constrain floating bar inside the visible viewport

closes odoo/odoo#60267

Related: odoo/enterprise#14201
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-20 07:41:17 +00:00
Antoine Guenet c748e2f76a [ADD] field_html: add resizer in most field_html 2020-10-19 13:01:23 +00:00
Sébastien Geelen (sge) 86b004725c [FIX] web_editor: remove box shadow on the #wrap container
closes odoo/odoo#60169

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-16 12:17:07 +00:00
Gorash 5418f93903 [FIX] web_editor: need to build the snippet before commit it into vDom
Issue: Add dynamic carousel in the page, then change the footer template,
then reply "Yes, I want to save & reload", then the page is broken because
the new class and data attributes are not saved.

closes odoo/odoo#60077

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-16 14:09:49 +00:00
Gorash f1df077ac9 [FIX] web_editor: trigger a resize when use the mobile preview
Issue: Dynamic carousel has a wrong mobile preview because the DOM must
change when the screen size change.
2020-10-16 11:43:59 +00:00
Gorash 1b06c97210 [FIX] web_editor: should not ask if want to leave the page twice 2020-10-15 11:27:37 +00:00
qsm-odoo c3a9d74f0c [FIX] web_editor: keep <i/> elements after icon edition
Any non `<span/>` element which was transformed into an icon thanks to
the media dialog was transform into a `<span/>` then processed by
summernote. In some cases, this processing breaks the DOM... for no
reason as the DOM should not have been transformed into a `<span/>` in
the first place: `<i/>` elements inside a `<span/>` for example should
stay `<i/>` elements after edition.

closes odoo/odoo#60202

X-original-commit: 4bfcb80e3664ccc74b7ec5e7e10ace6e44ab98d3
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-10-16 17:37:30 +00:00
Sébastien Geelen (sge) b94021bad2 [FIX] web_editor : better icon in text style dropdown
closes odoo/odoo#60014

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2020-10-19 12:56:24 +00:00
Sébastien Geelen (sge) 1267b41a38 [FIX] web_editor: don't change background color out of the website editor
For the JW toolbar without color previews, we don't want to change the background color of the button.
2020-10-19 12:53:50 +00:00