8 X.UI.Page = X_EventDispatcher[ 'inherits' ](
\r
12 'Constructor' : function( title, uid ){
\r
13 var args = X_Array_copy( arguments );
\r
15 if( !XUI_PAGES[ uid ] ){
\r
16 args.splice( 0, 2 );
\r
17 XUI_PAGES[ uid ] = {
\r
26 'show' : function( direction ){
\r
29 if( XUI_Page_current !== this ){
\r
30 XUI_Page_new = this;
\r
31 XUI_Page_direction = direction;
\r
33 if( XUI_Page_current ){
\r
34 if( XUI_Page_current[ 'dispatch' ]( XUI_Event.PAGE_HIDE_BEFORE ) & X_CALLBACK_PREVENT_DEFAULT ){
\r
37 XUI_Page_current[ 'dispatch' ]( XUI_Event.PAGE_HIDE );
\r
39 console.log( 'スライドアウト開始' );
\r
45 'to' : { x : X[ 'ViewPort' ][ 'getSize' ]()[ 0 ] * -.05 * direction, opacity : 0 },
\r
47 'easing' : 'circular',
\r
48 'lazyRelease' : 0 })
\r
49 [ 'listenOnce' ]( X_EVENT_ANIME_END, XUI_Page_onSlideOut );
\r
51 XUI_Page_onSlideOut();
\r
58 X.UI.Page[ 'move' ] = XUI_Page_move;
\r
59 X.UI.Page[ 'back' ] = XUI_Page_back;
\r
61 function XUI_Page_move( uid ){
\r
62 for( var k in XUI_PAGES ){
\r
63 if( XUI_PAGES[ k ].uid === uid ){
\r
64 return XUI_PAGES[ k ].page[ 'show' ]( 1 );
\r
69 function XUI_Page_back(){
\r
70 var last = XUI_Page_prev[ XUI_Page_prev.length - 1 ];
\r
72 for( var k in XUI_PAGES ){
\r
73 if( XUI_PAGES[ k ].page === last ){
\r
74 XUI_Page_isBack = true;
\r
75 XUI_Page_prev.pop();
\r
76 return XUI_PAGES[ k ].page[ 'show' ]( -1 );
\r
81 function XUI_Page_onSlideOut(){
\r
84 if( XUI_Page_current ){
\r
85 XUI_rootData.removeAt( 0, 9999 );
\r
86 if( !XUI_Page_isBack ){
\r
87 XUI_Page_prev.push( XUI_Page_current );
\r
91 XUI_Page_isBack = false;
\r
92 XUI_Page_current = XUI_Page_new;
\r
94 for( k in XUI_PAGES ){
\r
95 if( XUI_PAGES[ k ].page === XUI_Page_new ){
\r
96 uinodes = XUI_PAGES[ k ].uinodes;
\r
102 if( !XUI_rootData ){
\r
103 X.UI.Root.apply( 1, uinodes ).attr( { opacity : 0 } );
\r
105 XUI_rootData.User.add.apply( XUI_rootData.User, uinodes );
\r
108 XUI_rootData[ 'listenOnce' ]( XUI_Event.LAYOUT_COMPLETE, XUI_Page_startSlideIn );
\r
109 //if( XUI_rootData.phase < 4 ){
\r
112 // XUI_Page_startSlideIn();
\r
114 console.log( 'スライドアウト完了' );
\r
117 function XUI_Page_startSlideIn(){
\r
118 console.log( 'スライドイン開始' );
\r
119 XUI_rootData.xnode[ 'animate' ]( {
\r
120 'from' : { x : X[ 'ViewPort' ][ 'getSize' ]()[ 0 ] * .05 * XUI_Page_direction, opacity : 0 },
\r
121 'to' : { x : 0, opacity : 1 },
\r
123 'easing' : 'circular',
\r
124 'lazyRelease' : 0 });
\r