From 8311121af8b7abc465268c5a08f4ae9f9dc4872a Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Thu, 29 Jan 2026 14:35:13 -0600 Subject: [PATCH 1/2] [wip] initial implementation of Bundled Plugins --- ABFactoryCore.js | 7 +++++++ ABViewManagerCore.js | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ABFactoryCore.js b/ABFactoryCore.js index cb986e9..9f7fe1c 100644 --- a/ABFactoryCore.js +++ b/ABFactoryCore.js @@ -777,6 +777,13 @@ class ABFactory extends EventEmitter { return api; } + pluginLocalLoad() { + // This is a placeholder for a local plugin load. + // The platform version of this method will load the plugins from + // /platform/plugins/local/ + return Promise.resolve(); + } + pluginRegister(plugin) { let pluginClass = plugin(this.pluginAPI()); if (Array.isArray(pluginClass)) { diff --git a/ABViewManagerCore.js b/ABViewManagerCore.js index f2f324b..7c5bab0 100644 --- a/ABViewManagerCore.js +++ b/ABViewManagerCore.js @@ -27,12 +27,12 @@ var AllViews = [ require("../platform/views/ABViewImage"), require("../platform/views/ABViewLabel"), require("../platform/views/ABViewLayout"), - require("../platform/views/ABViewList"), + // require("../platform/views/ABViewList"), require("../platform/views/ABViewMenu"), require("../platform/views/ABViewPage"), require("../platform/views/ABViewPDFImporter"), require("../platform/views/ABViewPivot"), - require("../platform/views/ABViewTab"), + // require("../platform/views/ABViewTab"), require("../platform/views/ABViewText"), // From 389fa77818d08f4feef03bbf81762588398f583f Mon Sep 17 00:00:00 2001 From: Johnny Hausman Date: Thu, 29 Jan 2026 15:07:02 -0600 Subject: [PATCH 2/2] [wip] refactor pluginLocalLoad() to be in ABFactory.init() --- ABFactoryCore.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ABFactoryCore.js b/ABFactoryCore.js index 9f7fe1c..b91c598 100644 --- a/ABFactoryCore.js +++ b/ABFactoryCore.js @@ -279,10 +279,11 @@ class ABFactory extends EventEmitter { } } - init() { + async init() { // BEFORE Definitions are loaded, // make sure any local Plugins are loaded. - this.ClassManager.registerLocalPlugins(this.pluginAPI()); + // this.ClassManager.registerLocalPlugins(this.pluginAPI()); + await this.pluginLocalLoad(); let allDefinitions = Object.keys(this._definitions).map( (k) => this._definitions[k]