Icard/angular-clarity-master(work.../node_modules/ng2-ckeditor/README.md

140 lines
3.4 KiB
Markdown
Raw Normal View History

2024-07-16 14:55:36 +00:00
# Angular - CKEditor component
Use the [CKEditor (4.x)](http://ckeditor.com/) wysiwyg in your Angular application.
[**Demo**](https://stackblitz.com/edit/ng2-ckeditor)
### <a name="install"></a>Installation
* Include CKEditor javascript files in your application :
```
<script src="https://cdn.ckeditor.com/4.19.1/full-all/ckeditor.js"></script>
```
* Install ng2-ckeditor
* JSPM : `jspm install npm:ng2-ckeditor`
* NPM : `npm install ng2-ckeditor`
* YARN: `yarn add ng2-ckeditor`
* Install @types/ckeditor
* JSPM : `jspm install npm:@types/ckeditor`
* NPM : `npm install --save @types/ckeditor`
* YARN : `yarn add @types/ckeditor`
* SystemJS Config :
```javascript
System.config({
map: {
'ng2-ckeditor': 'npm:ng2-ckeditor',
},
packages: {
'ng2-ckeditor': {
main: 'lib/index.js',
defaultExtension: 'js',
},
},
});
```
* Please consider usage of the plugin `divarea` of CKEditor (see [Issues](#issues))
### <a name="sample"></a>Sample
Include `CKEditorModule` in your main module :
```javascript
import { CKEditorModule } from 'ng2-ckeditor';
import { FormsModule } from '@angular/forms';
@NgModule({
// ...
imports: [CKEditorModule, FormsModule],
// ...
})
export class AppModule {}
```
Then use it in your component :
```javascript
import { Component } from '@angular/core';
@Component({
selector: 'sample',
template: `
<ckeditor
[(ngModel)]="ckeditorContent"
[config]="{uiColor: '#99000'}"
[readonly]="false"
(change)="onChange($event)"
(editorChange)="onEditorChange($event)" <!-- CKEditor change event -->
(ready)="onReady($event)"
(focus)="onFocus($event)"
(blur)="onBlur($event)"
(contentDom)="onContentDom($event)"
(fileUploadRequest)="onFileUploadRequest($event)"
(fileUploadResponse)="onFileUploadResponse($event)"
(paste)="onPaste($event)"
(drop)="onDrop($event)"
debounce="500">
</ckeditor>
`,
})
export class Sample {
ckeditorContent: string = '<p>Some html</p>';
}
```
### <a name="config"></a>Configuration
* `config` : The configuration object for CKEditor see http://docs.ckeditor.com/#!/api/CKEDITOR.config
* `debounce` : You can add a delay (ms) when updating ngModel
* `readonly` : Enabled / disable readonly on editor
### <a name="toolbar"></a>Toolbar Directives
You can use the following directives to add custom buttons to CKEditor's toolbar and organize them into groups.
For more info about CKEditor's Toolbar API refer to http://docs.ckeditor.com/#!/api/CKEDITOR.ui
* `<ckbutton>` : Note that the `name` and `command` attributes are mandatory for this one.
```javascript
<ckeditor
[(ngModel)]="ckeditorContent">
<ckbutton [name]="'saveButton'"
[command]="'saveCmd'"
(click)="save($event)"
[icon]="'save.png'"
[label]="'Save Document'"
[toolbar]="'clipboard,1'">
</ckbutton>
</ckeditor>
```
* `<ckgroup>` : Can be used to organize multiple buttons into groups.
```javascript
<ckeditor
[(ngModel)]="ckeditorContent">
<ckgroup
[name]="'documenthandling'"
[previous]="'1'">
<ckbutton .... ></ckbutton>
<ckbutton .... ></ckbutton>
</ckgroup>
</ckeditor>
```
### <a name="issues"></a>Issues
* [with ngFor](https://github.com/chymz/ng2-ckeditor/issues/23)
* [[CKEDITOR] Error code: editor-destroy-iframe](https://github.com/chymz/ng2-ckeditor/issues/24)
### <a name="licence"></a>Licence
See `LICENSE` file