svghmi/svghmi.js
Fri, 18 Aug 2023 11:38:20 +0200 Edouard Tisserant SVGHMI: add support of all IEC61131 interger types.
Thu, 24 Nov 2022 11:47:56 +0100 Edouard Tisserant SVGHMI: move declaration of "xmlns" javascript const so that widgets can use it.
Wed, 23 Nov 2022 11:27:55 +0100 Edouard Tisserant SVGHMI: Add arbitrary variable assignment when entering Pages
Fri, 18 Nov 2022 10:40:57 +0100 Edouard Tisserant SVGHMI: fix periodic reconnect triggering watchdog
Tue, 15 Nov 2022 09:22:50 +0100 Edouard Tisserant SVGHMI: do not try to reconnect websocket if closed properly by server.
Wed, 09 Nov 2022 12:14:35 +0100 Edouard Tisserant SVGHMI: fix HMI freeze at load when no screen saver is defined
Tue, 08 Nov 2022 11:00:42 +0100 Edouard Tisserant SVGHMI: server systematically resets session on connect, rather than waiting for client to ask for it
Fri, 04 Nov 2022 10:51:45 +0100 Edouard Tisserant SVGHMI: add ScreenSaver feature. Automatically jumps to a page named "ScreenSaver" after timeout defined in page arguments.
Fri, 28 Oct 2022 09:44:33 +0200 Edouard Tisserant SVGHMI: enable periodical reconnect when browser is QtWebengine, working around memory leak with websocket on Qt's embedded Chromium.
Fri, 21 Oct 2022 10:39:43 +0200 Edouard Tisserant SVGHMI: add automatic reconnection of websocket with 1s reconnection delay after first attempt.
Wed, 12 Oct 2022 11:56:04 +0200 Edouard Tisserant SVGHMI: cosmetic fixes
Wed, 28 Sep 2022 09:19:07 +0200 Edouard Tisserant SVGHMI: add support for "reference" and "frame" rectangles to spread-out ovelapping elements.
Thu, 22 Sep 2022 09:42:38 +0200 Edouard Tisserant SVGHMI: remove intermediate "updates" Map and apply_updates()
Tue, 13 Sep 2022 16:29:21 +0200 Edouard Tisserant SVGHMI: rework the way cached values are applied to widgets when fresh data is missing.
Mon, 12 Sep 2022 11:56:52 +0200 Edouard Tisserant SVGHMI: re-arrange Animate and data Dispath code paths.
Tue, 12 Jul 2022 12:12:52 +0200 Edouard Tisserant SVGHMI: re-organize animate() to ensure that page fade-out is always visible, also make fade-out curve more aggressive to enhance visual feedback.
Wed, 06 Jul 2022 10:39:11 +0200 Edouard Tisserant SVGHMI: better handling of page switch fade-out.
Fri, 24 Jun 2022 10:46:26 +0200 Edouard Tisserant SVGHMI: force initial state of Display widget to empty string.
Wed, 15 Jun 2022 11:39:14 +0200 Edouard Tisserant SVGHMI: fading page switch : defer update of classList to next animate() call when finishing transition.
Mon, 13 Jun 2022 12:03:58 +0200 Edouard Tisserant SVGHMI: add fading transition to make page switch feel more responsive on slow machines.
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:24:56 +0200 Edouard Tisserant SVGHMI: add localized Date and Time support to sprintf.js. Use with "%D" or "%2.1D" format style.
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:53:49 +0100 Edouard Tisserant SVGHMI: Add pushbutton widget, that can take reflect short press in variable, but has no garantee on consistency.
Mon, 08 Nov 2021 14:06:29 +0100 Edouard Tisserant SVGHMI: Changes /CURRENT_PAGE_* behaviour to prevent problem whith multiclient : all clients were switching page when one was jumping.
Thu, 04 Nov 2021 12:00:50 +0100 Edouard Tisserant SVGHMI: add CURRENT_PAGE_{location} global variable to reflect currently visible page. If PLC wites some valid page reference in that variable, it triggers page switch. Additionally, fixed /HEARTBEAT being subscribed systematically by JS code even when wtchdog is not enabled.
Fri, 27 Aug 2021 11:31:32 +0200 Edouard Tisserant SVGHMI: Allow toggling fulscreen mode my right click or long press. svghmi
Thu, 01 Jul 2021 14:33:14 +0200 Edouard Tisserant SVGHMI: Added a way to distinguish watchdog-enabled HMI from multi-client HMI in URL. svghmi
Mon, 29 Mar 2021 10:26:21 +0200 Edouard Tisserant SVGHMI: added "page_node" variable that reflects the HMI tree path of current relative page svghmi
Tue, 16 Mar 2021 14:19:22 +0100 Edouard Tisserant SVGHMI: cosmetic change, missing semicolon 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
Tue, 16 Feb 2021 11:47:52 +0100 Edouard Tisserant merge svghmi
Tue, 16 Feb 2021 11:32:00 +0100 Edouard Tisserant SVGHMI: Fixed sending HMI_REAL to PLC. Added a svghmi_real test that illustrates using printf style formating in HMI:Display to control precision of Float number display. svghmi
Tue, 16 Feb 2021 09:38:28 +0100 Edouard Tisserant SVGHMI: i18n: ensure langs always appea in same order, and add two variables that are updated automatically when selecting a new language : lang_name and lang_code. Also fixed i18n startup, prevent wrong lang numer to crash loading. 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:15:13 +0100 Edouard Tisserant SVGHMI: remove forgotten debug code svghmi
Tue, 09 Feb 2021 07:56:25 +0100 Edouard Tisserant SVGHMI: removed dead code svghmi
Tue, 09 Feb 2021 07:55:16 +0100 Edouard Tisserant SVGHMI: Add "lang" permament persistent HMI_LOCAL variable to reflect selected language, apply stored language choice at startup and make it always subscribed to a pseudo widget (as for hearbeat) that apply language choice when it changes. 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:23:58 +0100 Edouard Tisserant SVGHMI: generate JS translation literals so that it is possible to also translate uses of texts, and added JS code that apply translations to tspans 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, 26 Jan 2021 11:14:22 +0100 Edouard Tisserant SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect. 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
Wed, 02 Dec 2020 14:31:57 +0100 Edouard Tisserant SVGHMI: prevent unwnted context menu and pinch zoom svghmi
Fri, 27 Nov 2020 18:06:34 +0100 Edouard Tisserant SVGHMI: WIP trying to reduce memory usage : use .onclick onstead of SetAttribute, avoid useless closure and object creation when possible, etc. svghmi
Wed, 25 Nov 2020 14:47:23 +0100 Edouard Tisserant SVGHMI: use const when applicable svghmi
Wed, 25 Nov 2020 14:43:03 +0100 Edouard Tisserant SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget. svghmi
Thu, 22 Oct 2020 22:44:29 +0200 Edouard Tisserant SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi. svghmi
Mon, 24 Aug 2020 09:48:35 +0200 Edouard Tisserant SVGHMI: removed debug code forgotten here and there. 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
Mon, 10 Aug 2020 11:30:06 +0200 Edouard Tisserant Merge 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
Wed, 05 Aug 2020 15:13:59 +0200 usveticic Changed keyboard to show on defined position. 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
Mon, 03 Aug 2020 16:32:23 +0200 Edouard Tisserant SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible svghmi
Thu, 21 May 2020 11:29:45 +0200 Edouard Tisserant SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
Wed, 13 May 2020 18:47:09 +0200 Edouard Tisserant SVGHMI: explicit handling of undefined maximum widget update frequency svghmi