OSDN Git Service

Version 0.6.133, fix for closure compiler - ADVANCED_OPTIMIZATIONS
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 12_XEvent.js
index 87f02e7..733d9e9 100644 (file)
-X.Event = {\r
-       COMPLETE               :  1,\r
-       READY                  :  2,\r
-       SUCCESS                :  3,\r
-       ERROR                  :  4,\r
-       PROGRESS               :  5,\r
-       BEFORE_CANCEL          :  6,\r
-       CANCELED               :  7,\r
-       TIMEOUT                :  8,\r
-       BEFORE_KILL_INSTANCE   :  9,\r
-       KILL_INSTANCE          : 10,\r
-       KILL_INSTANCE_CANCELED : 11,\r
-       _LAST_EVENT            : 11\r
-};
\ No newline at end of file
+\r
+var X_Event_last      = 0,\r
+       X_Event_Rename    = {},\r
+       X_Event_RenameTo  = {},\r
+       \r
+       X_Event_proxy     = {\r
+               \r
+               load : X_UA[ 'IE' ] < 9 && {\r
+                               check : function( eventDispatcher ){\r
+                                       return eventDispatcher._tag === 'IFRAME' || eventDispatcher._tag === 'SCRIPT';\r
+                               },\r
+                               \r
+                               f : function( e ){\r
+                                       var raw = this._rawObject;\r
+                                       return raw.readyState !== 'complete' && raw.readyState !== 'loaded';\r
+                               }\r
+                       },\r
+               \r
+               contextmenu : X_UA[ 'Opera' ] && {\r
+                               \r
+                               rename : 'mousedown',\r
+                               \r
+                               f : function( e ){\r
+                                       return e.button === 2;\r
+                               }\r
+                               \r
+                       }\r
+               \r
+       },\r
+       \r
+       X_Event_toPointer = !X_UA_HID.POINTER && ( X_UA_HID.TOUCH ?\r
+               {\r
+                       touchstart  : 'pointerdown',\r
+                       mousedown   : 'pointerdown',\r
+                       touchend    : 'pointerup', \r
+                       mouseup     : 'pointerup',\r
+                       touchmove   : 'pointermove',\r
+                       mousemove   : 'pointermove',\r
+                       touchcancel : 'pointercancel',\r
+                       contextmenu : 'contextmenu',\r
+                       dbclick     : 'dbclick',\r
+                       click       : 'click',\r
+                       tap         : 'click'\r
+               } :\r
+               {\r
+                       mousedown   : 'pointerdown',\r
+                       mouseup     : 'pointerup',\r
+                       mousemove   : 'pointermove',\r
+                       contextmenu : 'contextmenu',\r
+                       dbclick     : 'dbclick',\r
+                       click       : 'click'\r
+               });\r
+\r
+// 内部イベント\r
+X_TEMP.SYSTEM_EVENT_PRE_INIT = 5; // X_Listeners_.KILL_RESERVED に +1 した値から開始。\r
+X_TEMP.SYSTEM_EVENT_XTREE    = 6;\r
+X_TEMP.SYSTEM_EVENT_INIT     = 7;\r
+\r
+/**\r
+ * フレームワーク内で定義されたイベント。\r
+ * @namespace X.Event\r
+ * @alias X.Event\r
+ * @enum {number}\r
+ */\r
+var X_Event = X[ 'Event' ] = {\r
+       /**\r
+        * X.ViewPort で発生する。DomContentLoaded に相当。document.body.innerHTML の内容から X.Node ツリーの作成が完了した。\r
+        * このイベント以降、X.Doc.create(), X.Doc.find() 等が可能になる。\r
+        * @const\r
+        */\r
+       'XDOM_READY'             :  8,\r
+       \r
+       'COMPLETE'               :  9,\r
+       'READY'                  : 10,\r
+       'SUCCESS'                : 11,\r
+       'ERROR'                  : 12,\r
+       'PROGRESS'               : 13,\r
+       'BEFORE_CANCEL'          : 14,\r
+       'CANCELED'               : 15,\r
+       'TIMEOUT'                : 16,\r
+\r
+       /**\r
+        * X.EventDispatcher インスタンスを kill() すると発生。キャンセル可能。\r
+        */     \r
+       'BEFORE_KILL_INSTANCE'   : 17,\r
+       /**\r
+        * X.EventDispatcher インスタンスの kill() がキャンセルされた場合に発生。\r
+        */     \r
+       'KILL_INSTANCE_CANCELED' : 18,\r
+       /**\r
+        * X.EventDispatcher インスタンスの kill が確定し、kill プロセスの前に発生。\r
+        */\r
+       'KILL_INSTANCE'          : 19,\r
+\r
+       /**\r
+        * X.ViewPort で発生する。'visibilitychange', 'pageshow', window.onfocus を検出している。\r
+        */\r
+       'VIEW_ACTIVATE'          : 20,\r
+       /**\r
+        * X.ViewPort で発生する。'visibilitychange', 'pagehide', window.onblur を検出している。\r
+        */\r
+       'VIEW_DEACTIVATE'        : 21,\r
+       /**\r
+        * X.ViewPort で発生する。\r
+        */\r
+       'VIEW_RESIZED'           : 22,\r
+       /**\r
+        * X.ViewPort で発生する。\r
+        */\r
+       'VIEW_TURNED'            : 23,\r
+       /**\r
+        * X.ViewPort で発生する。ベースフォントサイズが変化すると発生する。body 直下の隠し要素のテキストサイズの変化で検出している。\r
+        */\r
+       'BASE_FONT_RESIZED'      : 24,\r
+\r
+// in_page_jump\r
+// on_screen_keyboard_show\r
+// on_screen_keyboard_hide\r
+\r
+       'BEFORE_UPDATE'          : 25,// X_System このイベントで要素のサイズを取得すると無限ループに!\r
+       'UPDATED'                : 26,// X_System\r
+       'AFTER_UPDATE'           : 27,\r
+\r
+       'HASH_CHANGED'           : 28,\r
+\r
+       /**\r
+        * X.ViewPort で発生する。\r
+        */\r
+       'BEFORE_UNLOAD'          : 29,\r
+       /**\r
+        * X.ViewPort で発生する。\r
+        */\r
+       'UNLOAD'                 : 30,\r
+       \r
+       'BACKEND_READY'          : 31,\r
+       'BACKEND_NONE'           : 32,\r
+       'BACKEND_RESEARCH'       : 33,\r
+       'BACKEND_CHANGED'        : 34,\r
+       \r
+       'ANIME_BEFORE_START'     : 35,\r
+       'ANIME_START'            : 36,\r
+       'ANIME'                  : 37,\r
+       'ANIME_END'              : 38,\r
+       'ANIME_BEFORE_STOP'      : 39, // xnode.stop() のみ、指定時間による停止では呼ばれない\r
+       'ANIME_STOP'             : 40,\r
+       \r
+       'GPU_RELEASED'           : 41,\r
+\r
+       'MEDIA_PLAYING'          : 42,\r
+       'MEDIA_BEFORE_LOOP'      : 43, // cancelable\r
+       'MEDIA_LOOPED'           : 44,\r
+       'MEDIA_PAUSED'           : 45,\r
+       'MEDIA_ENDED'            : 46,\r
+       'MEDIA_WAITING'          : 47,\r
+       'MEDIA_SEEKING'          : 48\r
+};\r
+\r
+X_Event_last = 48;\r
+\r
+X_TEMP.onSystemReady.push(\r
+       function(){\r
+               var k, name, i;\r
+               for( k in X_Event_Rename ){\r
+                       //if( X_EMPTY_OBJECT[ k ] ) continue;\r
+                       name = X_Event_Rename[ k ];\r
+                       if( X_Type_isArray( name ) ){\r
+                               for( i = name.length; i; ){\r
+                                       X_Event_RenameTo[ name[ --i ] ] = k;\r
+                               };\r
+                       } else {\r
+                               X_Event_RenameTo[ name ] = k;\r
+                       };\r
+               };\r
+       });\r