From abe8b199f2240d00d3367cea29c716c697664b3e Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Wed, 31 May 2017 17:22:55 +0200 Subject: [PATCH] promise chain fixed (when rejected/exception occured) --- frontend-js/src/main/js/Functions.js | 78 ++++++++++++++-------------- 1 file changed, 38 insertions(+), 40 deletions(-) diff --git a/frontend-js/src/main/js/Functions.js b/frontend-js/src/main/js/Functions.js index 7f6d092ee3..14e71695de 100644 --- a/frontend-js/src/main/js/Functions.js +++ b/frontend-js/src/main/js/Functions.js @@ -166,52 +166,50 @@ Functions.isDomElement = function(o) { Functions.overlayToColor = function(elementOverlay) { var self = this; - return new Promise(function(resolve, reject) { - /* jslint bitwise: true */ - if (elementOverlay === null || elementOverlay === undefined) { - reject("elementOverlay cannot be null!"); - } else if (elementOverlay.color !== undefined && elementOverlay.color !== null) { - resolve(self.intToColorString(elementOverlay.color.value)); - } else if (elementOverlay.value !== undefined && elementOverlay.value !== null) { - var ratio = 0; - var promiseColor = null; - if (elementOverlay.value < 0) { - ratio = -elementOverlay.value; - promiseColor = ServerConnector.getMinOverlayColorInt(); - } else { - ratio = elementOverlay.value; - promiseColor = ServerConnector.getMaxOverlayColorInt(); - } - return promiseColor.then(function(color) { + /* jslint bitwise: true */ + if (elementOverlay === null || elementOverlay === undefined) { + return Promise.reject("elementOverlay cannot be null!"); + } else if (elementOverlay.color !== undefined && elementOverlay.color !== null) { + return Promise.resolve(self.intToColorString(elementOverlay.color.value)); + } else if (elementOverlay.value !== undefined && elementOverlay.value !== null) { + var ratio = 0; + var promiseColor = null; + if (elementOverlay.value < 0) { + ratio = -elementOverlay.value; + promiseColor = ServerConnector.getMinOverlayColorInt(); + } else { + ratio = elementOverlay.value; + promiseColor = ServerConnector.getMaxOverlayColorInt(); + } + return promiseColor.then(function(color) { - ratio = 1 - ratio; - var MAX_RED = 0xFF0000; - var MAX_GREEN = 0x00FF00; - var MAX_BLUE = 0x0000FF; + ratio = 1 - ratio; + var MAX_RED = 0xFF0000; + var MAX_GREEN = 0x00FF00; + var MAX_BLUE = 0x0000FF; - var red = color & MAX_RED; + var red = color & MAX_RED; - red = red + (MAX_RED - red) * ratio; - red = parseInt(red); - red = red & 0xFF0000; + red = red + (MAX_RED - red) * ratio; + red = parseInt(red); + red = red & 0xFF0000; - var green = color & MAX_GREEN; - green = green + (MAX_GREEN - green) * ratio; - green = parseInt(green); - green = green & MAX_GREEN; + var green = color & MAX_GREEN; + green = green + (MAX_GREEN - green) * ratio; + green = parseInt(green); + green = green & MAX_GREEN; - var blue = color & MAX_BLUE; - blue = blue + (MAX_BLUE - blue) * ratio; - blue = parseInt(blue); - blue = blue & MAX_BLUE; + var blue = color & MAX_BLUE; + blue = blue + (MAX_BLUE - blue) * ratio; + blue = parseInt(blue); + blue = blue & MAX_BLUE; - color = red | green | blue; - resolve(self.intToColorString(color)); - }); - } else { - reject("elementOverlay doesn't have neither color nor value set!"); - } - }); + color = red | green | blue; + return self.intToColorString(color); + }); + } else { + return Promise.reject("elementOverlay doesn't have neither color nor value set!"); + } }; Functions.getElementByName = function(element, name) { -- GitLab