• プラルトwebホームへ
  • ホームページ制作を担当するスタッフ達のブログ
  • 実績
  • プラルトの会社案内
  • Webデザイナー募集中!リクルート
  • ホームページ制作に関するお問い合わせ

ENTRY

「Yahoo! User Interface Library」を、ちょっといじってみました。

2007年9月28日 18:20  |  Comment (0)  |  TrackBack (0)

ご存じの方も結構いらっしゃるかと思いますが、遅ればせながら「Yahoo! User Interface Library」(以下「YUI」)をダウンロードしてみました。

YUIとは、DHTMLやAJAXを使ったライブラリー集のようなもので、その種類は膨大。
ダウンロード時に付属するサンプル集をちょっと見た感じでは、「タブ」や「階層メニュー」などのWEBサイトでよく見る基本的なものから、「カレンダー」、「カラーピッカー」、「リッチテキストエディタ」、「ソート機能を持つテーブル」といったアプリケーション的な要素の高いものまで、多彩に用意されています。

早速付属しているサンプルを元に、さらにサンプルを作ってみました(笑)。第一印象としては、使い方も比較的簡単そうな感じです。

基本的には、headタグ内に外部スクリプト指定をして、body内にid要素を配置→さらにConfigのような役割を持つスクリプトを記述してあげれば、とりあえず動く(?)ようです。後は「見た目」の部分をCSSで割り当ててあげればokでしょうか?(Webアプリ的なものを作る場合は、この後の中の動作部分では苦労しそうですが・・・)

とりあえず、使用用途のありそうな(?)「ソート機能を持つテーブル」の超基本的な設定&解説をご紹介(もちろんサンプルを元にして・・・)。

まずは、テーブル内の値を収納するjsファイルをひとつ作ります。
ここでは、サンプル通りにファイル名を「data.js」として話を進めます。

「data.js」は、以下のようなルールで作成します。
YAHOO.example.Data = {
	テーブル名: [
        {項目1:"値1", 項目2:"値1-2"}, // 必要な分だけ、カンマ区切りで追加します。
        {項目1:"値2", 項目2:Null} // 値が無いものは「Null」と記述します。
    ]
}

記述する順番が、そのままデフォルトの行順となります。
次に表示用のHTMLの設定についてですが、まず使用するスクリプト・CSSなどをコピーします。

build/fonts/fonts-min.css
build/datatable/assets/skins/sam/datatable.css
build/utilities/utilities.js
build/datasource/datasource-beta.js
build/datatable/datatable-beta.js

上記5つはhead内に外部スクリプト・CSSとして設置します。
<link rel="stylesheet" type="text/css" href="build/fonts/fonts-min.css" />
<link rel="stylesheet" type="text/css" href="build/datatable/assets/skins/sam/datatable.css" />
<script type="text/javascript" src="build/utilities/utilities.js"></script>
<script type="text/javascript" src="build/datasource/datasource-beta.js"></script>
<script type="text/javascript" src="build/datatable/datatable-beta.js"></script>

bodyには表示させたい場所に
<div id="basic"></div>

を設置し、その下に外部スクリプトとして、先ほど作成した「data.js」を置きます。
<script type="text/javascript" src="data.js"></script>

さらにその下には、config的な役割をもつ設定スクリプトを置きます。
<script type="text/javascript">
YAHOO.util.Event.addListener(window, "load", function() {
    YAHOO.example.Basic = new function() {
        var myColumnDefs = [
            {key:"項目1", sortable:true, resizeable:true}, // 各項目を順番に入れていきます。
            {key:"項目2", sortable:true, resizeable:true}
            // sortableはこの列からソートを行うかを指定できます。
            // resizeableはセルを左右に伸縮させるかを指定できます。
            // 両項目ともに、「させる」場合はtrue、「させない」場合はfalseを記述します。
        ];

        this.myDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.テーブル名);
        this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
        this.myDataSource.responseSchema = {
            fields: ["項目1","項目2"] // ここでも各項目を順番に入れていきます。
        };

        this.myDataTable = new YAHOO.widget.DataTable("basic",
                myColumnDefs, this.myDataSource, {caption:"tableタグのcaption的な要素を持ちます。"});
    };
});
</script>

以上で設置完了です!
これを元に作成したサンプルはこちらでご覧になれますので、参考までに(というかほとんどYUIのサンプル通りですが...)

→「Yahoo! User Interface Library


コメントを投稿する

ご投稿いただいたコメントは、管理者の承認を経て公開されます。

Name :

Email Address :

URL :

Remember personal info?

Comments :

トラックバック

TrackBack URL for this entry


ページ先頭へ
Copyright © 2007 PRART Inc. All rights reserved.