Pada blog post kali ini, saya akan membahas Draft.js, yaitu sebuah Rich Text Editor Framework untuk React.js. Framework ini sudah saya implementasikan di project Pegadaian, sebagai component dari CMS untuk fitur notifikasi. Sebelum saya masuk ke pembahasan mengenai Draft.js, saya akan membahas apa itu Rich Text terlebih dahulu.
Rich Text vs Plain Text
Plain Text, sesuai dengan namanya, bersifat plain. Plain Text men-support ASCII, seperti angka, simbol, dan spasi, tapi tidak men-support text formatting. Karena Plain Text tidak menyimpan informasi seputar text formatting, Plain Text menjadi format yang paling efisien untuk menyimpan text.
Rich Text juga men-support ASCII, namun tidak hanya ASCII, tetapi juga text formatting dan page formatting, seperti Bold, Italic, Underline, Font Size, Strikethrough, Text Colour, dll.
What is Rich Text Editor ?
Rich Text Editor, atau disebut juga What You See Is What You Get (WYSIWYG) Editor, adalah sebuah interface yang memungkinkan user untuk mengubah text beserta dengan text formattingnya.
What is Draft.js ?
Seperti yang sudah saya tulis di title post ini, Draft.js adalah Rich Text Editor Framework yang dapat digunakan di React. Draft.js dirilis pada tahun 2016 dan dibuat oleh Facebook, yang digunakan untuk menghandle beberapa issues yang disebabkan oleh penggunaan tag <textarea> dan <div> di dalam facebook post dan comments, terutama dalam hal mentions dan hashtags. Facebook juga menggunakan Draft.js untuk fitur-fitur seperti status update inputs, chat, Facebook Notes, dll.
Contoh Rich Text Editor di Facebook Notes |
How To Install ?
Di file directory project React yang sudah dibuat, install draft dengan menggunakan command :
npm install --save draft-js react react-dom
# atau
yarn add draft-js react react-dom
Berikut adalah contoh dari rich text editor yang saya ambil dari folder examples, dari GitHub Draft.js
Contoh WYSIWYG Rich Text Editor |
- Install draft-js-image-plugin npm install draft-js-image-plugin
- Import plugin
- Untuk dapat mengubah EditorState ketika image ditambahkan, tambahkan code line berikut pada function onChange input
- Jangan lupa, tambahkan plugin pada parameter plugins di component Editor
Sekian penjelasan saya mengenai Draft.js, semoga blog post ini dapat bermanfaat. Terima kasih.
Referensi :
- https://draftjs.org/
- https://draftjs.org/docs/getting-started
- https://github.com/facebook/draft-js
- https://medium.com/@siobhanpmahoney/building-a-rich-text-editor-with-draft-js-react-redux-and-rails-ef8d2e2897bf
- https://en.wikipedia.org/wiki/Online_rich-text_editor
- https://techterms.com/definition/plaintext
- https://code.fb.com/web/facebook-open-sources-rich-text-editor-framework-draft-js/
- https://github.com/draft-js-plugins/draft-js-plugins
- https://www.npmjs.com/package/draft-js-image-plugin
No comments:
Post a Comment