jQuery Mobileで利用できるアダプティブウィジェット
Wijmoで提供されているウィジェットのうち、jQuery Mobileと組み合わせて利用できるものはアダプティブウィジェットとして区別されています。あるWijmoウィジェットがアダプティブウィジェットかどうかは、Wijmoドキュメントで確認することができます。なお、アダプティブウィジェットのうちグラフウィジェットは内部的にSVGを利用するため、Androidで実行するためにはAndroid 4.0(Ice Cream Sandwich)以降が必要です。
jQuery MobileでWijmoのアダプティブウィジェットであるLinearGaugeウィジェット(水平/垂直ゲージ)を表示する例をリスト1に示します。リスト1ではオプション指定を行わない場合と行う場合の2パターンを例示しています。
<!DOCTYPE html> <html> <head> <title>Wijmoサンプル1(jQuery Mobile)</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" /> <!-- jQuery・jQuery Mobile ... (1)--> <script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script> <script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js" type="text/javascript"></script> <!-- テーマCSS ...(2) --> <link href="http://cdn.wijmo.com/themes/1.4.0/moonlight-mobile/jquery-wijmo.css" rel="stylesheet" type="text/css" /> <!-- WijmoウィジェットCSS ...(3) --> <link href="http://cdn.wijmo.com/jquery.wijmo-pro.all.3.20141.38.min.css" rel="stylesheet" type="text/css" /> <!-- WijmoウィジェットJavaScript ...(4) --> <script src="http://cdn.wijmo.com/jquery.wijmo-open.all.3.20141.38.min.js" type="text/javascript"></script> <script src="http://cdn.wijmo.com/jquery.wijmo-pro.all.3.20141.38.min.js" type="text/javascript"></script> </head> <body> <div data-role="page" data-theme="b" id="page1"> <header data-role="header" data-position="fixed"> <h1>WijmoSample1</h1> </header> <div class="ui-content" role="main"> <!-- LinearGauge ...(5) --> <div data-role="wijlineargauge"></div> <!-- オプション指定 ...(6) --> <div data-role="wijlineargauge" data-options="{min:10, max:50, value:30, orientation:'vertical'}"></div> </div> </div> </body> </html>
(1)~(4)でjQuery、jQuery Mobile、Wijmoを読み込んでいます。(5)、(6)がWijmoウィジェットの指定です。PC向けWebページではJavaScriptでWijmoウィジェットを初期化しますが、jQuery MobileでWijmoウィジェットを利用する場合はdata-role属性でウィジェットの種類、data-options属性でウィジェットのオプションを指定できます。
(5)はdata-role属性のみを指定する例、(6)はdata-options属性で下限(min)、上限(max)、値(value)、方向(orientation)のオプションを指定した例です。data-options属性にはオプション内容を表すJSON型式テキストをそのまま(カッコや引用符を含めて)指定します。
リスト1を実行すると、図2のようにLinearGauge(wijlineargauge)ウィジェットが2個表示されます。上のウィジェットはオプション指定なしで表示され、下のウィジェットにはdata-options属性で指定したオプションが適用されます。
一方でグラフなどオプション指定が複雑になる場合は、PC向けWebページ同様、JavaScriptでウィジェットを設定することもできます。リスト2はモバイルWebページに折れ線グラフ(wijlinechartウィジェット)を表示する例です。
<script type="text/javascript"> $(document).on("pagecreate", function(event) { $("#wijlinechart1").wijlinechart({ header:{text:"電池使用時の電圧変化"}, axis:{ // 軸の設定 x:{text:"時間(h)"}, y:{text:"電圧(V)"} }, showChartLabels: false, // 折れ線グラフ内に値を表示しない seriesList:[ // データの設定 { label:"電池", data:{ x:["0", "1", "2", "3", "4", "5"], y:[1.5, 1.45, 1.35, 1.25, 1.12, 0.95] } } ], seriesStyles:[ // データ表示形式 {stroke:"rgb(255, 0, 0)", "stroke-width":2} ] }); }); </script> <!-- 中略 --> <div data-role="page" data-theme="b" id="page1"> <header data-role="header" data-position="fixed"> <h1>WijmoSample2</h1> </header> <div class="ui-content" role="main"> <h2>LineChart</h2> <div id="wijlinechart1" style="width: 300px; height: 200px"> </div> </div>
リスト2を実行すると、図3のようにモバイルWebページに折れ線グラフが表示されます。
jQuery Mobile環境でWijmoウィジェットにオプションを設定する場合、オプションの指定が比較的シンプルな場合はdata-options属性を使用し、複雑なオプションの指定はJavaScriptで初期化するという使い分けができます。