Commit Graph

462 Commits

Author SHA1 Message Date
Ian Gray 64b30d13a6 Major documentation rework 2022-01-25 21:32:34 +00:00
Ian Gray 446f83c6c2
Merge pull request #149 from iangray001/master
One bugfix, one small feature
2022-01-23 17:59:14 +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 b33be0057f
Merge branch 's00500:master' into master 2022-01-20 20:45:44 +00:00
Ian Gray bc34078f42 Fix bug with multiple clients
If two clients were connected at the same time, the chunked updates
from one could cause the other to recieve UI_EXTEND messages. This
is fixed by passing the client in to jsonDom.
2022-01-20 20:43:04 +00:00
Ian Gray fa097ce329
Merge pull request #148 from iangray001/chunkupdates2
Make initial UI update reliable (and 4 small fixes)
2022-01-19 19:32:07 +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 9eddf2c504 Improve documentation. 2022-01-15 14:29:03 +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 254912aee5 Add a null check in updateControl
This means that calling any updates before the GUI is created will
now not cause a crash.
2022-01-13 21:29:22 +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 cf535110ea
Merge pull request #147 from iangray001/designupdates
Separators, grouped controls, and wide controls
2022-01-09 11:01:46 +00:00
Ian Gray f8462bcd48 Documentation typos 2022-01-08 21:31:19 +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
Lukas Bachschwell 16adba2ec3
Bump Version 2022-01-08 17:37:50 +01:00
Lukas Bachschwell e3638beb14
Some example improvements by @thomastech
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2022-01-08 17:31:39 +01:00
Ian Gray 29964a83f2
Merge pull request #145 from iangray001/master
Add inline styles to documentation
2022-01-05 22:53:53 +00:00
Lukas Bachschwell e1fe13bac6
Implement LITTLEFS as requested by @thomastech in #144
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2022-01-04 11:35:43 +01:00
Lukas Bachschwell 3cbae2ff1b
Reformat examples
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2022-01-04 11:20:04 +01:00
Ian Gray cdd0f5bac3 Note that images can be displayed with Labels 2022-01-03 20:19:24 +00:00
Ian Gray 6a7cfd857c Update documentation 2022-01-03 16:21:39 +00:00
Ian Gray 2a5815c579 Fix signed (int) being compared against unsigned (size_t)
This used to emit two warnings about signedness comparison, so is updated to use
an appropriate type.
2022-01-03 15:46:38 +00:00
Ian Gray 7e5331d54f Realign with upstream 2022-01-03 15:39:48 +00:00
Ian Gray 0ab401c3b1 Merge branch 'master' of github.com:s00500/ESPUI 2022-01-03 15:18:49 +00:00
Ian Gray 232ca3ead4
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-03 13:06:55 +01:00
Ian Gray 06460fcc4d
Chunk updates 2022-01-03 13:06:33 +01:00
Ian Gray 8331255355
Add feedback to buttons when being pessed. One way to address #110. 2022-01-03 13:06:33 +01:00
Ian Gray 6800f0c208
Fixes #122 2022-01-03 13:06:33 +01:00
Ian Gray 6f744a7995
Update minified and header files for previous commit 2022-01-03 13:05:53 +01:00
Ian Gray c5846ca644
Fixes #127 2022-01-03 13:05:53 +01:00
Lukas Bachschwell 19e187a280
Add PIO Example
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2022-01-03 13:03:07 +01: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 1d78608786 Add feedback to buttons when being pessed. One way to address #110. 2021-12-29 23:01:01 +00:00
Ian Gray aaea0fb877 Fixes #122 2021-12-29 17:52:03 +00:00
Ian Gray 1df56772d9 Fixes #136 and also severe bug in addControl 2021-12-29 16:37:48 +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
Lukas Bachschwell c66f528702
Send visibility
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2021-10-29 19:47:46 +02:00
Lukas Bachschwell aa03c1683d
Add Port Option
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2021-10-29 19:37:56 +02:00
Lukas Bachschwell 6b3056ab31
Merge pull request #131 from Noctr/master 2021-08-10 08:17:29 +02:00