dnde
v 07,2021)
Éditeur d'e-mail glisser et déposer
# Yarn
yarn add dnd-email-editor
# NPM
npm install dnd-email-editor
Accessoires qui peuvent être transmis au composant:
| Soutenir | Taper | Défaut | Facultatif | Description |
|---|---|---|---|---|
preview | booléen | true | vrai | Afficher / masquer le bouton d'aperçu intégré. |
showUndoRedo | booléen | true | vrai | Afficher / masquer le bouton UNDO / Remoer intégré. Vous pouvez créer vos propres fonctionnalités undoredo avec undoredo à partir des méthodes API ci-dessous |
L'éditeur expose ces méthodes API
getHtml - Exporter la conception en tant que contenu HTMLgetJson - Exporter en tant que chaîne JSON, cette chaîne peut ensuite être utilisée avec loadJsonloadJson - Chargez une conception existante à partir de la chaîne JSONundoredo - annuler et refaire des actions import Editor from 'dnd-email-editor' ;
return < Editor / >;ref en utilisant useRef et passez-la à l'éditeur const ref = React . useRef ( null ) ;
return < Editor ref = { ref } / > ;getHtml() , getJson() , loadJson() , undoredo const logValues = ( ) => {
if ( ref . current ) {
const html = ref . current . getHtml ( ) ;
const json = ref . current . getJson ( ) ;
console . log ( html , json ) ;
}
} ;
const loadJson = ( json : string ) => {
if ( ref . current ) {
ref . current . loadJson ( json ) ;
}
} ;
const performUndoAction = ( ) => {
if ( ref . current ) {
ref . current . undoActionCallback ( ) ;
// to check if undo is possible
console . log ( 'is undo empty: ' , ref . current . isUndoEmpty ( ) ) ;
}
} ;
const performRedoAction = ( ) => {
if ( ref . current ) {
ref . current . redoActionCallback ( ) ;
// to check if redo is possible
console . log ( 'is redo empty: ' , ref . current . isRedoEmpty ( ) ) ;
}
} ;Inordre d'utiliser TypeScript et d'obtenir des définitions cool, il suffit de passer le type à la référence
import Editor from 'dnd-email-editor';
const ExampleComponent = () => {
- const ref = useRef(null);
+ const ref = useRef<Editor>(null);
return (
<Editor ref={ref}/>
);
} Il existe de nombreux éditeurs de glisser-déposer qui aident à créer un site Web mais pas des courriers , car les courriers diffèrent beaucoup d' a normal html webpage
mail editors disponibles, ils sont payés et non open-source . Un tel exemple serait unlayer , il prétend être open source, mais ce n'est pas le cas.
open-sourceLes raisons ci-dessus et aussi j'ai été inspirée par les éditeurs Drag-n-Drop en général, j'ai donc décidé d'en faire un.
Undo / Redo