http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73648
Revision: 73648
Author: dale
Date: 2010-09-23 23:44:34 +0000 (Thu, 23 Sep 2010)
Log Message:
-----------
fixes to adding timed text interface
Modified Paths:
--------------
branches/MwEmbedStandAlone/libraries/jquery/plugins/jquery.menu/jquery.menu.js
branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
branches/MwEmbedStandAlone/modules/SwarmTransport/mw.SwarmTransport.js
branches/MwEmbedStandAlone/modules/TimedText/mw.TimedTextEdit.js
Modified:
branches/MwEmbedStandAlone/libraries/jquery/plugins/jquery.menu/jquery.menu.js
===================================================================
---
branches/MwEmbedStandAlone/libraries/jquery/plugins/jquery.menu/jquery.menu.js
2010-09-23 22:25:22 UTC (rev 73647)
+++
branches/MwEmbedStandAlone/libraries/jquery/plugins/jquery.menu/jquery.menu.js
2010-09-23 23:44:34 UTC (rev 73648)
@@ -166,8 +166,12 @@
if (options.flyOutOnState) { container.find('li
a').removeClass(options.flyOutOnState); };
if (options.callerOnState) {
caller.removeClass(options.callerOnState); };
if (container.is('.fg-menu-ipod')) { menu.resetDrilldownMenu();
};
- if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu();
};
- container.parent().hide();
+ if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu();
};
+ if( ! options.keepPosition ){
+ container.parent().hide();
+ } else {
+ container.hide();
+ }
menu.menuOpen = false;
$(document).unbind('click', killAllMenus);
$(document).unbind('keydown');
@@ -283,14 +287,18 @@
this.create = function() {
mw.log( "jquery.menu.create ");
+
container.css({
'width' : options.width
})
- .appendTo('body')
.find( 'ul:first' )
.not( '.fg-menu-breadcrumb' )
.addClass('fg-menu');
+ if(!options.keepPosition){
+ container.appendTo('body')
+ }
+
container.find('ul, li a').addClass('ui-corner-all');
@@ -345,8 +353,9 @@
function() {
$(this).removeClass(options.linkHoverSecondary); }
);
};
-
- menu.setPosition(container, caller, options);
+ if( !options.keepPosition ){
+ menu.setPosition(container, caller, options);
+ }
menu.menuExists = true;
if( typeof options.createMenuCallback == 'function' ){
Modified: branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
===================================================================
--- branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
2010-09-23 22:25:22 UTC (rev 73647)
+++ branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js
2010-09-23 23:44:34 UTC (rev 73648)
@@ -73,7 +73,7 @@
}
if( this.isConfigured() ){
- mw.log("Error: Sequencer server needs a full
serverConfig to be initialized")
+ mw.log("Error: Sequencer server needs a full
serverConfig to be initialized");
return false;
}
},
@@ -107,7 +107,7 @@
var _this = this;
mw.getTitleText( this.getApiUrl(), this.getTitleKey(),
function( smilPage ){
// Check for remote payload wrapper
- // XXX need to support multipe pages in single
context
+ // XXX need to support multiple pages in single
context
_this.currentSequencePage =
_this.parseSequencerPage( smilPage );
// Cache the latest serverSmil ( for local
change checks )
// ( save requests automatically respond with
warnings on other user updates )
@@ -164,7 +164,7 @@
'pageEnd' : $j.trim(
pageText.substring(
pageText.indexOf(endKey) + endKey.length )
)
- }
+ };
},
@@ -185,7 +185,7 @@
},
// Check if the sequence was saved in this edit session
hasSequenceBeenSavedOrPublished: function(){
- return this.sequenceSaved || this.sequencePublished
+ return ( this.sequenceSaved || this.sequencePublished );
},
// Get a save token, if unable to do so return false
getSaveToken: function( callback ){
@@ -196,7 +196,7 @@
}
mw.getToken( this.getApiUrl(), this.getTitleKey(),
function( saveToken ){
_this.saveToken = saveToken;
- callback ( _this.saveToken )
+ callback ( _this.saveToken );
});
},
Modified: branches/MwEmbedStandAlone/modules/SwarmTransport/mw.SwarmTransport.js
===================================================================
--- branches/MwEmbedStandAlone/modules/SwarmTransport/mw.SwarmTransport.js
2010-09-23 22:25:22 UTC (rev 73647)
+++ branches/MwEmbedStandAlone/modules/SwarmTransport/mw.SwarmTransport.js
2010-09-23 23:44:34 UTC (rev 73648)
@@ -23,15 +23,14 @@
// Add the swarm source
mw.log(" SwarmTransport ::
checkPlayerSourcesEvent " + swapedPlayerId);
_this.addSwarmSource( embedPlayer,
callback );
- } else {
- // No swarm support just directly issue
the callback
- callback();
- }
+ }
+ // Don't block on swarm request, directly do
the callback
+ callback();
} );
// Check if we have a "recommend" binding and provide
an xpi install link
mw.log('SwarmTransport::bind:addControlBindingsEvent');
- $j( embedPlayer ).bind( 'addControlBindingsEvent',
function(){
+ $j( embedPlayer ).bind( 'addControlBindingsEvent',
function(){
if( mw.getConfig( 'SwarmTransport.Recommend' )
&&
typeof window['swarmTransport'] ==
'undefined' &&
$j.browser.mozilla )
@@ -87,14 +86,14 @@
callback();
return ;
}
- mw.log( 'SwarmTransport: addSwarmSource for: '
+ source.getSrc() + "\n\nGot:" + data.torrent );
+ mw.log( 'SwarmTransport: addSwarmSource for: '
+ source.getSrc() + "\n\nGot:" + data.torrent );
+ // XXX need to update prefrence
embedPlayer.mediaElement.tryAddSource(
$j('<source />')
.attr( {
'type' : 'video/swarmTransport',
'title':
gM('mwe-swarmtransport-stream-ogg'),
- 'src': 'tribe://' +
data.torrent,
- 'default' : true // Mark as
default source
+ 'src': 'tribe://' +
data.torrent
} )
.get( 0 )
);
Modified: branches/MwEmbedStandAlone/modules/TimedText/mw.TimedTextEdit.js
===================================================================
--- branches/MwEmbedStandAlone/modules/TimedText/mw.TimedTextEdit.js
2010-09-23 22:25:22 UTC (rev 73647)
+++ branches/MwEmbedStandAlone/modules/TimedText/mw.TimedTextEdit.js
2010-09-23 23:44:34 UTC (rev 73648)
@@ -185,7 +185,7 @@
$j('#timed-text-file-preview')
.css({
'width':'100%',
- 'height': ( $target.find( '.rightcolumn' ).height() -
$j('#timed-text-rightcolum-desc').height() ) + 'px'
+ 'height': '300px'
});
// Add Select file:
@@ -215,9 +215,9 @@
} )
.change(function() {
var langKey = $j(this).val();
- if( mw.languages[ langKey ] ) {
+ if( mw.Language.names[ langKey ] ) {
$buttonTarget.find('.btnText').text(
- unescape( mw.languages[ langKey
] )
+ unescape( mw.Language.names[
langKey ] )
);
}
}),
@@ -233,6 +233,7 @@
var $buttonTarget = $target.find('.language-select-btn');
+
// Add menu container:
var loc = $buttonTarget.position();
$target.append(
@@ -241,10 +242,8 @@
.attr( 'id', 'upload-language-select' )
.loadingSpinner()
.css( {
- 'position' : 'absolute',
- 'z-index' : 10,
- 'top' : ( loc.top + 40 ) + 'px',
- 'left' : parseInt( loc.left ) + 'px',
+ 'position' : 'relative',
+ 'z-index' : 10,
'height' : '180px',
'width' : '180px',
'overflow' : 'auto',
@@ -254,11 +253,16 @@
.hide()
);
// Add menu binding to button target
- $buttonTarget.menu( {
- 'content' : _this.getLanguageList(),
- 'backLinkText' : gM( 'mwe-timedtext-back-btn' ),
- 'targetMenuContainer': '#upload-language-select'
- } );
+ setTimeout(function(){
+ $buttonTarget.menu( {
+ 'content' : _this.getLanguageList(),
+ 'backLinkText' : gM( 'mwe-timedtext-back-btn' ),
+ 'targetMenuContainer':
'#upload-language-select',
+ 'keepPosition' : true
+ } );
+ // force the layout ( menu binding does strange things
)
+ $j('#upload-language-select').css( {'left': '315px',
'top' : '87px', 'position' : 'absolute'});
+ },10);
//Add upload input bindings:
@@ -279,9 +283,9 @@
var langKey = $j(this).val().split( '.' );
var extension = langKey.pop();
langKey = langKey.pop();
- if( mw.languages[ langKey ] ) {
+ if( mw.Language.names[ langKey ] ) {
$buttonTarget.find('.btnText').text(
- unescape( mw.languages[ langKey
] )
+ unescape( mw.Language.names[
langKey ] )
);
// Update the key code
$j('#timed-text-langKey-input').val(
langKey );
@@ -338,22 +342,29 @@
buttons[
gM("mwe-timedtext-upload-text-another")] = function() {
// just close the current
dialog:
$j( this ).dialog('close');
- }
+ };
buttons[ gM(
"mwe-timedtext-upload-text-done-uploading" ) ] = function() {
window.location.reload();
- }
+ };
//Edit success
- mw.addDialog( {
- 'title' : gM(
"mwe-timedtext-upload-text-done"),
- 'content' :
gM("mwe-timedtext-upload-text-success"),
- 'buttons' : buttons
- })
+ setTimeout(function(){
+ mw.addDialog( {
+ 'width' : '400px',
+ 'title' : gM(
"mwe-timedtext-upload-text-done"),
+ 'content' :
gM("mwe-timedtext-upload-text-success"),
+ 'buttons' : buttons
+ });
+ },10 );
}else{
- mw.addDialog({
- 'title' : gM(
"mwe-timedtext-upload-text-fail-title"),
- 'content' :gM(
"mwe-timedtext-upload-text-fail-desc"),
- 'buttons' : gM( 'mwe-ok' )
- })
+ //Edit fail
+ setTimeout(function(){
+ mw.addDialog({
+ 'width' : '400px',
+ 'title' : gM(
"mwe-timedtext-upload-text-fail-title"),
+ 'content' :gM(
"mwe-timedtext-upload-text-fail-desc"),
+ 'buttons' : gM(
'mwe-ok' )
+ });
+ },10 );
}
});
})
@@ -374,8 +385,8 @@
var _this = this;
var $langMenu = $j( '<ul>' );
// Loop through all supported languages:
- for ( var langKey in mw.languages ) {
- var language = mw.languages [ langKey ];
+ for ( var langKey in mw.Language.names ) {
+ var language = mw.Language.names [ langKey ];
var source_icon = 'radio-on';
//check if the key is in the _this.parentTimedText
source array
for( var i in _this.parentTimedText.textSources ) {
@@ -393,15 +404,16 @@
},
getLangMenuItem: function( langKey , source_icon) {
return $j.getLineItem(
- langKey + ' - ' + unescape( mw.languages[ langKey ] ),
+ langKey + ' - ' + unescape( mw.Language.names[ langKey
] ),
source_icon,
- function() {
+ function() {
mw.log( "Selected: " + langKey );
// Update the input box text
$j('#timed-text-langKey-input').val( langKey );
- // Update the menu item:
- $j( '#language-select' ).val( unescape(
mw.languages[ langKey ] ) )
- } );
+ // Update the menu item:
+ $j('#language-select').find('.btnText').text(
unescape( mw.Language.names[ langKey ] ) )
+ }
+ );
},
/**
* Creates the interface dialog container
@@ -430,18 +442,23 @@
$j( _this.target_container ).dialog( {
bgiframe: true,
autoOpen: true,
+ width: $j(window).width()-50,
+ height: $j(window).height()-50,
+ position : 'center',
modal: true,
draggable: false,
resizable: false,
buttons: cancelButton,
close: function() {
- // if we are 'editing' we should confirm they
want to exist:
+ // @@TODO if we are 'editing' we should confirm
they want to exist:
$j( this ).parents( '.ui-dialog' ).fadeOut(
'slow' );
}
} );
+ // set a non-blocking fit window request
+ setTimeout(function(){
+ $j( _this.target_container ).dialogFitWindow();
+ },10);
- $j( _this.target_container ).dialogFitWindow();
-
// Add the window resize hook to keep dialog layout
$j( window ).resize( function() {
$j( _this.target_container ).dialogFitWindow();
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs