http://www.mediawiki.org/wiki/Special:Code/MediaWiki/56204
Revision: 56204
Author: catrope
Date: 2009-09-11 18:52:00 +0000 (Fri, 11 Sep 2009)
Log Message:
-----------
Bump style versions, recombine JS&CSS for my recent commit spree
Modified Paths:
--------------
trunk/extensions/UsabilityInitiative/EditToolbar/EditToolbar.php
trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
trunk/extensions/UsabilityInitiative/css/combined.css
trunk/extensions/UsabilityInitiative/css/combined.min.css
trunk/extensions/UsabilityInitiative/js/plugins.combined.js
trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js
Modified: trunk/extensions/UsabilityInitiative/EditToolbar/EditToolbar.php
===================================================================
--- trunk/extensions/UsabilityInitiative/EditToolbar/EditToolbar.php
2009-09-11 18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/EditToolbar/EditToolbar.php
2009-09-11 18:52:00 UTC (rev 56204)
@@ -19,7 +19,7 @@
/* Configuration */
// Bump the version number every time you change any of the .css/.js files
-$wgEditToolbarStyleVersion = 28;
+$wgEditToolbarStyleVersion = 29;
// Set this to true to simply override the stock toolbar for everyone
$wgEditToolbarGlobalEnable = false;
Modified: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
===================================================================
--- trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
2009-09-11 18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
2009-09-11 18:52:00 UTC (rev 56204)
@@ -21,16 +21,16 @@
array( 'src' => 'css/suggestions.css',
'version' => 5 ),
array( 'src' => 'css/wikiEditor.css', 'version'
=> 4 ),
array( 'src' => 'css/wikiEditor.toolbar.css',
'version' => 5 ),
- array( 'src' => 'css/wikiEditor.dialogs.css',
'version' => 1 ),
+ array( 'src' => 'css/wikiEditor.dialogs.css',
'version' => 2 ),
array( 'src' => 'css/wikiEditor.toc.css',
'version' => 5 ),
array( 'src' =>
'css/vector/jquery-ui-1.7.2.css', 'version' => '1.7.2' ),
),
'combined' => array(
- array( 'src' => 'css/combined.css', 'version'
=> 7 ),
+ array( 'src' => 'css/combined.css', 'version'
=> 8 ),
array( 'src' =>
'css/vector/jquery-ui-1.7.2.css', 'version' => '1.7.2' ),
),
'minified' => array(
- array( 'src' => 'css/combined.min.css',
'version' => 7 ),
+ array( 'src' => 'css/combined.min.css',
'version' => 8 ),
array( 'src' =>
'css/vector/jquery-ui-1.7.2.css', 'version' => '1.7.2' ),
),
)
@@ -61,18 +61,18 @@
array( 'src' => 'js/plugins/jquery.cookie.js',
'version' => 3 ),
array( 'src' =>
'js/plugins/jquery.namespaceSelect.js', 'version' => 0 ),
array( 'src' =>
'js/plugins/jquery.suggestions.js', 'version' => 2 ),
- array( 'src' =>
'js/plugins/jquery.textSelection.js', 'version' => 9 ),
+ array( 'src' =>
'js/plugins/jquery.textSelection.js', 'version' => 10 ),
array( 'src' =>
'js/plugins/jquery.wikiEditor.js', 'version' => 4 ),
array( 'src' =>
'js/plugins/jquery.wikiEditor.toolbar.js', 'version' => 11 ),
- array( 'src' =>
'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 1 ),
- array( 'src' =>
'js/plugins/jquery.wikiEditor.toc.js', 'version' => 6 ),
+ array( 'src' =>
'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 2 ),
+ array( 'src' =>
'js/plugins/jquery.wikiEditor.toc.js', 'version' => 7 ),
array( 'src' => 'js/js2/jquery-ui-1.7.2.js',
'version' => '1.7.2x' ),
),
'combined' => array(
- array( 'src' => 'js/plugins.combined.js',
'version' => 17 ),
+ array( 'src' => 'js/plugins.combined.js',
'version' => 18 ),
),
'minified' => array(
- array( 'src' => 'js/plugins.combined.min.js',
'version' => 17 ),
+ array( 'src' => 'js/plugins.combined.min.js',
'version' => 18 ),
),
),
);
Modified: trunk/extensions/UsabilityInitiative/css/combined.css
===================================================================
--- trunk/extensions/UsabilityInitiative/css/combined.css 2009-09-11
18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/css/combined.css 2009-09-11
18:52:00 UTC (rev 56204)
@@ -92,7 +92,7 @@
}
/* Put suggestions (default z-index 99) on top of dialogs (z-index 1002) */
-div.os-suggest {
+div.suggestions {
z-index: 1099;
}
/* wikiEditor toc module */
Modified: trunk/extensions/UsabilityInitiative/css/combined.min.css
===================================================================
--- trunk/extensions/UsabilityInitiative/css/combined.min.css 2009-09-11
18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/css/combined.min.css 2009-09-11
18:52:00 UTC (rev 56204)
@@ -83,7 +83,7 @@
.ui-widget table td{
padding:0.5em;
}
-div.os-suggest{
+div.suggestions{
z-index:1099;
}
.wikiEditor-ui-text{
Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.js
===================================================================
--- trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-09-11
18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-09-11
18:52:00 UTC (rev 56204)
@@ -845,6 +845,21 @@
}
return getCaret( this.get( 0 ) );
},
+setSelection: function( start, end ) {
+ return this.each( function() {
+ if ( this.selectionStart || this.selectionStart == '0' ) {
+ this.selectionStart = start;
+ this.selectionEnd = end;
+ } else if ( document.body.createTextRange ) {
+ var selection = document.body.createTextRange;
+ selection.setToElementText( this );
+ var length = selection.text.length;
+ selection.moveStart( 'character', start );
+ selection.moveEnd( 'character', -length + end );
+ selection.select();
+ }
+ });
+},
/**
* Ported from Wikia's LinkSuggest extension
* https://svn.wikia-code.com/wikia/trunk/extensions/wikia/LinkSuggest
@@ -1162,9 +1177,51 @@
.data( 'context', context )
.appendTo( $( 'body' ) )
.each( module.init )
- .dialog( configuration );
+ .dialog( configuration )
+ .bind( 'dialogopen',
$.wikiEditor.modules.dialogs.fn.resize )
+ .find( '.ui-tabs' ).bind( 'tabsshow',
function() {
+ $(this).closest(
'.ui-dialog-content' ).each(
+
$.wikiEditor.modules.dialogs.fn.resize );
+ });
}
}
+ },
+
+ /**
+ * Resize a dialog so its contents fit
+ *
+ * Usage: dialog.each( resize ); or dialog.bind( 'blah', resize );
+ */
+ resize: function() {
+ var wrapper = $(this).closest( '.ui-dialog' );
+ // Make sure elements don't wrapped so we get an accurate idea
+ // of whether they really fit. Also temporarily show hidden
+ // elements.
+
+ // Work around jQuery bug where <div style="display:inline;" />
+ // inside a dialog is both :visible and :hidden
+ var oldHidden = $(this).find( '*' ).not( ':visible' );
+
+ // Save the style attributes of the hidden elements to restore
+ // them later. Calling hide() after show() messes up for
+ // elements hidden with a class
+ oldHidden.each( function() {
+ $(this).data( 'oldstyle', $(this).attr( 'style' ) );
+ });
+ oldHidden.show();
+ var oldWS = $(this).css( 'white-space' );
+ $(this).css( 'white-space', 'nowrap' );
+
+ if ( wrapper.width() <= $(this).get(0).scrollWidth ) {
+ $(this).width( $(this).get(0).scrollWidth );
+ wrapper.width( wrapper.get(0).scrollWidth );
+ $(this).dialog( { 'width': wrapper.width() } );
+ }
+
+ $(this).css( 'white-space', oldWS );
+ oldHidden.each( function() {
+ $(this).attr( 'style', $(this).data( 'oldstyle' ) );
+ });
}
},
'modules': {}
@@ -1792,7 +1849,7 @@
} );
}
)
- .bind( 'mouseup scrollToPosition',
+ .bind( 'mouseup scrollToPosition focus',
function( event ) {
var context = $(this).data( 'context' );
$(this).eachAsync( {
@@ -1802,15 +1859,22 @@
}
} );
}
- );
+ )
+ .blur( function() {
+ $.wikiEditor.modules.toc.fn.unhighlight(
context );
+ });
},
+
+ unhighlight: function( context ) {
+ context.modules.$toc.find( 'a' ).removeClass(
'currentSelection' );
+ },
/**
* Highlight the section the cursor is currently within
*
* @param {Object} context
*/
update: function( context ) {
- context.modules.$toc.find( 'a' ).removeClass(
'currentSelection' );
+ $.wikiEditor.modules.toc.fn.unhighlight( context );
var position = context.$textarea.getCaretPosition();
var section = 0;
if ( context.data.outline.length > 0 ) {
Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js
===================================================================
--- trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js
2009-09-11 18:40:29 UTC (rev 56203)
+++ trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js
2009-09-11 18:52:00 UTC (rev 56204)
@@ -59,7 +59,7 @@
if(!postFinished){if(postRange.compareEndPoints("StartToEnd",postRange)==0){postFinished=true;}else{postRange.moveEnd("character",-1)
if(postRange.text==postText){rawPostText+="\r\n";}else{postFinished=true;}}}}while((!postFinished||!periFinished||!postFinished));caretPos=rawPreText.replace(/\r\n/g,"\n").length;}else
if(e.selectionStart||e.selectionStart=='0'){caretPos=e.selectionStart;}
return caretPos;}
-return getCaret(this.get(0));},scrollToCaretPosition:function(pos){function
getLineLength(e){return Math.floor(e.scrollWidth/($.os.name=='linux'?7:8));}
+return getCaret(this.get(0));},setSelection:function(start,end){return
this.each(function(){if(this.selectionStart||this.selectionStart=='0'){this.selectionStart=start;this.selectionEnd=end;}else
if(document.body.createTextRange){var
selection=document.body.createTextRange;selection.setToElementText(this);var
length=selection.text.length;selection.moveStart('character',start);selection.moveEnd('character',-length+end);selection.select();}});},scrollToCaretPosition:function(pos){function
getLineLength(e){return Math.floor(e.scrollWidth/($.os.name=='linux'?7:8));}
function getCaretScrollPosition(e){var text=e.value.replace(/\r/g,"");var
caret=$(e).getCaretPosition();var lineLength=getLineLength(e);var row=0;var
charInLine=0;var
lastSpaceInLine=0;for(i=0;i<caret;i++){charInLine++;if(text.charAt(i)=="
"){lastSpaceInLine=charInLine;}else
if(text.charAt(i)=="\n"){lastSpaceInLine=0;charInLine=0;row++;}
if(charInLine>lineLength){if(lastSpaceInLine>0){charInLine=charInLine-lastSpaceInLine;lastSpaceInLine=0;row++;}}}
var nextSpace=0;for(j=caret;j<caret+lineLength;j++){if(text.charAt(j)=="
"||text.charAt(j)=="\n"||caret==text.length){nextSpace=j;break;}}
@@ -76,7 +76,8 @@
if(arguments.length>0&&typeof
arguments[0]=='object'){context.api.addModule(context,arguments[0]);}
context.$textarea.scrollToCaretPosition(0);return
$(this).data('wikiEditor-context',context);};})(jQuery);RegExp.escape=function(s){return
s.replace(/([.*+?^${}()|\/\\[\]])/g,'\\$1');};(function($){$.wikiEditor.modules.dialogs={api:{addDialog:function(context,data){$.wikiEditor.modules.dialogs.fn.create(context,{'modules':data})},openDialog:function(context,data){if(data.dialog
in
$.wikiEditor.modules.dialogs.modules){$('#'+$.wikiEditor.modules.dialogs.modules[data.dialog].id).dialog('open');}},closeDialog:function(context,data){if(data.dialog
in
$.wikiEditor.modules.dialogs.modules){$('#'+$.wikiEditor.modules.dialogs.modules[data.dialog].id).dialog('close');}}},fn:{create:function(context,config){for(module
in config){$.wikiEditor.modules.dialogs.modules[module]=config[module];}
for(module in $.wikiEditor.modules.dialogs.modules){var
module=$.wikiEditor.modules.dialogs.modules[module];if($('#'+module.id).size()==0){var
configuration=module.dialog;configuration.bgiframe=true;configuration.autoOpen=false;configuration.modal=true;configuration.title=$.wikiEditor.autoMsg(module,'title');for(msg
in
configuration.buttons){configuration.buttons[gM(msg)]=configuration.buttons[msg];delete
configuration.buttons[msg];}
-$('<div />
').attr('id',module.id).html(module.html).data('context',context).appendTo($('body')).each(module.init).dialog(configuration);}}}},'modules':{}};})(jQuery);(function($){$.wikiEditor.modules.toolbar={api:{addToToolbar:function(context,data){for(type
in data){switch(type){case'sections':var
$sections=context.modules.$toolbar.find('div.sections');var
$tabs=context.modules.$toolbar.find('div.tabs');for(section in
data[type]){if(section=='main'){context.modules.$toolbar.prepend($.wikiEditor.modules.toolbar.fn.buildSection(context,section,data[type][section]));continue;}
+$('<div />
').attr('id',module.id).html(module.html).data('context',context).appendTo($('body')).each(module.init).dialog(configuration).bind('dialogopen',$.wikiEditor.modules.dialogs.fn.resize).find('.ui-tabs').bind('tabsshow',function(){$(this).closest('.ui-dialog-content').each($.wikiEditor.modules.dialogs.fn.resize);});}}},resize:function(){var
wrapper=$(this).closest('.ui-dialog');var
oldHidden=$(this).find('*').not(':visible');oldHidden.each(function(){$(this).data('oldstyle',$(this).attr('style'));});oldHidden.show();var
oldWS=$(this).css('white-space');$(this).css('white-space','nowrap');if(wrapper.width()<=$(this).get(0).scrollWidth){$(this).width($(this).get(0).scrollWidth);wrapper.width(wrapper.get(0).scrollWidth);$(this).dialog({'width':wrapper.width()});}
+$(this).css('white-space',oldWS);oldHidden.each(function(){$(this).attr('style',$(this).data('oldstyle'));});}},'modules':{}};})(jQuery);(function($){$.wikiEditor.modules.toolbar={api:{addToToolbar:function(context,data){for(type
in data){switch(type){case'sections':var
$sections=context.modules.$toolbar.find('div.sections');var
$tabs=context.modules.$toolbar.find('div.tabs');for(section in
data[type]){if(section=='main'){context.modules.$toolbar.prepend($.wikiEditor.modules.toolbar.fn.buildSection(context,section,data[type][section]));continue;}
$sections.append($.wikiEditor.modules.toolbar.fn.buildSection(context,section,data[type][section]));$tabs.append($.wikiEditor.modules.toolbar.fn.buildTab(context,section,data[type][section]));}
break;case'groups':if(!('section'in data)){continue;}
var
$section=context.modules.$toolbar.find('div[rel='+data.section+'].section');for(group
in
data[type]){$section.append($.wikiEditor.modules.toolbar.fn.buildGroup(context,group,data[type][group]));}
@@ -123,7 +124,7 @@
return
$section;},updateBookletSelection:function(context,id,$pages,$index){var
cookie='wikiEditor-'+context.instance+'-booklet-'+id+'-page';var
selected=$.cookie(cookie);var
$selectedIndex=$index.find('*[rel='+selected+']');if($selectedIndex.size()==0){selected=$index.children().eq(0).attr('rel');$.cookie(cookie,selected);}
$pages.children().hide();$pages.find('*[rel='+selected+']').show();$index.children().removeClass('current');$selectedIndex.addClass('current');},build:function(context,config){var
$tabs=$('<div />').addClass('tabs').appendTo(context.modules.$toolbar);var
$sections=$('<div
/>').addClass('sections').appendTo(context.modules.$toolbar);context.modules.$toolbar.append($('<div
/>').css('clear','both'));var sectionQueue=[];for(section in
config){if(section=='main'){context.modules.$toolbar.prepend($.wikiEditor.modules.toolbar.fn.buildSection(context,section,config[section]));}else{sectionQueue.push({'$sections':$sections,'context':context,'id':section,'config':config[section]});$tabs.append($.wikiEditor.modules.toolbar.fn.buildTab(context,section,config[section]));}}
$.eachAsync(sectionQueue,{'bulk':0,'end':function(){$('body').css('position','static');$('body').css('position','relative');},'loop':function(i,s){s.$sections.append($.wikiEditor.modules.toolbar.fn.buildSection(s.context,s.id,s.config));}});}}};})(jQuery);(function($){$.wikiEditor.modules.toc={api:{},fn:{create:function(context,config){if('$toc'in
context.modules){return;}
-context.modules.$toc=$('<div></div>').addClass('wikiEditor-ui-toc').attr('id','wikiEditor-ui-toc');$.wikiEditor.modules.toc.fn.build(context,config);context.$ui.find('.wikiEditor-ui-bottom').append(context.modules.$toc);context.modules.$toc.height(context.$ui.find('.wikiEditor-ui-bottom').height());context.modules.$toc.css('width','12em').css('marginTop',-(context.$ui.find('.wikiEditor-ui-bottom').height()));context.$ui.find('.wikiEditor-ui-text').css(($('body.rtl').size()?'marginLeft':'marginRight'),'12em');$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);context.$textarea.bind('keyup
encapsulateSelection',function(event){var
context=$(this).data('context');$(this).eachAsync({bulk:0,loop:function(){$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);}});}).bind('mouseup
scrollToPosition',function(event){var
context=$(this).data('context');$(this).eachAsync({bulk:0,loop:function(){$.wikiEditor.modules.toc.fn.update(context);}});});},update:function(context){context.modules.$toc.find('a').removeClass('currentSelection');var
position=context.$textarea.getCaretPosition();var
section=0;if(context.data.outline.length>0){if(!(position<context.data.outline[0].position-1)){while(section<context.data.outline.length&&context.data.outline[section].position-1<position){section++;}
+context.modules.$toc=$('<div></div>').addClass('wikiEditor-ui-toc').attr('id','wikiEditor-ui-toc');$.wikiEditor.modules.toc.fn.build(context,config);context.$ui.find('.wikiEditor-ui-bottom').append(context.modules.$toc);context.modules.$toc.height(context.$ui.find('.wikiEditor-ui-bottom').height());context.modules.$toc.css('width','12em').css('marginTop',-(context.$ui.find('.wikiEditor-ui-bottom').height()));context.$ui.find('.wikiEditor-ui-text').css(($('body.rtl').size()?'marginLeft':'marginRight'),'12em');$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);context.$textarea.bind('keyup
encapsulateSelection',function(event){var
context=$(this).data('context');$(this).eachAsync({bulk:0,loop:function(){$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);}});}).bind('mouseup
scrollToPosition focus',function(event){var
context=$(this).data('context');$(this).eachAsync({bulk:0,loop:function(){$.wikiEditor.modules.toc.fn.update(context);}});}).blur(function(){$.wikiEditor.modules.toc.fn.unhighlight(context);});},unhighlight:function(context){context.modules.$toc.find('a').removeClass('currentSelection');},update:function(context){$.wikiEditor.modules.toc.fn.unhighlight(context);var
position=context.$textarea.getCaretPosition();var
section=0;if(context.data.outline.length>0){if(!(position<context.data.outline[0].position-1)){while(section<context.data.outline.length&&context.data.outline[section].position-1<position){section++;}
section=Math.max(0,section);}
context.modules.$toc.find('a.section-'+section).addClass('currentSelection');}},build:function(context){function
buildStructure(outline,offset,level){if(offset==undefined)offset=0;if(level==undefined)level=1;var
sections=[];for(var
i=offset;i<outline.length;i++){if(outline[i].nLevel==level){var
sub=buildStructure(outline,i+1,level+1);if(sub.length){outline[i].sections=sub;}
sections[sections.length]=outline[i];}else if(outline[i].nLevel<level){break;}}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs