Angular のリッチテキストエディタ
Angular でリッチテキストエディターを作成する方法と、作成できるライブラリを紹介します。
Angular で Angular-Editor
ライブラリを使用してリッチテキストエディタを作成する
ユーザーがコンテンツを編集できるようにする機能を必要とするコンテンツ管理システムまたは Web ソフトウェアを作成する場合、プレーンテキストを使用するかリッチテキストエディターを作成するかの 2つのオプションがあります。リッチテキストエディタは、付属の多くのオプションを使用してテキストをフォーマットするために使用されます。
HTML コンテンツに変換される画像、リンク、オーディオ、およびビデオを追加できます。
Angular には、Angular-Editor
、Angular Trix
、Angular Meditor
、ngQuill
、Angular インラインテキストエディターなど、リッチテキストエディターを Web アプリケーションに統合するのに役立つライブラリがたくさんあります。
。
リッチテキストエディタを作成するために使用するライブラリは、@kolkov/angular-editor
です。npm
パッケージマネージャーを使用して、@kolkov/angular-editor
をインストールできます。
# CLI
npm install @kolkov/angular-editor --save
インストール後、app.module.ts
の@angular/common/http
から HttpClientModule
をインポートし、@kolkov/angular-editor
から AngularEditorModule
をインポートする必要があります。
app.module.ts
は次のようになります。
# angular
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpClientModule} from '@angular/common/http';
import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import { AngularEditorModule } from '@kolkov/angular-editor';
@NgModule({
imports: [ BrowserModule, FormsModule, AngularEditorModule, HttpClientModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
これで、AngularEditorConfig
を使用してリッチテキストエディタを構成できます。以下の構成が可能です。
構成 | タイプ | デフォルト | 説明 |
---|---|---|---|
editable |
Boolean |
true |
エディターを有効または無効にする |
spellcheck |
Boolean |
true |
スペルチェックを有効または無効にする |
translate |
string |
yes |
翻訳を有効または無効にする |
sanitize |
Boolean |
true |
DOM サニタイズを有効または無効にします |
height |
string |
auto |
それを使ってエディタの高さを設定できます |
minHeight |
string |
0 |
それを使用してエディターの最小の高さを設定できます |
maxHeight |
string |
auto |
これを使用してエディターの最大高さを設定できます |
width |
string |
auto |
それを使ってエディタの幅を設定できます |
minWidth |
string |
0 |
それを使用してエディタの最小幅を設定できます |
enableToolbar |
Boolean |
true |
ツールバーを有効または無効にする |
showToolbar |
Boolean |
true |
ツールバーの表示または非表示 |
toolbarPosition |
string |
top |
ツールバーの位置を上または下に設定できます |
placeholder |
string |
- | エディターのプレースホルダーを設定できます |
defaultParagraphSeparator |
string |
- | p タグなどのデフォルトの段落区切り文字を定義できます |
defaultFontName |
string |
- | Arial などのデフォルトフォントを設定できます |
defaultFontSize |
string |
- | デフォルトのフォントサイズを設定できます |
uploadUrl |
string |
- | 画像アップロードエンドポイントを設定し、imageUrl キーを使用して応答を返すことができます。 {"imageUrl" : } |
upload |
function |
- | それを使って画像アップロード機能ができます。 |
uploadWithCredentials |
Boolean |
false |
画像アップロードのパスワードを保護するかどうかを設定できます。 |
fonts |
Font[] |
- | [{name, class}] など、使用できるフォントの配列を設定できます。 |
customClasses |
CustomClass[] |
- | エディターで使用できる利用可能なクラスの配列を設定できます。 |
outline |
Boolean |
true |
エディターのアウトラインに焦点を合わせることができます。 |
toolbarHiddenButtons |
string[][] |
- | 非表示にするボタン名または要素の配列を設定できます。 |
上記の構成を使用して、リッチテキストエディターを構成します。
# angular
import { Component } from '@angular/core';
import { AngularEditorConfig } from '@kolkov/angular-editor';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
name = 'Angular 6';
htmlContent = '';
config: AngularEditorConfig = {
editable: true,
spellcheck: true,
height: '10rem',
minHeight: '5rem',
placeholder: 'Enter text in this rich text editor....',
defaultParagraphSeparator: 'p',
defaultFontName: 'Arial',
customClasses: [
{
name: 'Quote',
class: 'quoteClass',
},
{
name: 'Title Heading',
class: 'titleHead',
tag: 'h1',
},
],
};
}
angular-editor
タグを使用してテンプレートを作成し、リッチテキストエディターとリッチテキストエディターの出力を表示します。app.component.ts
で定義した htmlContent
変数を使用します。
app.component.html
のコードは次のようになります。
# angular
<h1>AngularEditor</h1>
<angular-editor [(ngModel)]="htmlContent" [config]="config"></angular-editor>
<h1>HTML Output</h1>
<div class="html">
{{ htmlContent }}
</div>
出力:
この簡単な方法で、リッチテキストエディタを作成できます。
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn