-
-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REFACTORING]3.0 Preact refactoring->3.0.a #157
Comments
OK I have started several online trainings for web development - so this month I will focus on them |
The new embedded page is now part of ESP3D, the build process use webpack and so it will be easier to keep build libraries up to date unlike today, the UI is inpired from spectre css and I have tried to simplified a much as I could. It has same features a latest embdedded page but refactored code. The offline test is now available with simple ESP3D emulator, not yet the one done by @alxblog because it is still under devt
So in embedded directory:
Note: the tool bin2c is still necessary to convert the binary file to a text file to include in sources Feel free to test and comment, there is always area of improvement for sure 😸 Now back to react / preact training |
Some update: I am still on WebUi API itself implementation (settings management / websocket support / error rendering / modal dialogs implementation / code splitting, etc...)- not yet on real pages rendering Here some ongoing test with menu implemented and http call test for the about page FYR: |
Current size of 3.0 rewrite is 30.6KB at same state 3.0 was 35.7KB, UI update : 3.0.0.a4 : 30.6KB | 0.0.0.6 : 35.7KB but rewrite has already authentication support as well as all translations, connection status, mobile view, so benefit of rewrite is already noticeable even some refactoring could still be done but I am limited with with my current Preact knowledge |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I was busy with some IT issues ( my Nas died, Travis become slow, etc..) and some personnal things kept me busy Still need to implement the save / validation / import and export / restart and wifi AP scan dialog, but rendering is now more consistent . I hope this part to be done next week |
@luc-github Seem's really nice, is it also possible to add SSID / Security Options when network is hidden? |
what do you mean ? when Network is hidden you must type SSID and password - what is different ? |
Update, the web UI settings page is not almost done, it still miss: I will add features in above order |
The theme and language support by external pack is now implemented, for the language packs, UI still need to be finished to validate the list of string to translate - so current language packs are just for POC but API is ready |
Some update : |
Macros and Panels configuration are now implemented in settings, I have removed the color button customization because it is actually useless for panel / page, and it simplify the customization UI and the preferences.json file, also it may complexify the code at it would need also a push state color and hover state color that should be calculated, using space that could be used for better usage, and finally it may be weird with theme management as not take in account at all. The error conditions in extrapanels / macros settings are not yet implemented because not yet well defined, TBD... Next steps are more functionnals because they will use settings: |
Luc, do you have any view on a size comparison between V3 and 2.1? How does the size of deployed code for the configuration interface compare to 2.1? |
No I did not do size tracker when doing 2..x , but 3.x refactoring work in more generic way than 2.x and bring more features Refering final package size: in all case the target is to have smaller size between 2.0 vs 3.0 |
Thanks Luc. I recall some discussions about the 3.0 interface being modular, does this mean that for a CNC application we will not need to include the 3D printing components like temperature graphing and extruder control? (and vice versa) which saves space for other CNC specific features, or is there just a single deployment for all machines? Just trying to get my head around the structure of the new code and potential available space for writing new features. |
The idea of the webui 3 is to be simple as much as possible, here the original target : #94 (comment) Edit: I realize the setting to hide information area is missing, I did not implemented it yet... |
No worries, i agree on this, that is what i want as well.
Yeah i know. I have been an OS developer for years and there was always someone that had different ideas as well.
Correct that is what i was thinking about. The buttons should be changing based on the shown tab.
Frankly my idea is coming how android app's use the menu system in the right top corner. It can show menu-items on the headerbar or in pulldown menu or a hybrid of those two based on the space on the header-bar. I think preact could handle that very easy. Although i have never used it before. But from what i have read so far ,
For me a sticky bar would work for me as well. Although i do not have very good experiences using them, it never worked as expected. |
what do you mean? |
that the setting to hide information page menu is not yet implemented - I guess it is because I did not really worked yet on data to display , it will come soon as I am now almost back to the original agenda : #157 (comment) |
Notifications panel is now implemented 😸
As I did not get any feedback for the icons (#224) I will also take some time to do some to have some material to show |
Maybe the buttons "motors off" and "emergency of" written as double line left and right and in between "stop heating all" so that you have all important buttons within the main window/area. |
As Emergency stop in all printer kill also all heating process - I am not sure it is necessary to get emergency stop close to stop heat all , also stop heat all is not supposed to be emergency command but more an easy way to stop all heaters but yes putting the emergency stop button close to the panel button menu could be a good idea indeed, this space is not used and actually wasted |
I have defined some configuration matrix and started to test - I am fixing bugs I meet along the test |
Porting is done - I will merge the code to branch 3.0 to become officially the 3.0 this week |
Merging is now done - I doing prerelease of alpha2 now - so I guess issue can be closed and discussion can continue on #94 |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
ESP3D-WBUI 3.0 is using Preact and bootstrap 4.0
Current preact implementation is to be honnest,not really well done - that is my first Preact project and I have a lack of Preact knowledge - so I should consider it as a draft even it is currently workable.
So a rewrite is definitly necessary:
@alxblog did a great start on POC
It is based on spectre which seems lighter than bootstrap but meet all needs of ESP3D-WEBUI and even more.
The POC approach was to start a full rewrite to not be limited, but that is a huge task and unfortunatly @alxblog seems busy with others things - when on another side my preact knowledge is still pretty low 😊
But several approaches are really the way the webui need to gp:
document.getElementById
)I think a full rewrite is too agressive (at least for me) and a step by step changes is the way to go
If anyone has suggestions/ideas / want to be my preact mentor(s) to achieve this I am ready ^_^
The text was updated successfully, but these errors were encountered: