Files
odoo_source/addons/web_editor/static/lib/odoo-editor
Benoit Socias 2e35193b94 [FIX] web_editor: compute deepest position offset according to used node
Before this commit when computing the deepest position for a non-visible
node, if that node had no next visible sibling it used the previous
siblings, but it still marked the offset within that sibling as 0.
Because of this, the selection sometimes got lost.
E.g. in Firefox, drop an "Image - Text" block and triple click on the
header text: upon changing its color the range got set to the text node
but ending at offset 0.

After this commit if the used node in the "previous sibling" from the
evaluated element, the offset is set to the length of that node.

task-2655176

closes odoo/odoo#77567

X-original-commit: 3c4426c71ebe080bcbd285e271c61bf1580c3afa
Signed-off-by: Antoine Guenet <Zinston@users.noreply.github.com>
Signed-off-by: Benoit Socias (bso) <bso-odoo@users.noreply.github.com>
2021-10-01 07:41:00 +00:00
..

Odoo editor

A fast wysiwyg editor targeting documents and website structures.

Key features

Unbreakable nodes

When editing some sections of a website, there is a possibility for a selection to start or end within a node that is contained in an unbreakable.

If the user deletes the content of the selection, the unbreakable node should not be merged with another one.

Demo

To open the demo page: http://<host:port>/web_editor/static/lib/odoo-editor/demo/index.html

Tests

To open the test page, go to http://<host:port>/web_editor/static/lib/odoo-editor/test/editor-test.html

Prettify

# install prettier
npm install -g prettier
# prettify
prettier --config '<odoo-path>/addons/web_editor/static/lib/odoo-editor/_prettierrc.js' --ignore-path='<odoo-path>/odoo/addons/web_editor/static/lib/odoo-editor/_prettierignore' '<odoo-path>/odoo/addons/web_editor/static/lib/odoo-editor/**/*.js'  --write

Prettify with vscode

Install vscode extention esbenp.prettier-vscode.

Add the following configuration in your vscode user config or workspace config:

"prettier.requireConfig": true,
"prettier.configPath": "<odoo-path>/odoo/addons/web_editor/static/lib/odoo-editor/.prettierrc.js",
"[javascript]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}

Then you can use the command Format Document or use ctrl+h to format a file.