Commit Graph

228 Commits

Author SHA1 Message Date
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
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
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
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 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
Lukas Bachschwell 99cf344d93
Changes suggested in #93
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-09-24 21:50: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 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 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
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 681a00b3ed
reformate slider 2019-12-28 14:17:29 +01:00
Lukas Bachschwell 79046d7bd0
remove graph logging 2019-12-27 20:27:10 +01:00
Lukas Bachschwell 4b0f8e86b4
#10 Enable storing to localstorage 2019-12-27 16:57:11 +01:00
Lukas Bachschwell bcddcfc311
#63 add variabbles to public scope of espui 2019-12-27 16:30:15 +01:00
Lukas Bachschwell fe45ed8010
#63 Add variables for jsonDynamicDocument Sizes 2019-12-27 16:27:42 +01:00
Lukas Bachschwell e317d25977
Make AsyncServer instance Pubblic 2019-12-27 15:36:24 +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 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 b66d41a98b more reformating 2019-03-24 18:18:08 +01:00
Lukas Bachschwell 218ebc67d9 Style change again 2019-03-24 18:10:21 +01:00
Lukas Bachschwell 70288fc69f Hide tabsnav on :empty 2019-03-24 16:15:30 +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
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
Lukas Bachschwell 2fae44f387 remove color dark, version bump 2019-02-26 16:04:41 +01:00
Lukas Bachschwell 4f421c84d5 #47 Adding Dark Color, correcting wrong numbering for colors 2019-02-26 12:08:37 +01:00
Lukas Bachschwell 98d1215d7a #44 Adding define to reenable WS BasicAuth 2018-12-27 11:34:28 +01:00
Lukas Bachschwell 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
Lukas Bachschwell 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
Lukas Bachschwell 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
Lukas Bachschwell 11422a3b43 Changing text for no connection box 2018-10-28 22:19:14 +01:00
Lukas Bachschwell ec0b519fe3 Merge branch 'feature-restart-ui' of github.com:orithena/ESPUI 2018-10-28 21:47:51 +01:00
Lukas Bachschwell 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
Lukas Bachschwell 9093e8d01e fix typo 2018-05-27 11:48:51 +02:00
Lukas Bachschwell e771320e6a #9 adjusting labels for wraping
renaming datafiles
going on for numbers
2018-05-27 11:47:53 +02:00
Lukas Bachschwell cb5f00cbc0 Adding Backendcode for #10 graph and #9 number controls 2018-05-27 10:42:29 +02:00
Lukas Bachschwell 845ee0f2cd Adding Memory mode an Gzipdata as default 2018-05-27 10:35:37 +02:00
Lukas Bachschwell 35336208de Cleaning up prepareFileSystem, changing button style 2018-05-27 00:16:53 +02:00
Lukas Bachschwell f1012b2fe2 Closes #12 implementing all events for websockets 2018-05-13 19:44:56 +02:00
Lukas Bachschwell cc633a7c85 Closes #11 Bugfix for retrun values on error 2018-05-13 19:39:21 +02:00
Lukas Bachschwell 40b13430cb #9 adding control id as return value 2018-04-17 19:54:07 +02:00
Lukas Bachschwell 5f7f8dd4e5 ixing filelist functions for esp8266 2018-01-14 12:22:26 +01:00
Lukas Bachschwell 6dabc32905 #6 adding list() debug function for fs and commenting out deleteFile operations 2018-01-08 12:26:32 +01:00
Lukas Bachschwell c72bff5b2e #5 fixing textThem to function properly 2017-12-26 21:10:54 +01:00
Lukas Bachschwell 679bf1a5c1 fixed single quotes 2017-12-26 19:35:53 +01:00
Lukas Bachschwell 4af48ce87d fixing prepareFileSystem zepto name 2017-12-25 17:01:55 +01:00
Lukas Bachschwell bf8c19c3fc Fixing ESP8266 file format 2017-12-25 16:39:54 +01:00
Lukas Bachschwell 9ec0f20f2a Closes #4 all references to minimized zepto 2017-12-25 16:02:35 +01:00
Lukas Bachschwell f7be52d075
made sure filesystem is properly formated 2017-12-17 19:02:03 +01:00
Lukas Bachschwell 479792e335 ESP8266 Compatibility, finally 2017-12-01 17:11:16 +01:00
Lukas Bachschwell 489ba045fb File system upload highly simplified and documented 2017-11-29 14:36:19 +01:00
Lukas Bachschwell aedeb2b2d1 Adding constants for all dta files 2017-11-29 12:40:42 +01:00
Lukas Bachschwell 079ecf7c16 Minimized all files 2017-11-29 12:37:24 +01:00
Lukas Bachschwell 09e3a9c71b Adding all the rest for sliderfeature 2017-11-29 11:32:07 +01:00
Lukas Bachschwell ba06ff5fbf Adding Slider Related functions and cleaning up 2017-11-28 13:48:58 +01:00
Lukas Bachschwell fa4499c7ca Adding files for data upload feature 2017-11-27 16:03:19 +01:00
Lukas Bachschwell 7e948c34fc codeformating 2017-11-14 12:14:59 +01:00
Lukas Bachschwell 6da6c3841b Color none, update example 2017-11-14 12:12:12 +01:00
Lukas Bachschwell fa45d9033b Color feature, and API changes 2017-11-14 12:09:52 +01:00
Lukas Bachschwell 6d206d21f9 send button value for button text 2017-11-13 17:22:02 +01:00
Lukas Bachschwell 0dc231bc9c Added possibility to update without ID 2017-11-13 16:10:56 +01:00
Lukas Bachschwell 404bf89f60 removed src/HTML_PAGE.h 2017-11-13 15:06:48 +01:00
Lukas Bachschwell b895cc7fcc starting integrated data upload feature 2017-11-13 11:42:40 +01:00
Lukas Bachschwell a072a162c1 Refactoring to ESPUI 2017-10-19 17:43:39 +02:00
Lukas Bachschwell a8ce83df64 Adding Switches 2017-10-19 17:30:32 +02:00
Lukas Bachschwell a258eab72b Adding Labels and Pads 2017-10-19 13:46:47 +02:00
Lukas Bachschwell 332e9afbfa Adding Button Type and callbacks 2017-10-17 01:10:29 +02:00
Lukas Bachschwell ccc1286c56 Make stuff work and efficient 2017-10-17 00:10:48 +02:00
Lukas Bachschwell 90879055df Serving static files right 2017-10-16 15:00:53 +02:00
Lukas Bachschwell 75e466c817 Adding Zepto js 2017-10-16 12:23:23 +02:00
ayushsharma82 45f47a72c5 Updated to V0.6
- Added Internet Detection to Switch to CDN
- Optimized PROGMEM Data
- Improved UI for Mobile Displays
- Added SoftAP Example
- Fixed Example code for Generic ESP8266 Boards
2017-05-20 05:02:31 +05:30
ayushsharma82 10000fdf51 🌈 Files Added 2017-05-19 03:35:32 +05:30