
catrope at svn
Nov 25, 2009, 12:38 PM
Post #1 of 1
(87 views)
Permalink
|
|
SVN: [59436] trunk/extensions/UsabilityInitiative
|
|
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/59436 Revision: 59436 Author: catrope Date: 2009-11-25 20:38:36 +0000 (Wed, 25 Nov 2009) Log Message: ----------- UsabilityInitiative: Preview: Fix display when preview tab disabled Modified Paths: -------------- trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.i18n.php trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.preview.js trunk/extensions/UsabilityInitiative/js/plugins.combined.js trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js Modified: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php =================================================================== --- trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php 2009-11-25 20:38:36 UTC (rev 59436) @@ -70,18 +70,18 @@ array( 'src' => 'js/plugins/jquery.namespaceSelect.js', 'version' => 1 ), array( 'src' => 'js/plugins/jquery.suggestions.js', 'version' => 6 ), array( 'src' => 'js/plugins/jquery.textSelection.js', 'version' => 20 ), - array( 'src' => 'js/plugins/jquery.wikiEditor.js', 'version' => 19 ), + array( 'src' => 'js/plugins/jquery.wikiEditor.js', 'version' => 20 ), array( 'src' => 'js/plugins/jquery.wikiEditor.highlight.js', 'version' => 1 ), array( 'src' => 'js/plugins/jquery.wikiEditor.toolbar.js', 'version' => 33 ), array( 'src' => 'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 9 ), array( 'src' => 'js/plugins/jquery.wikiEditor.toc.js', 'version' => 42 ), - array( 'src' => 'js/plugins/jquery.wikiEditor.preview.js', 'version' => 3 ), + array( 'src' => 'js/plugins/jquery.wikiEditor.preview.js', 'version' => 4 ), ), 'combined' => array( - array( 'src' => 'js/plugins.combined.js', 'version' => 88 ), + array( 'src' => 'js/plugins.combined.js', 'version' => 89 ), ), 'minified' => array( - array( 'src' => 'js/plugins.combined.min.js', 'version' => 88 ), + array( 'src' => 'js/plugins.combined.min.js', 'version' => 89 ), ), ), ); Modified: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.i18n.php =================================================================== --- trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.i18n.php 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.i18n.php 2009-11-25 20:38:36 UTC (rev 59436) @@ -13,8 +13,8 @@ */ $messages['en'] = array( 'wikieditor' => 'Advanced wikitext editing interface', - 'wikieditor-desc' => 'Provides an extendable wikitext editing interface and many feature providing modules', - 'wikieditor-wikitext-tab' => 'WikiText', + 'wikieditor-desc' => 'Provides an extendable wikitext editing interface and many feature-providing modules', + 'wikieditor-wikitext-tab' => 'Wikitext', ); /** Message documentation (Message documentation) @@ -25,6 +25,7 @@ 'wikieditor-desc' => "{{desc}} I guess that 'feature-providing modules' means the same as 'modules providing features'.", + 'wikieditor-wikitext-tab' => 'Caption of the tab containing the edit box', ); /** Arabic (العربية) Modified: trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js =================================================================== --- trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js 2009-11-25 20:38:36 UTC (rev 59436) @@ -228,6 +228,7 @@ context.fn = { 'addButton': function( options ) { // Ensure that buttons and tabs are visible + // TODO: Implement context.$controls.show(); }, 'addView': function( options ) { @@ -235,6 +236,7 @@ function addTab( options ) { // Ensure that buttons and tabs are visible context.$controls.show(); + context.$tabs.show(); // Return the newly appended tab return $( '<div></div>' ) .attr( 'rel', 'wikiEditor-ui-view-' + options.name ) @@ -382,7 +384,8 @@ context.fn.scrollToTop( lastNode ); } // Trigger the encapsulateSelection event (this might need to get named something else/done differently) - context.$content.trigger( 'encapsulateSelection', [ pre, peri, post, ownline, replace ] ); + context.$content.trigger( 'encapsulateSelection', [ pre, options.peri, post, + options.ownline, options.replace ] ); return context.$textarea; }, /** @@ -445,7 +448,7 @@ context.$wikitext .before( $( '<div></div>' ).addClass( 'wikiEditor-ui-controls' ) - .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-tabs' ) ) + .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-tabs' ).hide() ) .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-buttons' ) ) ) .before( $( '<div style="clear:both;"></div>' ) ); Modified: trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.preview.js =================================================================== --- trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.preview.js 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.preview.js 2009-11-25 20:38:36 UTC (rev 59436) @@ -21,7 +21,7 @@ return; } context.modules.preview = { - 'previousText': null, + 'previousText': null }; context.$preview = context.fn.addView( { 'name': 'preview', Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.js =================================================================== --- trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-11-25 20:38:36 UTC (rev 59436) @@ -1534,6 +1534,7 @@ context.fn = { 'addButton': function( options ) { // Ensure that buttons and tabs are visible + // TODO: Implement context.$controls.show(); }, 'addView': function( options ) { @@ -1541,6 +1542,7 @@ function addTab( options ) { // Ensure that buttons and tabs are visible context.$controls.show(); + context.$tabs.show(); // Return the newly appended tab return $( '<div></div>' ) .attr( 'rel', 'wikiEditor-ui-view-' + options.name ) @@ -1688,7 +1690,8 @@ context.fn.scrollToTop( lastNode ); } // Trigger the encapsulateSelection event (this might need to get named something else/done differently) - context.$content.trigger( 'encapsulateSelection', [ pre, peri, post, ownline, replace ] ); + context.$content.trigger( 'encapsulateSelection', [ pre, options.peri, post, + options.ownline, options.replace ] ); return context.$textarea; }, /** @@ -1751,7 +1754,7 @@ context.$wikitext .before( $( '<div></div>' ).addClass( 'wikiEditor-ui-controls' ) - .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-tabs' ) ) + .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-tabs' ).hide() ) .append( $( '<div></div>' ).addClass( 'wikiEditor-ui-buttons' ) ) ) .before( $( '<div style="clear:both;"></div>' ) ); @@ -2096,7 +2099,7 @@ return; } context.modules.preview = { - 'previousText': null, + 'previousText': null }; context.$preview = context.fn.addView( { 'name': 'preview', Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js =================================================================== --- trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js 2009-11-25 20:15:44 UTC (rev 59435) +++ trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js 2009-11-25 20:38:36 UTC (rev 59436) @@ -89,7 +89,7 @@ if(typeof data=='string'){callModuleApi(data,'create',{});}else if(typeof data=='object'){for(module in data){if(typeof module=='string'){callModuleApi(module,'create',data[module]);}}}}};for(module in $.wikiEditor.modules){if('api'in $.wikiEditor.modules[module]){for(call in $.wikiEditor.modules[module].api){if(!(call in context.api)){context.api[call]=$.wikiEditor.modules[module].api[call];}}}} context.evt={'change':function(event){switch(event.type){case'keypress':if(false){}else{} break;case'mousedown':if(false){}else{} -break;default:break;}}};context.fn={'addButton':function(options){context.$controls.show();},'addView':function(options){function addTab(options){context.$controls.show();return $('<div></div>').attr('rel','wikiEditor-ui-view-'+options.name).addClass(context.view==options.name?'current':null).append($('<a></a>').attr('href','#').click(function(event){context.$ui.find('.wikiEditor-ui-view').hide();context.$ui.find('.'+$(this).parent().attr('rel')).show();context.$tabs.find('div').removeClass('current');$(this).parent().addClass('current');$(this).blur();if('init'in options&&typeof options.init=='function'){options.init(context);} +break;default:break;}}};context.fn={'addButton':function(options){context.$controls.show();},'addView':function(options){function addTab(options){context.$controls.show();context.$tabs.show();return $('<div></div>').attr('rel','wikiEditor-ui-view-'+options.name).addClass(context.view==options.name?'current':null).append($('<a></a>').attr('href','#').click(function(event){context.$ui.find('.wikiEditor-ui-view').hide();context.$ui.find('.'+$(this).parent().attr('rel')).show();context.$tabs.find('div').removeClass('current');$(this).parent().addClass('current');$(this).blur();if('init'in options&&typeof options.init=='function'){options.init(context);} event.preventDefault();}).text($.wikiEditor.autoMsg(options,'title'))).appendTo(context.$tabs);} if(!context.$tabs.children().size()){addTab({'name':'wikitext','titleMsg':'wikieditor-wikitext-tab'});} addTab(options);return $('<div></div>').addClass('wikiEditor-ui-view wikiEditor-ui-view-'+options.name).hide().appendTo(context.$ui);},'setup':function(){context.$iframe[0].contentWindow.document.open();context.$iframe[0].contentWindow.document.write('<html><head><title>wikiEditor</title><script>var context = window.parent.jQuery.wikiEditor.instances['+context.instance+'].data( "wikiEditor-context" ); window.parent.jQuery( document ).bind( "keydown keypress keyup mousedown mouseup cut paste", { "context": context }, context.evt.change );</script></head><body style="margin:0;padding:0;width:100%;height:100%;white-space:pre-wrap;font-family:monospace"></body></html>');context.$iframe[0].contentWindow.document.close();context.$iframe[0].contentWindow.document.designMode='on';context.$content=$(context.$iframe[0].contentWindow.document.body);if($('body').is('.rtl')){context.$content.addClass('rtl').attr('dir','rtl');} @@ -101,8 +101,8 @@ post+="\n";} var insertText=pre+selText+post;var insertLines=insertText.split("\n");range.extractContents();var lastNode;for(var i=insertLines.length-1;i>=0;i--){range.insertNode(document.createTextNode(insertLines[i]));if(i>0){lastNode=range.insertNode(document.createElement('br'));}} if(lastNode){context.fn.scrollToTop(lastNode);} -context.$content.trigger('encapsulateSelection',[pre,peri,post,ownline,replace]);return context.$textarea;},'getCaretPosition':function(options){},'setSelection':function(options){},'scrollToCaretPosition':function(options){},'scrollToTop':function($element,force){var body=context.$content.closest('body');var y=$element.offset().top-context.$content.offset().top;if(force||y<body.scrollTop()||y>body.scrollTop()+body.height()) -body.scrollTop(y);$element.trigger('scrollToTop');}};context.$textarea.wrap($('<div></div>').addClass('wikiEditor-ui')).wrap($('<div></div>').addClass('wikiEditor-ui-view wikiEditor-ui-view-wikitext')).wrap($('<div></div>').addClass('wikiEditor-ui-left')).wrap($('<div></div>').addClass('wikiEditor-ui-bottom')).wrap($('<div></div>').addClass('wikiEditor-ui-text'));context.$ui=context.$textarea.parent().parent().parent().parent().parent();context.$wikitext=context.$textarea.parent().parent().parent().parent();context.$wikitext.before($('<div></div>').addClass('wikiEditor-ui-controls').append($('<div></div>').addClass('wikiEditor-ui-tabs')).append($('<div></div>').addClass('wikiEditor-ui-buttons'))).before($('<div style="clear:both;"></div>'));context.$controls=context.$ui.find('.wikiEditor-ui-buttons').hide();context.$buttons=context.$ui.find('.wikiEditor-ui-buttons');context.$tabs=context.$ui.find('.wikiEditor-ui-tabs');context.$ui.after($('<div style="clear:both;"></div>'));context.$wikitext.append($('<div></div>').addClass('wikiEditor-ui-right'));context.$wikitext.find('.wikiEditor-ui-left').prepend($('<div></div>').addClass('wikiEditor-ui-top'));context.view='wikitext';context.$iframe=$('<iframe></iframe>').attr('frameborder',0).css({'backgroundColor':'white','width':'100%','height':context.$textarea.height(),'display':'none','overflow-y':'scroll','overflow-x':'hidden',}).insertAfter(context.$textarea);setTimeout(function(){context.fn.setup();},1);context.$textarea.closest('form').submit(function(){context.$textarea.attr('disabled',false);context.$textarea.val(context.$textarea.textSelection('getContents'));});} +context.$content.trigger('encapsulateSelection',[pre,options.peri,post,options.ownline,options.replace]);return context.$textarea;},'getCaretPosition':function(options){},'setSelection':function(options){},'scrollToCaretPosition':function(options){},'scrollToTop':function($element,force){var body=context.$content.closest('body');var y=$element.offset().top-context.$content.offset().top;if(force||y<body.scrollTop()||y>body.scrollTop()+body.height()) +body.scrollTop(y);$element.trigger('scrollToTop');}};context.$textarea.wrap($('<div></div>').addClass('wikiEditor-ui')).wrap($('<div></div>').addClass('wikiEditor-ui-view wikiEditor-ui-view-wikitext')).wrap($('<div></div>').addClass('wikiEditor-ui-left')).wrap($('<div></div>').addClass('wikiEditor-ui-bottom')).wrap($('<div></div>').addClass('wikiEditor-ui-text'));context.$ui=context.$textarea.parent().parent().parent().parent().parent();context.$wikitext=context.$textarea.parent().parent().parent().parent();context.$wikitext.before($('<div></div>').addClass('wikiEditor-ui-controls').append($('<div></div>').addClass('wikiEditor-ui-tabs').hide()).append($('<div></div>').addClass('wikiEditor-ui-buttons'))).before($('<div style="clear:both;"></div>'));context.$controls=context.$ui.find('.wikiEditor-ui-buttons').hide();context.$buttons=context.$ui.find('.wikiEditor-ui-buttons');context.$tabs=context.$ui.find('.wikiEditor-ui-tabs');context.$ui.after($('<div style="clear:both;"></div>'));context.$wikitext.append($('<div></div>').addClass('wikiEditor-ui-right'));context.$wikitext.find('.wikiEditor-ui-left').prepend($('<div></div>').addClass('wikiEditor-ui-top'));context.view='wikitext';context.$iframe=$('<iframe></iframe>').attr('frameborder',0).css({'backgroundColor':'white','width':'100%','height':context.$textarea.height(),'display':'none','overflow-y':'scroll','overflow-x':'hidden',}).insertAfter(context.$textarea);setTimeout(function(){context.fn.setup();},1);context.$textarea.closest('form').submit(function(){context.$textarea.attr('disabled',false);context.$textarea.val(context.$textarea.textSelection('getContents'));});} if(arguments.length>0&&typeof arguments[0]=='object'){if(context.fn.isSetup()) context.api.addModule(context,arguments[0]);else{var args=arguments;setTimeout(function(){context.api.addModule(context,args[0]);},2);}}else{arguments=$.makeArray(arguments);if(arguments.length>0){var call=arguments.shift();if(call in context.api){if(context.fn.isSetup()) context.api[call](context,arguments[0]==undefined?{}:arguments[0]);else{var args=arguments;setTimeout(function(){context.api[call](context,args[0]==undefined?{}:args[0]);},2);}}}} @@ -113,7 +113,7 @@ maxTI=ti;});var tabIndex=maxTI+1;$j('.ui-dialog input, .ui-dialog button').not('[tabindex]').each(function(){$j(this).attr('tabindex',tabIndex++);});}}});},resize:function(){var wrapper=$(this).closest('.ui-dialog');var oldWidth=wrapper.width();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){var thisWidth=$(this).data('thisWidth')?$(this).data('thisWidth'):0;thisWidth=Math.max($(this).get(0).scrollWidth,thisWidth);$(this).width(thisWidth);$(this).data('thisWidth',thisWidth);var wrapperWidth=$(this).data('wrapperWidth')?$(this).data('wrapperWidth'):0;wrapperWidth=Math.max(wrapper.get(0).scrollWidth,wrapperWidth);wrapper.width(wrapperWidth);$(this).data('wrapperWidth',wrapperWidth);$(this).dialog({'width':wrapper.width()});wrapper.css('left',parseInt(wrapper.css('left'))- (wrapper.width()-oldWidth)/2);} $(this).css('white-space',oldWS);oldHidden.each(function(){$(this).attr('style',$(this).data('oldstyle'));});}},modules:{},quickDialog:function(body,settings){$('<div />').text(body).appendTo($('body')).dialog($.extend({bgiframe:true,modal:true},settings)).dialog('open');}};})(jQuery);(function($){$.wikiEditor.modules.highlight={api:{},evt:{change:function(event){}},fn:{create:function(context,config){},divide:function(context){},isolate:function(context){return[];},strip:function(context,division){return $('<div />').html(division.html().replace(/\<br[^\>]*\>/g,"\n")).text();},scan:function(context,division){return[];},mark:function(context,division,tokens){}}};})(jQuery);(function($){$.wikiEditor.modules.preview={api:{},fn:{create:function(context,config){if('preview'in context.modules){return;} -context.modules.preview={'previousText':null,};context.$preview=context.fn.addView({'name':'preview','titleMsg':'wikieditor-preview-tab','init':function(context){var wikitext=context.fn.getContents();if(context.modules.preview.previousText==wikitext){return;} +context.modules.preview={'previousText':null};context.$preview=context.fn.addView({'name':'preview','titleMsg':'wikieditor-preview-tab','init':function(context){var wikitext=context.fn.getContents();if(context.modules.preview.previousText==wikitext){return;} context.$preview.find('.wikiEditor-preview-contents').empty();context.$preview.find('.wikiEditor-preview-loading').show();$.post(wgScriptPath+'/api.php',{'action':'parse','title':wgPageName,'text':wikitext,'prop':'text','pst':'','format':'json'},function(data){if(data.parse==undefined||data.parse.text==undefined||data.parse.text['*']==undefined){return;} context.modules.preview.previousText=wikitext;context.$preview.find('.wikiEditor-preview-loading').hide();context.$preview.find('.wikiEditor-preview-contents').html(data.parse.text['*']);},'json');}});var loadingMsg=gM('wikieditor-preview-loading');context.$preview.append($('<div />').addClass('wikiEditor-preview-loading').append($('<img />').addClass('wikiEditor-preview-spinner').attr({'src':$.wikiEditor.imgPath+'dialogs/loading.gif','valign':'absmiddle','alt':loadingMsg,'title':loadingMsg})).append($('<span></span>').text(loadingMsg))).append($('<div />').addClass('wikiEditor-preview-contents'));}}};})(jQuery);(function($){$.wikiEditor.modules.publish={api:{},fn:{create:function(context,config){}}};})(jQuery);(function($){$.wikiEditor.modules.toc={api:{},defaultWidth:'166px',minimumWidth:'70px',fn:{create:function(context,config){if('$toc'in context.modules){return;} var height=context.$ui.find('.wikiEditor-ui-left').height();context.modules.$toc=$('<div />').addClass('wikiEditor-ui-toc').data('context',context);context.$ui.find('.wikiEditor-ui-right').css('width',$.wikiEditor.modules.toc.defaultWidth).append(context.modules.$toc);context.modules.$toc.height(context.$ui.find('.wikiEditor-ui-left').height());context.$ui.find('.wikiEditor-ui-left').css('marginRight',"-"+$.wikiEditor.modules.toc.defaultWidth).children().css('marginRight',$.wikiEditor.modules.toc.defaultWidth);$.wikiEditor.modules.toc.fn.build(context,config);context.$content.parent().delayedBind(250,'mouseup scrollToTop keyup change',function(){$(this).eachAsync({bulk:0,loop:function(){$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);}});}).blur(function(event){var context=event.data.context;context.$textarea.delayedBindCancel(250,'mouseup scrollToTop keyup change');$.wikiEditor.modules.toc.fn.unhighlight(context);});},unhighlight:function(context){context.modules.$toc.find('div').removeClass('current');},update:function(context){$.wikiEditor.modules.toc.fn.unhighlight(context);var position=context.$textarea.textSelection('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++;} _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS [at] lists https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs
|