From: Leo Koppelkamm Date: Fri, 8 Jul 2011 19:01:13 +0000 (+0000) Subject: r86603 : Updatin last call to mediawiki.legacy.edit and removing the module X-Git-Tag: 1.31.0-rc.0~28980 X-Git-Url: http://git.cyclocoop.org//%27%40script%40/%27?a=commitdiff_plain;h=09164bed4a693d7d411209bab2c2ab6bf5ef4e8d;p=lhc%2Fweb%2Fwiklou.git r86603 : Updatin last call to mediawiki.legacy.edit and removing the module --- diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php index c594bdc054..60894a416a 100644 --- a/includes/specials/SpecialUpload.php +++ b/includes/specials/SpecialUpload.php @@ -1126,7 +1126,7 @@ class UploadForm extends HTMLForm { $wgOut->addModules( array( - 'mediawiki.legacy.edit', // For support + 'mediawiki.action.edit', // For support 'mediawiki.legacy.upload', // Old form stuff... 'mediawiki.special.upload', // Newer extras for thumbnail preview. ) ); diff --git a/resources/Resources.php b/resources/Resources.php index faa9cfe848..c7be2f2631 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -641,12 +641,6 @@ return array( 'localBasePath' => $GLOBALS['wgStyleDirectory'], 'dependencies' => 'mediawiki.legacy.wikibits', ), - 'mediawiki.legacy.edit' => array( - 'scripts' => 'common/edit.js', - 'remoteBasePath' => $GLOBALS['wgStylePath'], - 'localBasePath' => $GLOBALS['wgStyleDirectory'], - 'dependencies' => 'mediawiki.legacy.wikibits', - ), 'mediawiki.legacy.IEFixes' => array( 'scripts' => 'common/IEFixes.js', 'remoteBasePath' => $GLOBALS['wgStylePath'], diff --git a/skins/common/edit.js b/skins/common/edit.js deleted file mode 100644 index 732aa92152..0000000000 --- a/skins/common/edit.js +++ /dev/null @@ -1,238 +0,0 @@ -// This file is still referenced from -// tests/selenium/data/SimpleSeleniumTestDB.sql -// includes/specials/SpecialUpload.php -// /extensions/SemanticForms/specials/SF_UploadWindow2.php -window.currentFocused = undefined; - -// this function adds a toolbar button to the mwEditButtons list -window.addButton = function( imageFile, speedTip, tagOpen, tagClose, sampleText, imageId, selectText ) { - // Don't generate buttons for browsers which don't fully - // support it. - mwEditButtons.push({ - 'imageId': imageId, - 'imageFile': imageFile, - 'speedTip': speedTip, - 'tagOpen': tagOpen, - 'tagClose': tagClose, - 'sampleText': sampleText, - 'selectText': selectText - }); -}; - -// this function adds one toolbar button from a mwEditButtons/mwCustomEditButtons item -window.mwInsertEditButton = function( parent, item ) { - var image = document.createElement( 'img' ); - image.width = 23; - image.height = 22; - image.className = 'mw-toolbar-editbutton'; - if ( item.imageId ) { - image.id = item.imageId; - } - image.src = item.imageFile; - image.border = 0; - image.alt = item.speedTip; - image.title = item.speedTip; - image.style.cursor = 'pointer'; - image.onclick = function() { - insertTags( item.tagOpen, item.tagClose, item.sampleText, item.selectText ); - // click tracking - if ( ( typeof $ != 'undefined' ) && ( typeof $.trackAction != 'undefined' ) ) { - $.trackAction( 'oldedit.' + item.speedTip.replace(/ /g, '-') ); - } - return false; - }; - - parent.appendChild( image ); - return true; -}; - -// this function generates the actual toolbar buttons with localized text -// we use it to avoid creating the toolbar where javascript is not enabled -window.mwSetupToolbar = function() { - var toolbar = document.getElementById( 'toolbar' ); - var i = 0; - if ( !toolbar ) { - return false; - } - - // Don't generate buttons for browsers which don't fully - // support it. - // but don't assume wpTextbox1 is always here - var textboxes = document.getElementsByTagName( 'textarea' ); - if ( !textboxes.length ) { - // No toolbar if we can't find any textarea - return false; - } - // Only check for selection capability if the textarea is visible - errors will occur otherwise - just because - // the textarea is not visible, doesn't mean we shouldn't build out the toolbar though - it might have been replaced - // with some other kind of control - if ( textboxes[0].style.display != 'none' ) { - if ( !( document.selection && document.selection.createRange ) - && textboxes[0].selectionStart === null ) { - return false; - } - } - for ( i = 0; i < mwEditButtons.length; i++ ) { - mwInsertEditButton( toolbar, mwEditButtons[i] ); - } - for ( i = 0; i < mwCustomEditButtons.length; i++ ) { - mwInsertEditButton( toolbar, mwCustomEditButtons[i] ); - } - return true; -}; - -// apply tagOpen/tagClose to selection in textarea, -// use sampleText instead of selection if there is none -window.insertTags = function( tagOpen, tagClose, sampleText, selectText) { - if ( typeof $ != 'undefined' && typeof $.fn.textSelection != 'undefined' && currentFocused && - ( currentFocused.nodeName.toLowerCase() == 'iframe' || currentFocused.id == 'wpTextbox1' ) ) { - $( '#wpTextbox1' ).textSelection( - 'encapsulateSelection', { 'pre': tagOpen, 'peri': sampleText, 'post': tagClose } - ); - return; - } - var txtarea; - if ( document.editform ) { - txtarea = currentFocused; - } else { - // some alternate form? take the first one we can find - var areas = document.getElementsByTagName( 'textarea' ); - txtarea = areas[0]; - } - var selText, isSample = false; - - function checkSelectedText() { - if ( !selText ) { - selText = sampleText; - isSample = true; - } else if ( selText.charAt(selText.length - 1) == ' ' ) { // exclude ending space char - selText = selText.substring(0, selText.length - 1); - tagClose += ' '; - } - } - - if ( document.selection && document.selection.createRange ) { // IE/Opera - // save window scroll position - var winScroll = null; - if ( document.documentElement && document.documentElement.scrollTop ) { - winScroll = document.documentElement.scrollTop; - } else if ( document.body ) { - winScroll = document.body.scrollTop; - } - // get current selection - txtarea.focus(); - var range = document.selection.createRange(); - selText = range.text; - // insert tags - checkSelectedText(); - range.text = tagOpen + selText + tagClose; - // mark sample text as selected if not switched off by option - if ( selectText !== false ) { - if ( isSample && range.moveStart ) { - if ( window.opera ) { - tagClose = tagClose.replace(/\n/g,''); - } - range.moveStart('character', - tagClose.length - selText.length); - range.moveEnd('character', - tagClose.length); - } - range.select(); - } - // restore window scroll position - if ( document.documentElement && document.documentElement.scrollTop ) { - document.documentElement.scrollTop = winScroll; - } else if ( document.body ) { - document.body.scrollTop = winScroll; - } - - } else if ( txtarea.selectionStart || txtarea.selectionStart == '0' ) { // Mozilla - // save textarea scroll position - var textScroll = txtarea.scrollTop; - // get current selection - txtarea.focus(); - var startPos = txtarea.selectionStart; - var endPos = txtarea.selectionEnd; - selText = txtarea.value.substring( startPos, endPos ); - // insert tags - checkSelectedText(); - txtarea.value = txtarea.value.substring(0, startPos) - + tagOpen + selText + tagClose - + txtarea.value.substring(endPos, txtarea.value.length); - // set new selection - if ( isSample && ( selectText !== false )) { - txtarea.selectionStart = startPos + tagOpen.length; - txtarea.selectionEnd = startPos + tagOpen.length + selText.length; - } else { - txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length; - txtarea.selectionEnd = txtarea.selectionStart; - } - // restore textarea scroll position - txtarea.scrollTop = textScroll; - } - -}; - -/** - * Restore the edit box scroll state following a preview operation, - * and set up a form submission handler to remember this state - */ -window.scrollEditBox = function() { - var editBox = document.getElementById( 'wpTextbox1' ); - var scrollTop = document.getElementById( 'wpScrolltop' ); - var editForm = document.getElementById( 'editform' ); - if( editForm && editBox && scrollTop ) { - if( scrollTop.value ) { - editBox.scrollTop = scrollTop.value; - } - addHandler( editForm, 'submit', function() { - scrollTop.value = editBox.scrollTop; - } ); - } -}; -hookEvent( 'load', scrollEditBox ); -hookEvent( 'load', mwSetupToolbar ); -hookEvent( 'load', function() { - currentFocused = document.getElementById( 'wpTextbox1' ); - // http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html - // focus does not bubble normally, but using a trick we can do event delegation - // on the focus event on all text inputs to make the toolbox usable on all of them - var editForm = document.getElementById( 'editform' ); - if ( !editForm ) { - return; - } - function onfocus( e ) { - var elm = e.target || e.srcElement; - if ( !elm ) { - return; - } - var tagName = elm.tagName.toLowerCase(); - var type = elm.type || ''; - if ( tagName !== 'textarea' && tagName !== 'input' ) { - return; - } - if ( tagName === 'input' && type.toLowerCase() !== 'text' ) { - return; - } - - currentFocused = elm; - } - - if ( editForm.addEventListener ) { - // Gecko, WebKit, Opera, etc... (all standards compliant browsers) - editForm.addEventListener( 'focus', onfocus, true ); // This MUST be true to work - } else if ( editForm.attachEvent ) { - // IE needs a specific trick here since it doesn't support the standard - editForm.attachEvent( 'onfocusin', function() { onfocus( event ); } ); - } - - // HACK: make currentFocused work with the usability iframe - // With proper focus detection support (HTML 5!) this'll be much cleaner - if ( typeof $ != 'undefined' ) { - var iframe = $( '.wikiEditor-ui-text iframe' ); - if ( iframe.length > 0 ) { - $( iframe.get( 0 ).contentWindow.document ) - .add( iframe.get( 0 ).contentWindow.document.body ) // for IE - .focus( function() { currentFocused = iframe.get( 0 ); } ); - } - } - -} ); \ No newline at end of file