Merge "Add block and unblock commands to WDIO"
[lhc/web/wiklou.git] / resources / lib / ooui / oojs-ui-windows.js
index 62b7681..f86aee1 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOUI v0.29.4
+ * OOUI v0.30.2
  * https://www.mediawiki.org/wiki/OOUI
  *
- * Copyright 2011–2018 OOUI Team and other contributors.
+ * Copyright 2011–2019 OOUI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2018-11-07T00:58:30Z
+ * Date: 2019-01-23T01:14:20Z
  */
 ( function ( OO ) {
 
@@ -159,7 +159,7 @@ OO.ui.ActionWidget.prototype.getModes = function () {
  *         return this.panel1.$element.outerHeight( true );
  *     };
  *     var windowManager = new OO.ui.WindowManager();
- *     $( 'body' ).append( windowManager.$element );
+ *     $( document.body ).append( windowManager.$element );
  *     var dialog = new MyProcessDialog( {
  *         size: 'medium'
  *     } );
@@ -639,7 +639,7 @@ OO.ui.Error = function OoUiError( message, config ) {
        config = config || {};
 
        // Properties
-       this.message = message instanceof jQuery ? message : String( message );
+       this.message = message instanceof $ ? message : String( message );
        this.recoverable = config.recoverable === undefined || !!config.recoverable;
        this.warning = !!config.warning;
 };
@@ -678,7 +678,7 @@ OO.ui.Error.prototype.isWarning = function () {
  * @return {jQuery} Error message in DOM nodes
  */
 OO.ui.Error.prototype.getMessage = function () {
-       return this.message instanceof jQuery ?
+       return this.message instanceof $ ?
                this.message.clone() :
                $( '<div>' ).text( this.message ).contents();
 };
@@ -689,7 +689,7 @@ OO.ui.Error.prototype.getMessage = function () {
  * @return {string} Error message
  */
 OO.ui.Error.prototype.getMessageText = function () {
-       return this.message instanceof jQuery ? this.message.text() : this.message;
+       return this.message instanceof $ ? this.message.text() : this.message;
 };
 
 /**
@@ -776,7 +776,7 @@ OO.ui.Process.prototype.execute = function () {
                                return $.Deferred().reject( result ).promise();
                        }
                        // Duck-type the object to see if it can produce a promise
-                       if ( result && $.isFunction( result.promise ) ) {
+                       if ( result && typeof result.promise === 'function' ) {
                                // Use a promise generated from the result
                                return result.promise();
                        }
@@ -817,7 +817,7 @@ OO.ui.Process.prototype.execute = function () {
  * @return {Object} Step object, with `callback` and `context` properties
  */
 OO.ui.Process.prototype.createStep = function ( step, context ) {
-       if ( typeof step === 'number' || $.isFunction( step.promise ) ) {
+       if ( typeof step === 'number' || typeof step.promise === 'function' ) {
                return {
                        callback: function () {
                                return step;
@@ -825,7 +825,7 @@ OO.ui.Process.prototype.createStep = function ( step, context ) {
                        context: null
                };
        }
-       if ( $.isFunction( step ) ) {
+       if ( typeof step === 'function' ) {
                return {
                        callback: step,
                        context: context
@@ -1536,7 +1536,7 @@ OO.ui.WindowManager.prototype.closeWindow = function ( win, data ) {
  * Example:
  *
  *     var windowManager = new OO.ui.WindowManager();
- *     $( 'body' ).append( windowManager.$element );
+ *     $( document.body ).append( windowManager.$element );
  *
  *     // Add a window under the default name: see OO.ui.MessageDialog.static.name
  *     windowManager.addWindows( [ new OO.ui.MessageDialog() ] );
@@ -1680,11 +1680,8 @@ OO.ui.WindowManager.prototype.toggleGlobalEvents = function ( on ) {
                        if ( stackDepth === 0 ) {
                                scrollWidth = window.innerWidth - document.documentElement.clientWidth;
                                bodyMargin = parseFloat( $body.css( 'margin-right' ) ) || 0;
-                               $body.css( {
-                                       overflow: 'hidden',
-                                       position: 'relative',
-                                       'margin-right': bodyMargin + scrollWidth
-                               } );
+                               $body.addClass( 'oo-ui-windowManager-modal-active' );
+                               $body.css( 'margin-right', bodyMargin + scrollWidth );
                        }
                        stackDepth++;
                        this.globalEvents = true;
@@ -1696,11 +1693,8 @@ OO.ui.WindowManager.prototype.toggleGlobalEvents = function ( on ) {
                } );
                stackDepth--;
                if ( stackDepth === 0 ) {
-                       $body.css( {
-                               overflow: '',
-                               position: '',
-                               'margin-right': ''
-                       } );
+                       $body.removeClass( 'oo-ui-windowManager-modal-active' );
+                       $body.css( 'margin-right', '' );
                }
                this.globalEvents = false;
        }
@@ -1732,7 +1726,7 @@ OO.ui.WindowManager.prototype.toggleAriaIsolation = function ( isolate ) {
                        this.$element.removeAttr( 'aria-hidden' );
 
                        // Hide everything other than the window manager from screen readers
-                       this.$ariaHidden = $( 'body' )
+                       this.$ariaHidden = $( document.body )
                                .children()
                                .not( 'script' )
                                .not( $topLevelElement )
@@ -2427,6 +2421,7 @@ OO.ui.Window.prototype.hold = function ( data ) {
 
                // Blur the focused element
                if ( $focus.length ) {
+                       // eslint-disable-next-line jquery/no-event-shorthand
                        $focus[ 0 ].blur();
                }
 
@@ -2485,7 +2480,7 @@ OO.ui.Window.prototype.teardown = function ( data ) {
  *     } );
  *     // Create and append a window manager, which opens and closes the window.
  *     var windowManager = new OO.ui.WindowManager();
- *     $( 'body' ).append( windowManager.$element );
+ *     $( document.body ).append( windowManager.$element );
  *     windowManager.addWindows( [ myDialog ] );
  *     // Open the window!
  *     windowManager.openWindow( myDialog );
@@ -2828,7 +2823,7 @@ OO.ui.Dialog.prototype.executeAction = function ( action ) {
  *
  *     // Create and append a window manager.
  *     var windowManager = new OO.ui.WindowManager();
- *     $( 'body' ).append( windowManager.$element );
+ *     $( document.body ).append( windowManager.$element );
  *     windowManager.addWindows( [ messageDialog ] );
  *     // Open the window.
  *     windowManager.openWindow( messageDialog, {
@@ -3183,7 +3178,7 @@ OO.ui.MessageDialog.prototype.fitActions = function () {
  *     };
  *
  *     var windowManager = new OO.ui.WindowManager();
- *     $( 'body' ).append( windowManager.$element );
+ *     $( document.body ).append( windowManager.$element );
  *
  *     var dialog = new MyProcessDialog();
  *     windowManager.addWindows( [ dialog ] );
@@ -3261,6 +3256,7 @@ OO.ui.ProcessDialog.prototype.initialize = function () {
        // Events
        this.dismissButton.connect( this, { click: 'onDismissErrorButtonClick' } );
        this.retryButton.connect( this, { click: 'onRetryButtonClick' } );
+       this.title.connect( this, { labelChange: 'fitLabel' } );
 
        // Initialization
        this.title.$element.addClass( 'oo-ui-processDialog-title' );
@@ -3511,7 +3507,7 @@ OO.ui.ProcessDialog.prototype.getTeardownProcess = function ( data ) {
 OO.ui.getWindowManager = function () {
        if ( !OO.ui.windowManager ) {
                OO.ui.windowManager = new OO.ui.WindowManager();
-               $( 'body' ).append( OO.ui.windowManager.$element );
+               $( document.body ).append( OO.ui.windowManager.$element );
                OO.ui.windowManager.addWindows( [ new OO.ui.MessageDialog() ] );
        }
        return OO.ui.windowManager;