1
0
mirror of https://github.com/s00500/ESPUI.git synced 2024-11-22 04:00:55 +00:00
Commit Graph

229 Commits

Author SHA1 Message Date
05ab1734e6
Merge pull request #197 from ncmreynolds/main
Add captive portal functionality, update examples and documentation, resolves #134
2022-09-21 10:06:57 +02:00
Nick Reynolds
79b9acf9f4 Changes per suggestions by maintainer (Lukas Bachschwell). 2022-09-21 08:58:05 +01:00
Nick Reynolds
90ba90a717 Make captive portal redirect on by default. 2022-09-20 15:29:34 +01:00
Nick Reynolds
e81cd1f7f5 Add captive portal functionality, update examples and documentation. 2022-09-19 17:38:10 +01:00
Ian Gray
a150d2db1e
Merge branch 's00500:master' into master 2022-07-17 11:20:31 +01:00
Ian Gray
86c469f5cb Fix small bug applying styles to input elements 2022-07-17 11:17:22 +01:00
Martin Mueller
782d339f83
Merge branch 's00500:master' into master 2022-06-25 07:17:37 -04:00
Martin Mueller
1419b2dec0 Updated the rest of the callback functions to support the new UserData parameter 2022-06-11 01:20:25 -04:00
Martin Mueller
02e847a31e First part of extending callback to include a user parm.
Converted addControl to no longer use C Style function definitions. Now using C++ function overload to support multiple invocation modes.
2022-06-11 00:42:25 -04:00
Martin Mueller
9cb962122c Reworked removeControl function 2022-06-10 12:44:53 -04:00
Ian Gray
e3debb9689 Update output files 2022-05-29 10:14:52 +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
b47d595194 Update ESPUI.cpp 2022-05-23 00:06:42 +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
ab5ac2dc1d Fix regression caused by f06781bc03. See comments in commit on Github. 2022-02-16 20:28:55 +00:00
Ian Gray
d77daf0c8e Initialise the enabled value to fix #162 2022-02-16 15:40:31 +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
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
9a4cb277e9 Also support disabling the Pads 2022-01-31 22:34:00 +00:00
Ian Gray
d8b9c35655 Add active styles to Pad to give click feedback 2022-01-31 22:06:54 +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
f2fa9ba652 Update header files 2022-01-28 16:57:04 +00:00
Ian Gray
c12f97de48 Update documentation to explain vertical layout
Also explains how to label groups of sliders/switchers.
Also makes a tiny tweak to the width of vertical sliders so they are the same width as switchers.
2022-01-28 16:45:26 +00:00
Ian Gray
df0c6faa4d Add updated style header 2022-01-28 15:31:53 +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
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
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
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
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
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
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
c66f528702
Send visibility
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2021-10-29 19:47:46 +02:00
aa03c1683d
Add Port Option
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2021-10-29 19:37:56 +02:00
Noctr
95d13ec5a9
Update ESPUI.h 2021-08-06 21:40:10 +07:00
Noctr
de0c74ab4b
Update ESPUI.h 2021-08-06 21:33:53 +07:00
Noctr
1a8407a0ec
Update ESPUI.h 2021-08-01 23:54:50 +07:00
Noctr
5bec1ed988
Update dataControlsJS.h 2021-08-01 23:50:26 +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
b71bc81c0d
Fixing rebase errors with littlefs/debug refactor
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-18 11:06:38 +02:00
a6ddd48abb
Fix all other occurences
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-17 22:46:22 +02:00
3cf1aa7f49
Fix littleFS does not exist on esp32
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-10-16 14:47:29 +02:00
313a069d4c
Change idcounter to start at 1, closes #95 2020-10-02 19:08:45 +02:00
ericBcreator
1de52c939f
Add files via upload 2020-10-01 20:28:22 +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
99cf344d93
Changes suggested in #93
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-09-24 21:50:28 +02:00
cda1a573d6
cleanup
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-08-26 22:16:02 +02:00
6506f6fe1c
Fixing sliders not updating properly
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-08-26 22:16:02 +02:00
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
1b7af71d29
Fix littlefs include
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-08-26 22:13:21 +02:00
Bastien
fffe4a8641 Update filesystem from deprecated SPIFFS to LittleFS 2020-06-30 12:39:51 +02:00
585c1608b8
Fix update_gauge typo, Close #69 2020-06-01 18:09:15 +02:00
3afd518399
Connect to correct websocket on different port 2020-01-27 13:13:47 +01:00
9764db9789
Increase timeout for connecting existing network and add continuous slider mode #60 2019-12-28 14:54:41 +01:00
681a00b3ed
reformate slider 2019-12-28 14:17:29 +01:00
79046d7bd0
remove graph logging 2019-12-27 20:27:10 +01:00
4b0f8e86b4
#10 Enable storing to localstorage 2019-12-27 16:57:11 +01:00
bcddcfc311
#63 add variabbles to public scope of espui 2019-12-27 16:30:15 +01:00
fe45ed8010
#63 Add variables for jsonDynamicDocument Sizes 2019-12-27 16:27:42 +01:00
e317d25977
Make AsyncServer instance Pubblic 2019-12-27 15:36:24 +01:00
75ec2590f6
Update js stuff 2019-12-27 15:36:12 +01:00
79f509da74 #10 Graph points working
- timestap still not great
2019-04-15 15:32:14 +02:00
bff259008f Graph Frontend work
- Adds graph js file
- Adds graph styles
2019-04-15 13:49:15 +02:00
36cfe78205 Knowing websocket msg string length 2019-04-15 12:41:22 +02:00