pagelayout : change to call relayout with this page
authorJinhyuk Jun <jinhyuk.jun@samsung.com>
Tue, 22 Jan 2013 09:08:13 +0000 (18:08 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 23 Jan 2013 10:53:37 +0000 (19:53 +0900)
Change-Id: I5d9d55b8b52a82a390d69cccf7bdcb66f3b7526c

libs/patch/0004-JQM-add-refresh-and-setToolbar-API-to-page.patch
src/widgets/pagelayout/js/jquery.mobile.tizen.pagelayout.js

index 6248ddf..2be1193 100644 (file)
@@ -17,12 +17,12 @@ index 256fbb2..38912fb 100644
        },
        
 +      refresh: function() {
-+              $( ".ui-page-active" ).children( ".ui-content" ).trigger("updatelayout", ["external"]);
++              $( this.element ).children( ".ui-content" ).trigger("updatelayout", ["external"]);
 +      },
 +
 +      /* GUI Builder only : redesign page when user drag&drop header, footer */
 +      setToolbar: function () {
-+              $( ".ui-page" ).trigger( "pagebeforeshow" );
++              $( this.element ).trigger( "pagebeforeshow" );
 +      },
 +
        removeContainerBackground: function() {
index 80bc84d..b3c7e3f 100755 (executable)
                /* Set default page positon
                * 1. add title style to header
                * 2. Set default header/footer position */
-               setHeaderFooter: function ( event ) {
-                       var $elPage = $( event.target ),
+               setHeaderFooter: function ( thisPage ) {
+                       var $elPage = $( thisPage ),
                                $elHeader = $elPage.find( ":jqmData(role='header')" ).length ? $elPage.find( ":jqmData(role='header')") : $elPage.siblings( ":jqmData(role='header')"),
                                $elContent = $elPage.find( ".ui-content" ),
-                               $elFooter = $( document ).find( ":jqmData(role='footer')" ),
+                               $elFooter = $elPage.find( ":jqmData(role='footer')" ),
                                $elFooterGroup = $elFooter.find( ":jqmData(role='fieldcontain')" );
 
                        // divide content mode scrollview and non-scrollview
                        // This method is meant to disable zoom while a fixed-positioned toolbar page is visible
                        $el.closest( ".ui-page" )
                                .bind( "pagebeforeshow", function ( event ) {
+                                       var thisPage = this;
                                        if ( o.disablePageZoom ) {
                                                $.mobile.zoom.disable( true );
                                        }
                                        if ( !o.visibleOnPageShow ) {
                                                self.hide( true );
                                        }
-                                       self.setHeaderFooter( event );
-                                       self._setContentMinHeight( event );
+                                       self.setHeaderFooter( thisPage );
+                                       self._setContentMinHeight( thisPage );
                                } )
                                .bind( "webkitAnimationStart animationstart updatelayout", function ( e, data ) {
                                        var thisPage = this;
                                        if ( o.updatePagePadding ) {
                                                self.updatePagePadding(thisPage);
-                                               self.updatePageLayout(data);
+                                               self.updatePageLayout( false, thisPage);
                                        }
                                })
 
                                .bind( "pageshow", function ( event ) {
                                        var thisPage = this;
-                                       self._setContentMinHeight( event );
-                                       self.updatePagePadding(thisPage);
-                                       self._updateHeaderArea();
+                                       self._setContentMinHeight( thisPage );
+                                       self.updatePagePadding( thisPage );
+                                       self._updateHeaderArea( thisPage );
                                        if ( o.updatePagePadding ) {
                                                $( window ).bind( "throttledresize." + self.widgetName, function () {
                                                        self.updatePagePadding(thisPage);
 
-                                                       self.updatePageLayout();
-                                                       self._updateHeaderArea();
-                                                       self._setContentMinHeight( event );
+                                                       self.updatePageLayout( false, thisPage);
+                                                       self._updateHeaderArea( thisPage );
+                                                       self._setContentMinHeight( thisPage );
                                                });
                                        }
                                })
                                        $elCurrentFooter.show();
                                }
                                self.updatePagePadding( thisPage );
-                               self.updatePageLayout( true );
+                               self.updatePageLayout( true, thisPage );
                        });
                },
 
                                });
                },
 
-               _setContentMinHeight : function ( event ) {
-                       var $elPage = $( event.target ),
+               _setContentMinHeight : function ( thisPage ) {
+                       var $elPage = $( thisPage ),
                                $elHeader = $elPage.find( ":jqmData(role='header')" ),
                                $elFooter = $elPage.find( ":jqmData(role='footer')" ),
                                $elContent = $elPage.find( ":jqmData(role='content')" ),
                        $elContent.css( "min-height", resultMinHeight - parseFloat( $elContent.css("padding-top") ) - parseFloat( $elContent.css("padding-bottom") ) + "px" );
                },
 
-               _updateHeaderArea : function () {
-                       var $elPage = $( ".ui-page-active" ),
+               _updateHeaderArea : function ( thisPage ) {
+                       var $elPage = $( thisPage ),
                                $elHeader = $elPage.find( ":jqmData(role='header')" ).length ? $elPage.find( ":jqmData(role='header')") : $elPage.siblings( ":jqmData(role='header')"),
                                headerBtnNum = $elHeader.children("a").length,
                                headerSrcNum = $elHeader.children("img").length;
                },
 
                /* 1. Calculate and update content height   */
-               updatePageLayout: function ( receiveType ) {
+               updatePageLayout: function ( receiveType, thisPage ) {
                        var $elFooter,
-                               $elPage = $( document ).find( ".ui-page-active" ),
+                               $elPage = $( thisPage ),
                                $elHeader = $elPage.find( ":jqmData(role='header')" ),
                                $elContent = $elPage.find( ":jqmData(role='content')" ),
                                resultContentHeight = 0,
                                resultHeaderHeight = 0;
 
                        if ( $elPage.length ) {
-                               $elFooter = $( document ).find( ".ui-page-active" ).find( ":jqmData(role='footer')" );
+                               $elFooter = $elPage.find( ":jqmData(role='footer')" );
                        } else {
                                $elFooter = $( document ).find( ":jqmData(role='footer')" ).eq( 0 );
                        }