マスカットでjQuery UIを使用したい(1)
マスカット(http://maskat.sourceforge.jp/)は、他のJavascriptライブラリを取り込めるようなフレームワークになっていまして、配布状態でGoogleMAPやRialtoなどの部品を使用することができるようになっています。とある案件で「マスカットは使用するけど、jQuery UIで訴求力のある提案をしたい!」とのことだったので、マスカットにjQueryを組み込んで使用することができるのか開発元(NTTD)に問い合わせたところ、「できますよ〜」と回答がありました。しかし、組み込みの概要だけしか聞けなかったので、試してみることにしました。大まかな手順は以下の通り。
- jQueryUIの使用したい部品のラッパークラス(A)を作成
- defaultGetterやdefaultSetterを定義
- createWidgetを定義し、DOMを構築する
- maskat.layout.WidgetLibraryを継承したクラス(B)を作成
- getBindingConfigurationの中で(A)を設定する
- maskat.core.Pluginを継承したクラス(C)を作成
今回は、jQueryUIのDatePickerをマスカット画面に組み込めるかという検証にしたいと思います。
まずは、マスカットのソースコードをダウンロードしてきます。(http://maskat.sourceforge.jp/index.php?Download)解凍すると以下のようになります。
次に、jQuery関連のライブラリを落としてきます。最新(1.8.2)ではなく1.7.3にしました。(http://jqueryui.com/download/jquery-ui-1.7.3.custom.zip)
上の図がダウンロードして解凍したところです。この中で以下の3ファイルが必要になります。
組み込むプラグインは、マスカットのソースコードを解凍したフォルダ階層のpluginの中に作成してゆきます。pluginのフォルダ内に"jquery"という名前のフォルダを作成します。
さらにその下に(ここからは好みですが)src,lib,cssなどのフォルダを掘ってゆきます。
libの下にはjquery-1.3.2.min.jsとjquery-ui-1.7.3.custom.min.jsを配置し、cssの下にはsmoothness/jquery-ui-1.7.3.custom.cssを配置します。srcの下はクラス階層になるので、パッケージを意識してフォルダを掘ってゆきます。今回作成するjsファイルは以下の3つです。
- DatePickerWrapper.js(上のおおまかな手順のラッパークラス(A))
- JQueryWidgetLibrary.js(maskat.layout.WidgetLibraryを継承したクラス(B))
- JQueryPlugin.js(maskat.core.Pluginを継承したクラスを作成(C))
明日はこれらを実装し、マスカット画面に組み込めるか検証したいと思います。
そういえば、マスカットソースをビルドするのにantが必要になります。