Commit Graph

54 Commits

Author SHA1 Message Date
leokeba 35c2f5b6b1 small fixes to graph UI element to make X-axis labels legible and meaningful 2022-11-21 16:05:29 +01:00
leokeba 7b4ec5920a Fixed step handler to allow using float numbers and sliders 2022-11-11 17:29:02 +01:00
leokeba 48594de29a fix: initialize graph data with empty array if null 2022-11-03 01:37:46 +01:00
Martin Mueller bce624b0f2 Added more robust retry when a socket error occurs. 2022-09-27 10:31:07 -04:00
Martin Mueller fdffb9c041 Added a check for an invalid json format to prevent the UI from crashing. Requests a new reload when the issue is encountered. 2022-09-21 15:33:05 -04:00
Ian Gray 86c469f5cb Fix small bug applying styles to input elements 2022-07-17 11:17:22 +01:00
Ian Gray 83e1d0a1c9 Merge branch 'master' of https://github.com/s00500/ESPUI into s00500-master 2022-05-29 10:13:37 +01:00
pcbbc a3b253665d Updated documentation 2022-05-24 11:21:34 +01:00
pcbbc a53124de42 Added 'type' proptert to text input elements
Now the text input element can support other HTML input types suxh as date, time, color, password, etc
2022-05-22 23:31:48 +01:00
Ian Gray c63537a358 Fix issue where grouped sliders are moved programatically. 2022-02-16 21:10:16 +00:00
Ian Gray eb21863e09 Use early return to tidy up logic 2022-02-16 14:52:25 +00:00
Ian Gray c2dadf536e Fix #158, min/max not being applied correctly to grouped elements. 2022-02-11 20:47:15 +00:00
Ian Gray 9a4cb277e9 Also support disabling the Pads 2022-01-31 22:34:00 +00:00
Ian Gray 896dc97c75 Support dynamic enabling and disabling of controls
See documentation in README for how this works. This commit
handles all the main controls. Pads are not yet supported.
2022-01-31 21:43:09 +00:00
Ian Gray 576890e033 Dynamic visibility support
The ability to make controls visible and invisible
was basically already supported, we just need to add
some minor handling in controls.js.
2022-01-28 20:31:25 +00:00
Ian Gray 334bf16b09 Initial support for vertical switchers and sliders.
Documentation to be added in a later commit.
2022-01-21 23:30:08 +00:00
Ian Gray 9cd15db1ad Add Time control
Adds a new invisible control that can fetch the current time from a
connected client. Documentation is in the README.
2022-01-20 21:50:06 +00:00
Ian Gray 55b291eb50 Support update of Button text 2022-01-16 14:47:41 +00:00
Ian Gray bc6e2bb8af Correct call to elementHTML 2022-01-15 21:44:53 +00:00
Ian Gray fed603e219 Fix error in graph HTML output 2022-01-15 15:13:28 +00:00
Ian Gray 12a3fb6c80 Fix bug with sliders getting out of sync. 2022-01-15 14:29:38 +00:00
Ian Gray 6a513e9f65 Allow Max control to add maxlength to text input. Update docs. 2022-01-14 20:24:23 +00:00
Ian Gray 3b8f71a0f5 Fix a bug where the Dark colour wasn't being correctly applied. 2022-01-13 18:26:50 +00:00
Ian Gray a9460c8c69 Allow runtime updates to button controls. 2022-01-13 17:26:00 +00:00
Ian Gray dd0fe3165f Fix bug with updating slider values programatically 2022-01-12 23:53:55 +00:00
Ian Gray c059e30763 Fix issue with switchers getting out of sync with the DOM if updated. 2022-01-12 23:12:45 +00:00
Ian Gray 5909471962 Further improve the reliability of UI element transfer.
A protocol has been implemented between the server and client to acknowledge
each UI_INITIAL_GUI and UI_EXTEND_GUI from the client javascript. This
prevents the internal websocket buffers from becoming flooded when the
number of controls gets too high.
2022-01-12 20:12:20 +00:00
Ian Gray f5dd757240 Add support for wide panels.
Allows for panels to be displayed in single column mode, regardless of screen width.
For more information, see updates to README.md
2022-01-08 21:25:10 +00:00
Ian Gray 9b228800f9 Implement separators, and grouped controls
This adds separator elements, and allows arbitrary grouping of controls. For details
see the updates to README.md
2022-01-08 20:58:22 +00:00
Ian Gray ec1862cfe6 Support for dynamic custom inline styling.
Adds two functions in ESPUI.h:
setPanelStyle()
setElementStyle()
These allow for custom inline CSS styles to be applied to the panel and to
the specific UI element repectively.

