summaryrefslogtreecommitdiff
path: root/resources/src/mediawiki.action
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-17 09:15:42 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-17 09:44:51 +0100
commita1789ddde42033f1b05cc4929491214ee6e79383 (patch)
tree63615735c4ddffaaabf2428946bb26f90899f7bf /resources/src/mediawiki.action
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff)
Update to MediaWiki 1.26.0
Diffstat (limited to 'resources/src/mediawiki.action')
-rw-r--r--resources/src/mediawiki.action/images/checker.pngbin0 -> 81 bytes
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js40
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.css3
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js2
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.js51
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.preview.js87
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.stash.js2
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.history.js2
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.view.filepage.css71
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css8
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.view.metadata.css6
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.view.postEdit.js28
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
new file mode 100644
index 00000000..3e9e3d09
--- /dev/null
+++ b/resources/src/mediawiki.action/images/checker.png
Binary files differ
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
)