Angular - CKEditor component

Angular2 CKEditor 组件。「Angular2 CKEditor component」

Github stars Tracking Chart

Angular - CKEditor component

Use the CKEditor (4.x) wysiwyg in your Angular application.

Demo

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 :

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)

Sample

Include CKEditorModule in your main module :

import { CKEditorModule } from 'ng2-ckeditor';
import { FormsModule } from '@angular/forms';

@NgModule({
  // ...
  imports: [CKEditorModule, FormsModule],
  // ...
})
export class AppModule {}

Then use it in your component :

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>';
}

Configuration

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.
<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.
<ckeditor
  [(ngModel)]="ckeditorContent">
    <ckgroup
      [name]="'documenthandling'"
      [previous]="'1'">
        <ckbutton .... ></ckbutton>
        <ckbutton .... ></ckbutton>
    </ckgroup>
</ckeditor>

Issues

Licence

See LICENSE file

Main metrics

Overview
Name With Owneryabab-dev/ng2-ckeditor
Primary LanguageTypeScript
Program languageTypeScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2016-02-03 22:40:34
Pushed At2023-01-09 03:32:49
Last Commit At2022-08-13 11:39:56
Release Count19
Last Release Name1.3.7 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count357
Watchers Count19
Fork Count93
Commits Count142
Has Issues Enabled
Issues Count298
Issue Open Count13
Pull Requests Count25
Pull Requests Open Count3
Pull Requests Close Count11
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private