From 7dec7b9abac87607a1f4c1d2757b265db3b7da64 Mon Sep 17 00:00:00 2001 From: akansjain <100862574+akansjain@users.noreply.github.com> Date: Fri, 9 Jun 2023 17:58:22 +0530 Subject: [PATCH] Added console.error() in createCallback() function --- src/openseadragon.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/openseadragon.js b/src/openseadragon.js index bcd629ef..7b306f2d 100644 --- a/src/openseadragon.js +++ b/src/openseadragon.js @@ -2251,6 +2251,42 @@ function OpenSeadragon( options ){ event.stopPropagation(); }, + /** + * Similar to OpenSeadragon.delegate, but it does not immediately call + * the method on the object, returning a function which can be called + * repeatedly to delegate the method. It also allows additional arguments + * to be passed during construction which will be added during each + * invocation, and each invocation can add additional arguments as well. + * + * @function + * @param {Object} object + * @param {Function} method + * @param [args] any additional arguments are passed as arguments to the + * created callback + * @returns {Function} + */ + createCallback: function( object, method ) { + //TODO: This pattern is painful to use and debug. It's much cleaner + // to use pinning plus anonymous functions. Get rid of this + // pattern! + console.error('The createCallback function is deprecated and will be removed in future versions. Please use alternativeFunction instead.'); + var initialArgs = [], + i; + for ( i = 2; i < arguments.length; i++ ) { + initialArgs.push( arguments[ i ] ); + } + + return function() { + var args = initialArgs.concat( [] ), + i; + for ( i = 0; i < arguments.length; i++ ) { + args.push( arguments[ i ] ); + } + + return method.apply( object, args ); + }; + }, + /** * Retrieves the value of a url parameter from the window.location string.