45872b6d7f4a908cd9d42f23e01a5edf1963632a
[lhc/web/wiklou.git] / resources / lib / oojs-ui / oojs-ui-mediawiki.js
1 /*!
2 * OOjs UI v0.9.3
3 * https://www.mediawiki.org/wiki/OOjs_UI
4 *
5 * Copyright 2011–2015 OOjs Team and other contributors.
6 * Released under the MIT license
7 * http://oojs.mit-license.org
8 *
9 * Date: 2015-03-19T23:18:59Z
10 */
11 /**
12 * @class
13 * @extends OO.ui.Theme
14 *
15 * @constructor
16 */
17 OO.ui.MediaWikiTheme = function OoUiMediaWikiTheme() {
18 // Parent constructor
19 OO.ui.MediaWikiTheme.super.call( this );
20 };
21
22 /* Setup */
23
24 OO.inheritClass( OO.ui.MediaWikiTheme, OO.ui.Theme );
25
26 /* Methods */
27
28 /**
29 * @inheritdoc
30 */
31 OO.ui.MediaWikiTheme.prototype.getElementClasses = function ( element ) {
32 // Parent method
33 var variant,
34 variants = {
35 warning: false,
36 invert: false,
37 progressive: false,
38 constructive: false,
39 destructive: false
40 },
41 // Parent method
42 classes = OO.ui.MediaWikiTheme.super.prototype.getElementClasses.call( this, element );
43
44 if ( element.supports( [ 'isFramed', 'isDisabled', 'hasFlag' ] ) ) {
45 if ( element.isFramed() && ( element.isDisabled() || element.hasFlag( 'primary' ) ) ) {
46 variants.invert = true;
47 } else {
48 variants.progressive = element.hasFlag( 'progressive' );
49 variants.constructive = element.hasFlag( 'constructive' );
50 variants.destructive = element.hasFlag( 'destructive' );
51 variants.warning = element.hasFlag( 'warning' );
52 }
53 }
54
55 for ( variant in variants ) {
56 classes[ variants[ variant ] ? 'on' : 'off' ].push( 'oo-ui-image-' + variant );
57 }
58
59 return classes;
60 };
61
62 /* Instantiation */
63
64 OO.ui.theme = new OO.ui.MediaWikiTheme();