gallery: bind create event
[platform/framework/web/web-ui-fw.git] / src / widgets / gallery / js / jquery.mobile.tizen.gallery.js
old mode 100755 (executable)
new mode 100644 (file)
index df47fd6..9015904
                align_type: null,
                direction: 1,
                container: null,
-               loader: [],
 
                _resize: function ( index ) {
                        var img = this.images[index],
                                processing = function () {
                                        self._resize( index );
                                        self._align( index, obj );
+                               },
+                               loading = function () {
+                                       if ( self.images[index] === undefined ) {
+                                               return;
+                                       }
+
+                                       if ( !self.images[index].height() ) {
+                                               setTimeout( loading, 10 );
+                                               return;
+                                       }
+
+                                       processing();
                                };
 
                        if ( !obj ) {
                        if ( index < 0 ) {
                                return;
                        }
+                       if ( !this.images.length ) {
+                               return;
+                       }
                        if ( index >= this.images.length ) {
                                return;
                        }
                        obj.css( "display", "block" );
                        obj.append( this.images[index] );
 
-                       if ( this.images[index].height() ) {
-                               processing();
-                       } else {
-                               this.loader[index] = setInterval( function () {
-                                       if ( !self.images[index].height() ) {
-                                               return;
-                                       }
-
-                                       processing();
-                                       clearInterval( self.loader[index] );
-                               }, 10);
-                       }
+                       loading();
                },
 
                _detach: function ( index, obj ) {
                        obj.css( "display", "none" );
                        this.images[index].removeAttr("style");
                        this.images[index].detach();
-
-                       clearInterval( this.loader[index] );
                },
 
                _detach_all: function () {
                },
 
                show: function () {
+                       if ( !this.images.length ) {
+                               return;
+                       }
+
                        this._show();
                        this._add_event();
                },
        }); /* End of widget */
 
        // auto self-init widgets
-       $( document ).bind( "pagecreate", function ( e ) {
+       $( document ).bind( "pagecreate create", function ( e ) {
                $( e.target ).find( ":jqmData(role='gallery')" ).gallery();
        });
 
-       $( document ).bind( "pagebeforeshow", function ( e ) {
+       $( document ).bind( "pageshow", function ( e ) {
                $( e.target ).find( ":jqmData(role='gallery')" ).gallery( 'show' );
        });