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
2c6aaf82f4
two strings less
2019-04-15 12:38:09 +02:00
043ba99ea9
Adding basic structure for new widgets
2019-03-26 16:22:21 +01:00
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
650411bac4
Consistent use of updateControl on websocket event
...
- rename updateControl to updateControlValue
- some earlie returns
2019-03-24 18:46:34 +01:00
b66d41a98b
more reformating
2019-03-24 18:18:08 +01:00
218ebc67d9
Style change again
2019-03-24 18:10:21 +01:00
70288fc69f
Hide tabsnav on :empty
2019-03-24 16:15:30 +01:00
63b6761044
Cleanup and reformat header
...
- Construct inside library
- Adds setVerbosity
2019-03-24 16:06:35 +01:00
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
Christian Riggenbach
7125374fa3
Color of elementes are now updateable, reformatted control.js
2019-03-08 22:24:20 +01:00
Christian Riggenbach
00d996d8dd
The Pad works again
...
Don't set the style of all the <ul> and <li> in the css, use the class
2019-03-08 21:17:28 +01:00
Christian Riggenbach
b987828a25
Preselect the right option in the select-input
2019-03-06 00:18:19 +01:00
Christian Riggenbach
d0c59ac659
Small bug: don't set the type to Button in ESPUIClass::slider()
2019-03-04 21:08:52 +01:00
Christian Riggenbach
6178e4fc22
Added the dropdown-Control
...
* added the Control
* added the frontend-code
* added the control to the examples "gui-newAPI.ino" and "tabbedGui.ino"
2019-03-04 21:07:39 +01:00
Christian Riggenbach
3c42b43fe6
Changed signature of the callback
...
Call the callback with a pointer instead of a copy of the Control.
Changed all the examples
2019-03-04 21:05:13 +01:00
Christian Riggenbach
4ea7928fd5
Added Tabbed View
...
* new member of Control: parentControl
* changed addControl() to add children of elements
* added some styles in the css
* two new divs in index.html
* added frontend code to controls.js
* added new demo to demonstrate the tabbed view
2019-03-03 23:33:15 +01:00
Christian Riggenbach
50de3dad87
Added tabbedcontent.js (from https://github.com/elboletaire/tabbedcontent )
2019-03-03 23:27:11 +01:00
Christian Riggenbach
acce17b82c
IDs are uint16_t, removed not used member ESPUIClass::cIndex
2019-03-03 23:27:11 +01:00
Christian Riggenbach
a4989b4eb0
Reordered arguments of ESPUIClass::addControl
...
The arguments value, color and callback have defaults
2019-03-03 21:50:06 +01:00
Christian Riggenbach
37ce571b9c
added ESPUI::updateLabel (works like ESPUI::print)
2019-03-03 21:46:38 +01:00
Christian Riggenbach
6810f7432f
Moved examples/gui/data to data/ and adjusted tools/*.py
2019-03-03 21:23:39 +01:00
Christian Riggenbach
8865416331
Updated API
...
* Sourcecode reindented/reformated, added scopes to all the ifs
* Linked list for holding all the controls
* IDs are autogenerated, Control is now a class
* generalised API for creating controls, removed a lot of redundant code
* a lot of glue for the old API
* check if callback exists before calling it
* Instantation moved out of ESPUI.cpp, must be in the users application
* verbose printing on the serial line dependent of instantation ESPUI(...)
* streamlined begin(...), make authentification optional
2019-03-03 21:13:45 +01:00
2fae44f387
remove color dark, version bump
2019-02-26 16:04:41 +01:00
4f421c84d5
#47 Adding Dark Color, correcting wrong numbering for colors
2019-02-26 12:08:37 +01:00
98d1215d7a
#44 Adding define to reenable WS BasicAuth
2018-12-27 11:34:28 +01:00
7a10457f99
#44 Adding Basic Auth
...
- Also authing websockets
- Implemented on begin and beginSpiffs
- Added notes to Gui example
2018-12-26 13:38:38 +01:00
f31575b50c
#43 Sending Initial GUI as one big array
...
- Added new INITIAL_GUI Type
- spliting GUI Blob to events in controls js
- formating the json in jsonDom into one big array
2018-12-26 12:35:35 +01:00
Felix Eckhardt
e9aca78c9c
udpateSlider implementation with label was missing
2018-12-02 11:41:45 +01:00
Dave Kliczbor
1d7da26dcd
Input style now similar to switches, fixed max-width
2018-11-27 22:01:59 +01:00
7d46a4de96
#9 #21 Adds Text input / Number input Support
...
also loads of reformating
2018-11-26 18:25:10 +01:00
Dave Kliczbor
d38dac9c4d
Bugfix: Inserting htmlentities via jquery requires .html(), not .text()
2018-11-20 20:00:39 +01:00
Dave Kliczbor
3a905e646a
Feature: UI reinit on page visible
2018-11-19 22:23:10 +01:00
11422a3b43
Changing text for no connection box
2018-10-28 22:19:14 +01:00
ec0b519fe3
Merge branch 'feature-restart-ui' of github.com:orithena/ESPUI
2018-10-28 21:47:51 +01:00
74d984128b
Merge branch 'feature-largetouch' of github.com:orithena/ESPUI
2018-10-28 21:47:06 +01:00
Dave Kliczbor
82adb0f1e1
Enlarge slider controls for touchscreen devices
2018-10-28 13:32:27 +01:00
Dave Kliczbor
6219d4302b
'No Connection' label is now clickable to reinitialize
2018-10-28 13:27:31 +01:00
Dave Kliczbor
3b3dee7e9a
Fixed touchmove problem for at least some mobile browsers
2018-10-26 19:04:05 +02:00
wvdv2002
600e46c457
refactored debug define into DEBUG_ESPUI
2018-07-03 17:43:58 +02:00