From f98c66fa8196ae15376c11b2f161d0a8858e8e41 Mon Sep 17 00:00:00 2001 From: Benjamin Nestler <101095581+benjaminnestler@users.noreply.github.com> Date: Wed, 14 Feb 2024 15:48:46 +0100 Subject: [PATCH] Show ARG_HINT as tooltip for Web UI configuration of Matter endpoints (#20723) * ADD: Show the argument hint(s) as tooltip of input box. * CHG: MATTER_ADD_ENDPOINT_HINTS_JS to change the tooltip relating to endpoint argument hint * CHG: Show the enpoint number in confirmation of deletion dialog. * CHG: Too reduce the number of used bytes for this JS * ADD: solidificated file --- .../berry_matter/src/be_matter_module.c | 1 + .../berry_matter/src/embedded/Matter_UI.be | 24 +- .../src/solidify/solidified_Matter_UI.h | 811 +++++++++--------- 3 files changed, 427 insertions(+), 409 deletions(-) diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index 693d090de..90176e59a 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -52,6 +52,7 @@ static const uint8_t MATTER_ADD_ENDPOINT_HINTS_JS[] = "function otm(arg_name,val){" "var s=eb(arg_name);" "s.placeholder=(val in hm)?hl[hm[val]]:\"\";" + "s.title=s.placeholder;" "};" ""; diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be index 5064bd3e8..9c1e082de 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be @@ -329,8 +329,10 @@ class Matter_UI var cl = self.device.plugins_classes.find(typ) var arg = "" + var arg_hint = "" if cl != nil arg = cl.ui_conf_to_string(cl, conf) + arg_hint = cl.ARG_HINT end found = true @@ -338,11 +340,11 @@ class Matter_UI webserver.content_send(format("", ep, webserver.html_escape(conf.find('name', '')))) webserver.content_send(f"{self.plugin_name(conf.find('type', ''))}") - webserver.content_send(format("", - ep, webserver.html_escape(arg), cl ? webserver.html_escape(cl.ARG_HINT) : '')) - webserver.content_send(f"") i += 1 @@ -395,8 +397,10 @@ class Matter_UI var cl = self.device.plugins_classes.find(typ) var arg = "" + var arg_hint = "" if cl != nil arg = cl.ui_conf_to_string(cl, conf) + arg_hint = cl.ARG_HINT end found = true @@ -405,8 +409,8 @@ class Matter_UI ep, webserver.html_escape(conf.find('name', '')))) webserver.content_send(format("%s", self.plugin_name(conf.find('type', '')))) - webserver.content_send(format("", - ep, webserver.html_escape(arg))) + webserver.content_send(format("", + ep, webserver.html_escape(arg), webserver.html_escape(arg_hint))) webserver.content_send(f"