add error separate callback

This commit is contained in:
Felix Wiedenbach 2021-02-06 21:22:13 +01:00
parent 84995c9252
commit 88ed5ed373
2 changed files with 17 additions and 13 deletions

View File

@ -279,8 +279,9 @@ var MM = (function () {
* @param {number} speed The speed of the show animation. * @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done. * @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method. * @param {object} [options] Optional settings for the show method.
* @param {Function} errorCallback Called when the module failed to show.
*/ */
var showModule = function (module, speed, callback, options) { var showModule = function (module, speed, callback, errorCallback, options) {
options = options || {}; options = options || {};
// remove lockString if set in options. // remove lockString if set in options.
@ -295,7 +296,9 @@ var MM = (function () {
// Otherwise cancel show action. // Otherwise cancel show action.
if (module.lockStrings.length !== 0 && options.force !== true) { if (module.lockStrings.length !== 0 && options.force !== true) {
Log.log("Will not show " + module.name + ". LockStrings active: " + module.lockStrings.join(",")); Log.log("Will not show " + module.name + ". LockStrings active: " + module.lockStrings.join(","));
callback(new Error("ERR_ACTIVE_LOCK_STRINGS")); if (typeof errorCallback === "function") {
errorCallback(new Error("ERR_ACTIVE_LOCK_STRINGS"));
}
return; return;
} }
@ -322,13 +325,13 @@ var MM = (function () {
clearTimeout(module.showHideTimer); clearTimeout(module.showHideTimer);
module.showHideTimer = setTimeout(function () { module.showHideTimer = setTimeout(function () {
if (typeof callback === "function") { if (typeof callback === "function") {
callback(null); callback();
} }
}, speed); }, speed);
} else { } else {
// invoke callback // invoke callback
if (typeof callback === "function") { if (typeof callback === "function") {
callback(null); callback();
} }
} }
}; };
@ -587,10 +590,11 @@ var MM = (function () {
* @param {number} speed The speed of the show animation. * @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done. * @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method. * @param {object} [options] Optional settings for the show method.
* @param {Function} errorCallback Called when the module failed to show.
*/ */
showModule: function (module, speed, callback, options) { showModule: function (module, speed, callback, errorCallback, options) {
// do not change module.hidden yet, only if we really show it later // do not change module.hidden yet, only if we really show it later
showModule(module, speed, callback, options); showModule(module, speed, callback, errorCallback, options);
} }
}; };
})(); })();

View File

@ -416,8 +416,9 @@ var Module = Class.extend({
* @param {number} speed The speed of the show animation. * @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done. * @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method. * @param {object} [options] Optional settings for the show method.
* @param {Function} errorCallback Called when the module failed to show.
*/ */
show: function (speed, callback, options) { show: function (speed, callback, options, errorCallback) {
if (typeof callback === "object") { if (typeof callback === "object") {
options = callback; options = callback;
callback = function () {}; callback = function () {};
@ -425,17 +426,16 @@ var Module = Class.extend({
callback = callback || function () {}; callback = callback || function () {};
options = options || {}; options = options || {};
errorCallback = errorCallback || function () {};
var self = this;
MM.showModule( MM.showModule(
this, this,
speed, speed,
function (error) { () => {
if (!error) { this.resume();
self.resume(); callback();
}
callback(error);
}, },
errorCallback,
options options
); );
} }