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

Revision: 72887
Author:   dale
Date:     2010-09-12 23:32:32 +0000 (Sun, 12 Sep 2010)

Log Message:
-----------
some polish on the page helpers.
Flattened sequence file pages link to sequencer.
Added withJs to 'edit this sequence' link in embed code

Modified Paths:
--------------
    branches/MwEmbedStandAlone/modules/AddMedia/loader.js
    branches/MwEmbedStandAlone/modules/AddMedia/mw.RemoteSearchDriver.js
    
branches/MwEmbedStandAlone/modules/EmbedPlayer/skins/kskin/mw.PlayerSkinKskin.js
    
branches/MwEmbedStandAlone/modules/Sequencer/actions/mw.SequencerActionsSequence.js
    branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
    
branches/MwEmbedStandAlone/modules/Sequencer/remotes/mw.MediaWikiRemoteSequencer.js
    branches/MwEmbedStandAlone/remotes/mediaWiki.js

Modified: branches/MwEmbedStandAlone/modules/AddMedia/loader.js
===================================================================
--- branches/MwEmbedStandAlone/modules/AddMedia/loader.js       2010-09-12 
19:53:45 UTC (rev 72886)
+++ branches/MwEmbedStandAlone/modules/AddMedia/loader.js       2010-09-12 
23:32:32 UTC (rev 72887)
@@ -58,9 +58,9 @@
                                '$j.browserTest', // ( textSelection uses 
