Articles in this section
Category / Section

How to get started easily with Syncfusion Angular 5 Rich Text Editor?

3 mins read

A quick start project that helps you to create an Angular 5 Rich Text Editor with a minimal code configuration.

Angular 5 Rich Text Editor

The following section explains the steps required to create a simple Angular 5 Rich Text Editor component.

Project pre-requisites

Make sure that you have the compatible versions of TypeScript and Angular in your machine before starting to work on this project.

Introduction

The Angular 5 Rich Text Editor used in this project is created from the Syncfusion `ej2-angular-richtexteditor` package. You can simply define it as <ejs-richtexteditor> within the template.

Dependencies

Before starting with this project, the Angular 5 Rich Text Editor requires to add the Syncfusion `ej2-angular-richtexteditor` package from npmjs, which are distributed in npm as @syncfusion scoped packages.

Creating Angular Project

To create the Angular project using the Angular CLI tool, follow the steps:

  1. Install the Angular CLI application in your machine.
    npm install @angular/cli@1.5.6
    
  1. Now create a new Angular project by using the command `ng new` and navigate to that folder.
    ng new <project name>
    cd <project name>
    
  1. Install the ej2-angular-richtexteditor package through the npm install command.
    npm install @syncfusion/ej2-angular-richtexteditor --save
    

Adding Angular 5 RichTextEditor

You can add the Angular 5 Rich Text Editor component by using the `ejs-richtexteditor` directive, and the attributes used within this tag allows you define other richtexteditor functionalities. To add the Angular 5 Rich Text Editor, follow the steps:

  1. Import the RichTextEditorAllModule into the app.module.ts file from the ej2-angular- richtexteditor package.
  2. Import and inject the other required modules within the providers section of app.module.ts.

[app.module.ts]

import { BrowserModule, } from '@angular/platform-browser';
import { RichTextEditorAllModule } from '@syncfusion/ej2-angular-richtexteditor';
import { NgModule } from '@angular/core';
import { FormsModule }   from '@angular/forms';
import { AppComponent } from './app.component';
 
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule, FormsModule, RichTextEditorAllModule
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

  1. Define the Angular RichTextEditor code within the app.component.html file which is mapped against the templateUrl option in the app.component.ts file.

 

[app.component.html]

<ejs-richtexteditor></ejs-richtexteditor>

 

  1. Refer to the CDN link of CSS reference within the index.html file.

 

[index.html]

<link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet" />

 

  1. Run the application with the ng serve command, and an empty Rich Text Editor will be displayed on the browser.  Now, you can load the Rich Text Editor with data.

Screenshot

Image1

Toolbar items configuration

To enable the toolbar options in Rich Text Editor, import the required module services from the ej2-angular-richtexteditor package and then mention it in the providers section within the app.component.ts file. By default, Rich Text Editor does not display the toolbar. To change the toolbar,  toolbarSettings property can be used.

 [app.component.ts]

import { Component } from '@angular/core';
    import { ToolbarService, LinkService, ImageService, HtmlEditorService, TableService } from '@syncfusion/ej2-angular-richtexteditor';
    @Component({
    selector: 'app-container',
    template:`<ejs-richtexteditor id='iframeRTE' [(value)]='value' [toolbarSettings]='tools'></ejs-richtexteditor>`,
    providers: [ToolbarService, LinkService, ImageService, HtmlEditorService, TableService]
    })
    export class AppComponent  {
        public tools: object = {
            items: [
                'Bold', 'Italic', 'Underline', 'StrikeThrough', '|',
                'FontName', 'FontSize', 'FontColor', 'BackgroundColor', '|',
                'LowerCase', 'UpperCase', '|', 'Undo', 'Redo', '|',
                'Formats', 'Alignments', '|', 'OrderedList', 'UnorderedList', '|',
                'Indent', 'Outdent', '|', 'CreateLink','CreateTable',
                'Image', '|', 'ClearFormat', 'Print', 'SourceCode', '|', 'FullScreen']
        };
    }

 [app.component.html]

<ejs-richtexteditor #toolsRTE id='alltoolRTE' [toolbarSettings]='tools' >

 

Screenshot

Image2

Setting value on Rich Text Editor

You can populate the empty Rich Text Editor with value by binding the string data to it through the `value` property initially.

 [app.component.ts]

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  public value: string = `
    <p>The RichTextEditor triggers events based on its actions. </p>
     <p> The events can be used as an extension point to perform custom operations.</p>
}

Now, assign this value to the `value` property of Angular Rich Text Editor within the app.component.html file.

[app.component.html]

<ejs-richtexteditor id='defaultRTE' [(value)]='value' ></ejs-richtexteditor>

 

Screenshot

Image3

Getting the value on form submit

By using the ngModel, you can get the value from the ngform submit.

 [app.component.ts]

import { Component,ViewChild } from '@angular/core';
import {NgForm} from '@angular/forms';
 
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
  })
export class AppComponent {
    onSubmit(form: NgForm): void {
      alert(form.value.name);
    }
}

 

[app.component.html]

<form #form='ngForm' (ngSubmit)="onSubmit(form)">
  <div class="form-group"> 
      <ejs-richtexteditor #fromRTE [(value)]='value' required name="name" [(ngModel)]="value" ></ejs-richtexteditor>
      <button type="submit" ejs-button>Submit</button>
  </div>
</form>

 

Run the application with the command “ng serve” in the command prompt.

you can view the Angular RichTextEditor output with data and other settings.

Screenshot

Image4

There are more options to explore with Angular 5 Rich Text Editor and you can also try to play with the downloadable example link in this knowledge base article.

View Angular 5 RichTextEditor Sample in GitHub

 

 

 

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please sign in to leave a comment
Access denied
Access denied