This is a module for DraftJS that will convert an HTML DOM Element to editor content.
It was extracted from React-RTE and placed into a separate module for more general use. Hopefully it can be helpful in your projects.
npm install --save draft-js-import-element
This project is still under development. If you want to help out, please open an issue to discuss or join us on Slack.
stateFromElement
takes a DOM node element
and returns a DraftJS ContentState.
import {stateFromElement} from 'draft-js-import-element';
const contentState = stateFromElement(element);
You can optionally pass a second Object
argument to stateFromElement
with the following supported properties:
Option key | Option Description |
---|---|
elementStyles | HTML element name as key, DraftJS style string as value. |
customStyleMap | Custom style mapping object, similar to the customStyleMap the draft-js Editor receives. |
Example of options usage:
import {stateFromElement} from 'draft-js-import-element';
let options = {
elementStyles: {
// Support `<sup>` (superscript) tag as style:
'sup': 'SUPERSCRIPT'
},
customStyleMap: {
RED: { color: 'red' }
}
};
const contentState = stateFromElement(element, options);
This software is BSD Licensed.