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 [" + + "<br>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