diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:15:42 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:44:51 +0100 |
commit | a1789ddde42033f1b05cc4929491214ee6e79383 (patch) | |
tree | 63615735c4ddffaaabf2428946bb26f90899f7bf /resources/src/mediawiki.action | |
parent | 9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff) |
Update to MediaWiki 1.26.0
Diffstat (limited to 'resources/src/mediawiki.action')
12 files changed, 207 insertions, 93 deletions
diff --git a/resources/src/mediawiki.action/images/checker.png b/resources/src/mediawiki.action/images/checker.png Binary files differnew file mode 100644 index 00000000..3e9e3d09 --- /dev/null +++ b/resources/src/mediawiki.action/images/checker.png diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js index 7ae51aba..011f9c55 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js @@ -1,27 +1,28 @@ -jQuery( document ).ready( function ( $ ) { - var collapsibleLists, i, handleOne; +( function ( mw ) { + var collapsibleLists, handleOne; // Collapsible lists of categories and templates collapsibleLists = [ { - $list: $( '.templatesUsed ul' ), - $toggler: $( '.mw-templatesUsedExplanation' ), + listSel: '.templatesUsed ul', + togglerSel: '.mw-templatesUsedExplanation', cookieName: 'templates-used-list' }, { - $list: $( '.hiddencats ul' ), - $toggler: $( '.mw-hiddenCategoriesExplanation' ), + listSel: '.hiddencats ul', + togglerSel: '.mw-hiddenCategoriesExplanation', cookieName: 'hidden-categories-list' }, { - $list: $( '.preview-limit-report-wrapper' ), - $toggler: $( '.mw-limitReportExplanation' ), + listSel: '.preview-limit-report-wrapper', + togglerSel: '.mw-limitReportExplanation', cookieName: 'preview-limit-report' } ]; handleOne = function ( $list, $toggler, cookieName ) { - var isCollapsed = $.cookie( cookieName ) !== 'expanded'; + // Collapsed by default + var isCollapsed = mw.cookie.get( cookieName ) !== 'expanded'; // Style the toggler with an arrow icon and add a tabIndex and a role for accessibility $toggler.addClass( 'mw-editfooter-toggler' ).prop( 'tabIndex', 0 ).attr( 'role', 'button' ); @@ -38,17 +39,24 @@ jQuery( document ).ready( function ( $ ) { $list.on( 'beforeExpand.mw-collapsible', function () { $toggler.removeClass( 'mw-icon-arrow-collapsed' ).addClass( 'mw-icon-arrow-expanded' ); - $.cookie( cookieName, 'expanded' ); + mw.cookie.set( cookieName, 'expanded' ); } ); $list.on( 'beforeCollapse.mw-collapsible', function () { $toggler.removeClass( 'mw-icon-arrow-expanded' ).addClass( 'mw-icon-arrow-collapsed' ); - $.cookie( cookieName, 'collapsed' ); + mw.cookie.set( cookieName, 'collapsed' ); } ); }; - for ( i = 0; i < collapsibleLists.length; i++ ) { - // Pass to a function for iteration-local variables - handleOne( collapsibleLists[i].$list, collapsibleLists[i].$toggler, collapsibleLists[i].cookieName ); - } -} ); + mw.hook( 'wikipage.editform' ).add( function ( $editForm ) { + var i; + for ( i = 0; i < collapsibleLists.length; i++ ) { + // Pass to a function for iteration-local variables + handleOne( + $editForm.find( collapsibleLists[ i ].listSel ), + $editForm.find( collapsibleLists[ i ].togglerSel ), + collapsibleLists[ i ].cookieName + ); + } + } ); +}( mediaWiki ) ); diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.css b/resources/src/mediawiki.action/mediawiki.action.edit.css index 45ba5437..9b0c430c 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.css +++ b/resources/src/mediawiki.action/mediawiki.action.edit.css @@ -7,9 +7,6 @@ height: 22px; cursor: pointer; vertical-align: middle; - /* Cross-browser inline-block */ - /* Firefox 2 */ - display: -moz-inline-block; /* Modern browsers */ display: inline-block; /* IE7 */ diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js b/resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js index 6b330128..56dba703 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js @@ -35,7 +35,7 @@ // Add form submission handler $( '#editform' ).submit( function () { - allowCloseWindow(); + allowCloseWindow.release(); } ); } ); diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.js b/resources/src/mediawiki.action/mediawiki.action.edit.js index 01a25f3b..c9834f04 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.js @@ -1,23 +1,40 @@ /*! * Scripts for action=edit at domready */ -jQuery( function ( $ ) { - var editBox, scrollTop, $editForm; +( function ( mw, $ ) { + 'use strict'; - // Make sure edit summary does not exceed byte limit - $( '#wpSummary' ).byteLimit( 255 ); + /** + * Fired when the editform is added to the edit page + * + * Similar to the {@link mw.hook#event-wikipage_content wikipage.content hook} + * $editForm can still be detached when this hook is fired. + * + * @event wikipage_editform + * @member mw.hook + * @param {jQuery} $editForm The most appropriate element containing the + * editform, usually #editform. + */ - // Restore the edit box scroll state following a preview operation, - // and set up a form submission handler to remember this state. - editBox = document.getElementById( 'wpTextbox1' ); - scrollTop = document.getElementById( 'wpScrolltop' ); - $editForm = $( '#editform' ); - if ( $editForm.length && editBox && scrollTop ) { - if ( scrollTop.value ) { - editBox.scrollTop = scrollTop.value; + $( function () { + var editBox, scrollTop, $editForm; + + // Make sure edit summary does not exceed byte limit + $( '#wpSummary' ).byteLimit( 255 ); + + // Restore the edit box scroll state following a preview operation, + // and set up a form submission handler to remember this state. + editBox = document.getElementById( 'wpTextbox1' ); + scrollTop = document.getElementById( 'wpScrolltop' ); + $editForm = $( '#editform' ); + mw.hook( 'wikipage.editform' ).fire( $editForm ); + if ( $editForm.length && editBox && scrollTop ) { + if ( scrollTop.value ) { + editBox.scrollTop = scrollTop.value; + } + $editForm.submit( function () { + scrollTop.value = editBox.scrollTop; + } ); } - $editForm.submit( function () { - scrollTop.value = editBox.scrollTop; - } ); - } -} ); + } ); +}( mediaWiki, jQuery ) ); diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js index f24703af..ab4535b6 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@ -17,6 +17,7 @@ $editform = $( '#editform' ); $textbox = $editform.find( '#wpTextbox1' ); $summary = $editform.find( '#wpSummary' ); + $spinner = $( '.mw-spinner-preview' ); $errorBox = $( '.errorbox' ); section = $editform.find( '[name="wpSection"]' ).val(); @@ -36,7 +37,7 @@ $wikiPreview.show(); // Jump to where the preview will appear - $wikiPreview[0].scrollIntoView(); + $wikiPreview[ 0 ].scrollIntoView(); copySelectors = [ // Main @@ -55,14 +56,17 @@ // Not shown during normal preview, to be removed if present $( '.mw-newarticletext' ).remove(); - $spinner = $.createSpinner( { - size: 'large', - type: 'block' - } ); - $wikiPreview.before( $spinner ); - $spinner.css( { - marginTop: $spinner.height() - } ); + if ( $spinner.length === 0 ) { + $spinner = $.createSpinner( { + size: 'large', + type: 'block' + } ) + .addClass( 'mw-spinner-preview' ) + .css( 'margin-top', '1em' ); + $wikiPreview.before( $spinner ); + } else { + $spinner.show(); + } // Can't use fadeTo because it calls show(), and we might want to keep some elements hidden // (e.g. empty #catlinks) @@ -98,7 +102,7 @@ indexpageids: '', prop: 'revisions', titles: mw.config.get( 'wgPageName' ), - rvdifftotext: response.parse.text['*'], + rvdifftotext: response.parse.text[ '*' ], rvprop: '' }; if ( section !== '' ) { @@ -106,8 +110,8 @@ } return api.post( postData ).done( function ( result2 ) { try { - var diffHtml = result2.query.pages[result2.query.pageids[0]] - .revisions[0].diff['*']; + var diffHtml = result2.query.pages[ result2.query.pageids[ 0 ] ] + .revisions[ 0 ].diff[ '*' ]; $wikiDiff.find( 'table.diff tbody' ).html( diffHtml ); } catch ( e ) { // "result.blah is undefined" error, ignore @@ -121,12 +125,15 @@ $.extend( postData, { pst: '', preview: '', - prop: 'text|displaytitle|modules|categorieshtml|templates|langlinks|limitreporthtml', + prop: 'text|displaytitle|modules|jsconfigvars|categorieshtml|templates|langlinks|limitreporthtml', disableeditsection: true } ); request = api.post( postData ); request.done( function ( response ) { var li, newList, $displaytitle, $content, $parent, $list; + if ( response.parse.jsconfigvars ) { + mw.config.set( response.parse.jsconfigvars ); + } if ( response.parse.modules ) { mw.loader.load( response.parse.modules.concat( response.parse.modulescripts, @@ -148,7 +155,7 @@ ); } if ( response.parse.categorieshtml ) { - $( '#catlinks' ).replaceWith( response.parse.categorieshtml['*'] ); + $( '#catlinks' ).replaceWith( response.parse.categorieshtml[ '*' ] ); } if ( response.parse.templates ) { newList = []; @@ -156,10 +163,10 @@ li = $( '<li>' ) .append( $( '<a>' ) .attr( { - 'href': mw.util.getUrl( template['*'] ), + href: mw.util.getUrl( template[ '*' ] ), 'class': ( template.exists !== undefined ? '' : 'new' ) } ) - .text( template['*'] ) + .text( template[ '*' ] ) ); newList.push( li ); } ); @@ -167,7 +174,7 @@ $editform.find( '.templatesUsed .mw-editfooter-list' ).detach().empty().append( newList ).appendTo( '.templatesUsed' ); } if ( response.parse.limitreporthtml ) { - $( '.limitreport' ).html( response.parse.limitreporthtml['*'] ); + $( '.limitreport' ).html( response.parse.limitreporthtml[ '*' ] ); } if ( response.parse.langlinks && mw.config.get( 'skin' ) === 'vector' ) { newList = []; @@ -176,10 +183,10 @@ .addClass( 'interlanguage-link interwiki-' + langlink.lang ) .append( $( '<a>' ) .attr( { - 'href': langlink.url, - 'title': langlink['*'] + ' - ' + langlink.langname, - 'lang': langlink.lang, - 'hreflang': langlink.lang + href: langlink.url, + title: langlink[ '*' ] + ' - ' + langlink.langname, + lang: langlink.lang, + hreflang: langlink.lang } ) .text( langlink.autonym ) ); @@ -190,11 +197,11 @@ $list.detach().empty().append( newList ).prependTo( $parent ); } - if ( response.parse.text['*'] ) { + if ( response.parse.text[ '*' ] ) { $content = $wikiPreview.children( '.mw-content-ltr,.mw-content-rtl' ); $content .detach() - .html( response.parse.text['*'] ); + .html( response.parse.text[ '*' ] ); mw.hook( 'wikipage.content' ).fire( $content ); @@ -208,23 +215,23 @@ } request.done( function ( response ) { var isSubject = ( section === 'new' ), - summaryMsg = isSubject ? 'subject-preview' : 'summary-preview'; - if ( response.parse.parsedsummary ) { - $editform.find( '.mw-summary-preview' ) - .empty() - .append( - mw.message( summaryMsg ).parse(), - ' ', - $( '<span>' ).addClass( 'comment' ).html( - // There is no equivalent to rawParams - mw.message( 'parentheses' ).escaped() - .replace( '$1', response.parse.parsedsummary['*'] ) - ) - ); + summaryMsg = isSubject ? 'subject-preview' : 'summary-preview', + $summaryPreview = $editform.find( '.mw-summary-preview' ).empty(); + if ( response.parse.parsedsummary && response.parse.parsedsummary[ '*' ] !== '' ) { + $summaryPreview.append( + mw.message( summaryMsg ).parse(), + ' ', + $( '<span>' ).addClass( 'comment' ).html( + // There is no equivalent to rawParams + mw.message( 'parentheses' ).escaped() + .replace( '$1', response.parse.parsedsummary[ '*' ] ) + ) + ); } + mw.hook( 'wikipage.editform' ).fire( $editform ); } ); request.always( function () { - $spinner.remove(); + $spinner.hide(); $copyElements.animate( { opacity: 1 }, 'fast' ); @@ -265,9 +272,9 @@ $( '.portal:last' ).after( $( '<div>' ).attr( { 'class': 'portal', - 'id': 'p-lang', - 'role': 'navigation', - 'title': mw.msg( 'tooltip-p-lang' ), + id: 'p-lang', + role: 'navigation', + title: mw.msg( 'tooltip-p-lang' ), 'aria-labelledby': 'p-lang-label' } ) .append( $( '<h3>' ).attr( 'id', 'p-lang-label' ).text( mw.msg( 'otherlanguages' ) ) ) diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.stash.js b/resources/src/mediawiki.action/mediawiki.action.edit.stash.js index 29c533d8..abe912de 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.stash.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.stash.js @@ -3,7 +3,7 @@ */ ( function ( mw, $ ) { $( function () { - var idleTimeout = 4000, + var idleTimeout = 3000, api = new mw.Api(), pending = null, $form = $( '#editform' ), diff --git a/resources/src/mediawiki.action/mediawiki.action.history.js b/resources/src/mediawiki.action/mediawiki.action.history.js index 2ebfe921..077d5e3a 100644 --- a/resources/src/mediawiki.action/mediawiki.action.history.js +++ b/resources/src/mediawiki.action/mediawiki.action.history.js @@ -9,7 +9,7 @@ jQuery( function ( $ ) { /** * @ignore * @context {Element} input - * @param e {jQuery.Event} + * @param {jQuery.Event} e */ function updateDiffRadios() { var nextState = 'before', diff --git a/resources/src/mediawiki.action/mediawiki.action.view.filepage.css b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css new file mode 100644 index 00000000..bfc201af --- /dev/null +++ b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css @@ -0,0 +1,71 @@ +/*! + * File description page + */ + +div.mw-filepage-resolutioninfo { + font-size: smaller; +} + +/* + * File histories + */ +h2#filehistory { + clear: both; +} + +table.filehistory th, +table.filehistory td { + vertical-align: top; +} + +table.filehistory th { + text-align: left; +} + +table.filehistory td.mw-imagepage-filesize, +table.filehistory th.mw-imagepage-filesize { + white-space: nowrap; +} + +table.filehistory td.filehistory-selected { + font-weight: bold; +} + +/* + * Add a checkered background image on hover for file + * description pages. (bug 26470) + */ +.filehistory a img, +#file img:hover { + /* @embed */ + background: white url(images/checker.png) repeat; +} + +/* + * filetoc + */ +ul#filetoc { + text-align: center; + border: 1px solid #aaaaaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; + margin-bottom: 0.5em; + margin-left: 0; + margin-right: 0; +} + +#filetoc li { + display: inline; + list-style-type: none; + padding-right: 2em; +} + +/* + * Shared images hint + */ +#shared-image-dup, +#shared-image-conflict { + font-style: italic; +} + diff --git a/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css b/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css new file mode 100644 index 00000000..15b20f10 --- /dev/null +++ b/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css @@ -0,0 +1,8 @@ +/*! + * File description page - print style + */ + +span.mw-filepage-other-resolutions, +#filetoc { + display: none; +} diff --git a/resources/src/mediawiki.action/mediawiki.action.view.metadata.css b/resources/src/mediawiki.action/mediawiki.action.view.metadata.css index 9f786ecb..b07965ee 100644 --- a/resources/src/mediawiki.action/mediawiki.action.view.metadata.css +++ b/resources/src/mediawiki.action/mediawiki.action.view.metadata.css @@ -14,3 +14,9 @@ table.collapsed tr.collapsable { -ms-user-select: none; user-select: none; } + +@media print { + tr.mw-metadata-show-hide-extended { + display: none; + } +} diff --git a/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js b/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js index c008dfd8..168a1c18 100644 --- a/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js +++ b/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js @@ -24,6 +24,19 @@ cookieVal = mw.cookie.get( cookieKey ), $div, id; + function removeConfirmation() { + $div.remove(); + mw.hook( 'postEdit.afterRemoval' ).fire(); + } + + function fadeOutConfirmation() { + clearTimeout( id ); + $div.find( '.postedit' ).addClass( 'postedit postedit-faded' ); + setTimeout( removeConfirmation, 500 ); + + return false; + } + function showConfirmation( data ) { data = data || {}; if ( data.message === undefined ) { @@ -45,19 +58,6 @@ id = setTimeout( fadeOutConfirmation, 3000 ); } - function fadeOutConfirmation() { - clearTimeout( id ); - $div.find( '.postedit' ).addClass( 'postedit postedit-faded' ); - setTimeout( removeConfirmation, 500 ); - - return false; - } - - function removeConfirmation() { - $div.remove(); - mw.hook( 'postEdit.afterRemoval' ).fire(); - } - mw.hook( 'postEdit' ).add( showConfirmation ); if ( config.wgAction === 'view' && cookieVal ) { @@ -68,7 +68,7 @@ // postedit-confirmation-saved // postedit-confirmation-created // postedit-confirmation-restored - 'message': mw.msg( + message: mw.msg( 'postedit-confirmation-' + cookieVal, mw.user ) |