-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Current behavior
When you prepopulate the editor with some HTML, for example an email, some styling is stripped away. Unfortunately, I haven't been able to locate exactly where this happen because I'm not that familiar with the prosemirror-adapter.
EDIT: It actually looks like prosemirror is rewriting the entire HTML. Tags are replaced, for example div tags is replaced with p tags, b tags is replaces with strong tags. In most cases, this might be OK, but in other cases it might have fatal consequences, for example with table tags, as they are completely removed and the table content is replaced with p tags.
If I remove the change handler for the value, my HTML is kept with full styling when it is display in the markdown component in the feed. If I have the change handler in place, and I change something in the editor, the HTML styling is lost. This is a sign for me that the HTML is manipulated in the prosemirror-adapter somewhere.
Steps to reproduce the behavior:
this.body = "<div style='color: red'>RED COLOR</div>"
return [
<limel-text-editor
onChange={this.handleBodyChange}
value={this.body}
contentType={'html'}
/>,
<limel-markdown value={this.body}/>,
];
Produces the following:
Not readonly mode produces the following:
Change handler removed, HTML styling is kept in the feed:
The value has changed, HTML styling is not kept in the feed:
Expected behavior
Styling should not be stripped away from the HTML.
Environment
- lime-elements version:
- Framework used:
- Logs: