From 98cb922c74d02f99184fbe088d55a1766538333d Mon Sep 17 00:00:00 2001 From: brindosch Date: Mon, 21 Nov 2016 22:16:57 +0100 Subject: [PATCH] Update WebUI (#295) * update * lang * show dialog on delete action * proper regexp if effect name contains ":" [skip ci] --- assets/webconfig/content/leds.html | 23 ++++--- .../js/content_effectsconfigurator.js | 36 ++++++---- assets/webconfig/js/content_leds.js | 67 +++++++++++-------- assets/webconfig/js/content_remote.js | 35 +++++----- assets/webconfig/lang/de.json | 1 + 5 files changed, 97 insertions(+), 65 deletions(-) diff --git a/assets/webconfig/content/leds.html b/assets/webconfig/content/leds.html index f5cd4818..38152486 100644 --- a/assets/webconfig/content/leds.html +++ b/assets/webconfig/content/leds.html @@ -183,6 +183,13 @@
%
+
+ +
+ +
%
+
+
@@ -220,8 +227,8 @@
@@ -229,8 +236,8 @@
@@ -239,10 +246,10 @@
diff --git a/assets/webconfig/js/content_effectsconfigurator.js b/assets/webconfig/js/content_effectsconfigurator.js index 634aec91..3446a626 100644 --- a/assets/webconfig/js/content_effectsconfigurator.js +++ b/assets/webconfig/js/content_effectsconfigurator.js @@ -47,6 +47,25 @@ }); + var oldDelList = []; + + function updateDelEffectlist(event){ + var newDelList = event.response.info.effects + if(newDelList.length != oldDelList.length) + { + var EffectHtml = null; + for(var idx=0; idx'+newDelList[idx].name+''; + } + } + $("#effectsdellist").html(EffectHtml); + oldDelList = newDelList; + } + } + $(hyperion).one("cmd-config-getschema", function(event) { effects = parsedConfSchemaJSON.properties.effectSchemas.internal EffectsHtml = ""; @@ -114,7 +133,7 @@ $(hyperion).one("cmd-config-getschema", function(event) { if(validateEditor() && validateName()) { requestWriteEffect(effectName,effectPy,JSON.stringify(effects_editor.getValue())); - showInfoDialog('success','SUCCESS!','Your effect has been created successfully!'); + showInfoDialog('success','SUCCESS!','Your effect "'+effectName+'" has been created successfully!'); } }); @@ -133,24 +152,13 @@ $(hyperion).one("cmd-config-getschema", function(event) { toggleClass('#btn_cont_test', "btn-success", "btn-danger"); }); -// Delete effect - delList=parsedServerInfoJSON.info.effects - var EffectHtml - - for(var idx=0; idx'+delList[idx].name+''; - } - } - $("#effectsdellist").html(EffectHtml); - $('#btn_delete').off().on('click',function() { var name = $("#effectsdellist").val(); requestDeleteEffect(name); + showInfoDialog('success','Effect deleted!', 'The effect "'+name+'" has been deleted successfully!'); }); $(document).ready( function() { requestServerConfigSchema(); + $(hyperion).on("cmd-serverinfo",updateDelEffectlist); }); diff --git a/assets/webconfig/js/content_leds.js b/assets/webconfig/js/content_leds.js index e2543fa4..63975d6f 100644 --- a/assets/webconfig/js/content_leds.js +++ b/assets/webconfig/js/content_leds.js @@ -77,15 +77,16 @@ function createClassicLeds(){ var ledsGPos = parseInt($("#ip_cl_ledsgpos").val()); var position = parseInt($("#ip_cl_position").val()); var reverse = $("#ip_cl_reverse").is(":checked"); - var edgeGap = 0.1 //advanced values var rawledsVDepth = parseInt($("#ip_cl_ledsvdepth").val()); var rawledsHDepth = parseInt($("#ip_cl_ledshdepth").val()); + var rawedgeGap = parseInt($("#ip_cl_ledsedgegap").val()); //helper var ledsVDepth = rawledsVDepth / 100; var ledsHDepth = rawledsHDepth / 100; + var edgeGap = rawedgeGap / 100 /2; var min = 0.0 + edgeGap; var max = 1.0 - edgeGap; var ledArray = []; @@ -102,11 +103,12 @@ function createClassicLeds(){ if (reverse) ledArray.reverse(); - + createLedPreview(ledArray, 'classic'); createFinalArray(ledArray); function createFinalArray(array){ + finalLedArray = []; for(var i = 0; i0; i--){ - step = 1/ledsLeft; - factor = i/ledsLeft; - vmin=factor-step; - vmax=factor; createLedArray(hmin, hmax, vmin, vmax); + vmin -= step + vmax -= step } } function createRightLeds(){ - hmax=1.0; + step=(max-min)/ledsRight; + hmax=max; hmin=hmax-ledsVDepth; + vmin=min + vmax=min+step for (var i = 0; i0; i--){ - step = 1/ledsBottom; - factor = i/ledsBottom; - hmin=factor-step; - hmax=factor; createLedArray(hmin, hmax, vmin, vmax); + hmin -= step + hmax -= step } } } @@ -264,7 +268,7 @@ function createMatrixLeds(){ endX = tmp } } - + finalLedArray =[]; finalLedArray = leds createLedPreview(leds, 'matrix'); } @@ -395,7 +399,14 @@ $(document).ready(function() { // ------------------------------------------------------------------ $("#leds_custom_save").off().on("click", function() { - + function createLedConfig(){ + var string = '{"leds" :'; + string += $("#ledconfig").val(); + string += "}"; + return string + } + if (validateText()) + requestWriteConfig(JSON.parse(createLedConfig())); }); // ------------------------------------------------------------- diff --git a/assets/webconfig/js/content_remote.js b/assets/webconfig/js/content_remote.js index 31afd637..0c197f09 100644 --- a/assets/webconfig/js/content_remote.js +++ b/assets/webconfig/js/content_remote.js @@ -61,9 +61,23 @@ } } -} - - + } + + var oldEffects = []; + + function updateEffectlist(event){ + var newEffects = event.response.info.effects; + if (newEffects.length != oldEffects.length) + { + effects_html = ''; + for(i = 0; i < newEffects.length; i++) { + effectName = newEffects[i].name; + effects_html += ''; + } + $('#effect_select').html(effects_html); + oldEffects = newEffects; + } + } $(document).ready(function() { // color @@ -93,7 +107,6 @@ $(document).ready(function() { }, } }); - $('#cp2').colorpicker().on('changeColor', function(e) { color = e.color.toRGB(); $("#effect_select").val("__none__"); @@ -113,18 +126,10 @@ $(document).ready(function() { }); } }); - - // effects - effects_html = ''; - for(i = 0; i < parsedServerInfoJSON.info.effects.length; i++) { - //console.log(parsedServerInfoJSON.info.effects[i].name); - effectName = parsedServerInfoJSON.info.effects[i].name; - effects_html += ''; - } - $('#effect_select').html(effects_html); - - // components + // components $(hyperion).on("cmd-serverinfo",updateComponents); + // effects + $(hyperion).on("cmd-serverinfo",updateEffectlist); }); diff --git a/assets/webconfig/lang/de.json b/assets/webconfig/lang/de.json index 2e13e78e..362f5d2f 100644 --- a/assets/webconfig/lang/de.json +++ b/assets/webconfig/lang/de.json @@ -74,6 +74,7 @@ "conf_leds_layout_cl_hleddepth" : "Horizontale LED Tiefe", "conf_leds_layout_cl_vleddepth" : "Vertikale LED Tiefe", "conf_leds_layout_cl_generate" : "Generiere Konfiguartion", + "conf_leds_layout_cl_edgegap" : "Rahmenabstand", "conf_leds_layout_ma_horiz" : "Horizontal", "conf_leds_layout_ma_vert" : "Vertical", "conf_leds_layout_ma_cabling" : "Verkabelung",