From db197597c7938b87083a5f0c0dfb75be9ffaa87d Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 22:09:34 -0600 Subject: [PATCH 1/6] [fix] new plugin architecture should pull views from AB.ClassManager.viewClass() --- src/rootPages/Designer/properties/views/ABViewMenu.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rootPages/Designer/properties/views/ABViewMenu.js b/src/rootPages/Designer/properties/views/ABViewMenu.js index 9716c63c..c340307a 100644 --- a/src/rootPages/Designer/properties/views/ABViewMenu.js +++ b/src/rootPages/Designer/properties/views/ABViewMenu.js @@ -775,7 +775,9 @@ export default function (AB) { }); // add tabs - const ABViewTab = this.AB.Class.ABViewManager.viewClass("tab"); + // ABViewManager.viewClass() is depreciated. Use ClassManager.viewClass() instead. + //const ABViewTab = this.AB.Class.ABViewManager.viewClass("tab"); + const ABViewTab = this.AB.ClassManager.viewClass("tab"); page .views((v) => v instanceof ABViewTab) .forEach((tab, tabIndex) => { From 4cd660ac530cbbff66d6cf9d25f2445fb01fc4c0 Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 22:10:14 -0600 Subject: [PATCH 2/6] [fix] ABViewMenu editor should return a single {layout} around the menu. --- src/rootPages/Designer/editors/views/ABViewMenu.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/rootPages/Designer/editors/views/ABViewMenu.js b/src/rootPages/Designer/editors/views/ABViewMenu.js index c70c928a..837103af 100644 --- a/src/rootPages/Designer/editors/views/ABViewMenu.js +++ b/src/rootPages/Designer/editors/views/ABViewMenu.js @@ -33,10 +33,19 @@ export default function (AB) { ui() { const menu = this.component.ui(); + // NOTE: we want our editors to have a { layout .rows[0]=component } structure + // the menu already has a layout around it, so just use that one + // and prepare it for the ABDesigner editor format: + menu._dashboardID = this.component.ids.menu; + + return menu; + /* return { + _dashboardID: this.component.ids.menu, type: "space", rows: [menu, {}], }; + */ } init(AB) { From dcd2e9d03bb43b3f6f595e0f194854986e382b6c Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 22:11:20 -0600 Subject: [PATCH 3/6] [wip] remove all depreciated references to ABViewManager.viewClass() and replace with ClassManager.viewClass() --- src/rootPages/Designer/editors/views/ABViewContainer.js | 2 +- src/rootPages/Designer/properties/mobile/ABMobileViewForm.js | 2 +- .../Designer/properties/views/ABViewConditionalContainer.js | 2 +- src/rootPages/Designer/properties/views/ABViewDataview.js | 2 +- src/rootPages/Designer/properties/views/ABViewDetail.js | 2 +- src/rootPages/Designer/properties/views/ABViewDocxBuilder.js | 2 +- src/rootPages/Designer/properties/views/ABViewForm.js | 4 ++-- src/rootPages/Designer/properties/views/ABViewMenu.js | 2 +- src/rootPages/Designer/ui_work_interface_workspace.js | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rootPages/Designer/editors/views/ABViewContainer.js b/src/rootPages/Designer/editors/views/ABViewContainer.js index 15c53710..7ff5bb68 100644 --- a/src/rootPages/Designer/editors/views/ABViewContainer.js +++ b/src/rootPages/Designer/editors/views/ABViewContainer.js @@ -64,7 +64,7 @@ export default function (AB) { ui() { let key = ABViewContainerEditor.key; let Defaults = - AB.Class.ABViewManager.viewClass(key).defaultValues(); + AB.ClassManager.viewClass(key).defaultValues(); return { _dashboardID: this.ids.component, rows: [ diff --git a/src/rootPages/Designer/properties/mobile/ABMobileViewForm.js b/src/rootPages/Designer/properties/mobile/ABMobileViewForm.js index 5ab6cda0..6b17253e 100644 --- a/src/rootPages/Designer/properties/mobile/ABMobileViewForm.js +++ b/src/rootPages/Designer/properties/mobile/ABMobileViewForm.js @@ -589,7 +589,7 @@ export default function (AB) { refreshDefaultButton() { const ids = this.ids; const ABViewFormButton = - this.AB.Class.ABViewManager.viewClass("button"); + this.AB.ClassManager.viewClass("button"); // If default button is not exists, then skip this let defaultButton = this.views( diff --git a/src/rootPages/Designer/properties/views/ABViewConditionalContainer.js b/src/rootPages/Designer/properties/views/ABViewConditionalContainer.js index c5f5afad..513ec7f0 100644 --- a/src/rootPages/Designer/properties/views/ABViewConditionalContainer.js +++ b/src/rootPages/Designer/properties/views/ABViewConditionalContainer.js @@ -22,7 +22,7 @@ export default function (AB) { }); this.AB = AB; - ABViewPropertyDefaults = this.AB.Class.ABViewManager.viewClass( + ABViewPropertyDefaults = this.AB.ClassManager.viewClass( "conditionalcontainer" ).defaultValues(); } diff --git a/src/rootPages/Designer/properties/views/ABViewDataview.js b/src/rootPages/Designer/properties/views/ABViewDataview.js index 2475dcae..13bc88f3 100644 --- a/src/rootPages/Designer/properties/views/ABViewDataview.js +++ b/src/rootPages/Designer/properties/views/ABViewDataview.js @@ -25,7 +25,7 @@ export default function (AB) { this.AB = AB; ABViewDataviewPropertyComponentDefaults = - this.AB.Class.ABViewManager.viewClass("dataview").defaultValues(); + this.AB.ClassManager.viewClass("dataview").defaultValues(); this.linkPageComponent = new LinkPageProperty(AB, base); } diff --git a/src/rootPages/Designer/properties/views/ABViewDetail.js b/src/rootPages/Designer/properties/views/ABViewDetail.js index de3f62d7..f7c746a0 100644 --- a/src/rootPages/Designer/properties/views/ABViewDetail.js +++ b/src/rootPages/Designer/properties/views/ABViewDetail.js @@ -34,7 +34,7 @@ export default function (AB) { this.AB = AB; ABViewDetailPropertyComponentDefaults = - this.AB.Class.ABViewManager.viewClass("detail").defaultValues(); + this.AB.ClassManager.viewClass("detail").defaultValues(); } static get key() { diff --git a/src/rootPages/Designer/properties/views/ABViewDocxBuilder.js b/src/rootPages/Designer/properties/views/ABViewDocxBuilder.js index a9046cc1..8a1487eb 100644 --- a/src/rootPages/Designer/properties/views/ABViewDocxBuilder.js +++ b/src/rootPages/Designer/properties/views/ABViewDocxBuilder.js @@ -30,7 +30,7 @@ export default function (AB) { this.AB = AB; ABViewDocxBuilderPropertyComponentDefaults = - this.AB.Class.ABViewManager.viewClass( + this.AB.ClassManager.viewClass( "docxBuilder" ).defaultValues(); } diff --git a/src/rootPages/Designer/properties/views/ABViewForm.js b/src/rootPages/Designer/properties/views/ABViewForm.js index 989d8702..c4a84812 100644 --- a/src/rootPages/Designer/properties/views/ABViewForm.js +++ b/src/rootPages/Designer/properties/views/ABViewForm.js @@ -47,7 +47,7 @@ export default function (AB) { this.AB = AB; ABViewFormPropertyComponentDefaults = - this.AB.Class.ABViewManager.viewClass("form").defaultValues(); + this.AB.ClassManager.viewClass("form").defaultValues(); } static get key() { @@ -600,7 +600,7 @@ export default function (AB) { refreshDefaultButton() { const ids = this.ids; const ABViewFormButton = - this.AB.Class.ABViewManager.viewClass("button"); + this.AB.ClassManager.viewClass("button"); // If default button is not exists, then skip this let defaultButton = this.views( diff --git a/src/rootPages/Designer/properties/views/ABViewMenu.js b/src/rootPages/Designer/properties/views/ABViewMenu.js index c340307a..216626d4 100644 --- a/src/rootPages/Designer/properties/views/ABViewMenu.js +++ b/src/rootPages/Designer/properties/views/ABViewMenu.js @@ -35,7 +35,7 @@ export default function (AB) { this.AB = AB; ABViewMenuPropertyComponentDefaults = - this.AB.Class.ABViewManager.viewClass("menu").defaultValues(); + this.AB.ClassManager.viewClass("menu").defaultValues(); } static get key() { diff --git a/src/rootPages/Designer/ui_work_interface_workspace.js b/src/rootPages/Designer/ui_work_interface_workspace.js index 03743b8c..5c363245 100644 --- a/src/rootPages/Designer/ui_work_interface_workspace.js +++ b/src/rootPages/Designer/ui_work_interface_workspace.js @@ -29,7 +29,7 @@ export default function (AB) { this.ColumnEditor = ABWorkspaceEditor(AB); this.ColumnDetails = ABWorkspaceDetails(AB); - this.classABViewPage = AB.Class.ABViewManager.viewClass("page"); + this.classABViewPage = AB.ClassManager.viewClass("page"); } // webix UI definition: From ce8a5ed273aa3ff6ca9ba59228daf841a9fd69a2 Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 22:11:48 -0600 Subject: [PATCH 4/6] [wip] updated package-lock.json --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 623b2bc1..57fdfee7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "abdesigner", - "version": "1.12.1", + "version": "1.13.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "abdesigner", - "version": "1.12.1", + "version": "1.13.0", "license": "ISC", "dependencies": { "@codemirror/lang-javascript": "^6.2.3", From a318b14a58548095302c51c703849356158f02fd Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 22:55:46 -0600 Subject: [PATCH 5/6] [fix] improper call to ViewTabEditor .super() --- src/plugins/web_view_tab/FNAbviewtabEditor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/web_view_tab/FNAbviewtabEditor.js b/src/plugins/web_view_tab/FNAbviewtabEditor.js index 47858f6a..3b34af8c 100644 --- a/src/plugins/web_view_tab/FNAbviewtabEditor.js +++ b/src/plugins/web_view_tab/FNAbviewtabEditor.js @@ -41,7 +41,7 @@ export default function FNAbviewtabEditor({ AB, ABViewEditorPlugin }) { constructor(view, base = BASE_ID) { // base: {string} unique base id reference - super(base, { + super(view, base, { view: "", }); From b60d4100174904fa1ccaf3146ef67a4125489413 Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Sat, 14 Feb 2026 23:14:24 -0600 Subject: [PATCH 6/6] [wip] clean up unnecessary assignments in Tab Editor constructor --- src/plugins/web_view_tab/FNAbviewtabEditor.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/web_view_tab/FNAbviewtabEditor.js b/src/plugins/web_view_tab/FNAbviewtabEditor.js index 3b34af8c..f2bd4fbc 100644 --- a/src/plugins/web_view_tab/FNAbviewtabEditor.js +++ b/src/plugins/web_view_tab/FNAbviewtabEditor.js @@ -44,10 +44,6 @@ export default function FNAbviewtabEditor({ AB, ABViewEditorPlugin }) { super(view, base, { view: "", }); - - this.AB = AB; - this.view = view; - this.component = this.view.component(); } ui() {