jQuery Mobile のページ・マネージャおよびヘルパー・プラグイン
jQuery Mobile ページ・マネージャ・プラグインと jQuery Mobile ヘルパー・プラグインによって、jQuery Mobile フレームワークを使用できるようになります。jQuery Mobile フレームワークはモバイル・デバイス向けに設計されていますが、デスクトップ・コンピュータでも使用できます。jQuery Mobile の詳細については、http://jquerymobile.com/Opens in a new tab を参照してください。
ページ・クラスへの jQuery Mobile の追加
ここにリストされているファイルは、jQuery Mobile バージョン 1.4.5 および jQuery (core) バージョン 1.10.2 に含まれています。これらのファイルがまだシステムにインストールされていない場合、jQuery Mobile は https://jquerymobile.com/download/all/Opens in a new tab で、jQuery は https://code.jquery.com/jquery/Opens in a new tab で入手できます。
これらの手順は、jQuery および jQuery Mobile ファイルが <install-dir>/csp/broker にあることを前提としています (詳細については、“ページ・クラスへのプラグインの追加” を参照)。以下のファイルを使用可能にする必要があります。
-
jquery.mobile-1.4.5.min.js
-
jquery.mobile-1.4.5.min.css
-
jquery-1.10.2.min.js
プラグインは、jQuery Mobile のバージョン 1.4.3 および 1.3.2 にも対応しています。詳細については、“古い jQuery Mobile クラス” を参照してください。
以下のファイル名文字列を、ページ・クラスの JSINCLUDES および CSSINCLUDES (または CSS3INCLUDES) パラメータに追加します。Caché では、/csp/broker がすべての相対パスのルート・ディレクトリであることを前提としています。
-
CSSINCLUDES ファイル名は以下のとおりです。
"jquery.mobile-1.4.5.min.css"
-
JSINCLUDES ファイル名は以下のとおりです。
"jquery-1.10.2.min.js, jquery.mobile-1.4.5.min.js"
ファイルは、パラメータにリストされる順序でロードされることに注意してください。この場合、jQuery Mobile ライブラリは jQuery ライブラリに依存するため、jQuery ライブラリが最初にリストされる必要があります。
以下の例は、jQuery Mobile ページ・マネージャとヘルパーを pageContents XData ブロックで登録する方法を示しています (詳細については、“ページ・クラスへのプラグインの追加” を参照)。
<mojo:jQM-1.4.5-PageManager>
<mojo:jQM-1.4.5-Helper/>
<mojo:mojoDefaultHelper/>
</mojo:jQM-1.4.5-PageManager>
ページ・マネージャとヘルパー要素は、どちらもオプションの属性を取ることができます (“jQuery Mobile 動画およびテーマのサポート” を参照)。
jQuery Mobile ページ・マネージャを使用するページ・クラスでは、1 つの documentView のみが pageContents XData ブロックに含まれます。
jQuery Mobile ページ・マネージャは、jQuery Mobile ヘルパー・プラグインを使用する場合に必要で、他の大半のヘルパー・プラグインと共に使用できます。いくつかの jQuery Mobile レイアウト・オブジェクトでは、既定のヘルパー・プラグインが必要です。
jQuery Mobile ヘルパーは、拡張バージョンの HTML5 要素を提供します。それを HTML5 ヘルパーと共に使用する場合は、jQuery Mobile ヘルパーが最初にリストされている必要があります。プラグイン競合は、jQuery Mobile ヘルパーを HTML5 要素を拡張する他のヘルパーと共に使用した場合にも発生する可能性があります (“プラグイン競合の検出および解決” を参照)。
-
jQuery Mobile ヘルパー・レイアウト・オブジェクト $collapsible、$collapsibleset、$navbar、および $listview には、既定のヘルパー・プラグインによって提供される $loop レイアウト・オブジェクトが必要です。既定のヘルパーが含まれていない場合、これらのレイアウト・オブジェクトには、予測される出力の代わりに文字列 "($loop)" が表示されます。
-
pageContents XData ブロックでは、<mojo:jQM-1.4.5-PageManager> 要素と <mojo:jQM-1.4.5-Helper/> 要素はどちらもオプションの属性を取ることができます。詳細については、この章で後述する “jQuery Mobile 動画およびテーマのサポート” を参照してください。
これらのプラグインの詳細については、"クラス・リファレンス" の %ZEN.Mojo.Plugin.jQM145PageManagerOpens in a new tab および %ZEN.Mojo.Plugin.jQM145HelperOpens in a new tab を参照してください。
古い jQuery Mobile クラス
jQuery Mobile バージョン 1.4.3 のサポートは、%ZEN.Mojo.Plugin.jQM143PageManagerOpens in a new tab および %ZEN.Mojo.Plugin.jQM143HelperOpens in a new tab プラグイン・クラスによって提供されています。使い方は、jquery.mobile-1.4.3.min.js および jquery.mobile-1.4.3.min.css が使用されている点を除き、バージョン 1.4.5 と同じです。以下の例に示す要素は、pageContents XData ブロックで使用されています。
<mojo:jQM-1.4.3-PageManager>
<mojo:jQM-1.4.3-Helper/>
<mojo:mojoDefaultHelper/>
</mojo:jQM-1.4.3-PageManager>
jQuery Mobile バージョン 1.3.2 のサポートは、%ZEN.Mojo.Plugin.jQM132PageManagerOpens in a new tab および %ZEN.Mojo.Plugin.jQM132HelperOpens in a new tab プラグイン・クラスによって提供されています。使い方は、jquery.mobile-1.3.2.min.js および jquery.mobile-1.3.2.min.css が使用されている点を除き、バージョン 1.4.5 と同じです。以下の例に示す要素は、pageContents XData ブロックで使用されています。
<mojo:jQM-1.3.2-PageManager>
<mojo:jQM-1.3.2-Helper/>
<mojo:mojoDefaultHelper/>
</mojo:jQM-1.3.2-PageManager>
jQuery Mobile %ZEN.Mojo.Plugin.jQMPageManagerOpens in a new tab および %ZEN.Mojo.Plugin.jQMHelperOpens in a new tab プラグイン・クラスは、旧バージョンの Zen Mojo との下位互換性用に現在使用可能です。これらのクラスは jQuery Mobile バージョン 1.3.2 も使用します。使い方は、古いクラスは以下の要素を使用して登録される点を除き、現在の 1.3.2 プラグインと同じです。
<mojo:jQMPageManager>
<mojo:jQMHelper/>
<mojo:mojoDefaultHelper/>
</mojo:jQMPageManager>
これらの古いクラスは更新されず、今後のリリースで削除される予定です。
jQuery Mobile 動画およびテーマのサポート
pageContents XData ブロックでは、ページ・マネージャとヘルパー要素はどちらもテーマと動画に関連するオプション属性をサポートしています。以下の例では、5 つの属性すべてを使用しています。
<mojo:jQM-1.4.5-PageManager jQueryTheme="a" jQueryAnimation="flip">
<mojo:jQM-1.4.5-Helper jQueryHeaderTheme="a" jQueryBarTheme="d" jQueryCollapsibleTheme="c"/>
</mojo:jQM-1.4.5-PageManager>
ページ・マネージャ要素の以下の属性を指定できます。
-
jQueryTheme
documentView の jQuery テーマを指定します。以下に例を示します。
<mojo:jQM-1.4.5-PageManager jQueryTheme="a">
-
jQueryAnimation
ドキュメント・スタックを変更する (新しいドキュメントをスタックにプッシュする、またはドキュメントをスタックからポップする) 場合に使用するための jQuery Mobile 動画を指定します。以下に例を示します。
<mojo:jQM-1.4.5-PageManager jQueryAnimation="flip">
ヘルパー要素の以下の属性を指定できます。
-
jQueryHeaderTheme
ヘッダとフッタの jQuery テーマを指定します。
-
jQueryBarTheme
グリッドとバーの jQuery テーマを指定します。
-
jQueryCollapsibleTheme
折りたたみ可能なセットの jQuery テーマを指定します。
同じ要素内でいずれかまたはすべてのヘルパー属性を使用できます。以下に例を示します。
<mojo:jQM-1.4.5-Helper jQueryHeaderTheme="a" jQueryBarTheme="d" jQueryCollapsibleTheme="c"/>
初期設定の後に、これらの属性を変更する必要がある場合は、changeTheme() ヘルパー・プラグイン・メソッド (“カスタム jQuery Mobile ヘルパー・プラグイン・メソッド” で後述) を使用します。
テンプレート・クラスでの jQuery Mobile の使用
使用可能なレイアウト・オブジェクトの完全なリストについては、この章で後述する “jQuery Mobile ヘルパー・レイアウト・オブジェクト” を参照してください。
以下のメソッドは、すべての適切なレイアウト・オブジェクト内で使用できます。
-
$hide() — レイアウト・オブジェクトを非表示にします。
-
$refresh() — レイアウト・オブジェクトの HTML を再レンダリングします。
-
$show() — レイアウト・オブジェクトを表示します。
jQuery Mobile ユーティリティ・メソッドのリストについては、この章で後述する “カスタム jQuery Mobile ヘルパー・プラグイン・メソッド” を参照してください。
jQuery Mobile プラグインは、クライアント・メソッドが jQuery Mobile メソッドを参照するために使用できる $.mobile オブジェクトを介して jQuery Mobile フレームワークへの直接アクセスを提供します。以下に例を示します。
$.mobile.loading('show') ;
jQuery Mobile プラグインには、特殊なイベント処理要件はありません。
jQuery Mobile ヘルパー・レイアウト・オブジェクト
以下のリストは、jQuery Mobile ヘルパー・プラグインで提供されるレイアウト・オプションのクイック・リファレンスとして使用することを意図しています。詳細なリファレンス情報については、プラグイン・ドキュメント・アプリケーションを使用してください (“プラグイン・ドキュメントおよびウィジェット・リファレンス・アプリケーションの使用” を参照)。
$button | $controlgroup | $input | $navbaritem | $radio-button |
$checkbox | $fieldset | $link | $pagecontent | $select |
$collapsible | $footer | $listview | $panel | $string |
$collapsibleset | $grid | $listviewitem | $password | $text |
$control | $header | $navbar | $popup | $textarea |
jQuery Mobile ヘルパーは、HTML5 要素の拡張バージョンを提供するため、HTML5 要素を拡張する他のヘルパーと共に使用すると、プラグイン競合が生じる可能性があります (このドキュメン内の前述の “プラグイン競合の検出および解決” を参照)。
カスタム jQuery Mobile ヘルパー・プラグイン・メソッド
%ZEN.Mojo.Plugin.baseHelperPluginOpens in a new tab から継承されたメソッドに加えて、jQuery Mobile ヘルパー・プラグインは以下のメソッドを提供します。
-
changeTheme()
ClientMethod changeTheme(newTheme = "c", headerTheme = "a", barTheme = "a") [ Language = javascript ]
テーマ、ヘッダ・テーマ、およびバー・テーマが指定されると、このメソッドはこのページで使用されているテーマを更新します。以下に例を示します。
var mainView = zen('mainView'); mainView.getPluginByName('jQM-1.4.5-Helper').changeTheme('d','b','b');
テーマは、最初は、pageContents XData ブロック内のヘルパー要素の属性として設定されています (この章で前述の “jQuery Mobile 動画およびテーマのサポート” を参照)。
-
openPanel()
ClientMethod openPanel(id) [ Language = javascript ]
$panel オブジェクトの ID が指定されると、このメソッドはそのパネルを表示します。以下に例を示します。
var mainView = zen('mainView'); getPluginByLayoutObjectType($panel).openPanel('leftPanel');
-
closePanel()
ClientMethod closePanel(id) [ Language = javascript ]
$panel オブジェクトの ID が指定されると、このメソッドはそのパネルを閉じます。
-
togglePanel()
ClientMethod togglePanel(id) [ Language = javascript ]
$panel オブジェクトの ID が指定されると、このメソッドはそのパネルの開閉を切り替えます。
-
showPopup()
ClientMethod showPopup(key, options) [ Language = javascript ]
$popup オブジェクトのキーが指定されると、このメソッドはそのオブジェクトを表示します。options 引数は、ポップアップの任意のオプションを含むオブジェクトです。以下に例を示します。
var view = zen('mainView'); view.getPluginByLayoutObjectType($popup').showPopup('form-popup',{x:150,y:200});
-
closePopup()
ClientMethod closePopup(key) [ Language = javascript ]
$popup オブジェクトのキーが指定されると、このメソッドはそのオブジェクトを閉じます。
jQuery Mobile プラグインのサンプル・コードの使用
"ウィジェット・リファレンス" では、jQuery Mobile ヘルパー・プラグインのインタラクティブ・ウィジェットのサンプルを提供します。このリファレンスには、実施例、詳細な説明、およびユーザ独自のアプリケーションに切り取って貼り付けることができるソース・コードが含まれています。
jQuery Mobile ページ・マネージャおよびヘルパー・プラグインの完全なサンプル アプリケーションをバージョンごとに使用できます。jQuery Mobile 1.4.5 バージョンの場合、Studio を開いて SAMPLES ネームスペース内の ZMdemo.JQM145 に移動します。必要に応じて、そのパッケージ内のクラスをコンパイルします。アプリケーションを実行するには、ZMdemo.JQM145.HomePage を開き、[表示] > [ウェブページ] を選択します。デバッグ・モードで実行している場合、必ずデバッグ対象 URL を csp/samples/ZMdemo.JQM145.HomePage.cls に設定してください。
その他の jQuery Mobile バージョンの場合は、同じ指示に従いますが、ZMdemo.JQM143 または ZMdemo.JQM (バージョン 1.3.2 の場合) を指定します。
これらのサンプル・アプリケーションは、jQuery Mobile ページ・マネージャおよびヘルパー・プラグインに加えて、Google Maps、HTML5、および既定のヘルパー・プラグインも使用します。