Skip to content

x0 Base Integration#11

Merged
clauspruefer merged 2 commits into
mainfrom
x0-integration
Jul 8, 2026
Merged

x0 Base Integration#11
clauspruefer merged 2 commits into
mainfrom
x0-integration

Conversation

@clauspruefer

Copy link
Copy Markdown
Member

Description

The x0 framework has been ported successfully to ESP32-S3 and works with the following features:

Features

  • Complete Fontawesome Package
  • Complete Bootstrap Package
  • Nearly Complete x0 Functionality

Copilot AI review requested due to automatic review settings July 8, 2026 11:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/components/filesystem/srcfiles/x0/sysObjButton.js
Comment thread src/components/filesystem/srcfiles/x0/sysObjButton.js
Comment thread src/components/filesystem/srcfiles/x0/sysObjButton.js
Comment thread src/components/filesystem/srcfiles/x0/sysObjButton.js
Comment thread src/components/filesystem/srcfiles/x0/sysObjButton.js
Comment thread src/components/filesystem/srcfiles/x0/sysText.js
Comment thread src/components/filesystem/srcfiles/x0/sysText.js
Comment thread src/components/filesystem/srcfiles/x0/sysObjectLoader.js
Comment thread src/components/filesystem/srcfiles/x0/sysRequestDataHandler.js
Comment thread src/components/filesystem/srcfiles/x0/sysBaseObject.js
@clauspruefer

Copy link
Copy Markdown
Member Author

Copilot review might be correct at multiple locations, but corrections must be applied in x0-framework repository, not here.

@clauspruefer clauspruefer merged commit 98a91d8 into main Jul 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants