From 7d9cad3e8e8e53e620862c2789328846fb481977 Mon Sep 17 00:00:00 2001 From: Thijs Wenker Date: Mon, 7 Jan 2019 20:35:09 +0100 Subject: [PATCH 1/2] CreateApp - Fix active colorPicker to update on selection update --- scripts/system/html/js/entityProperties.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 66dcecc83e..5c63e6dd99 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -2151,7 +2151,6 @@ function createColorProperty(property, elProperty) { submit: false, // We don't want to have a submission button onShow: function(colpick) { console.log("Showing"); - $(colorPickerID).attr('active', 'true'); // The original color preview within the picker needs to be updated on show because // prior to the picker being shown we don't have access to the selections' starting color. colorPickers[colorPickerID].colpickSetColor({ @@ -2159,13 +2158,17 @@ function createColorProperty(property, elProperty) { "g": elNumberG.elInput.value, "b": elNumberB.elInput.value }); + + $(colorPickerID).attr('active', 'true'); }, onHide: function(colpick) { $(colorPickerID).attr('active', 'false'); }, onChange: function(hsb, hex, rgb, el) { $(el).css('background-color', '#' + hex); - emitColorPropertyUpdate(propertyName, rgb.r, rgb.g, rgb.b); + if ($(colorPickerID).attr('active') === 'true') { + emitColorPropertyUpdate(propertyName, rgb.r, rgb.g, rgb.b); + } } }); @@ -3351,6 +3354,16 @@ function loaded() { property.elColorPicker.style.backgroundColor = "rgb(" + propertyValue.red + "," + propertyValue.green + "," + propertyValue.blue + ")"; + if ($(property.elColorPicker).attr('active') === 'true') { + $(property.elColorPicker).attr('active', 'false'); + colorPickers['#' + property.elementID].colpickSetColor({ + "r": propertyValue.red, + "g": propertyValue.green, + "b": propertyValue.blue + }); + $(property.elColorPicker).attr('active', 'true'); + } + property.elNumberR.setValue(propertyValue.red); property.elNumberG.setValue(propertyValue.green); property.elNumberB.setValue(propertyValue.blue); From 7823b3d4a3b530e319cfc3d44259fbbe8265185c Mon Sep 17 00:00:00 2001 From: Thijs Wenker Date: Mon, 7 Jan 2019 21:08:41 +0100 Subject: [PATCH 2/2] clarifying comments --- scripts/system/html/js/entityProperties.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 5c63e6dd99..3ccc5359ff 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -2159,6 +2159,7 @@ function createColorProperty(property, elProperty) { "b": elNumberB.elInput.value }); + // Set the color picker active after setting the color, otherwise an update will be sent on open. $(colorPickerID).attr('active', 'true'); }, onHide: function(colpick) { @@ -3355,6 +3356,8 @@ function loaded() { propertyValue.green + "," + propertyValue.blue + ")"; if ($(property.elColorPicker).attr('active') === 'true') { + // Set the color picker inactive before setting the color, + // otherwise an update will be sent directly after setting it here. $(property.elColorPicker).attr('active', 'false'); colorPickers['#' + property.elementID].colpickSetColor({ "r": propertyValue.red,