svghmi/widgets_common.ysl2
2 months ago Edouard Tisserant SVGHMI: code cleanup
2022-11-25 Edouard Tisserant SVGHMI: fix double-dispatch happening when using low widget update frequency on variable already being updated with high frequency by other widgets.
2022-11-23 Edouard Tisserant SVGHMI: avoid Widget's member name colision in between enable expressions and assignments.
2022-11-23 Edouard Tisserant SVGHMI: Add arbitrary variable assignment when entering Pages
2022-09-22 Edouard Tisserant SVGHMI: remove intermediate "updates" Map and apply_updates()
2022-09-21 Edouard Tisserant SVGHMI: cosmetic fix in js
2022-09-13 Edouard Tisserant SVGHMI: rework the way cached values are applied to widgets when fresh data is missing.
2022-09-09 Edouard Tisserant SVGHMI: refactor an factorize widget dispatch() method calling
2022-09-02 Edouard Tisserant SVGHMI: continue rework of Jump widget to cope with Enable Expressions.
2022-08-31 Edouard Tisserant SVGHMI: rework Jump widget to cope with Enable Expressions.
2022-08-23 Edouard Tisserant SVGHMI: add support for "enable expressions" with arbitrary variable name assignment.
2022-08-19 Edouard Tisserant SVGHMI: preliminary implementation of a general enable bit for all widgets, using "#" at the end of widget declaration, and a "disabled" element that becomes visible instead of widget when disabled.
2022-07-14 Edouard Tisserant SVGHMI: Warn at build time when SVG refers to non-existing widget types.
2022-06-24 Edouard Tisserant SVGHMI: add warning_labels, same as optional_labels but emits warnings at build time if element is missing.
2022-06-22 Edouard Tisserant SVGHMI: generalize detach/re-attach of binary choices for ToggleButton, PushButton, Button and Keypad's Shit and CapsLock.
2022-06-01 Edouard Tisserant SVGHMI: add widget update rate limit on variable change.
2022-05-06 Edouard Tisserant SVGHMI: fix widget's update frequency forcing : syntax checking was enforcing unit and js code was using undefined variables
2022-05-05 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.
2022-05-05 Edouard Tisserant SVGHMI: allow widgets to disable clipping on variables given with min and max. Setting this.clip = false disables clipping.
2022-05-05 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.
2022-01-19 Edouard Tisserant SVGHMI: fix again appication of frequency value when given in label. Use it on PushButton instance in svghmi test.
2022-01-19 Edouard Tisserant SVGHMI: Fixed support for frequency parsing in widget label
2022-01-18 Edouard Tisserant SVGHMI: add syntax for widget update frequency in widget label: HMI:WidgetType|freq:arg0:arg1@path
2021-05-02 Edouard Tisserant SVGHMI: Added widget_desc to declare widget signature and description svghmi
2021-05-02 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
2021-02-24 Edouard Tisserant SVGHMI: More build time optimization : def_by_label now takes far less time. svghmi
2021-02-19 Edouard Tisserant SVGHMI: Switch from {object} to Map for "updates" global, for performance but also preventing wierd behaviour when iterating svghmi
2021-02-14 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
2021-02-14 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
2021-02-12 Edouard Tisserant SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi
2021-02-09 Edouard Tisserant SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi
2021-02-04 Edouard Tisserant SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi
2021-02-02 Edouard Tisserant Merged svghmi
2021-02-02 Edouard Tisserant SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi
2021-02-02 Edouard Tisserant SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi
2021-01-26 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
2020-12-29 Edouard Tisserant SVGHMI: cosmetic changes svghmi
2020-12-29 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
2020-12-24 Edouard Tisserant SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement svghmi
2020-09-17 Edouard Tisserant Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi
2020-09-16 usveticic Button, ToggleButton and slider updated. Error to warning when building svghmi
2020-08-26 Edouard Tisserant SVGHMI: Fix multiple variable support in widget svghmi
2020-08-13 Edouard Tisserant SVGHMI: factorize dispatch calling logic. svghmi
2020-08-13 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
2020-08-12 Edouard Tisserant Merge svghmi
2020-08-11 Edouard Tisserant SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables. svghmi
2020-08-10 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
2020-08-08 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
2020-08-06 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
2020-08-05 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
2020-08-05 Edouard Tisserant SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness". svghmi
2020-08-04 Edouard Tisserant SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class. svghmi
2020-08-03 Edouard Tisserant SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued. svghmi
2020-07-22 Edouard Tisserant SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling. svghmi
2020-06-04 Edouard Tisserant SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons. svghmi
2020-05-13 Edouard Tisserant SVGHMI: more Widget properties declared ES6 style. svghmi
2020-05-13 Edouard Tisserant SVGHMI: Back button updated to class style svghmi
2020-05-10 Edouard Tisserant SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
2020-05-10 Edouard Tisserant SVGHMI: clean up dead code, update generated xslt. svghmi
2020-05-10 Edouard Tisserant SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi