For editing HTML with admin-on-rest, use the <RichTextInput>
component. It embarks quill, a popular cross-platform Rich Text Editor.
In this fork, you can use a server side API to upload image, and then get a remote url instead of base64 data url.
npm install aor-rich-text-input-with-image-handler --save-dev
import React from 'react';
import {
DateInput,
Edit,
EditButton,
LongTextInput,
TextInput,
} from 'admin-on-rest/mui';
import RichTextInput from 'aor-rich-text-input-with-image-handler';
const PostTitle = ({ record }) => {
return <span>Post {record ? `"${record.title}"` : ''}</span>;
};
const uploadResourceAPI = "http://your.domain/api/v1/" + "resources"
export const PostEdit = (props) => (
<Edit title={<PostTitle />} {...props}>
<DisabledInput label="Id" source="id" />
<TextInput source="title" validation={{ required: true }} />
<LongTextInput source="teaser" validation={{ required: true }} />
<RichTextInput source="body" validation={{ required: true }} uploadAPI={uploadResourceAPI} />
<DateInput label="Publication date" source="published_at" />
</Edit>
);
You can customize the rich text editor toolbar using the toolbar
attribute, as described on the Quill official toolbar documentation.
<RichTextInput source="body" toolbar={[ ['bold', 'italic', 'underline', 'link'] ]} />
This library is licensed under the MIT Licence, and sponsored by marmelab.