OSDN Git Service

Version 0.6.132, fix X.Node._flags & fix X.EventDispatcher._listeners & start to...
[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  */\r
64 X.Event = {\r
65         XDOM_READY             :  8,\r
66         \r
67         COMPLETE               :  9,\r
68         READY                  : 10,\r
69         SUCCESS                : 11,\r
70         ERROR                  : 12,\r
71         PROGRESS               : 13,\r
72         BEFORE_CANCEL          : 14,\r
73         CANCELED               : 15,\r
74         TIMEOUT                : 16,\r
75         \r
76         BEFORE_KILL_INSTANCE   : 17,\r
77         KILL_INSTANCE_CANCELED : 18,\r
78         KILL_INSTANCE          : 19,\r
79 \r
80         VIEW_ACTIVATE          : 20,\r
81         VIEW_DEACTIVATE        : 21,\r
82         VIEW_RESIZED           : 22,\r
83         VIEW_TURNED            : 23,\r
84         BASE_FONT_RESIZED      : 24,\r
85 // in_page_jump\r
86 // on_screen_keyboard_show\r
87 // on_screen_keyboard_hide\r
88         BEFORE_UPDATE          : 25,// X_System このイベントで要素のサイズを取得すると無限ループに!\r
89         UPDATED                : 26,// X_System\r
90         AFTER_UPDATE           : 27,\r
91 \r
92         HASH_CHANGED           : 28,\r
93 \r
94         BEFORE_UNLOAD          : 29,\r
95         UNLOAD                 : 30,\r
96         \r
97         BACKEND_READY          : 31,\r
98         BACKEND_NONE           : 32,\r
99         BACKEND_RESEARCH       : 33,\r
100         BACKEND_CHANGED        : 34,\r
101         \r
102         ANIME_BEFORE_START     : 35,\r
103         ANIME_START            : 36,\r
104         ANIME                  : 37,\r
105         ANIME_END              : 38,\r
106         ANIME_BEFORE_STOP      : 39, // xnode.stop() のみ、指定時間による停止では呼ばれない\r
107         ANIME_STOP             : 40,\r
108         \r
109         GPU_RELEASED           : 41,\r
110 \r
111         MEDIA_PLAYING          : 42,\r
112         MEDIA_BEFORE_LOOP      : 43, // cancelable\r
113         MEDIA_LOOPED           : 44,\r
114         MEDIA_PAUSED           : 45,\r
115         MEDIA_ENDED            : 46,\r
116         MEDIA_WAITING          : 47,\r
117         MEDIA_SEEKING          : 48\r
118 };\r
119 \r
120 X_Event_last = 48;\r
121 \r
122 X_TEMP.onSystemReady.push(\r
123         function(){\r
124                 var k, name, i;\r
125                 for( k in X_Event_Rename ){\r
126                         //if( X_EMPTY_OBJECT[ k ] ) continue;\r
127                         name = X_Event_Rename[ k ];\r
128                         if( X.Type.isArray( name ) ){\r
129                                 for( i = name.length; i; ){\r
130                                         X_Event_RenameTo[ name[ --i ] ] = k;\r
131                                 };\r
132                         } else {\r
133                                 X_Event_RenameTo[ name ] = k;\r
134                         };\r
135                 };\r
136         });\r