ember-tui-editor
v4.0.0
Published
TOAST UI WYSIWYG markdown editor for Ember.
Downloads
1,450
Readme
ember-tui-editor
TOAST UI WYSIWYG markdown editor for Ember. (Demo)
Compatibility
- Ember.js v3.28 or above
- Ember CLI v4.12 or above
- Node.js v18 or above
Installation
ember install ember-tui-editor
Usage
<TuiEditor @value='# Hello World' @onChange={{this.onChange}} />
Properties
For a list of possible options and their defaults have a look at the TOAST UI docs.
You can pass the properties as a hash to options
using their original names just as you would when using TUI editor directly. Alternatively set them directly on the component. The later version has the advantage that some properties are bound. However mind the different naming (see table).
The following table lists some special properties (bound, different name) only:
| Property | TUI name | Is Bound? | Notes |
| -------------- | ----------------- | :-------: | ------------------------------------------------------------ |
| height
| | x | |
| minHeight
| | x | |
| value
| initialValue
| x | Changes do not propagate to value
("data down, action up") |
| previewStyle
| | x | |
| editType
| initialEditType
| x | |
| viewer
| | | Do not show editor but markdown viewer only |
| language
| | | This loads the appropriate locale file automatically |
Actions
| Event | Description |
| --------------- | ---------------------------------------------- |
| onLoad
| Emitted when editor is fully loaded |
| onChange
| Emitted when content changed |
| onCaretChange
| Emitted when format changed by cursor position |
| onFocus
| Emitted when editor gets focus |
| onBlur
| Emitted when editor looses focus |
i18n
Based on the @language
argument you pass in, ember-tui-editor will automatically load the corresponding locale file.
For a list of all available locales check here.
Plugins
A list of plugins can be passed to @plugins
(just as they would be passed to vanilla TOAST UI editor). Import is not handled by this addon and has to happen in app.
import chart from '@toast-ui/editor-plugin-chart';
export default MyComponent extends Component {
// ...
editorPlugins = [chart];
//..
}
<TuiEditor
@value='# Hello World'
@onChange={{this.onChange}}
@plugins={{this.editorPlugins}}
/>
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.