beremiz

770c613c424f
SVGHMI: remove intermediate "updates" Map and apply_updates()

It was used initially to decouple DOM updates from reception of data through
websocket, but now since all widget SHOULD use animate() to modify DOM, and
dispatch() only change internal state, apply_update is unnecessary.
// widget_customhtml.ysl2
widget_desc("CustomHtml") {
longdesc
||
CustomHtml widget allows insertion of HTML code in a svg:foreignObject.
Widget content is replaced by foreignObject. HTML code is obtained from
"code" labeled text content. HTML insert position and size is given with
"container" labeled element.
||
shortdesc > Custom HTML insert
// TODO: support reload and POST based on variable content
}
widget_class("CustomHtml"){
||
frequency = 5;
widget_size = undefined;
dispatch(value) {
this.request_animate();
}
animate(){
}
init() {
this.widget_size = this.container_elt.getBBox();
this.element.innerHTML ='<foreignObject x="'+
this.widget_size.x+'" y="'+this.widget_size.y+
'" width="'+this.widget_size.width+'" height="'+this.widget_size.height+'"> '+
this.code_elt.textContent+
' </foreignObject>';
}
||
}
widget_defs("CustomHtml") {
labels("container code");
}