Fri, 06 May 2022 11:04:17 +0200 Edouard Tisserant SVGHMI: fix widget's update frequency forcing : syntax checking was enforcing unit and js code was using undefined variables
Thu, 05 May 2022 11:48:43 +0200 Edouard Tisserant SVGHMI: Add support for forcing widget update frequency with period longer than a second. As an example, "HMI:Display|10s@/myvar" updates variable every 10 seconds.
Thu, 05 May 2022 10:35:29 +0200 Edouard Tisserant SVGHMI: allow widgets to disable clipping on variables given with min and max. Setting this.clip = false disables clipping.
Thu, 05 May 2022 10:31:16 +0200 Edouard Tisserant SVGHMI: allow designating widget's sub-elements as main element child rather than descendant. Names staring with "/" in yslt call to labels() only match direct widget childs.
Wed, 19 Jan 2022 11:41:04 +0100 Edouard Tisserant SVGHMI: fix again appication of frequency value when given in label. Use it on PushButton instance in svghmi test.
Wed, 19 Jan 2022 08:51:45 +0100 Edouard Tisserant SVGHMI: Fixed support for frequency parsing in widget label
Tue, 18 Jan 2022 10:55:14 +0100 Edouard Tisserant SVGHMI: add syntax for widget update frequency in widget label: HMI:WidgetType|freq:arg0:arg1@path
Sun, 02 May 2021 23:15:23 +0200 Edouard Tisserant SVGHMI: Added widget_desc to declare widget signature and description svghmi
Sun, 02 May 2021 23:01:08 +0200 Edouard Tisserant SVGHMI: In order to allow widget signature and description to coexist in same ysl2 file, introduced widget_class, widget_defs to declare widget codegen templates and gen_index_xhtml to mark templates that are only usefull in gen_index_xhtml.xslt. svghmi
Wed, 24 Feb 2021 15:36:37 +0100 Edouard Tisserant SVGHMI: More build time optimization : def_by_label now takes far less time. svghmi
Fri, 19 Feb 2021 10:03:00 +0100 Edouard Tisserant SVGHMI: Switch from {object} to Map for "updates" global, for performance but also preventing wierd behaviour when iterating svghmi
Sun, 14 Feb 2021 19:15:20 +0100 Edouard Tisserant SVGHMI: allow i18n of formated strings of HMI:Messages. This was by construction impossible since formating was given as an argument. Now added optional "format" labelled element in HMI:Display, so that it can be translated, when labelled "_format". svghmi
Sun, 14 Feb 2021 05:22:30 +0100 Edouard Tisserant SVGHMI: Add inhibition to widget's apply_hmi_value() so that it does not change variable more frquently than given widget's frequency. This prevents flooding network with many update if browser is producing events at high rate, as for exemple when dragging ScrollBar's cursor. svghmi
Fri, 12 Feb 2021 21:58:03 +0100 Edouard Tisserant SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi
Tue, 09 Feb 2021 07:46:02 +0100 Edouard Tisserant SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi
Thu, 04 Feb 2021 21:20:01 +0100 Edouard Tisserant SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi
Tue, 02 Feb 2021 11:20:54 +0100 Edouard Tisserant Merged svghmi
Tue, 02 Feb 2021 10:59:00 +0100 Edouard Tisserant SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi
Tue, 02 Feb 2021 10:43:43 +0100 Edouard Tisserant SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi
Tue, 26 Jan 2021 11:17:08 +0100 Edouard Tisserant SVGHMI: Fix browser side exception when some widget are not used, and are then discarded and not present in final SVG. In that case JS code was still making reference to discarded widget elements and was raising exception at init. svghmi
Tue, 29 Dec 2020 15:38:31 +0100 Edouard Tisserant SVGHMI: cosmetic changes svghmi
Tue, 29 Dec 2020 15:35:39 +0100 Edouard Tisserant SVGHMI: Added clipping to min and max value for all widget using @path,min,max syntax. Added overshot() and undershot() methods to widget base class, called when value is limited to max or min respectively. svghmi
Thu, 24 Dec 2020 17:00:43 +0100 Edouard Tisserant SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement svghmi
Thu, 17 Sep 2020 11:30:22 +0200 Edouard Tisserant Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi
Wed, 16 Sep 2020 09:41:52 +0200 usveticic Button, ToggleButton and slider updated. Error to warning when building svghmi
Wed, 26 Aug 2020 14:24:43 +0200 Edouard Tisserant SVGHMI: Fix multiple variable support in widget svghmi
Thu, 13 Aug 2020 11:37:39 +0200 Edouard Tisserant SVGHMI: factorize dispatch calling logic. svghmi
Thu, 13 Aug 2020 11:30:18 +0200 Edouard Tisserant SVGHMI: HMI:VarInit:"a string"@a_value : empty widget (i.e. empty svg:group) that initialize content of local variables to value given as first argument. svghmi
Wed, 12 Aug 2020 15:24:02 +0200 Edouard Tisserant Merge svghmi
Tue, 11 Aug 2020 14:37:33 +0200 Edouard Tisserant SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables. svghmi
Mon, 10 Aug 2020 13:58:55 +0200 Edouard Tisserant SVGHMI: provide request_animate() to Widget authors so that they can register redraw code when events lead to redraw. Widget member animate() is called when it is time to update DOM. svghmi
Sat, 08 Aug 2020 15:53:28 +0200 Edouard Tisserant SVGHMI: Intermediate state while implementing local HMI variables. Now write to cache only (no send), still need to implement dispatch on change. svghmi
Thu, 06 Aug 2020 14:59:04 +0200 Edouard Tisserant SVGHMI : have to move some JS declarations from "preamble" to "declarations" and others from "declarations" to "definitions" section to make room for JS libraries that would be used by widget classes. svghmi
Wed, 05 Aug 2020 18:53:56 +0200 Edouard Tisserant SVGHMI: JS refactoring continued : "dispatch_value_to_widget" becomes widget class member "new_hmi_value" (was also broken by previous relativeness commit) svghmi
Wed, 05 Aug 2020 18:49:29 +0200 Edouard Tisserant SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness". svghmi
Tue, 04 Aug 2020 11:53:39 +0200 Edouard Tisserant SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class. svghmi
Mon, 03 Aug 2020 16:34:44 +0200 Edouard Tisserant SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued. svghmi
Wed, 22 Jul 2020 13:56:43 +0200 Edouard Tisserant SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling. svghmi
Thu, 04 Jun 2020 11:14:21 +0200 Edouard Tisserant SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons. svghmi
Wed, 13 May 2020 22:25:22 +0200 Edouard Tisserant SVGHMI: more Widget properties declared ES6 style. svghmi
Wed, 13 May 2020 18:26:38 +0200 Edouard Tisserant SVGHMI: Back button updated to class style svghmi
Sun, 10 May 2020 23:40:43 +0200 Edouard Tisserant SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
Sun, 10 May 2020 17:01:09 +0200 Edouard Tisserant SVGHMI: clean up dead code, update generated xslt. svghmi
Sun, 10 May 2020 16:34:44 +0200 Edouard Tisserant SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi
Sun, 10 May 2020 16:32:19 +0200 Edouard Tisserant SVGHMI: Parameters common to all widget constructors now passed as ordered parameters. svghmi
Fri, 08 May 2020 16:51:43 +0200 Edouard Tisserant SVGHMI: One class per widget type, widget objects are instances of these classes, and members are passed through constructor. This allows to keep compatible with previous widget_defs template used in most widgets. svghmi
Fri, 08 May 2020 16:47:52 +0200 Edouard Tisserant SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes. svghmi
Sun, 19 Apr 2020 22:01:12 +0200 Edouard Tisserant SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces svghmi
Sat, 18 Apr 2020 11:49:02 +0200 Edouard Tisserant SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability. svghmi
Sat, 04 Apr 2020 22:32:54 +0200 Edouard Tisserant SVGHMI: finished shift and capslock support n keypad widget. Added a helper in widgets_common to collect subelements likle active/inactive/disabled... svghmi
Wed, 25 Mar 2020 13:36:04 +0100 Edouard Tisserant SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected. svghmi
Mon, 23 Mar 2020 15:13:36 +0100 Edouard Tisserant SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons. svghmi
Fri, 20 Mar 2020 10:00:59 +0100 Edouard Tisserant SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type svghmi
Thu, 19 Mar 2020 19:23:56 +0100 Edouard Tisserant SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods svghmi
Thu, 19 Mar 2020 09:31:07 +0100 Edouard Tisserant SVGHMI: Simplification and optimization. func:parselabel becomes a template. svghmi
Wed, 18 Mar 2020 09:37:26 +0100 Edouard Tisserant SVGHMI: update Makefile to pick all changes to any dependency svghmi
Wed, 18 Mar 2020 09:16:14 +0100 Edouard Tisserant SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing. svghmi