Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/270262

Change subject: scrollIntoView: Deprecate callback in favour of promise
......................................................................

scrollIntoView: Deprecate callback in favour of promise

Change-Id: I7cd4f20ab889e42d760e3f88163f62eacfc3cad4
---
M src/Element.js
1 file changed, 14 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/62/270262/1

diff --git a/src/Element.js b/src/Element.js
index 4f86844..0244690 100644
--- a/src/Element.js
+++ b/src/Element.js
@@ -568,13 +568,16 @@
  * @static
  * @param {HTMLElement} el Element to scroll into view
  * @param {Object} [config] Configuration options
- * @param {string} [config.duration] jQuery animation duration value
+ * @param {string} [config.duration='fast'] jQuery animation duration value
  * @param {string} [config.direction] Scroll in only one direction, e.g. 'x' 
or 'y', omit
  *  to scroll in both directions
- * @param {Function} [config.complete] Function to call when scrolling 
completes
+ * @param {Function} [config.complete] Function to call when scrolling 
completes.
+ *  Deprecated since 0.15.3, use return promise instead.
+ * @return {jQuery.Promise} Promise which resolves when the scroll is complete
  */
 OO.ui.Element.static.scrollIntoView = function ( el, config ) {
-       var position, animations, callback, container, $container, 
elementDimensions, containerDimensions, $window;
+       var position, animations, callback, container, $container, 
elementDimensions, containerDimensions, $window,
+               deferred = $.Deferred();
 
        // Configuration initialization
        config = config || {};
@@ -622,17 +625,20 @@
        }
        if ( !$.isEmptyObject( animations ) ) {
                $container.stop( true ).animate( animations, config.duration || 
'fast' );
-               if ( callback ) {
-                       $container.queue( function ( next ) {
+               $container.queue( function ( next ) {
+                       if ( callback ) {
                                callback();
-                               next();
-                       } );
-               }
+                       }
+                       deferred.resolve();
+                       next();
+               } );
        } else {
                if ( callback ) {
                        callback();
+                       deferred.resolve();
                }
        }
+       return deferred.promise();
 };
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/270262
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7cd4f20ab889e42d760e3f88163f62eacfc3cad4
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to