Angularのフォーム拡張ライブラリ、AngularAgilityを少しだけカスタマイズ


前回(Angularで入力フォームを作るならAngularAgilityを使おう!)はAngularAgilityを紹介しました。これ良いですよね!

今回はAngularAgilityのオプションについて解説します。いくつか公式ドキュメントに載っていなくて、ソースから判断した部分もありますので、間違っていたらすみません。

デモ

解説

まだまだ設定可能なオプションの一部ですが、解説します。

aa-label

AngularAgilityを使うときはaa-field-groupディレクティブを使いますが、ここに指定した変数名がラベル名として画面上に表示されます。ラベル名に日本語を使ったり、英語だとしても自由に命名したいときはaa-labelを利用します。

aa-colとaa-lbl-col

aa-field-groupを使うと、ラベル部分と入力領域部分が生成されますが、デフォルトでラベル部分にはcol-sm-2が、入力領域部分にはcol-sm-3が付きます。これらを自由に設定するのがaa-colとaa-lbl-colです。

aa-col=“sm-6”というように使います。

ちなみにこれらのcol-sm-*クラスはTwitter Bootstrap用です。

aaFormExtensions.validationMessages

aaFormExtensionsプロバイダー内のvalidationMessagesプロパティを変更することでメッセージを自由に変更できます。デモの例では日本語にしています。

on-navigate-away-strategy

on-navigate-away-strategyディレクティブをng-formディレクティブと一緒に指定しておくことで、ページ遷移時の警告処理をカスタマイズすることができます。

警告処理について説明します。フォームに値を入力してリンククリックなどで他のページへ遷移しようとすると警告が出ます。「Are you sure? This page is asking you to confirm that you want to leave - data you have entered may not be saved.」選択肢Stay or Leaveって奴です(ブラウザの機能のダイアログ)。「値入力してますけど、他のページ行っていいの?」って奴です。Web上でも一部のページはご丁寧にこの機能付けてますね。

on-navigate-away-strategy=“none”とすることで、この警告処理を止めることができます。

独自設定をする場合はソースのthis.onNavigateAwayStrategies = {の部分を見れば良いかと思います。

select2

これについては省略します。個人的な感想ですが、公式サンプルの解説だけで十分分かりました。

以上です。

AngularAgility便利なので使ってみてはいかがでしょうか!

まだまだ全貌を把握できていないので、今後も何か分かったら書いて行こうと思います。