browserTest ) 
                                '$j.ui'
                        ], [
-                               '$j.ui.resizable',
+                               '$j.widget',
                                '$j.ui.mouse',
-                               '$j.widget',                            
+                               '$j.ui.resizable',                              
                                '$j.ui.position',
                                '$j.ui.draggable',
                                '$j.ui.dialog',

Modified: branches/MwEmbedStandAlone/modules/AddMedia/mw.RemoteSearchDriver.js
===================================================================
--- branches/MwEmbedStandAlone/modules/AddMedia/mw.RemoteSearchDriver.js        
2010-09-12 19:53:45 UTC (rev 72886)
+++ branches/MwEmbedStandAlone/modules/AddMedia/mw.RemoteSearchDriver.js        
2010-09-12 23:32:32 UTC (rev 72887)
@@ -2713,7 +2713,7 @@
        getTemplateDescription: function( resource ) {
                // setup the resource description from resource description:
                // FIXME: i18n, namespace
-               var description = '{{Information ' + "\n";
+               var description ='{{Information ' + "\n";
 
                if ( resource.desc ) {
                        description += '|Description= ' + resource.desc + "\n";

Modified: 
branches/MwEmbedStandAlone/modules/EmbedPlayer/skins/kskin/mw.PlayerSkinKskin.js
===================================================================
--- 
branches/MwEmbedStandAlone/modules/EmbedPlayer/skins/kskin/mw.PlayerSkinKskin.js
    2010-09-12 19:53:45 UTC (rev 72886)
+++ 
branches/MwEmbedStandAlone/modules/EmbedPlayer/skins/kskin/mw.PlayerSkinKskin.js
    2010-09-12 23:32:32 UTC (rev 72887)
@@ -88,6 +88,9 @@
                                $menuBar = $j( '<ul />' )
                                        .addClass( 'k-menu-bar' );
                                        
+                               // dont include about player menu item ( @@ 
should be moved to a init function )
+                               delete 
ctrlObj.supportedMenuItems['aboutPlayerLibrary'];
+                               
                                // Output menu item containers: 
                                for ( var menuItem in 
ctrlObj.supportedMenuItems ) {
                                        $menuBar.append( 

Modified: 
branches/MwEmbedStandAlone/modules/Sequencer/actions/mw.SequencerActionsSequence.js
===================================================================
--- 
branches/MwEmbedStandAlone/modules/Sequencer/actions/mw.SequencerActionsSequence.js
 2010-09-12 19:53:45 UTC (rev 72886)
+++ 
branches/MwEmbedStandAlone/modules/Sequencer/actions/mw.SequencerActionsSequence.js
 2010-09-12 23:32:32 UTC (rev 72887)
@@ -356,41 +356,46 @@
                }, function(){
                        // this should be depreciated ( hidden interface bug in 
mwEmbed ) 
                        $j('#publishVideoTarget').parent().show();
-                       // Start up the render
-                       var foggRender = 
$j('#publishVideoTarget').firefoggRender({
-                               'statusTarget' : '#firefoggStatusTarget',
-                               'saveToLocalFile' : localFile,
-                               'onProgress' : function( progress ){
-                                       var progressPrecent = ( Math.round( 
progress * 10000 ) / 100 ); 
-                                       $j('#firefoggPercentDone').text( 
-                                                       progressPrecent + 
-                                               '%'
-                                       )
-                                       $j("#firefoggProgressbar").progressbar({
-                                               "value" : Math.round( progress 
* 100 )
-                                       });
-                                       // xxx WTF? no idea why progressbar 
above is not working 
-                                       $j("#firefoggProgressbar 
.ui-progressbar-value").css('width', Math.round( progress * 10000 ) / 100 + 
'%');
-                               },
-                               'doneRenderCallback': function( fogg ){
-                                       if( localFile ){
-                                               $dialog.html( 
gM('mwe-sequencer-save_done') );
-                                       } else {
-                                               _this.uploadRenderedVideo( 
$dialog, fogg );
+                       
+                       // wait 100ms before starting the firefogg render ( 
avoids page lock 
+                       // and ensures we don't get a loading spinner for first 
frame of render) 
+                       setTimeout(function(){
+                               // Start up the render
+                               var foggRender = 
$j('#publishVideoTarget').firefoggRender({
+                                       'statusTarget' : 
'#firefoggStatusTarget',
+                                       'saveToLocalFile' : localFile,
+                                       'onProgress' : function( progress ){
+                                               var progressPrecent = ( 
Math.round( progress * 10000 ) / 100 ); 
+                                               
$j('#firefoggPercentDone').text( 
+                                                               progressPrecent 
+ 
+                                                       '%'
+                                               )
+                                               
$j("#firefoggProgressbar").progressbar({
+                                                       "value" : Math.round( 
progress * 100 )
+                                               });
+                                               // xxx WTF? no idea why 
progressbar above is not working 
+                                               $j("#firefoggProgressbar 
.ui-progressbar-value").css('width', Math.round( progress * 10000 ) / 100 + 
'%');
+                                       },
+                                       'doneRenderCallback': function( fogg ){
+                                               if( localFile ){
+                                                       $dialog.html( 
gM('mwe-sequencer-save_done') );
+                                               } else {
+                                                       
_this.uploadRenderedVideo( $dialog, fogg );
+                                               }
                                        }
+                               });
+                               var buttons = {};
+                               buttons[ gM('mwe-cancel') ] = function(){
+                                       foggRender.stopRender();
+                                       $j( this ).dialog( 'close' );
                                }
-                       });
-                       var buttons = {};
-                       buttons[ gM('mwe-cancel') ] = function(){
-                               foggRender.stopRender();
-                               $j( this ).dialog( 'close' );
-                       }
-                       // Add cancel button 
-                       $dialog.dialog( "option", "buttons", buttons ); 
-                       if( !foggRender.doRender() ){
-                               // do render returns false on firefox gui 
cancel close the dialog:
-                               $dialog.dialog("close");
-                       }
+                               // Add cancel button 
+                               $dialog.dialog( "option", "buttons", buttons ); 
+                               if( !foggRender.doRender() ){
+                                       // do render returns false on firefox 
gui cancel close the dialog:
+                                       $dialog.dialog("close");
+                               }
+                       }, 100);
                });             
        },
        

Modified: branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
===================================================================
--- branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js  
2010-09-12 19:53:45 UTC (rev 72886)
+++ branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js  
2010-09-12 23:32:32 UTC (rev 72887)
@@ -118,7 +118,7 @@
                wrapSequencerWikiText : function( xmlString ){
                        var _this = this;
                        if( !_this.currentSequencePage.pageStart ){
-                                _this.currentSequencePage.pageStart ="\nTo 
edit this sequence " + 
+                                _this.currentSequencePage.pageStart ="\nTo 
edit or view this sequence " + 
                                        
'[{{fullurl:{{FULLPAGENAME}}|withJS=MediaWiki:MwEmbed.js}} enable the 
sequencer] for this page'; 
                        }
                        return _this.currentSequencePage.pageStart + 
@@ -313,7 +313,12 @@
                getCommonsDescriptionText: function(){
                        var _this = this;
                        
-                       var descText ="{{Information\n" +  
+                       var descText = '<!-- ' +  
+                       "Note: this is an automated file description for a 
published video sequence. \n"
+                       "Changes to this wikitext will be overwiten. Please add 
metadata and categories to\n" + 
+                        _this.getTitleKey() + " instead --> \n";
+                               
+                       descText += "{{Information\n" +  
                                "|Description=" + 
_this.getBaseFileDescription() + "\n" + 
                                "|Source= Sequence Sources assets include:\n";
                        
@@ -335,10 +340,11 @@
                                                pad2(dt.getMonth()+1) + '-' + 
                                                pad2(dt.getDate()) + "\n" +
                                "|Author=Last edit by [[User:" + 
_this.getUserName() + "]]\n" +  
-                               "|Permission= {{Cc-by-nc-sa-2.0-dual}}" + "\n" 
+                                
+                               "For full editor list see history page of [[" + 
_this.getTitleKey() + "]] \n" +
+                               "|Permission={{Cc-by-sa-3.0}} and 
{{GFDL|migration=redundant}}" + "\n" +                                
                                "}}";
                        
-                       // Add Published Sequence category ( for now )
+                       // Add Published Sequence category ( for now ) 
                        descText += "\n[[Category:Published Sequence]]\n";
                        return descText;
                },

Modified: 
branches/MwEmbedStandAlone/modules/Sequencer/remotes/mw.MediaWikiRemoteSequencer.js
===================================================================
--- 
branches/MwEmbedStandAlone/modules/Sequencer/remotes/mw.MediaWikiRemoteSequencer.js
 2010-09-12 19:53:45 UTC (rev 72886)
+++ 
branches/MwEmbedStandAlone/modules/Sequencer/remotes/mw.MediaWikiRemoteSequencer.js
 2010-09-12 23:32:32 UTC (rev 72887)
@@ -37,7 +37,7 @@
  *        
  *  @param {String} url The url to be wrapped  
  */
-mw.getRemoteSequencerLink = function( url ){
+mw.getRemoteSequencerLink = function( url ){   
        if( mw.getConfig( 'Sequencer.WithJsMwEmbedUrlHelper' ) ){
                if( url.indexOf('?') == -1){
                        url+='?'
@@ -90,7 +90,7 @@
        || embedPlayer.instanceOf.toLowerCase() == 'smil'
        || embedPlayer.getHeight() < 180 
        || embedPlayer.getWidth() < 240
-       // For now require that the video is a flat sequence special key: 
Sequence-
+       // Require that the video is a flat sequence special key: Sequence-
        || embedPlayer.apiTitleKey.indexOf('Sequence-') != 0
        ){              
                return ;
@@ -200,9 +200,12 @@
        * @param {Object} options RemoteMwSequencer options
        */
        init: function( options ) {
-               this.action = ( options.action )? options.action : this.action;
-               this.title = ( options.title )? options.title : this.title;
-               this.target = ( options.target )? options.target : this.target;
+               if( ! options.action || ! options.titleKey || ! options.target){
+                       mw.log("Error sequence remote missing action, title or 
target");
+               }
+               this.action =  options.action;
+               this.titleKey = options.titleKey;
+               this.target =  options.target;
        },      
        
        drawUI: function() {
@@ -251,6 +254,17 @@
                }
        },      
        
+       showViewFlattenedFile: function(){
+               var _this = this;
+               //just update the edit button: 
+               $j('#ca-edit a')
+               .html( $j('<span />').text( gM('mwe-sequencer-edit-sequence' ) 
) )
+               .click(function(){
+                       _this.showEditor();
+                       return false;
+               })              
+       },
+       
        showEditUI: function(){
                var _this = this;
                $j('#bodyContent').prepend(
@@ -444,7 +458,7 @@
 
                return '[[' + this.getSequenceFileKey() + 
"|thumb|400px|right|\n\n" + 
                 "Sequence " + this.getTitle() + " \n\n" +
-                "<br/>Edit this sequence with the [" +
+                "&lt;br&gt;Edit this sequence with the [" +
                 mw.getRemoteSequencerLink ( editLink ) +
                 ' kaltura editor] ]]';         
        },      
@@ -491,7 +505,7 @@
                        server: {
                                'type' : 'mediaWiki',
                                'url' : _this.getApiUrl(),
-                               'titleKey' : wgPageName,
+                               'titleKey' : _this.titleKey,
                                'pagePathUrl' : wgServer + wgArticlePath,
                                'userName' : wgUserName
                        },                      

Modified: branches/MwEmbedStandAlone/remotes/mediaWiki.js
===================================================================
--- branches/MwEmbedStandAlone/remotes/mediaWiki.js     2010-09-12 19:53:45 UTC 
(rev 72886)
+++ branches/MwEmbedStandAlone/remotes/mediaWiki.js     2010-09-12 23:32:32 UTC 
(rev 72887)
@@ -72,11 +72,13 @@
 * Wikimedia specific config 
 ********************************/
 mw.setConfig( 'Sequencer.KalturaPlayerEditOverlay', true );
+mw.setConfig( 'Sequencer.WithJsMwEmbedUrlHelper', true );
 mw.setConfig( 'EmbedPlayer.KalturaAttribution', true );        
 mw.setConfig( 'SwarmTransport.Enable', true );
 mw.setConfig( 'SmilPlayer.AssetDomainWhiteList', ['upload.wikimedia.org'] );
 
 
+
 // Use wikibits onLoad hook: ( since we don't have js2 / mw object loaded ) 
 addOnloadHook( function() {
        doPageSpecificRewrite();
@@ -135,8 +137,8 @@
                        } );
                        return ;
                }
-       }
-
+       }       
+       
        // Remote Sequencer
        if( wgPageName.indexOf( "Sequence:" ) === 0 ){                  
                //console.log( 'spl: ' + typeof mwSetPageToLoading );
@@ -226,14 +228,25 @@
        if ( vidIdList.length > 0 ) {
                // Reverse order the array so videos at the "top" get swapped 
first:
                vidIdList = vidIdList.reverse();
-               mwLoadPlayer( function(){
-                       //Load the "EmbedPlayer" module: 
-                       // All the actual code was requested in our single 
script-loader call 
-                       //  but the "load" request applies the setup.
-                       mw.load( 'EmbedPlayer', function() {                    
        
-                               // Do utility rewrite of OggHandler content:
-                               rewrite_for_OggHandler( vidIdList );
-                       } );
+               mwLoadPlayer( function(){                       
+                       
+                       // Check for flat file page: 
+                       var flatFilePretext = "File:Sequence-";
+                       if( wgPageName.indexOf(flatFilePretext ) === 0 
+                                       && 
+                               wgPageName.indexOf('.ogv') !== -1 ) 
+                       {
+                               var sequenceTitle = 'Sequence:' + 
wgPageName.substring( flatFilePretext.length, wgPageName.length - 4 );          
              
+                               window.mwSequencerRemote = new 
mw.MediaWikiRemoteSequencer({
+                                       'action': wgAction,
+                                       'titleKey' : sequenceTitle,
+                                       'target' : '#bodyContent'
+                               });
+                               window.mwSequencerRemote.showViewFlattenedFile()
+                       }
+                       
+                       // Do utility rewrite of OggHandler content:
+                       rewrite_for_OggHandler( vidIdList );
                } );    
                return ;
        }



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to