For example:

```
char stylecol1[30]
sprintf(stylecol1, "background-color: #%06X;", (unsigned int) random(0x0, 0xFFFFFF));
ESPUI.setPanelStyle(switch1, stylecol1);
```
This will set the panel of the given control to a random hex colour.

This is supported by both the initial UI message, and by control update messages, so you
can change these styles dynamically in response to other events.

setElementStyle() is not perfect. Because CSS inline styles can only style one specific
DOM element, for controls made up of multiple elements (like the "pad") this is limited.
I have tried to make an appropriate choice for each supported control.
2022-01-02 21:56:32 +00:00
Ian Gray 78317ce5f2 Chunk updates 2022-01-01 22:04:32 +00:00
Ian Gray aaea0fb877 Fixes #122 2021-12-29 17:52:03 +00:00
Ian Gray eebefd915c Update minified and header files for previous commit 2021-12-29 10:29:24 +00:00
Ian Gray 777ceb2bed Fixes #127 2021-12-28 17:13:25 +00:00
Noctr 98ec85ea8b
Update controls.min.js 2021-08-01 23:45:49 +07:00
tecteun 9ab8a84ff0 slider sends (browser dependent) lots of events, throttle using only unique values. 2021-02-05 22:03:02 +00:00
Marcus Miess 02d981cc2b Changed the ascii arrow to the HTML equivalent. Fixes the problem, where the pad arrow strings got broken. 2021-01-02 00:23:13 +01:00
ericBcreator 950a1fb029
Add files via upload 2020-10-01 20:27:01 +02:00
Lukas Bachschwell 6506f6fe1c
Fixing sliders not updating properly
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-08-26 22:16:02 +02:00
Lukas Bachschwell eec13e4934
No reload per default, just send JsonDom 2020-08-26 22:15:56 +02:00
ruslan.teliuk@aspose.com 81366af7f1
Add remControl() method for remove contols 2020-08-26 22:13:38 +02:00
Lukas Bachschwell 585c1608b8
Fix update_gauge typo, Close #69 2020-06-01 18:09:15 +02:00
Lukas Bachschwell 3afd518399
Connect to correct websocket on different port 2020-01-27 13:13:47 +01:00
Lukas Bachschwell 9764db9789
Increase timeout for connecting existing network and add continuous slider mode #60 2019-12-28 14:54:41 +01:00
Lukas Bachschwell 4b0f8e86b4
#10 Enable storing to localstorage 2019-12-27 16:57:11 +01:00
Lukas Bachschwell 75ec2590f6
Update js stuff 2019-12-27 15:36:12 +01:00
Lukas Bachschwell 79f509da74 #10 Graph points working
- timestap still not great
2019-04-15 15:32:14 +02:00
Lukas Bachschwell 043ba99ea9 Adding basic structure for new widgets 2019-03-26 16:22:21 +01:00
Christian Riggenbach 6873052b6e Added new features, removed dependency on unique labels
- added Min/Max/Step for numbers and sliders
- labels don't have to be unique anymore; controls can't be updated by labels
- new Slider: JS + CSS
2019-03-19 09:34:16 +01:00
Christian Riggenbach 7125374fa3 Color of elementes are now updateable, reformatted control.js 2019-03-08 22:24:20 +01:00