Merge "Special:Upload should not crash on failing previews"
[mediawiki.git] / resources / lib / oojs-ui / oojs-ui-mediawiki.js
blob32daabdb2baf8995583f84a70c16220ebe021fce
1 /*!
2  * OOjs UI v0.18.4-fix (d4045dee45)
3  * https://www.mediawiki.org/wiki/OOjs_UI
4  *
5  * Copyright 2011–2017 OOjs UI Team and other contributors.
6  * Released under the MIT license
7  * http://oojs.mit-license.org
8  *
9  * Date: 2017-01-19T20:22:26Z
10  */
11 ( function ( OO ) {
13 'use strict';
15 /**
16  * @class
17  * @extends OO.ui.Theme
18  *
19  * @constructor
20  */
21 OO.ui.MediaWikiTheme = function OoUiMediaWikiTheme() {
22         // Parent constructor
23         OO.ui.MediaWikiTheme.parent.call( this );
26 /* Setup */
28 OO.inheritClass( OO.ui.MediaWikiTheme, OO.ui.Theme );
30 /* Methods */
32 /**
33  * @inheritdoc
34  */
35 OO.ui.MediaWikiTheme.prototype.getElementClasses = function ( element ) {
36         // Parent method
37         var variant, isFramed, isActive,
38                 variants = {
39                         warning: false,
40                         invert: false,
41                         progressive: false,
42                         constructive: false,
43                         destructive: false
44                 },
45                 // Parent method
46                 classes = OO.ui.MediaWikiTheme.parent.prototype.getElementClasses.call( this, element );
48         if ( element.supports( [ 'hasFlag' ] ) ) {
49                 isFramed = element.supports( [ 'isFramed' ] ) && element.isFramed();
50                 isActive = element.supports( [ 'isActive' ] ) && element.isActive();
51                 if ( isFramed && ( isActive || element.isDisabled() || element.hasFlag( 'primary' ) ) ) {
52                         // Button with a dark background, use white icon
53                         variants.invert = true;
54                 } else if ( !isFramed && element.isDisabled() ) {
55                         // Frameless disabled button, always use black icon regardless of flags
56                         variants.invert = false;
57                 } else if ( !element.isDisabled() ) {
58                         // Any other kind of button, use the right colored icon if available
59                         variants.progressive = element.hasFlag( 'progressive' );
60                         variants.constructive = element.hasFlag( 'constructive' );
61                         variants.destructive = element.hasFlag( 'destructive' );
62                         variants.warning = element.hasFlag( 'warning' );
63                 }
64         }
66         for ( variant in variants ) {
67                 classes[ variants[ variant ] ? 'on' : 'off' ].push( 'oo-ui-image-' + variant );
68         }
70         return classes;
73 /**
74  * @inheritdoc
75  */
76 OO.ui.MediaWikiTheme.prototype.getDialogTransitionDuration = function () {
77         return 250;
80 /* Instantiation */
82 OO.ui.theme = new OO.ui.MediaWikiTheme();
84 }( OO ) );
86 //# sourceMappingURL=oojs-ui-mediawiki.js.map