今回は書式設定が可能なテキストエディタRich Text Editorを取り上げる。これはベータ版なので、対応するブラウザや利用条件に配慮した上でご利用いただきたい。また、実行環境となるWebブラウザはJavaScriptを実行可能にしておかなくてはならないのは前回と同様だ。
コンポーネントの概要
ブログなどの投稿サイトでも、投稿用の文章を入力する画面でフォントの大きさや色を変えるなど、ワープロソフトに近い操作性を有するところが多くなっている。Rich Text Editorは、そのような入力画面を提供するコンポーネントだ。
画面1は、編集画面を示している。文章だけでなく画像も表示されているのがお分かりいただけるだろうか。画像をただ貼り付けるだけでなく、拡大/縮小することも可能だ。
画面の操作
画面の上3分の1のグレーの部分がテキストに対する設定を行うためのボタンで、右上の-をクリックすると表示/非表示を切り替えられる。残りはテキスト編集を行う部分だ。ドラッグ&ドロップが実行可能な環境であれば、画像ファイルをテキスト中にドロップすることもできる。
上部のメニューボタンには、太字や箇条書きのように、文字入力中にも操作可能なものと、下付き文字太字やフォントの色のように、文字列の一部をマウスで選択してからでなければ操作できないものがある。
また、太字はCtrl + Shift + B、右寄せはCtrl + Shift + ]というように、ボタンによる操作の一部をキーボードで代替することもできる。このほか、アンドゥ(Ctrl + Z)や元に戻す(Ctrl + Y)といった操作も可能だ。
ロードするCSSとJavaScript
このコンポーネントは、依存しているJavaScriptやCSSがそれぞれ5つずつと多いので(リスト1)、HTMLに記述する際には注意が必要だ。また、HTMLを保存する際の文字コードの関係で、metaタグでHTMLの文字コードを指定しておかないと文字化けを起こしてしまうこともあるので、HTMLを作成する際には確認していただきたい。
リスト1 CSSやJavaScriptの設定(HTMLの<head>内)
<!-- このソースコードはFirefox 2.0.0.6で実行確認 -->
<base href="YUIが展開されているディレクトリを設定" />
<!-- metaタグがないとフォントが変化してしまうことがある -->
<meta http-equiv="Content-Type" content="text/html;charset=Shift-JIS" />
<link rel="stylesheet" type="text/css"
href="build/fonts/fonts.css" />
<link rel="stylesheet" type="text/css"
href="build/menu/assets/skins/sam/menu.css" />
<link rel="stylesheet" type="text/css"
href="build/container/assets/skins/sam/container.css" />
<link rel="stylesheet" type="text/css"
href="build/button/assets/skins/sam/button.css" />
<link rel="stylesheet" type="text/css"
href="build/editor/assets/skins/sam/editor.css" />
<script type="text/javascript" src="build/utilities/utilities.js"></script>
<script type="text/javascript" src="build/container/container.js"></script>
<script type="text/javascript" src="build/menu/menu.js"></script>
<script type="text/javascript" src="build/button/button-beta.js"></script>
<script type="text/javascript" src="build/editor/editor-beta.js"></script>