mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/MultimediaViewer
synced 2024-09-23 10:22:14 +00:00
eslint: Update eslint-config-wikimedia to 0.16.2
Change-Id: I0c35ed9b5ab00952124cb0e5c6c48fbc0d734f60
This commit is contained in:
parent
d554d7f426
commit
bfdcd8dbf1
|
@ -2,18 +2,14 @@
|
|||
"root": true,
|
||||
"extends": [
|
||||
"wikimedia/client",
|
||||
"wikimedia/jquery"
|
||||
"wikimedia/jquery",
|
||||
"wikimedia/mediawiki",
|
||||
"wikimedia/jsduck"
|
||||
],
|
||||
"globals": {
|
||||
"OO": false,
|
||||
"mw": false
|
||||
},
|
||||
"rules": {
|
||||
"max-len": "off",
|
||||
"max-statements-per-line": "off",
|
||||
"no-jquery/no-class-state": "off",
|
||||
"no-jquery/no-noop": "off",
|
||||
"no-jquery/no-now": "off",
|
||||
"no-jquery/no-support": "off"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,9 +12,8 @@ module.exports = function ( grunt ) {
|
|||
banana: conf.MessagesDirs,
|
||||
eslint: {
|
||||
options: {
|
||||
extensions: [ '.js', '.json' ],
|
||||
fix: grunt.option( 'fix' ),
|
||||
cache: true
|
||||
cache: true,
|
||||
fix: grunt.option( 'fix' )
|
||||
},
|
||||
all: [
|
||||
'**/*.{js,json}',
|
||||
|
@ -23,8 +22,7 @@ module.exports = function ( grunt ) {
|
|||
},
|
||||
stylelint: {
|
||||
options: {
|
||||
fix: grunt.option( 'fix' ),
|
||||
syntax: 'less'
|
||||
fix: grunt.option( 'fix' )
|
||||
},
|
||||
src: 'resources/mmv/**/*.{css,less}'
|
||||
},
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"jQuery.Promise",
|
||||
"jQuery.Deferred",
|
||||
"jQuery.Event",
|
||||
"jqXHR"
|
||||
"jQuery.jqXHR"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
@ -97,6 +97,6 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @class jqXHR
|
||||
* @class jQuery.jqXHR
|
||||
* An XMLHttpRequest object wrapped by jQuery
|
||||
*/
|
||||
|
|
8142
package-lock.json
generated
8142
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -6,10 +6,10 @@
|
|||
"doc": "jsduck"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint-config-wikimedia": "0.15.3",
|
||||
"eslint-config-wikimedia": "0.16.2",
|
||||
"grunt": "1.1.0",
|
||||
"grunt-banana-checker": "0.9.0",
|
||||
"grunt-eslint": "22.0.0",
|
||||
"grunt-eslint": "23.0.0",
|
||||
"grunt-stylelint": "0.15.0",
|
||||
"grunt-svgmin": "6.0.0",
|
||||
"stylelint-config-wikimedia": "0.10.1"
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
* same image 10 times by hitting the prev/next buttons, there will be 10
|
||||
* image-view events, etc.
|
||||
*
|
||||
* @property
|
||||
* @property {Object}
|
||||
* @static
|
||||
*/
|
||||
L.logActions = {
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
*/
|
||||
L.schema = 'MultimediaViewerDuration';
|
||||
|
||||
// eslint-disable-next-line valid-jsdoc
|
||||
/**
|
||||
* Saves the start of a duration
|
||||
*
|
||||
|
@ -80,7 +79,6 @@
|
|||
return this;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line valid-jsdoc
|
||||
/**
|
||||
* Saves the stop of a duration
|
||||
*
|
||||
|
@ -108,7 +106,6 @@
|
|||
return this;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line valid-jsdoc
|
||||
/**
|
||||
* Records the duration log event
|
||||
*
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
*/
|
||||
ROUTE_REGEXP: /^\/media\/(.+)$/,
|
||||
/**
|
||||
* @property
|
||||
* RegExp representing the legacy media route
|
||||
* @property {RegExp}
|
||||
* Regular expression representing the legacy media route
|
||||
* @member mw.mmv
|
||||
*/
|
||||
LEGACY_ROUTE_REGEXP: /^mediaviewer\/(.+)$/,
|
||||
|
|
|
@ -315,6 +315,12 @@
|
|||
DP.setButtonText = function ( sizeClass, extension, width, height ) {
|
||||
var sizeClassMessage, sizeMessage, dimensionMessage;
|
||||
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-download-original-button-name
|
||||
// * multimediaviewer-download-small-button-name
|
||||
// * multimediaviewer-download-medium-button-name
|
||||
// * multimediaviewer-download-large-button-name
|
||||
// * multimediaviewer-download-xl-button-name
|
||||
sizeClassMessage = mw.message( 'multimediaviewer-download-' + sizeClass + '-button-name' ).text();
|
||||
dimensionMessage = mw.message( 'multimediaviewer-embed-dimensions', width, height ).text();
|
||||
sizeMessage = mw.message( 'multimediaviewer-embed-dimensions-with-file-format',
|
||||
|
@ -387,7 +393,10 @@
|
|||
attributionCtaMessage = ( license && license.needsAttribution() ) ?
|
||||
'multimediaviewer-download-attribution-cta-header' :
|
||||
'multimediaviewer-download-optional-attribution-cta-header';
|
||||
// Message defined above
|
||||
// eslint-disable-next-line mediawiki/msg-doc
|
||||
this.$attributionCtaHeader.text( mw.message( attributionCtaMessage ).text() );
|
||||
// eslint-disable-next-line mediawiki/msg-doc
|
||||
this.$attributionHowHeader.text( mw.message( attributionCtaMessage ).text() );
|
||||
};
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
items = [],
|
||||
choices = {};
|
||||
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
dropdown = new OO.ui.DropdownWidget( {
|
||||
classes: classes
|
||||
} );
|
||||
|
@ -202,7 +203,15 @@
|
|||
).text()
|
||||
) );
|
||||
|
||||
// The following messagse are used here:
|
||||
return mw.message(
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-default-embed-dimensions
|
||||
// * multimediaviewer-original-embed-dimensions
|
||||
// * multimediaviewer-xl-embed-dimensions
|
||||
// * multimediaviewer-large-embed-dimensions
|
||||
// * multimediaviewer-medium-embed-dimensions
|
||||
// * multimediaviewer-small-embed-dimensions
|
||||
'multimediaviewer-' + sizeLabel + '-embed-dimensions',
|
||||
dimensions
|
||||
).text();
|
||||
|
|
|
@ -132,6 +132,10 @@
|
|||
align: 'top',
|
||||
multiline: true,
|
||||
textInput: {
|
||||
// The following classes are used here:
|
||||
// * mw-editfont-monospace
|
||||
// * mw-editfont-sans-serif
|
||||
// * mw-editfont-serif
|
||||
classes: [ 'mw-editfont-' + mw.user.options.get( 'editfont' ) ],
|
||||
placeholder: mw.message( 'multimediaviewer-reuse-loading-placeholder' ).text(),
|
||||
autosize: true,
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
* @override
|
||||
* @param {Object} parameters
|
||||
* @param {Object} [ajaxOptions]
|
||||
* @return {jQuery.Promise.<Object, jqXHR>} Done: API response data. Fail: Error code.
|
||||
* @return {jQuery.Promise} Done: API response data. Fail: Error code.
|
||||
*/
|
||||
Api.prototype.ajax = function ( parameters, ajaxOptions ) {
|
||||
var start = ( new Date() ).getTime(),
|
||||
|
|
|
@ -279,7 +279,7 @@
|
|||
*
|
||||
* @param {string} type the type of request to be measured
|
||||
* @param {number} total the total load time tracked with a basic technique
|
||||
* @param {jqXHR} jqxhr
|
||||
* @param {jQuery.jqXHR} jqxhr
|
||||
*/
|
||||
PL.recordJQueryEntry = function ( type, total, jqxhr ) {
|
||||
var perf = this;
|
||||
|
@ -339,7 +339,7 @@
|
|||
*
|
||||
* @param {string} type the type of request to be measured
|
||||
* @param {number} total the total load time tracked with a basic technique
|
||||
* @param {jqXHR} jqxhr
|
||||
* @param {jQuery.jqXHR} jqxhr
|
||||
*/
|
||||
PL.recordJQueryEntryDelayed = function ( type, total, jqxhr ) {
|
||||
var perf = this;
|
||||
|
|
|
@ -214,6 +214,7 @@
|
|||
this.fetchThumbnailForLightboxImage(
|
||||
image, imageWidths.real
|
||||
).then( function ( thumbnail, image ) {
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
image.className = ext;
|
||||
viewer.setImage( ui, thumbnail, image, imageWidths );
|
||||
}, function ( error ) {
|
||||
|
@ -286,6 +287,7 @@
|
|||
// know what size it should be. We still assign it to allow for
|
||||
// size calculations in getCurrentImageWidths, which needs to know
|
||||
// the aspect ratio
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
$initialImage.hide()
|
||||
.removeAttr( 'style' )
|
||||
.removeClass()
|
||||
|
@ -336,6 +338,7 @@
|
|||
} );
|
||||
}
|
||||
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
imageElement.className = 'mw-mmv-final-image ' + image.filePageTitle.getExtension().toLowerCase();
|
||||
imageElement.alt = image.alt;
|
||||
|
||||
|
|
|
@ -116,6 +116,24 @@
|
|||
LP.getShortName = function () {
|
||||
var message = 'multimediaviewer-license-' + ( this.internalName || '' );
|
||||
if ( mw.messages.exists( message ) ) {
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-license-cc-by-1.0
|
||||
// * multimediaviewer-license-cc-sa-1.0
|
||||
// * multimediaviewer-license-cc-by-sa-1.0
|
||||
// * multimediaviewer-license-cc-by-2.0
|
||||
// * multimediaviewer-license-cc-by-sa-2.0
|
||||
// * multimediaviewer-license-cc-by-2.1
|
||||
// * multimediaviewer-license-cc-by-sa-2.1
|
||||
// * multimediaviewer-license-cc-by-2.5
|
||||
// * multimediaviewer-license-cc-by-sa-2.5
|
||||
// * multimediaviewer-license-cc-by-3.0
|
||||
// * multimediaviewer-license-cc-by-sa-3.0
|
||||
// * multimediaviewer-license-cc-by-4.0
|
||||
// * multimediaviewer-license-cc-by-sa-4.0
|
||||
// * multimediaviewer-license-cc-pd
|
||||
// * multimediaviewer-license-cc-zero
|
||||
// * multimediaviewer-license-pd
|
||||
// * multimediaviewer-license-default
|
||||
return mw.message( message ).text();
|
||||
} else {
|
||||
return this.shortName;
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
/**
|
||||
* Maximum blownup factor tolerated
|
||||
*
|
||||
* @property MAX_BLOWUP_FACTOR
|
||||
* @property {number} MAX_BLOWUP_FACTOR
|
||||
* @static
|
||||
*/
|
||||
Canvas.MAX_BLOWUP_FACTOR = 11;
|
||||
|
@ -93,7 +93,7 @@
|
|||
/**
|
||||
* Blowup factor threshold at which blurring kicks in
|
||||
*
|
||||
* @property BLUR_BLOWUP_FACTOR_THRESHOLD
|
||||
* @property {number} BLUR_BLOWUP_FACTOR_THRESHOLD
|
||||
* @static
|
||||
*/
|
||||
Canvas.BLUR_BLOWUP_FACTOR_THRESHOLD = 2;
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
/**
|
||||
* Maximum number of restriction icons before default icon is used
|
||||
*
|
||||
* @property MAX_RESTRICT
|
||||
* @property {number} MAX_RESTRICT
|
||||
* @static
|
||||
*/
|
||||
MetadataPanel.MAX_RESTRICT = 4;
|
||||
|
@ -465,7 +465,7 @@
|
|||
MPP.setDateTime = function ( date, created ) {
|
||||
this.$datetime.text(
|
||||
mw.message(
|
||||
'multimediaviewer-datetime-' + ( created ? 'created' : 'uploaded' ),
|
||||
( created ? 'multimediaviewer-datetime-created' : 'multimediaviewer-datetime-uploaded' ),
|
||||
date
|
||||
).text()
|
||||
);
|
||||
|
@ -631,6 +631,22 @@
|
|||
validRestrictions = 0;
|
||||
|
||||
restrictions.forEach( function ( value, index ) {
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-restriction-2257
|
||||
// * multimediaviewer-restriction-aus-reserve
|
||||
// * multimediaviewer-restriction-communist
|
||||
// * multimediaviewer-restriction-costume
|
||||
// * multimediaviewer-restriction-currency
|
||||
// * multimediaviewer-restriction-design
|
||||
// * multimediaviewer-restriction-fan-art
|
||||
// * multimediaviewer-restriction-ihl
|
||||
// * multimediaviewer-restriction-insignia
|
||||
// * multimediaviewer-restriction-ita-mibac
|
||||
// * multimediaviewer-restriction-nazi
|
||||
// * multimediaviewer-restriction-personality
|
||||
// * multimediaviewer-restriction-trademarked
|
||||
// * multimediaviewer-restriction-default
|
||||
// * multimediaviewer-restriction-default-and-others
|
||||
if ( !mw.message( 'multimediaviewer-restriction-' + value ).exists() || value === 'default' || index + 1 > MetadataPanel.MAX_RESTRICT ) {
|
||||
showDefault = true; // If the restriction isn't defined or there are more than MAX_RESTRICT of them, show a generic symbol at the end
|
||||
return;
|
||||
|
@ -663,6 +679,7 @@
|
|||
MPP.createRestriction = function ( type ) {
|
||||
var $label = $( '<span>' )
|
||||
.addClass( 'mw-mmv-label mw-mmv-restriction-label' )
|
||||
// Messages documented above
|
||||
.prop( 'title', mw.message( 'multimediaviewer-restriction-' + type ).text() )
|
||||
.tipsy( {
|
||||
delay: mw.config.get( 'wgMultimediaViewer' ).tooltipDelay,
|
||||
|
@ -670,6 +687,21 @@
|
|||
} );
|
||||
|
||||
$( '<span>' )
|
||||
// The following classes are used here:
|
||||
// * mw-mmv-restriction-2257
|
||||
// * mw-mmv-restriction-aus-reserve
|
||||
// * mw-mmv-restriction-communist
|
||||
// * mw-mmv-restriction-costume
|
||||
// * mw-mmv-restriction-currency
|
||||
// * mw-mmv-restriction-design
|
||||
// * mw-mmv-restriction-fan-art
|
||||
// * mw-mmv-restriction-ihl
|
||||
// * mw-mmv-restriction-insignia
|
||||
// * mw-mmv-restriction-ita-mibac
|
||||
// * mw-mmv-restriction-nazi
|
||||
// * mw-mmv-restriction-personality
|
||||
// * mw-mmv-restriction-trademarked:after
|
||||
// * mw-mmv-restriction-default
|
||||
.addClass( 'mw-mmv-restriction-label-inner mw-mmv-restriction-' +
|
||||
( type === 'default-and-others' ? 'default' : type ) )
|
||||
.text( mw.message( 'multimediaviewer-restriction-' + type ).text() )
|
||||
|
@ -718,6 +750,9 @@
|
|||
mw.language.convertNumber( latdeg ),
|
||||
mw.language.convertNumber( latmin ),
|
||||
mw.language.convertNumber( latsec ),
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-geoloc-north
|
||||
// * multimediaviewer-geoloc-south
|
||||
mw.message( latmsg ).text()
|
||||
).text(),
|
||||
|
||||
|
@ -726,6 +761,9 @@
|
|||
mw.language.convertNumber( longdeg ),
|
||||
mw.language.convertNumber( longmin ),
|
||||
mw.language.convertNumber( longsec ),
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-geoloc-east
|
||||
// * multimediaviewer-geoloc-west
|
||||
mw.message( longmsg ).text()
|
||||
).text()
|
||||
).text()
|
||||
|
|
|
@ -56,6 +56,9 @@
|
|||
function makeTab( type ) {
|
||||
return new OO.ui.MenuOptionWidget( {
|
||||
data: type,
|
||||
// The following messages are used here:
|
||||
// * multimediaviewer-embed-tab
|
||||
// * multimediaviewer-share-tab
|
||||
label: mw.message( 'multimediaviewer-' + type + '-tab' ).text()
|
||||
} );
|
||||
}
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
SBP.createButton = function ( cssClass ) {
|
||||
var $button;
|
||||
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
$button = $( '<a>' )
|
||||
.addClass( 'mw-mmv-stripe-button empty ' + cssClass )
|
||||
// elements are right-floated so we use prepend instead of append to keep the order
|
||||
|
|
|
@ -128,6 +128,7 @@
|
|||
|
||||
TTFP.empty = function () {
|
||||
this.$element.empty();
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
this.$container
|
||||
.removeClass( this.options.styles.concat( [ 'mw-mmv-ttf-untruncated', 'mw-mmv-ttf-truncated' ] ) )
|
||||
.addClass( 'empty' );
|
||||
|
@ -219,6 +220,7 @@
|
|||
newClass = 'mw-mmv-ttf-normal',
|
||||
field = this;
|
||||
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
this.$container
|
||||
.removeClass( this.options.styles.concat( [ 'mw-mmv-ttf-untruncated', 'mw-mmv-ttf-truncated' ] ) )
|
||||
.addClass( newClass );
|
||||
|
@ -232,6 +234,7 @@
|
|||
|
||||
oldClass = newClass;
|
||||
newClass = v;
|
||||
// eslint-disable-next-line mediawiki/class-doc
|
||||
field.$container.removeClass( oldClass ).addClass( newClass );
|
||||
} );
|
||||
};
|
||||
|
|
|
@ -196,6 +196,9 @@
|
|||
ODP.createConfirmationPane = function ( divClass, propName, msgs ) {
|
||||
var dialog = this,
|
||||
$div = $( '<div>' )
|
||||
// The following classes are used here:
|
||||
// * mw-mmv-enable-confirmation
|
||||
// * mw-mmv-disable-confirmation
|
||||
.addClass( divClass )
|
||||
.appendTo( this.$dialog );
|
||||
|
||||
|
@ -223,6 +226,9 @@
|
|||
*/
|
||||
ODP.createActionPane = function ( divClass, propName, smsg, msgs, enabled ) {
|
||||
var $div = $( '<div>' )
|
||||
// The following classes are used here:
|
||||
// * mw-mmv-options-enable
|
||||
// * mw-mmv-options-disable
|
||||
.addClass( divClass )
|
||||
.appendTo( this.$dialog );
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
"extends": [
|
||||
"wikimedia/qunit",
|
||||
"../../.eslintrc.json"
|
||||
"wikimedia/qunit"
|
||||
],
|
||||
"globals": {
|
||||
"sinon": "readonly"
|
||||
},
|
||||
"rules": {
|
||||
"no-jquery/no-global-selector": "off",
|
||||
"no-jquery/no-sizzle": "off"
|
||||
|
|
|
@ -150,7 +150,7 @@
|
|||
* were created in functions upon which `asyncMethod` was called have
|
||||
* resolved.
|
||||
*
|
||||
* @return {$.Promise}
|
||||
* @return {jQuery.Promise}
|
||||
*/
|
||||
MTH.waitForAsync = function () {
|
||||
var deferred = $.Deferred();
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
* @param {number} height
|
||||
* @param {jQuery} $qf fixture element
|
||||
* @param {Object} sandbox sinon instance
|
||||
* @return {TruncatableTextField}
|
||||
* @return {mw.mmv.ui.TruncatableTextField}
|
||||
*/
|
||||
function getField( width, height, $qf, sandbox ) {
|
||||
var $container = $( '<div>' ).appendTo( $qf ),
|
||||
|
|
Loading…
Reference in a new issue