From cf8b2b0412c8e63b4531c85edbbcc2b4c71aa01c Mon Sep 17 00:00:00 2001 From: David Escalona Date: Mon, 30 Oct 2023 11:47:55 +0100 Subject: [PATCH] connectcore-demo-example: dashboard: add a mechanism to determine the color of the panels Most of device boards have blue PCBs, but there are some products with green PCBs. In these cases, the green panels have very poor contrast, so the color needs to be changed dynamically. This commit adds a mechanism to automatically change the color of the dashboard panels based on the new device property "PCB_COLOR". https://onedigi.atlassian.net/browse/DEL-8719 Signed-off-by: David Escalona --- connectcore-demo-example/index.html | 6 ++-- .../static/css/general.css | 15 ++++++++++ .../static/images/led_bubble_blue.png | Bin 0 -> 11965 bytes .../static/js/ccimx6ulsbc.js | 5 +++- .../static/js/ccimx8m-nano.js | 5 +++- .../static/js/ccimx8mm-dvk.js | 5 +++- .../static/js/ccimx8x-sbc-pro.js | 5 +++- .../static/js/ccimx93-dvk.js | 3 ++ .../static/js/ccmp133-dvk.js | 5 +++- .../static/js/ccmp157-dvk.js | 5 +++- connectcore-demo-example/static/js/common.js | 2 ++ .../static/js/dashboard.js | 27 +++++++++++++++++- connectcore-demo-example/static/js/devices.js | 9 ++++-- 13 files changed, 80 insertions(+), 12 deletions(-) create mode 100755 connectcore-demo-example/static/images/led_bubble_blue.png diff --git a/connectcore-demo-example/index.html b/connectcore-demo-example/index.html index d0a1447..707ab13 100644 --- a/connectcore-demo-example/index.html +++ b/connectcore-demo-example/index.html @@ -647,7 +647,7 @@ Digi Demo - Dashboard
Toggle LED - +
Storage @@ -720,10 +720,10 @@ Digi Demo - Dashboard // Change image of the LED panel when hovering. $("#led_panel").on({ "mouseover" : function() { - $("#led_image").attr("src", "./static/images/led_bubble_hover.png"); + $("#led_image").addClass("led-image-hover"); }, "mouseout" : function() { - $("#led_image").attr("src", "./static/images/led_bubble.png"); + $("#led_image").removeClass("led-image-hover"); } }); }); diff --git a/connectcore-demo-example/static/css/general.css b/connectcore-demo-example/static/css/general.css index cb27134..486939b 100644 --- a/connectcore-demo-example/static/css/general.css +++ b/connectcore-demo-example/static/css/general.css @@ -869,6 +869,12 @@ body { color: #004e03; } +.panel-area-blue { + background-color: #6ec4edb3; + border: 2px solid #011377; + color: #011377; +} + .panel-area:hover { background-color: #f5e04eb3; cursor: pointer; @@ -1156,6 +1162,15 @@ body { position: relative; max-width:100%; max-height:100%; + content: url("../images/led_bubble.png"); +} + +.led-image-blue { + content: url("../images/led_bubble_blue.png"); +} + +.led-image-hover { + content: url("../images/led_bubble_hover.png"); } .led-panel-area-off { diff --git a/connectcore-demo-example/static/images/led_bubble_blue.png b/connectcore-demo-example/static/images/led_bubble_blue.png new file mode 100755 index 0000000000000000000000000000000000000000..fe8dc08dbfd085f0ffc2e6350f4e9c887b041495 GIT binary patch literal 11965 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