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
1 \r
2 var X_Event_last      = 0,\r
3         X_Event_Rename    = {},\r
4         X_Event_RenameTo  = {},\r
5         \r
6         X_Event_proxy     = {\r
7                 \r
8                 load : X_UA[ 'IE' ] < 9 && {\r
9                                 check : function( eventDispatcher ){\r
10                                         return eventDispatcher._tag === 'IFRAME' || eventDispatcher._tag === 'SCRIPT';\r
11                                 },\r
12                                 \r
13                                 f : function( e ){\r
14                                         var raw = this._rawObject;\r
15                                         return raw.readyState !== 'complete' && raw.readyState !== 'loaded';\r
16                                 }\r
17                         },\r
18                 \r
19                 contextmenu : X_UA[ 'Opera' ] && {\r
20                                 \r
21                                 rename : 'mousedown',\r
22                                 \r
23                                 f : function( e ){\r
24                                         return e.button === 2;\r
25                                 }\r
26                                 \r
27                         }\r
28                 \r
29         },\r
30         \r
31         X_Event_toPointer = !X_UA_HID.POINTER && ( X_UA_HID.TOUCH ?\r
32                 {\r
33                         touchstart  : 'pointerdown',\r
34                         mousedown   : 'pointerdown',\r
35                         touchend    : 'pointerup', \r
36                         mouseup     : 'pointerup',\r
37                         touchmove   : 'pointermove',\r
38                         mousemove   : 'pointermove',\r
39                         touchcancel : 'pointercancel',\r
40                         contextmenu : 'contextmenu',\r
41                         dbclick     : 'dbclick',\r
42                         click       : 'click',\r
43                         tap         : 'click'\r
44                 } :\r
45                 {\r
46                         mousedown   : 'pointerdown',\r
47                         mouseup     : 'pointerup',\r
48                         mousemove   : 'pointermove',\r
49                         contextmenu : 'contextmenu',\r
50                         dbclick     : 'dbclick',\r
51                         click       : 'click'\r
52                 });\r
53 \r
54 // 内部イベント\r
55 X_TEMP.SYSTEM_EVENT_PRE_INIT = 5; // X_Listeners_.KILL_RESERVED に +1 した値から開始。\r
56 X_TEMP.SYSTEM_EVENT_XTREE    = 6;\r
57 X_TEMP.SYSTEM_EVENT_INIT     = 7;\r
58 \r
59 /**\r
60  * フレームワーク内で定義されたイベント。\r
61  * @namespace X.Event\r
62  * @alias X.Event\r
63  * @enum {number}\r
64  */\r
65 var X_Event = X[ 'Event' ] = {\r
66         /**\r
67          * X.ViewPort で発生する。DomContentLoaded に相当。document.body.innerHTML の内容から X.Node ツリーの作成が完了した。\r
68          * このイベント以降、X.Doc.create(), X.Doc.find() 等が可能になる。\r
69          * @const\r
70          */\r
71         'XDOM_READY'             :  8,\r
72         \r
73         'COMPLETE'               :  9,\r
74         'READY'                  : 10,\r
75         'SUCCESS'                : 11,\r
76         'ERROR'                  : 12,\r
77         'PROGRESS'               : 13,\r
78         'BEFORE_CANCEL'          : 14,\r
79         'CANCELED'               : 15,\r
80         'TIMEOUT'                : 16,\r
81 \r
82         /**\r
83          * X.EventDispatcher インスタンスを kill() すると発生。キャンセル可能。\r
84          */     \r
85         'BEFORE_KILL_INSTANCE'   : 17,\r
86         /**\r
87          * X.EventDispatcher インスタンスの kill() がキャンセルされた場合に発生。\r
88          */     \r
89         'KILL_INSTANCE_CANCELED' : 18,\r
90         /**\r
91          * X.EventDispatcher インスタンスの kill が確定し、kill プロセスの前に発生。\r
92          */\r
93         'KILL_INSTANCE'          : 19,\r
94 \r
95         /**\r
96          * X.ViewPort で発生する。'visibilitychange', 'pageshow', window.onfocus を検出している。\r
97          */\r
98         'VIEW_ACTIVATE'          : 20,\r
99         /**\r
100          * X.ViewPort で発生する。'visibilitychange', 'pagehide', window.onblur を検出している。\r
101          */\r
102         'VIEW_DEACTIVATE'        : 21,\r
103         /**\r
104          * X.ViewPort で発生する。\r
105          */\r
106         'VIEW_RESIZED'           : 22,\r
107         /**\r
108          * X.ViewPort で発生する。\r
109          */\r
110         'VIEW_TURNED'            : 23,\r
111         /**\r
112          * X.ViewPort で発生する。ベースフォントサイズが変化すると発生する。body 直下の隠し要素のテキストサイズの変化で検出している。\r
113          */\r
114         'BASE_FONT_RESIZED'      : 24,\r
115 \r
116 // in_page_jump\r
117 // on_screen_keyboard_show\r
118 // on_screen_keyboard_hide\r
119 \r
120         'BEFORE_UPDATE'          : 25,// X_System このイベントで要素のサイズを取得すると無限ループに!\r
121         'UPDATED'                : 26,// X_System\r
122         'AFTER_UPDATE'           : 27,\r
123 \r
124         'HASH_CHANGED'           : 28,\r
125 \r
126         /**\r
127          * X.ViewPort で発生する。\r
128          */\r
129         'BEFORE_UNLOAD'          : 29,\r
130         /**\r
131          * X.ViewPort で発生する。\r
132          */\r
133         'UNLOAD'                 : 30,\r
134         \r
135         'BACKEND_READY'          : 31,\r
136         'BACKEND_NONE'           : 32,\r
137         'BACKEND_RESEARCH'       : 33,\r
138         'BACKEND_CHANGED'        : 34,\r
139         \r
140         'ANIME_BEFORE_START'     : 35,\r
141         'ANIME_START'            : 36,\r
142         'ANIME'                  : 37,\r
143         'ANIME_END'              : 38,\r
144         'ANIME_BEFORE_STOP'      : 39, // xnode.stop() のみ、指定時間による停止では呼ばれない\r
145         'ANIME_STOP'             : 40,\r
146         \r
147         'GPU_RELEASED'           : 41,\r
148 \r
149         'MEDIA_PLAYING'          : 42,\r
150         'MEDIA_BEFORE_LOOP'      : 43, // cancelable\r
151         'MEDIA_LOOPED'           : 44,\r
152         'MEDIA_PAUSED'           : 45,\r
153         'MEDIA_ENDED'            : 46,\r
154         'MEDIA_WAITING'          : 47,\r
155         'MEDIA_SEEKING'          : 48\r
156 };\r
157 \r
158 X_Event_last = 48;\r
159 \r
160 X_TEMP.onSystemReady.push(\r
161         function(){\r
162                 var k, name, i;\r
163                 for( k in X_Event_Rename ){\r
164                         //if( X_EMPTY_OBJECT[ k ] ) continue;\r
165                         name = X_Event_Rename[ k ];\r
166                         if( X_Type_isArray( name ) ){\r
167                                 for( i = name.length; i; ){\r
168                                         X_Event_RenameTo[ name[ --i ] ] = k;\r
169                                 };\r
170                         } else {\r
171                                 X_Event_RenameTo[ name ] = k;\r
172                         };\r
173                 };\r
174         });\r