Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/74517


Change subject: Add event binding in initialize for 
PhotoUploaderPageActionButton
......................................................................

Add event binding in initialize for PhotoUploaderPageActionButton

This allows us to reuse it elsewhere easily
e.g. in first time uploader tutorial
Rename to more generic LeadPhotoUploaderButton

Change-Id: I93899aeafd13e3d12cfe594374d443d015715d7d
---
M includes/Resources.php
M javascripts/modules/uploads/PhotoUploader.js
M javascripts/modules/uploads/lead-photo-init.js
3 files changed, 32 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/17/74517/1

diff --git a/includes/Resources.php b/includes/Resources.php
index b7f3fe0..f300dc4 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -402,8 +402,8 @@
                        'javascripts/modules/uploads/NagOverlay.js',
                        'javascripts/modules/uploads/PhotoUploadProgress.js',
                        'javascripts/modules/uploads/PhotoUploaderPreview.js',
-                       'javascripts/modules/uploads/PhotoUploader.js',
                        'javascripts/modules/uploads/LeadPhoto.js',
+                       'javascripts/modules/uploads/PhotoUploader.js',
                        // Language specific code
                        'javascripts/common/languages/LanguageOverlay.js',
                ),
diff --git a/javascripts/modules/uploads/PhotoUploader.js 
b/javascripts/modules/uploads/PhotoUploader.js
index 1c583b4..136fe51 100644
--- a/javascripts/modules/uploads/PhotoUploader.js
+++ b/javascripts/modules/uploads/PhotoUploader.js
@@ -8,7 +8,8 @@
                PhotoUploaderPreview = M.require( 
'modules/uploads/PhotoUploaderPreview' ),
                PhotoUploader,
                PhotoUploaderButton,
-               PhotoUploaderPageActionButton;
+               LeadPhoto = M.require( 'modules/uploads/LeadPhoto' ),
+               LeadPhotoUploaderButton;
 
        function isSupported() {
                // FIXME: create a module for browser detection stuff
@@ -254,15 +255,37 @@
                className: 'button photo'
        } );
 
-       PhotoUploaderPageActionButton = PhotoUploader.extend( {
+       LeadPhotoUploaderButton = PhotoUploader.extend( {
                template: M.template.get( 'photoUploadAction' ),
-               className: 'enabled'
+               className: 'enabled',
+               initialize: function( options ) {
+                       var self = this;
+                       this._super( options );
+                       this.on( 'start', function() {
+                                       self.$el.hide();
+                               } ).
+                               on( 'success', function( data ) {
+                                       popup.show( mw.msg( 
'mobile-frontend-photo-upload-success-article' ), 'toast' );
+                                       // FIXME: workaround for 
https://bugzilla.wikimedia.org/show_bug.cgi?id=43271
+                                       if ( !$( '#content_0' ).length ) {
+                                               $( '<div id="content_0" >' 
).insertAfter( $( '#section_0,#page-actions' ).last() );
+                                       }
+                                       new LeadPhoto( {
+                                               url: data.url,
+                                               pageUrl: data.descriptionUrl,
+                                               caption: data.description
+                                       } ).prependTo( '#content_0' ).animate();
+                               } ).
+                               on( 'error cancel', function() {
+                                       self.$el.show();
+                               } );
+               }
        } );
 
-       PhotoUploaderButton.isSupported = 
PhotoUploaderPageActionButton.isSupported = isSupported();
+       PhotoUploaderButton.isSupported = LeadPhotoUploaderButton.isSupported = 
isSupported();
 
        // FIXME: should we allow more than one define() per file?
        M.define( 'modules/uploads/PhotoUploaderButton', PhotoUploaderButton );
-       M.define( 'modules/uploads/PhotoUploaderPageActionButton', 
PhotoUploaderPageActionButton );
+       M.define( 'modules/uploads/LeadPhotoUploaderButton', 
LeadPhotoUploaderButton );
 
 }( mw.mobileFrontend, jQuery ) );
diff --git a/javascripts/modules/uploads/lead-photo-init.js 
b/javascripts/modules/uploads/lead-photo-init.js
index af078e4..8f5782f 100644
--- a/javascripts/modules/uploads/lead-photo-init.js
+++ b/javascripts/modules/uploads/lead-photo-init.js
@@ -4,7 +4,7 @@
                funnel = $.cookie( 'mwUploadsFunnel' ) || 'article',
                showCta = mw.config.get( 'wgMFEnablePhotoUploadCTA' ) || funnel 
=== 'nearby',
                popup = M.require( 'notifications' ),
-               PhotoUploaderPageActionButton = M.require( 
'modules/uploads/PhotoUploaderPageActionButton' ),
+               LeadPhotoUploaderButton = M.require( 
'modules/uploads/LeadPhotoUploaderButton' ),
                PhotoUploaderButton = M.require( 
'modules/uploads/PhotoUploaderButton' ),
                isSupported = PhotoUploaderButton.isSupported;
 
@@ -57,25 +57,8 @@
                        funnel: funnel
                };
 
-               photoUploader = new PhotoUploaderPageActionButton( 
optionsPhotoUploader );
-               photoUploader.on( 'start', function() {
-                               photoUploader.$el.hide();
-                       } ).
-                       on( 'success', function( data ) {
-                               popup.show( mw.msg( 
'mobile-frontend-photo-upload-success-article' ), 'toast' );
-                               // FIXME: workaround for 
https://bugzilla.wikimedia.org/show_bug.cgi?id=43271
-                               if ( !$( '#content_0' ).length ) {
-                                       $( '<div id="content_0" >' 
).insertAfter( $( '#section_0,#page-actions' ).last() );
-                               }
-                               new LeadPhoto( {
-                                       url: data.url,
-                                       pageUrl: data.descriptionUrl,
-                                       caption: data.description
-                               } ).prependTo( '#content_0' ).animate();
-                       } ).
-                       on( 'error cancel', function() {
-                               photoUploader.$el.show();
-                       } );
+               optionsPhotoUploader.el = '#ca-upload';
+               photoUploader = new LeadPhotoUploaderButton( 
optionsPhotoUploader );
        }
 
        if ( isSupported ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/74517
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I93899aeafd13e3d12cfe594374d443d015715d7d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

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

Reply via email to