http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89962

Revision: 89962
Author:   neilk
Date:     2011-06-13 14:15:45 +0000 (Mon, 13 Jun 2011)
Log Message:
-----------
delay lightBox behaviour until thumbnails are known to be ready

Modified Paths:
--------------
    trunk/extensions/UploadWizard/resources/mw.UploadWizard.js
    trunk/extensions/UploadWizard/resources/mw.UploadWizardDetails.js
    trunk/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js
    trunk/extensions/UploadWizard/resources/mw.fileApi.js

Modified: trunk/extensions/UploadWizard/resources/mw.UploadWizard.js
===================================================================
--- trunk/extensions/UploadWizard/resources/mw.UploadWizard.js  2011-06-13 
13:50:32 UTC (rev 89961)
+++ trunk/extensions/UploadWizard/resources/mw.UploadWizard.js  2011-06-13 
14:15:45 UTC (rev 89962)
@@ -573,8 +573,9 @@
         * @param selector
         * @param width  Width constraint
         * @param height Height constraint (optional)
+        * @param boolean add lightbox large preview when ready
         */
-       setThumbnail: function( selector, width, height ) {
+       setThumbnail: function( selector, width, height, isLightBox ) {
                var _this = this;
                if ( typeof width === 'undefined' || width === null || width <= 
0 )  {
                        width = mw.UploadWizard.config['thumbnailWidth'];
@@ -625,7 +626,7 @@
                                                                'margin-top': ( 
parseInt( ( height - image.height * scaling ) / 2, 10 ) ).toString() + 'px' 
                                                        } )
                                                ) 
-                               ); 
+                               );
                        placed = true;
                };
 
@@ -635,6 +636,9 @@
                $.subscribeReady( 
                        'thumbnails.' + _this.index,
                        function ( x ) {
+                               if ( isLightBox ) {
+                                       _this.setLightBox( selector );
+                               } 
                                if ( !placed ) { 
                                        if ( x === 'api' ) {
                                                // get the thumbnail via API. 
This also works with an async pub/sub model; if this thumbnail was already
@@ -680,7 +684,8 @@
                                _this.setThumbnail( 
                                        $imgDiv, 
                                        mw.UploadWizard.config[ 
'largeThumbnailWidth' ],
-                                       mw.UploadWizard.config[ 
'largeThumbnailMaxHeight' ]
+                                       mw.UploadWizard.config[ 
'largeThumbnailMaxHeight' ],
+                                       false /* obviously the largeThumbnail 
doesn't have a lightbox itself! */
                                );
                                return false;
                        } ); // close thumbnail click function
@@ -1503,7 +1508,12 @@
                                .html( $j( '<a/>' ).html( 
upload.title.getMainText() ) );
                        var $thumbnailWrapDiv = $j( '<div></div>' ).addClass( 
'mwe-upwiz-thumbnail-side' );
                        $thumbnailWrapDiv.append( $thumbnailDiv, 
$thumbnailCaption );
-                       upload.setThumbnail( $thumbnailDiv, 
mw.UploadWizard.config[ 'thumbnailWidth' ], mw.UploadWizard.config[ 
'thumbnailMaxHeight' ] );
+                       upload.setThumbnail( 
+                               $thumbnailDiv, 
+                               mw.UploadWizard.config[ 'thumbnailWidth' ], 
+                               mw.UploadWizard.config[ 'thumbnailMaxHeight' ],
+                               false
+                       );
 
                        // Set the thumbnail links so that they point to the 
image description page
                        $thumbnailWrapDiv.find( 'a' ).attr( {
@@ -1616,8 +1626,12 @@
                // add a preview on the deeds page
                var thumbnailDiv = $j( '<div></div>' ).addClass( 
'mwe-upwiz-thumbnail' );
                $j( '#mwe-upwiz-deeds-thumbnails' ).append( thumbnailDiv );
-               _this.upload.setThumbnail( thumbnailDiv, 
mw.UploadWizard.config[  'thumbnailWidth'  ], mw.UploadWizard.config[ 
'thumbnailMaxHeight' ] );
-               _this.upload.setLightBox( thumbnailDiv );
+               _this.upload.setThumbnail( 
+                       thumbnailDiv, 
+                       mw.UploadWizard.config['thumbnailWidth'], 
+                       mw.UploadWizard.config['thumbnailMaxHeight'],
+                       true
+               );
        }
 };
 

Modified: trunk/extensions/UploadWizard/resources/mw.UploadWizardDetails.js
===================================================================
--- trunk/extensions/UploadWizard/resources/mw.UploadWizardDetails.js   
2011-06-13 13:50:32 UTC (rev 89961)
+++ trunk/extensions/UploadWizard/resources/mw.UploadWizardDetails.js   
2011-06-13 14:15:45 UTC (rev 89962)
@@ -452,8 +452,12 @@
         */
        populate: function() {
                var _this = this;
-               _this.upload.setThumbnail( _this.thumbnailDiv, 
mw.UploadWizard.config['thumbnailWidth'], 
mw.UploadWizard.config['thumbnailMaxHeight'] );
-               _this.upload.setLightBox( _this.thumbnailDiv );
+               _this.upload.setThumbnail( 
+                       _this.thumbnailDiv, 
+                       mw.UploadWizard.config['thumbnailWidth'], 
+                       mw.UploadWizard.config['thumbnailMaxHeight'],
+                       true
+                );
                _this.prefillDate();
                _this.prefillSource();
                _this.prefillAuthor(); 

Modified: 
trunk/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js
===================================================================
--- trunk/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js   
2011-06-13 13:50:32 UTC (rev 89961)
+++ trunk/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js   
2011-06-13 14:15:45 UTC (rev 89962)
@@ -93,9 +93,9 @@
        _this.upload.setThumbnail( 
                $preview, 
                mw.UploadWizard.config[ 'thumbnailWidth' ],
-               mw.UploadWizard.config[ 'thumbnailMaxHeight' ]
+               mw.UploadWizard.config[ 'thumbnailMaxHeight' ],
+               true
        );
-       _this.upload.setLightBox( $preview );
 
 };
 

Modified: trunk/extensions/UploadWizard/resources/mw.fileApi.js
===================================================================
--- trunk/extensions/UploadWizard/resources/mw.fileApi.js       2011-06-13 
13:50:32 UTC (rev 89961)
+++ trunk/extensions/UploadWizard/resources/mw.fileApi.js       2011-06-13 
14:15:45 UTC (rev 89962)
@@ -21,7 +21,7 @@
                 * @return boolean
                 */
                isPreviewableFile: function( file ) {
-                       var     known = [ 'image/png', 'image/gif', 
'image/jpeg', 'image/svg+xml'],
+                       var     known = [ /* 'image/png' */, 'image/gif', 
'image/jpeg', 'image/svg+xml'],
                                tooHuge = 10 * 1024 * 1024;
                        return ( $.inArray( file.type, known ) !== -1 ) && 
file.size > 0 && file.size < tooHuge;
                }


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to