[FIX] website_form: prevent error on drop thumbnail in editor in Safari

Issue

	When using the website editor in Safari browser, an error occurs
	when dropping the form builder thumbnail into the editor.

Step to Reproduce

	- Install website and web_editor applications
	- Use Safari browser
	- Got to Website
	- Click on Edit
	- Drag and drop the From Builder thumbnail from the left panel
	  into the editor

Cause

	The javascript function Node.insertBefore(newNode, referenceNode) needs to
	be called on referenceNode's immediate parent.
	Using DocumentFragment.querySelector(':first-child')
	returns the first child of the first element in the fragment which triggers
	this issue. The reason why Chrome accepts and handles this correctly
	remains a mistery to me ;o)

Solution

	Call Node.insertBefore() method on the immediate parent of the
	node the insertion has to be performed before.
	So use .childNodes[0] instead of .querySelector(':first-child').

task-2271745

closes odoo/odoo#52520

X-original-commit: dd9ce45c09f8f2181eb48639c0e3ea6617260510
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
Laurent Stukkens (LTU)
2020-06-05 13:33:35 +00:00
parent f0420013e0
commit 94bb547afe
@@ -535,7 +535,7 @@ options.registry.WebsiteFormEditor = FormEditor.extend({
return;
}
// Add Action select
const firstOption = uiFragment.querySelector(':first-child');
const firstOption = uiFragment.childNodes[0];
uiFragment.insertBefore(this.selectActionEl.cloneNode(true), firstOption);
// Add Action related options