OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / main.js
index 6eb6d97..5374ab8 100644 (file)
-PageRoot(\r
-       Box({\r
-               width   : '10%',\r
-               height  : '10%',\r
-               left    : 5,\r
-               top     : 1,\r
-               bgColor : 0x0000ff\r
-       }),\r
-       Box({\r
-               width       : 5,\r
-               height      : 5,\r
-               left        : '10%',\r
-               bottom      : '70%',\r
-               bgColor     : 0xff0000\r
-       }),\r
-       VBox(\r
-               {\r
-                       width       : '50%',\r
-                       left        : '49%',\r
-                       top         : 5,\r
-                       bottom      : 5,\r
-                       bgColor     : 0x666666,\r
-                       borderColor : 0x111111,\r
-                       borderWidth : [ 0, 1, 0, 0 ],\r
-                       borderStyle : 'solid dotted',\r
-                       padding     : [ 2, 1.5 ],\r
-                       sizing      : 'border'\r
+\r
+X( function(){\r
+       with( X.UI ){\r
+               Page(\r
+                       'ホーム',\r
+                       'home',\r
+                       List(\r
+                               [\r
+                                       {\r
+                                               label   : 'ぺったんR',\r
+                                               summary : X.VERSION + ( X.buildTimeStamp ? ' ' + X.buildTimeStamp : '' )\r
+                                       },\r
+                                       { label   : 'ツール' },\r
+                                       { label   : 'テスト' , next : 'test' },\r
+                                       { label   : '情報' , next : 'info' },\r
+                                       { label   : 'ローカルストレージ' },\r
+                                       { label   : '外部API接続' }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               ).show();\r
+\r
+               Page(\r
+                       'テスト目次',\r
+                       'test',\r
+                       List(\r
+                               [\r
+                                       { label : '戻る', back : true },\r
+                                       { label : 'インタラクション・ジェスチャー' },\r
+                                       { label : 'Ajax' },\r
+                                       { label : 'マルチメディア' }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               );\r
+\r
+               Page(\r
+                       '情報',\r
+                       'info',\r
+                       List(\r
+                               [\r
+                                       { label : '戻る', back : true },\r
+                                       { label : 'システムスコア'   , next : 'spec' },\r
+                                       { label : 'OS・ブラウザ'     , next : 'ua' },\r
+                                       { label : 'プラグインとアドオン', next : 'plugin' },\r
+                                       { label : 'ストレージ' },\r
+                                       { label : 'HID' },\r
+                                       { label : 'pettanR ビルド情報' }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               );\r
+\r
+               Page(\r
+                       'システムスコア',\r
+                       'spec',\r
+                       List(\r
+                               [\r
+                                       { label : '戻る', back : true },\r
+                                       {\r
+                                               label   : '起動時間',\r
+                                               summary : X.bootSpeed + 'ms'\r
+                                       }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               );\r
+\r
+               Page(\r
+                       'OS・ブラウザ',\r
+                       'ua',\r
+                       List(\r
+                               [\r
+                                       { label : '戻る', back : true },\r
+                                       {\r
+                                               label   : 'ブラウザ',\r
+                                               summary : X.UA.IE ? 'IE ' + X.UA.IE :\r
+                                                       X.UA.Opera      ? 'Presto Opera ' + X.UA.Opera :\r
+                                                       X.UA.Gecko      ? 'Gecko ' + X.UA.Gecko :\r
+                                                       X.UA.KHTML      ? 'KHTML ' + X.UA.KHTML :\r
+                                                       X.UA.WebKit     ? 'WebKit ' + X.UA.WebKit :\r
+                                                       X.UA.BlinkOpera ? 'Blink Opera ' + X.UA.BlinkOpera :\r
+                                                       X.UA.Blink      ? 'Blink ' + X.UA.Blink :\r
+                                                       X.UA.AOSP       ? 'AOSP ' + X.UA.AOSP :\r
+                                                       X.UA.ChromeWV   ? 'Chrome WebView ' + X.UA.ChromeWV :\r
+                                                       X.UA.Edge       ? 'Edge' + X.UA.Edge : 'Other'\r
+                                       },\r
+                                       {\r
+                                               label   : 'OS',\r
+                                               summary : X.UA.Windows ? 'Windows ' + X.UA.Windows : X.UA.Mac ? 'Mac' : X.UA.Android ? 'Android' : X.UA.iOS ? 'iOS' : 'Other'\r
+                                       },\r
+                                       {\r
+                                               label   : 'IE6専用 背景画像ちらつき対処',\r
+                                               summary : X.Doc.ieExeComError ? 'error!' : X.UA.IE6 ? 'success!' : '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'SVG',\r
+                                               summary : X.Doc.SVG ? 'o' : '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'VML',\r
+                                               summary : X.Doc.VML || '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'XHR',\r
+                                               summary :\r
+                                                       X.XHR.XDR ? ( X.XHR.MSXML ? 'W3C+XDR+MSXML' + X.XHR.MSXML : 'W3C+XDR' ) :\r
+                                                       X.XHR.W3C ? ( X.XHR.CORS ? 'W3C Lv2' : 'W3C' ) :\r
+                                                       X.XHR.MSXML ? 'MSXML' + X.XHR.MSXML :\r
+                                                       X.XHR.FLASH ? 'Flash' + X.XHR.FLASH : ''\r
+                                       },\r
+                                       {\r
+                                               label   : 'ユーザーエージェント文字列',\r
+                                               summary : navigator.userAgent\r
+                                       },\r
+                                       {\r
+                                               label   : 'プラットフォーム',\r
+                                               summary : 'navigator.platform=' + navigator.platform\r
+                                       },\r
+                                       {\r
+                                               label   : 'アプリ名',\r
+                                               summary : 'navigator.appName=' + navigator.appName\r
+                                       },\r
+                                       {\r
+                                               label   : 'アプリコード名',\r
+                                               summary : 'navigator.appCodeName=' + navigator.appCodeName\r
+                                       },\r
+                                       {\r
+                                               label   : 'アプリバージョン',\r
+                                               summary : 'navigator.appVersion=' + navigator.appVersion\r
+                                       }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               );\r
+\r
+               Page(\r
+                       'プラグインとアドオン',\r
+                       'plugin',\r
+                       List(\r
+                               [\r
+                                       { label : '戻る', back : true },\r
+                                       {\r
+                                               label   : 'Adobe FlashPlayer',\r
+                                               summary : X.Plugin.Flash || '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'Silverlight',\r
+                                               summary : X.Plugin.Silverlight || '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'Unity Web Player',\r
+                                               summary : X.Plugin.Unity || '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'Google Gears',\r
+                                               summary : X.Plugin.Gears ? 'o' : '-'\r
+                                       },\r
+                                       {\r
+                                               label   : 'Windows Media Player',\r
+                                               summary : X.Plugin.WMP || '-'\r
+                                       }\r
+                               ],\r
+                               AndroidItem()\r
+                       )\r
+               );\r
+               \r
+       };\r
+} );\r
+\r
+\r
+var AndroidItem = X.UI.Box.inherits(\r
+       'AndroidItem',\r
+       X.Class.NONE,\r
+       {\r
+               next : '',\r
+               back : false,           \r
+               \r
+               Constructor : function(){\r
+                       this.Super( {\r
+                               sizing      : 'border',\r
+                               bgColor     : 0x34383B,\r
+                               borderColor : 0x252527,\r
+                               borderStyle : 'solid',\r
+                               borderWidth : [ 0, 0, 0.15 ],\r
+                               height      : 4,\r
+                               left        : 0,\r
+                               right       : 0\r
+                       } )\r
+                       .listen( X.UI.Event.TAP )\r
+                       .listen( X.UI.Event.ITEMDATA_CHANGED );\r
                },\r
-               Box({\r
-                       width       : '50%',\r
-                       height      : 2,\r
-                       left        : '30%',\r
-                       bgColor     : 0x999999\r
-               }),\r
-               Text( 'Hello,world!' ),\r
-               Text( '----------------------------' ),\r
-               Text( 'PettanR team' )\r
-       )\r
-);
\ No newline at end of file
+\r
+               handleEvent : function( e ){\r
+                       var txt;\r
+                       \r
+                       switch( e.type ){\r
+                               case X.UI.Event.ITEMDATA_CHANGED :\r
+                                       if( e.itemData.summary ){\r
+                                               this.add( X.UI.Text( e.itemData.label, {\r
+                                                       fontColor   : 0xAAAAAA,\r
+                                                       fontBold    : true,\r
+                                                       top         : 0.7,\r
+                                                       left        : 1\r
+                                               } ) )\r
+                                               .add( X.UI.Text( e.itemData.summary, {\r
+                                                       fontColor   : 0x777777,\r
+                                                       fontSize    : 0.8,\r
+                                                       top         : 3.1,\r
+                                                       left        : 1.27\r
+                                               } ) );\r
+                                       } else {\r
+                                               this.add( X.UI.Text( e.itemData.label, {\r
+                                                       fontColor   : 0xAAAAAA,\r
+                                                       fontBold    : true,\r
+                                                       top         : 1.35,\r
+                                                       left        : 1\r
+                                               } ) );\r
+                                       };\r
+                                       \r
+                                       if( e.itemData.next ){\r
+                                               this.add( X.UI.Text( String.fromCharCode( 9654 ), {\r
+                                                       fontColor   : 0xAAAAAA,\r
+                                                       fontBold    : true,\r
+                                                       top         : 1.35,\r
+                                                       width       : 1,\r
+                                                       right       : 1\r
+                                               } ) );\r
+                                               \r
+                                               this.next = e.itemData.next;\r
+                                       } else\r
+                                       if( e.itemData.back ){\r
+                                               this.back = true;\r
+                                       };\r
+                                       break;\r
+                               \r
+                               case X.UI.Event.TAP :\r
+                                       txt = this.getNodeAt( 0 );\r
+                                       txt.content( txt.content() + '+' );\r
+                                       \r
+                                       if( this.next ){\r
+                                               X.UI.Page.move( this.next );\r
+                                       } else\r
+                                       if( this.back ){\r
+                                               X.UI.Page.back();\r
+                                       };\r
+                                       \r
+                       };\r
+               }       \r
+       }       \r
+);\r
+\r
+\r
+\r