Ian Gray
0fe60e91a9
Merge branch 'master' into enabledisable
2022-02-11 19:57:36 +00:00
david gauchard
f06781bc03
minor fixes for emulation on host
...
(https://github.com/d-a-v/emuAsync )
2022-02-02 11:19:43 +01: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
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
55b291eb50
Support update of Button text
2022-01-16 14:47:41 +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
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
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
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
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
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
1df56772d9
Fixes #136 and also severe bug in addControl
2021-12-29 16:37:48 +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
b71bc81c0d
Fixing rebase errors with littlefs/debug refactor
...
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-18 11:06:38 +02:00
Lukas Bachschwell
a6ddd48abb
Fix all other occurences
...
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-17 22:46:22 +02:00
Lukas Bachschwell
3cf1aa7f49
Fix littleFS does not exist on esp32
...
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-16 14:47:29 +02:00
Lukas Bachschwell
313a069d4c
Change idcounter to start at 1, closes #95
2020-10-02 19:08:45 +02:00
ericBcreator
57a81dbee3
Update ESPUI.cpp
2020-10-01 18:51:54 +02:00
Moritz Wirger
6b2ef81b12
Fix include of ESPUI header
2020-10-01 18:04:28 +02:00
Moritz Wirger
1e5ee117c5
Use DEBUG_ESPUI to en/disable debug code from being compiled
...
Include clang-format file for formatting code and format code
2020-10-01 18:04:28 +02:00
Moritz Wirger
db4164f621
Reduce heap usage by using F and PSTR
2020-10-01 18:04:28 +02:00
Moritz Wirger
bfd645d7a1
Use const String& to reduce IROM usage
2020-10-01 18:04:28 +02:00
Lukas Bachschwell
cda1a573d6
cleanup
...
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
Bastien
fffe4a8641
Update filesystem from deprecated SPIFFS to LittleFS
2020-06-30 12:39:51 +02: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
fe45ed8010
#63 Add variables for jsonDynamicDocument Sizes
2019-12-27 16:27:42 +01:00
Lukas Bachschwell
79f509da74
#10 Graph points working
...
- timestap still not great
2019-04-15 15:32:14 +02:00
Lukas Bachschwell
bff259008f
Graph Frontend work
...
- Adds graph js file
- Adds graph styles
2019-04-15 13:49:15 +02:00
Lukas Bachschwell
36cfe78205
Knowing websocket msg string length
2019-04-15 12:41:22 +02:00
Lukas Bachschwell
2c6aaf82f4
two strings less
2019-04-15 12:38:09 +02:00
Lukas Bachschwell
043ba99ea9
Adding basic structure for new widgets
2019-03-26 16:22:21 +01:00
Lukas Bachschwell
3c69f013fc
Proper wrappers
...
- update order of params of create functions to be simillar
- changed all numbers to be numbers
- split pad creation function
- updated examples
2019-03-24 19:18:53 +01:00
Lukas Bachschwell
650411bac4
Consistent use of updateControl on websocket event
...
- rename updateControl to updateControlValue
- some earlie returns
2019-03-24 18:46:34 +01:00
Lukas Bachschwell
218ebc67d9
Style change again
2019-03-24 18:10:21 +01:00
Lukas Bachschwell
63b6761044
Cleanup and reformat header
...
- Construct inside library
- Adds setVerbosity
2019-03-24 16:06:35 +01:00
Lukas Bachschwell
b9a087c169
Use ArduinoJson 6.10.0
2019-03-24 15:44:27 +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