wiki.techinc.nl/resources/lib/oojs-ui/oojs-ui-mediawiki.js
James D. Forrester b3bddf938e Update OOjs UI to v0.17.5
Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.17.5

Change-Id: I17caee666b1d1cc2da670e073ef57122a66ecfc6
2016-06-29 14:32:06 +01:00

79 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!
* OOjs UI v0.17.5
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 20112016 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2016-06-29T13:27:08Z
*/
( function ( OO ) {
'use strict';
/**
* @class
* @extends OO.ui.Theme
*
* @constructor
*/
OO.ui.MediaWikiTheme = function OoUiMediaWikiTheme() {
// Parent constructor
OO.ui.MediaWikiTheme.parent.call( this );
};
/* Setup */
OO.inheritClass( OO.ui.MediaWikiTheme, OO.ui.Theme );
/* Methods */
/**
* @inheritdoc
*/
OO.ui.MediaWikiTheme.prototype.getElementClasses = function ( element ) {
// Parent method
var variant, isFramed, isActive,
variants = {
warning: false,
invert: false,
progressive: false,
constructive: false,
destructive: false
},
// Parent method
classes = OO.ui.MediaWikiTheme.parent.prototype.getElementClasses.call( this, element );
if ( element.supports( [ 'hasFlag' ] ) ) {
isFramed = element.supports( [ 'isFramed' ] ) && element.isFramed();
isActive = element.supports( [ 'isActive' ] ) && element.isActive();
if (
( isFramed && ( isActive || element.isDisabled() || element.hasFlag( 'primary' ) ) )
) {
// Button with a dark background, use white icon
variants.invert = true;
} else if ( !isFramed && element.isDisabled() ) {
// Frameless disabled button, always use black icon regardless of flags
variants.invert = false;
} else {
// Any other kind of button, use the right colored icon if available
variants.progressive = element.hasFlag( 'progressive' );
variants.constructive = element.hasFlag( 'constructive' );
variants.destructive = element.hasFlag( 'destructive' );
variants.warning = element.hasFlag( 'warning' );
}
}
for ( variant in variants ) {
classes[ variants[ variant ] ? 'on' : 'off' ].push( 'oo-ui-image-' + variant );
}
return classes;
};
/* Instantiation */
OO.ui.theme = new OO.ui.MediaWikiTheme();
}( OO ) );