特集:アドビのAjaxフレームワーク「Spry」を使ってみよう
Ajaxフレームワーク「Spry」で作る「リンク集2.0」
田中 孝太郎
dotimpac.to
2006/6/21
Spryフレームワークで「リンク集2.1」を作る |
まずサンプルを見てみよう。前ページのサンプルと比較して見てほしい。今回は、リストの種目をクリックするとリストが並べ替えられ、関連リンクをクリックすると、下の領域に関連リンクを表示するようにしてみた。これらもSpryの機能を利用して作られており、javascriptプログラミングはされていない。
画面2 リンク集2.1(WindowsIE6、Firefox1.0、Safari1.3.1で動作確認済) |
ダイナミックリージョンの表示制御属性 |
ダイナミックリージョンは、前ページのサンプルのようにデータセットの内容をそのまま表示するだけでなく、データ内容で場合分けしたり、条件を満たすもののみを表示したりすることができる。また、表示後の操作でソートキーを変更したり、項目を絞り込んだりすることも可能だ。
上のサンプルでリストのソートを指定しているコードを見てみよう。
|
テーブルヘッダのonclickハンドラで、Spryデータセットのソートメソッドを呼んでいる。このように、データセットに用意されたデータ操作メソッドを使用することで、インタラクティブな機能を追加することが可能になる。また今回は使用していないが、以下のようなSpryの専用属性をタグに追加しておくことで、ダイナミックリージョンでのデータ表示を制御することができる。
・spry:if : 条件を満たす場合、そのタグを表示する
|
・spry:choose / spry:when / spry:default : 場合分けする
・spry:hover : 要素にマウスオーバーしたときの振る舞いを指定する
・spry:select : 要素をクリックして選択したときの振る舞いを指定する
詳細データを非同期ロードする |
「リンク集2.1」サンプルでは、各リンクについて関連リンクという詳細情報を表示するようにしているが、この詳細情報のデータは、リンク集のXMLファイルとは別のファイルになっており、表示する関連リンクが選択された時点で、非同期ロードを行い、新たに取得したデータセットを動的に表示する仕組みになっている。いわゆるAjax的な動作だ。今回のサンプルではデータ数がごく少ないためさほど恩恵はないが、データ量が多いならば、このように個別のデータを必要に応じてロードできる仕組みは表示や動作速度の向上につながるだろう。
Spryでのデータセット間の連携動作を解説していこう。まずヘッダ部のデータセット生成コードはこのようになっている。
|
2行目のデータセットが、今回のサンプルで増えたもので、こちらはデータセットに指定するXMLファイル名に、データセットdsLinksのsite要素のデータ「detail_url」がデータ参照で埋め込まれるようになっている。つまり、データセットdsLinsDetailの内容はdsLinksの選択行が変化するタイミングで自動的に読み込まれ更新されるわけだ。
|
リンク集の「関連」アンカーでは、onclickハンドラでdsLinksの選択行を変更する「setCurrentRow」メソッドを呼ぶことで、選択行を変更しており、この状態変化が通知され、データセットが再読み込みされ、詳細データのダイナミックリージョンが再表示される。
詳細データのダイナミックリージョンは次のように指定されている。
|
「spry:detailregion」というのが、詳細データのダイナミックリージョンの属性だ。「spry:region」とは、データセットの状態を検知して、変更があると表示を再構成する点が異なる。これにより、dsLinksの選択行変さらに伴うデータセットの変更が即座に表示に反映される。
きたるべきバージョンアップ時にどんなことができるだろう |
今回は、簡単なサンプルを作りながら、Spryフレームワークの概要を解説した。Spryはまだまだ発展途上のフレームワークであり、実用的に使われていくのはこれから先のことになるかもしれない。しかし、プログラマーではなくWebデザイナーのためのフレームワークというポジションは、今後AjaxアプローチによるWebページがより普及するために必要なものであるはずだ。
発表後数週間でバージョンアップが公開されたことからも分かるように、おそらくこのSpryフレームワークもほかのAjaxライブラリと同様、今後目まぐるしいスピードで発展していくことだろう。いまのうちからフレームワークを試用してみて、どんなことができるか考えてみるのはどうだろうか。
3/3 |
INDEX | ||
AdobeのAjaxフレームワーク「Spry」を使ってみよう | ||
Page1<Spryフレームワークを知ろう/Spry framework for Ajax/XMLデータとダイナミックリージョン> | ||
Page2<Spryフレームワークをダウンロードする/Spryフレームワークで「リンク集2.0」を作る /XMLデータを用意する/HTMLにダイナミックリージョンを埋め込む> |
||
Page3<Spryフレームワークで「リンク集2.1」を作る/ダイナミックリージョンの表示制御属性/詳細データを非同期ロードする/最後に> |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|