x0 Base Integration#11
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR brings the ported x0 browser framework into the ESP32-S3 static filesystem bundle, wiring up the HTML entrypoint, CSS assets, and a large set of framework JavaScript modules, plus metadata files used by the embedded HTTP server.
Changes:
- Adds the x0 framework runtime (screen/object factory, XMLRPC handler, UI widgets like tabs, trees, pagination, overlays).
- Adds example/config “meta” JSON files (menu/object/skeleton/text) and an index.html that bootstraps the framework.
- Expands static filesystem metadata (
filemetadata.py/.h) to include the new assets and routes.
Reviewed changes
Copilot reviewed 57 out of 68 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| src/components/filesystem/srcfiles/x0/userFunctions.js | Adds user extension hooks (defaults/validation/context menu stubs). |
| src/components/filesystem/srcfiles/x0/sysXMLRPCRequest.js | Adds XMLRPC request wrapper around XMLHttpRequest. |
| src/components/filesystem/srcfiles/x0/sysXMLRPCBaseSyncLoader.js | Adds base loader abstraction to fetch JSON via XMLRPC and notify the object loader. |
| src/components/filesystem/srcfiles/x0/sysText.js | Adds text lookup helper backed by loaded JSON text data. |
| src/components/filesystem/srcfiles/x0/sysSourceObjectHandler.js | Adds logic to build POST payloads from configured source objects. |
| src/components/filesystem/srcfiles/x0/sysServiceConnector.js | Adds event-based connector for service-driven objects. |
| src/components/filesystem/srcfiles/x0/sysScreenOverlay.js | Adds overlay screen creation/render + data mapping into overlay objects. |
| src/components/filesystem/srcfiles/x0/sysScreen.js | Adds screen setup/render + skeleton/object instantiation and global var handling. |
| src/components/filesystem/srcfiles/x0/sysRTPagination.js | Adds runtime pagination component for list-like UIs. |
| src/components/filesystem/srcfiles/x0/sysRTFormSectionHeader.js | Adds runtime “form section header” layout generator. |
| src/components/filesystem/srcfiles/x0/sysRequestDataHandler.js | Adds request payload accumulator/transform utilities. |
| src/components/filesystem/srcfiles/x0/sysReactor.js | Adds event registration/dispatch and a service-calling helper action. |
| src/components/filesystem/srcfiles/x0/sysRandomNr.js | Adds a simple random-number string generator helper. |
| src/components/filesystem/srcfiles/x0/sysObjTreeSimple.js | Adds a simple tree UI widget (nodes/items) using sysBaseObject rendering. |
| src/components/filesystem/srcfiles/x0/sysObjTabContainer.js | Adds tab container + tab switching and event firing. |
| src/components/filesystem/srcfiles/x0/sysObjSQLText.js | Adds text-rendering object (with optional icons) resolved via sysFactory.getText(). |
| src/components/filesystem/srcfiles/x0/sysObjOpenCloseContainer.js | Adds open/close container widget for collapsible content. |
| src/components/filesystem/srcfiles/x0/sysObjLinkExternal.js | Adds external link widget with variable substitution into URL. |
| src/components/filesystem/srcfiles/x0/sysObjLink.js | Adds internal link/navigation widget (switch screen / open overlay / fire events). |
| src/components/filesystem/srcfiles/x0/sysObjFormfieldList.js | Adds form container with section rendering, validation, and service interaction. |
| src/components/filesystem/srcfiles/x0/sysObjFileUpload.js | Adds file upload widget with progress bar and post-upload triggers. |
| src/components/filesystem/srcfiles/x0/sysObjErrorContainer.js | Adds UI container for displaying form/service errors. |
| src/components/filesystem/srcfiles/x0/sysObjectLoader.js | Adds loader that waits for multiple async loads before factory init. |
| src/components/filesystem/srcfiles/x0/sysObjDynRadioList.js | Adds dynamic “add/remove row” radio list widget. |
| src/components/filesystem/srcfiles/x0/sysObjDiv.js | Adds basic div object wrapper for layout/value/style. |
| src/components/filesystem/srcfiles/x0/sysObjContextMenu.js | Adds right-click context menu widget + item action handler. |
| src/components/filesystem/srcfiles/x0/sysObjButtonInternal.js | Adds internal button behavior built atop sysObjButton methods. |
| src/components/filesystem/srcfiles/x0/sysObjButtonCallback.js | Adds callback button that calls a callback target’s processCallback(). |
| src/components/filesystem/srcfiles/x0/sysObjButton.js | Adds button widget including validation + service calling + post-result actions. |
| src/components/filesystem/srcfiles/x0/sysObjBaseDiv.js | Adds a minimal base div wrapper (sysBaseObject-derived). |
| src/components/filesystem/srcfiles/x0/sysJSONData.js | Adds JSON data object inheriting sync loader behavior. |
| src/components/filesystem/srcfiles/x0/sysIntervalHandler.js | Adds interval-based validation/multi-validation handler. |
| src/components/filesystem/srcfiles/x0/sysInitOnLoad.js | Adds the main boot/init routine wiring sysFactory, loaders, defaults, and handlers. |
| src/components/filesystem/srcfiles/x0/sysHelper.js | Adds sysMergeObjects helper (config merge behavior). |
| src/components/filesystem/srcfiles/x0/sysGridGenerator.js | Adds grid/layout generator for arranging objects into rows/cols. |
| src/components/filesystem/srcfiles/x0/sysGlobalData.js | Adds global data loader object inheriting sync loader behavior. |
| src/components/filesystem/srcfiles/x0/sysFormfieldOnChangeHandler.js | Adds on-change behavior processing to activate/enable objects and fire events. |
| src/components/filesystem/srcfiles/x0/sysFactory.js | Adds central factory for screens, object lookup, screen switching, init-on-change, and text. |
| src/components/filesystem/srcfiles/x0/sysBaseObject.js | Adds recursive render tree, event wiring, traversal, remove/reset/update scaffolding. |
| src/components/filesystem/srcfiles/x0/sysBaseDOMElement.js | Adds DOM creation/manipulation primitives used by sysBaseObject rendering. |
| src/components/filesystem/srcfiles/x0/sysBase64.js | Adds Base64 encoder used for HTTP basic auth header generation. |
| src/components/filesystem/srcfiles/x0/sysAsyncNotifyMsgHandler.js | Adds long-poll style message fetcher and dispatcher for async notifications. |
| src/components/filesystem/srcfiles/x0/sysAsyncNotifyIndicatorItem.js | Adds UI for individual async notify indicator items. |
| src/components/filesystem/srcfiles/x0/sysAsyncNotifyIndicator.js | Adds async notify indicator container managing indicator items/z-index. |
| src/components/filesystem/srcfiles/x0/sysAsyncNotify.js | Adds placeholder async notify object/module. |
| src/components/filesystem/srcfiles/x0/meta/text-data.json | Adds sample text dictionary used by sysText/sysFactory.getText(). |
| src/components/filesystem/srcfiles/x0/meta/skeleton.json | Adds sample skeleton wiring objects into a screen hierarchy. |
| src/components/filesystem/srcfiles/x0/meta/object.json | Adds sample object definitions (tabs, text, link, logo, spacers). |
| src/components/filesystem/srcfiles/x0/meta/menu.json | Adds sample menu definition for sysMenu screen. |
| src/components/filesystem/srcfiles/index.html | Adds the application entrypoint and script includes for x0 runtime. |
| src/components/filesystem/srcfiles/css/globalstyles.css | Adds global styles for overlays, menus, tree widget, and context menu. |
| src/components/filesystem/srcfiles/404.html | Adds static 404 page. |
| src/components/filesystem/filemetadata.py | Updates the server’s static file map to include x0 assets and routes. |
| src/components/filesystem/filemetadata.h | Updates the compiled static file table to include all added assets. |
| README.md | Updates project status to reflect x0 framework integration progress. |
Files not reviewed (1)
- src/components/filesystem/srcfiles/css/fontawesome/all.min.css: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
Author
|
Copilot review might be correct at multiple locations, but corrections must be applied in x0-framework repository, not here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The x0 framework has been ported successfully to ESP32-S3 and works with the following features:
Features