Now compatible with Angular 6!
Usage
First, install tinymce and this lib via npm:
npm install --save tinymce angular2-tinymce
Then copy lightgray skin files from node_modules/tinymce
to the /assets
folder. So, i.e. there must be available /assets/tinymce/skins/lightgray/skin.min.css
and /assets/tinymce/skins/lightgray/content.min.css
file.
You can override skin path by specifying skin_url
option (default /assets/tinymce/skins/lightgray
).
To support AOT mode in Angular 6 and higher you also need to include tinymce in your scripts section in angular.json config file:
"scripts":
Import TinymceModule
in you app.module.ts
like this:
;
Then use it:
or
You can also use template variable tinymce
to get instance of tinymce:
then in component.ts:
tinymce;ngAfterViewInit
Configure
You can configure TinyMCE globally:
;
Please note that config is extended a bit.
-
Besides the original config angular2-tinymce supports
baseURL
for providing, i.e., custom plugins paths. -
auto_focus
option is boolean instead of string. -
You cannot specify
selector
option (and you don't need to, right?). -
setup
andinit_instance_callback
are executed after the components'. -
You can view more info about supported options here
Also you can override options in each instance like that:
Events
You can use outputs to catch tinymce events. You can see full list of available outputs here.
Plugins
If you need other plugins than standart (link paste table advlist autoresize lists code
) you should create plugins folder in the baseURL
(default '/assets/tinymce'
) and place your plugins in it.
Example:
Place emoticons plugin to an /assets/tinymce/plugins
folder, then:
;
Alternativaly you can npm install tinymce --save
and import plugins like that:
;
Contributing
Please feel free to leave your PRs, issues, feature requests.
Upcoming features
- Tinymce configuration
- Aot support
- Add demo
- Add CI
- Per-editor configuration
- Events
- Directive
- File uploading
- Tests