Release Candidate Version 1.1.0 - #204
Open
clauspruefer wants to merge 16 commits into
Open
Conversation
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Release candidate v1.1.0 update that expands the x0 front-end object framework with new UI object types, introduces recursive object data get/set APIs, adjusts XMLRPC request defaults/method handling, and updates examples + documentation accordingly.
Changes:
- Added recursive
getObjectData(recursive)/setObjectData(data, recursive)support insysBaseObject, plus runnable examples and documentation. - Introduced new system objects (
DivUnique,ProgressBar,RangeSlider) and updated multiple UI components to use shorter/override ObjectIDs and Bootstrap styling. - Updated XMLRPC/button request-method behavior and improved global variable/source-object handling.
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| www/sysXMLRPCRequest.js | Default XMLRPC request type set to GET; header tweak. |
| www/sysSourceObjectHandler.js | Implements GlobalVar source object resolution via factory global vars. |
| www/sysObjTreeSimple.js | Refactors tree DOM structure/styling to Bootstrap list groups; ID handling changes. |
| www/sysObjTabContainer.js | Adjusts ObjectID overriding/initialization for tab container. |
| www/sysObjSQLText.js | Tweaks icon postfix HTML spacing. |
| www/sysObjRangeSlider.js | New RangeSlider system object. |
| www/sysObjProgressBar.js | New ProgressBar system object. |
| www/sysObjOpenCloseContainer.js | ObjectID override + header uses sysObjSQLText (icon/text). |
| www/sysObjList.js | ObjectID override/uniqueness changes. |
| www/sysObjFormfieldList.js | ObjectID override + mapping support in setData; validation flow adjustments. |
| www/sysObjFormfieldItem.js | Formatting/field alignment changes. |
| www/sysObjFileUpload.js | Ensures ObjectID set; minor formatting fix. |
| www/sysObjDiv.js | Formatting updates + new sysObjDivUnique. |
| www/sysObjContextMenu.js | Refactors context menu rendering to Bootstrap list-group; adds hover highlighting. |
| www/sysObjButtonInternal.js | ObjectID override + constructor field refactor/commenting. |
| www/sysObjButtonCallback.js | ObjectID override + constructor refactor/commenting. |
| www/sysObjButton.js | Adds RequestMethod handling and new actions (set, setglobalvar); action flow changes. |
| www/sysFormfieldValidate.js | Updates group validation to use UserValidateGroup. |
| www/sysFactory.js | Registers new object types + adds setGlobalVar. |
| www/sysBaseObject.js | Adds recursive object data get/set helpers + wrapper signature changes. |
| www/sysAsyncNotifyIndicatorItem.js | CSS class tweak for notify indicator items. |
| static/sysInitOnLoad.js | New static (DB-less) initialization entrypoint. |
| example/recursive_object_data/recursive_object_data_examples.js | New console examples covering recursive get/set scenarios. |
| example/recursive_object_data/README.md | Documentation for recursive object data examples. |
| example/README.md | Links new recursive object data example. |
| doc/dev-oop-classes.rst | Documents recursive get/set API and updates section numbering. |
Suppressed comments (1)
www/sysObjButton.js:373
- Similar to the
setbranch, theappendbranch callsRuntimeAppendDataFuncunconditionally after re-fetching objects without guarding against missing IDs or missing function pointers. This can throw and break button actions at runtime.
else if (Action == 'append') {
const SrcObject = sysFactory.getObjectByID(Attributes.SrcDataObject);
const DstObject = sysFactory.getObjectByID(Attributes.DstDataObject);
DstObject.RuntimeAppendDataFunc(SrcObject.RuntimeGetDataFunc());
}
| } | ||
| catch(err) { | ||
| console.debug('::validateGroup err:%s', err); | ||
| console.debug('::validateGroup err:%s', err);+ |
Comment on lines
+362
to
+367
| if (Action == 'set') { | ||
| const SrcObject = sysFactory.getObjectByID(Attributes.SrcDataObject); | ||
| const DstObject = sysFactory.getObjectByID(Attributes.DstDataObject); | ||
| console.debug(DstObject); | ||
| DstObject.RuntimeSetDataFunc(SrcObject.RuntimeGetDataFunc()); | ||
| } |
Comment on lines
+46
to
+48
| this.ProgressBarObj = new sysBaseObject(); | ||
| this.ProgressBarObj.ObjectID = 'ProgressBar'; | ||
|
|
Comment on lines
+183
to
+185
| var i=1; | ||
| for (ItemObj of this.Items) | ||
| { |
Comment on lines
+273
to
+274
| for (Key in this.FormfieldItems) | ||
| { |
Comment on lines
307
to
308
| for (GroupItem of Attributes.GroupValidate) { | ||
|
|
Comment on lines
+81
to
+83
| for (Key in sysVarPreLoadVars) { | ||
| sysFactory.ObjGlobalData[Key] = InsertResult[sysVarPreLoadVars[Key]]; | ||
| } |
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.
Pull Request
Description
Release Candidate
v1.1.DivUnique,ProgressBarandRangeSliderObject TypesPOSTtoGETPOST, addRequestMethodProperty (object.json) for all Button TypesType of Change