From 742722be718413947131a533f5d18952108b9dc5 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 26 Sep 2021 14:58:22 +0200 Subject: [PATCH] Plugins Project implemented --- Platform/Client/githubServer.js | 8 +- Platform/Client/httpInterface.js | 28 +++-- ...ata-mining.png => data-mining-project.png} | Bin .../Plugins/Data-Mines/Alpha.json | 0 .../Plugins/Data-Mines/Barcelona.json | 0 .../Plugins/Data-Mines/Bollinger.json | 0 .../Plugins/Data-Mines/Buddha.json | 0 .../Plugins/Data-Mines/Candles.json | 0 .../Plugins/Data-Mines/CoinGecko.json | 0 .../Plugins/Data-Mines/Delta.json | 0 .../Plugins/Data-Mines/Heikin.json | 0 .../Plugins/Data-Mines/Indicator-Add-ons.json | 0 .../Plugins/Data-Mines/Masters.json | 0 .../Plugins/Data-Mines/Messari.json | 0 .../Plugins/Data-Mines/Omega-One.json | 0 .../Plugins/Data-Mines/Pluvtech.json | 0 .../Plugins/Data-Mines/Polus.json | 0 .../Plugins/Data-Mines/Quasar.json | 0 .../Plugins/Data-Mines/Samurai.json | 0 .../Plugins/Data-Mines/Sparta.json | 0 .../Plugins/Data-Mines/Turtles.json | 0 .../Plugins/Data-Mines/Webhooks.json | 0 .../Plugins/Data-Mines/Zeus.json | 0 .../Plugins/Data-Mines/quantum.json | 0 .../App-Schema/data-mining-project.json | 3 +- ...-actions-adding-an-action-switch-case.json | 4 +- .../UI/Function-Libraries/ActionSwitch.js | 75 -------------- .../Function-Libraries/UiObjectsFromNodes.js | 18 ++++ .../UI/Spaces/Design-Space/Workspace.js | 2 +- .../UI/Function-Libraries/PluginsFunctions.js | 30 +++--- .../Icons}/plugin-api-maps.png | Bin .../Icons}/plugin-data-mines.png | Bin .../Icons}/plugin-file-position.png | Bin .../Plugins => Plugins/Icons}/plugin-file.png | Bin .../Icons}/plugin-learning-engines.png | Bin .../Icons}/plugin-learning-mines.png | Bin .../Icons}/plugin-learning-systems.png | Bin .../Icons}/plugin-project.png | Bin .../Icons}/plugin-super-scripts.png | Bin .../Icons}/plugin-trading-engines.png | Bin .../Icons}/plugin-trading-mines.png | Bin .../Icons}/plugin-trading-systems.png | Bin .../Icons}/plugin-tutorials.png | Bin .../Icons/plugins-project.png} | Bin Projects/Plugins/Icons/plugins.png | Bin 0 -> 9720 bytes .../SA/Utilities/Plugins.js | 4 +- .../Schemas/App-Schema/plugin-api-maps.json | 3 +- .../Schemas/App-Schema/plugin-data-mines.json | 10 +- .../App-Schema/plugin-file-position.json | 3 +- .../Schemas/App-Schema/plugin-file.json | 6 +- .../App-Schema/plugin-learning-engines.json | 3 +- .../App-Schema/plugin-learning-mines.json | 3 +- .../App-Schema/plugin-learning-systems.json | 3 +- .../Schemas/App-Schema/plugin-project.json | 6 +- .../App-Schema/plugin-trading-engines.json | 3 +- .../App-Schema/plugin-trading-mines.json | 3 +- .../App-Schema/plugin-trading-systems.json | 3 +- .../Schemas/App-Schema/plugin-tutorials.json | 3 +- .../Schemas/App-Schema/plugins-project.json | 45 ++++++++ .../Schemas/App-Schema/plugins.json | 3 +- .../Plugin-API-Maps/plugin-api-maps.json | 0 .../Plugin-Data-Mines/plugin-data-mines.json | 0 .../plugin-file-position.json | 0 .../P/Plugin/Plugin-File/plugin-file.json | 0 .../Plugin/Plugin-Project/plugin-project.json | 0 .../plugin-super-scripts.json | 0 .../plugin-trading-engines.json | 0 .../plugin-trading-mines.json | 0 .../plugin-trading-systems.json | 0 .../Plugin-Tutorials/plugin-tutorials.json | 0 .../Docs-Nodes/P}/Plugins/plugins.json | 0 .../UI/Function-Libraries/ActionSwitch.js | 98 ++++++++++++++++++ .../UI/Function-Libraries/PluginsFunctions.js | 66 ++++++------ .../UI/Utilities/Plugins.js | 12 +-- Projects/ProjectsSchema.json | 63 +++++++---- .../Social-Trading/NT/Modules/Bootstrap.js | 4 +- 76 files changed, 320 insertions(+), 192 deletions(-) rename Projects/Data-Mining/Icons/Data/{data-mining.png => data-mining-project.png} (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Alpha.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Barcelona.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Bollinger.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Buddha.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Candles.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/CoinGecko.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Delta.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Heikin.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Indicator-Add-ons.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Masters.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Messari.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Omega-One.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Pluvtech.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Polus.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Quasar.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Samurai.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Sparta.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Turtles.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Webhooks.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/Zeus.json (100%) rename Projects/{Foundations => Data-Mining}/Plugins/Data-Mines/quantum.json (100%) mode change 100755 => 100644 rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-api-maps.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-data-mines.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-file-position.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-file.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-learning-engines.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-learning-mines.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-learning-systems.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-project.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-super-scripts.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-trading-engines.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-trading-mines.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-trading-systems.png (100%) rename Projects/{Foundations/Icons/Plugins => Plugins/Icons}/plugin-tutorials.png (100%) rename Projects/{Foundations/Icons/Plugins/plugins.png => Plugins/Icons/plugins-project.png} (100%) create mode 100644 Projects/Plugins/Icons/plugins.png rename Projects/{Foundations => Plugins}/SA/Utilities/Plugins.js (94%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-api-maps.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-data-mines.json (77%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-file-position.json (83%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-file.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-learning-engines.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-learning-mines.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-learning-systems.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-project.json (95%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-trading-engines.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-trading-mines.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-trading-systems.json (91%) rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugin-tutorials.json (91%) create mode 100644 Projects/Plugins/Schemas/App-Schema/plugins-project.json rename Projects/{Foundations => Plugins}/Schemas/App-Schema/plugins.json (91%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-API-Maps/plugin-api-maps.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Data-Mines/plugin-data-mines.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-File-Position/plugin-file-position.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-File/plugin-file.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Project/plugin-project.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Super-Scripts/plugin-super-scripts.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Engines/plugin-trading-engines.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Mines/plugin-trading-mines.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Systems/plugin-trading-systems.json (100%) rename Projects/{Foundations => Plugins}/Schemas/Docs-Nodes/P/Plugin/Plugin-Tutorials/plugin-tutorials.json (100%) rename Projects/{Foundations/Schemas/Docs-Nodes/P/Plugins => Plugins/Schemas/Docs-Nodes/P}/Plugins/plugins.json (100%) create mode 100644 Projects/Plugins/UI/Function-Libraries/ActionSwitch.js rename Projects/{Foundations => Plugins}/UI/Function-Libraries/PluginsFunctions.js (68%) rename Projects/{Foundations => Plugins}/UI/Utilities/Plugins.js (97%) diff --git a/Platform/Client/githubServer.js b/Platform/Client/githubServer.js index 004811b2f..2a779b259 100644 --- a/Platform/Client/githubServer.js +++ b/Platform/Client/githubServer.js @@ -508,14 +508,14 @@ exports.newGithubServer = function newGithubServer() { unless the existing one belongs to the same Github username. */ let userProfileIdMap = new Map() - let pluginFileNames = await SA.projects.foundations.utilities.plugins.getPluginFileNames( + let pluginFileNames = await SA.projects.plugins.utilities.plugins.getPluginFileNames( 'Governance', 'User-Profiles' ) for (let i = 0; i < pluginFileNames.length; i++) { let pluginFileName = pluginFileNames[i] - let pluginFileContent = await SA.projects.foundations.utilities.plugins.getPluginFileContent( + let pluginFileContent = await SA.projects.plugins.utilities.plugins.getPluginFileContent( 'Governance', 'User-Profiles', pluginFileName @@ -558,13 +558,13 @@ exports.newGithubServer = function newGithubServer() { unless the existing one belongs to the same Github username. */ let userProfileIdMap = new Map() - let pluginFileNames = await SA.projects.foundations.utilities.plugins.getPluginFileNames( + let pluginFileNames = await SA.projects.plugins.utilities.plugins.getPluginFileNames( 'Governance', 'User-Profiles' ) for (let i = 0; i < pluginFileNames.length; i++) { let pluginFileName = pluginFileNames[i] - let pluginFileContent = await SA.projects.foundations.utilities.plugins.getPluginFileContent( + let pluginFileContent = await SA.projects.plugins.utilities.plugins.getPluginFileContent( 'Governance', 'User-Profiles', pluginFileName diff --git a/Platform/Client/httpInterface.js b/Platform/Client/httpInterface.js index cbe0d20aa..37e7234bd 100644 --- a/Platform/Client/httpInterface.js +++ b/Platform/Client/httpInterface.js @@ -1067,7 +1067,7 @@ exports.newHttpInterface = function newHttpInterface() { ) SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(serverResponse), httpResponse) - + setInterval( PL.servers.GITHUB_SERVER.mergePullRequests, 60000, @@ -1075,7 +1075,7 @@ exports.newHttpInterface = function newHttpInterface() { params.username, params.token ) - + return } case 'payContributors': { @@ -1106,7 +1106,7 @@ exports.newHttpInterface = function newHttpInterface() { } try { SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(error), httpResponse) - } catch(err) { + } catch (err) { // we just try to reponnd to the web app, but maybe the response has already been sent. } } @@ -1382,11 +1382,13 @@ exports.newHttpInterface = function newHttpInterface() { try { let project = unescape(requestPath[2]) let folder = unescape(requestPath[3]) - - let response = await SA.projects.foundations.utilities.plugins.getPluginFileNames( + + let response = await SA.projects.plugins.utilities.plugins.getPluginFileNames( project, folder - ) + ).catch(err => { + console.log('[ERROR] httpInterface -> PluginFileNames -> err.stack = ' + err.stack) + }) SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(response), httpResponse) @@ -1419,12 +1421,18 @@ exports.newHttpInterface = function newHttpInterface() { if (fileName === 'Superalgos-CL.json') { fileName = 'Superalgos-PL.json' } - - let response = await SA.projects.foundations.utilities.plugins.getPluginFileContent( + + await SA.projects.plugins.utilities.plugins.getPluginFileContent( project, folder, fileName - ).catch(err => { + ) + .then( response => + { + SA.projects.foundations.utilities.httpResponses.respondWithContent(response, httpResponse) + } + ) + .catch(err => { let error = { result: 'Fail Because', message: err @@ -1433,8 +1441,6 @@ exports.newHttpInterface = function newHttpInterface() { return }) - SA.projects.foundations.utilities.httpResponses.respondWithContent(response, httpResponse) - } catch (err) { console.log('[ERROR] httpInterface -> LoadPlugin -> Method call produced an error.') console.log('[ERROR] httpInterface -> LoadPlugin -> err.stack = ' + err.stack) diff --git a/Projects/Data-Mining/Icons/Data/data-mining.png b/Projects/Data-Mining/Icons/Data/data-mining-project.png similarity index 100% rename from Projects/Data-Mining/Icons/Data/data-mining.png rename to Projects/Data-Mining/Icons/Data/data-mining-project.png diff --git a/Projects/Foundations/Plugins/Data-Mines/Alpha.json b/Projects/Data-Mining/Plugins/Data-Mines/Alpha.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Alpha.json rename to Projects/Data-Mining/Plugins/Data-Mines/Alpha.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Barcelona.json b/Projects/Data-Mining/Plugins/Data-Mines/Barcelona.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Barcelona.json rename to Projects/Data-Mining/Plugins/Data-Mines/Barcelona.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Bollinger.json b/Projects/Data-Mining/Plugins/Data-Mines/Bollinger.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Bollinger.json rename to Projects/Data-Mining/Plugins/Data-Mines/Bollinger.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Buddha.json b/Projects/Data-Mining/Plugins/Data-Mines/Buddha.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Buddha.json rename to Projects/Data-Mining/Plugins/Data-Mines/Buddha.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Candles.json b/Projects/Data-Mining/Plugins/Data-Mines/Candles.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Candles.json rename to Projects/Data-Mining/Plugins/Data-Mines/Candles.json diff --git a/Projects/Foundations/Plugins/Data-Mines/CoinGecko.json b/Projects/Data-Mining/Plugins/Data-Mines/CoinGecko.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/CoinGecko.json rename to Projects/Data-Mining/Plugins/Data-Mines/CoinGecko.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Delta.json b/Projects/Data-Mining/Plugins/Data-Mines/Delta.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Delta.json rename to Projects/Data-Mining/Plugins/Data-Mines/Delta.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Heikin.json b/Projects/Data-Mining/Plugins/Data-Mines/Heikin.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Heikin.json rename to Projects/Data-Mining/Plugins/Data-Mines/Heikin.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Indicator-Add-ons.json b/Projects/Data-Mining/Plugins/Data-Mines/Indicator-Add-ons.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Indicator-Add-ons.json rename to Projects/Data-Mining/Plugins/Data-Mines/Indicator-Add-ons.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Masters.json b/Projects/Data-Mining/Plugins/Data-Mines/Masters.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Masters.json rename to Projects/Data-Mining/Plugins/Data-Mines/Masters.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Messari.json b/Projects/Data-Mining/Plugins/Data-Mines/Messari.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Messari.json rename to Projects/Data-Mining/Plugins/Data-Mines/Messari.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Omega-One.json b/Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Omega-One.json rename to Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Pluvtech.json b/Projects/Data-Mining/Plugins/Data-Mines/Pluvtech.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Pluvtech.json rename to Projects/Data-Mining/Plugins/Data-Mines/Pluvtech.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Polus.json b/Projects/Data-Mining/Plugins/Data-Mines/Polus.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Polus.json rename to Projects/Data-Mining/Plugins/Data-Mines/Polus.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Quasar.json b/Projects/Data-Mining/Plugins/Data-Mines/Quasar.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Quasar.json rename to Projects/Data-Mining/Plugins/Data-Mines/Quasar.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Samurai.json b/Projects/Data-Mining/Plugins/Data-Mines/Samurai.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Samurai.json rename to Projects/Data-Mining/Plugins/Data-Mines/Samurai.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Sparta.json b/Projects/Data-Mining/Plugins/Data-Mines/Sparta.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Sparta.json rename to Projects/Data-Mining/Plugins/Data-Mines/Sparta.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Turtles.json b/Projects/Data-Mining/Plugins/Data-Mines/Turtles.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Turtles.json rename to Projects/Data-Mining/Plugins/Data-Mines/Turtles.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Webhooks.json b/Projects/Data-Mining/Plugins/Data-Mines/Webhooks.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Webhooks.json rename to Projects/Data-Mining/Plugins/Data-Mines/Webhooks.json diff --git a/Projects/Foundations/Plugins/Data-Mines/Zeus.json b/Projects/Data-Mining/Plugins/Data-Mines/Zeus.json similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/Zeus.json rename to Projects/Data-Mining/Plugins/Data-Mines/Zeus.json diff --git a/Projects/Foundations/Plugins/Data-Mines/quantum.json b/Projects/Data-Mining/Plugins/Data-Mines/quantum.json old mode 100755 new mode 100644 similarity index 100% rename from Projects/Foundations/Plugins/Data-Mines/quantum.json rename to Projects/Data-Mining/Plugins/Data-Mines/quantum.json diff --git a/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json b/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json index de9583907..e6190d9e1 100644 --- a/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json +++ b/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json @@ -12,6 +12,7 @@ "action": "Add UI Object", "label": "Add Data Mine", "relatedUiObject": "Data Mine", + "relatedUiObjectProject": "Data-Mining", "actionFunction": "payload.executeAction", "actionProject": "Foundations" }, @@ -31,7 +32,7 @@ "addLeftIcons": true, "isPinned": true, "positionLocked": true, - "icon": "data-mining", + "icon": "data-mining-project", "childrenNodesProperties": [ { "name": "projectDefinition", diff --git a/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-008-automating-actions-adding-an-action-switch-case.json b/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-008-automating-actions-adding-an-action-switch-case.json index 829842bbb..f04dac108 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-008-automating-actions-adding-an-action-switch-case.json +++ b/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-008-automating-actions-adding-an-action-switch-case.json @@ -32,7 +32,7 @@ }, { "style": "Javascript", - "text": "UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes)\n", + "text": "UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes)\n", "updated": 1614938043930 }, { @@ -50,7 +50,7 @@ }, { "style": "Json", - "text": "{\n \"name\": \"Plugins Functions\",\n \"propertyName\": \"pluginsFunctions\",\n \"functionName\": \"newFoundationsFunctionLibraryPluginsFunctions\"\n }", + "text": "{\n \"name\": \"Plugins Functions\",\n \"propertyName\": \"pluginsFunctions\",\n \"functionName\": \"newPluginsFunctionLibraryPluginsFunctions\"\n }", "updated": 1614938194636 }, { diff --git a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js b/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js index 657d4fe19..480c3ade0 100644 --- a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js @@ -114,11 +114,6 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.nodeDeleter.deleteUIObject(action.node, action.rootNodes) } break - case 'Install as Plugin': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.installAsPlugin(action.node, action.rootNodes) - } - break case 'Edit Code': break @@ -660,76 +655,6 @@ function newFoundationsActionSwitch() { } } break - case 'Add Missing Plugin Projects': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginProjects(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Types': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTypes(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Data Mines': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Trading Mines': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Trading Systems': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTradingSystems(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Trading Engines': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Learning Mines': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Learning Systems': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginLearningSystems(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Learning Engines': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginLearningEngines(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin Tutorials': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginTutorials(action.node, action.rootNodes) - } - break - case 'Add Missing Plugin API Maps': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.addMissingPluginApiMaps(action.node, action.rootNodes) - } - break - case 'Enable Saving With Workspace': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes) - } - break - case 'Disable Saving With Workspace': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes) - } - break - case 'Save Plugin': - { - UI.projects.foundations.functionLibraries.pluginsFunctions.savePlugin(action.node, action.rootNodes) - } - break case 'Add Missing Workspace Projects': { UI.projects.foundations.functionLibraries.workspaceFunctions.addMissingWorkspaceProjects(action.node, action.rootNodes) diff --git a/Projects/Foundations/UI/Function-Libraries/UiObjectsFromNodes.js b/Projects/Foundations/UI/Function-Libraries/UiObjectsFromNodes.js index b02a724fc..1ee871873 100644 --- a/Projects/Foundations/UI/Function-Libraries/UiObjectsFromNodes.js +++ b/Projects/Foundations/UI/Function-Libraries/UiObjectsFromNodes.js @@ -451,6 +451,24 @@ function newFoundationsFunctionLibraryUiObjectsFromNodes() { node.project = "Data-Mining" } + if ( + node.type === 'Plugins' || + node.type === 'Plugin Tutorials' || + node.type === 'Plugin Trading Systems' || + node.type === 'Plugin Trading Mines' || + node.type === 'Plugin Trading Engines' || + node.type === 'Plugin Project' || + node.type === 'Plugin Learning Systems' || + node.type === 'Plugin Learning Mines' || + node.type === 'Plugin Learning Engines' || + node.type === 'Plugin File' || + node.type === 'Plugin File Position' || + node.type === 'Plugin Data Mines' || + node.type === 'Plugin API Maps' + ) { + node.project = "Plugins" + } + /* This function can be called with a positionOffset to change the node saved position and all of its descendants positions as well with an diff --git a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js index 61a2b1335..da55b395d 100644 --- a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js @@ -255,7 +255,7 @@ function newWorkspace() { let saveWithWorkspace = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'saveWithWorkspace') if (saveWithWorkspace === true) { - UI.projects.foundations.utilities.plugins.savePluginFile(pluginFile) + UI.projects.plugins.utilities.plugins.savePluginFile(pluginFile) } } } diff --git a/Projects/Governance/UI/Function-Libraries/PluginsFunctions.js b/Projects/Governance/UI/Function-Libraries/PluginsFunctions.js index e8a4a29e5..c563f066f 100644 --- a/Projects/Governance/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Governance/UI/Function-Libraries/PluginsFunctions.js @@ -9,7 +9,7 @@ function newGovernanceFunctionLibraryPluginsFunctions() { return thisObject function addMissingPluginUserProfiles(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage( @@ -20,15 +20,15 @@ function newGovernanceFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'User-Profiles', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'User-Profiles', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'User-Profiles', 'User Profile') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'User-Profiles', 'User Profile', 'Governance') } } function addMissingPluginPools(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage( @@ -39,15 +39,15 @@ function newGovernanceFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Pools', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Pools', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Pools', 'Pools') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Pools', 'Pools', 'Governance') } } function addMissingPluginAssets(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage( @@ -58,15 +58,15 @@ function newGovernanceFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Assets', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Assets', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Assets', 'Assets') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Assets', 'Assets', 'Governance') } } function addMissingPluginFeatures(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage( @@ -77,15 +77,15 @@ function newGovernanceFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Features', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Features', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Features', 'Features') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Features', 'Features', 'Governance') } } function addMissingPluginPositionss(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage( @@ -96,10 +96,10 @@ function newGovernanceFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Positions', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Positions', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Positions', 'Positions') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Positions', 'Positions', 'Governance') } } } diff --git a/Projects/Foundations/Icons/Plugins/plugin-api-maps.png b/Projects/Plugins/Icons/plugin-api-maps.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-api-maps.png rename to Projects/Plugins/Icons/plugin-api-maps.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-data-mines.png b/Projects/Plugins/Icons/plugin-data-mines.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-data-mines.png rename to Projects/Plugins/Icons/plugin-data-mines.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-file-position.png b/Projects/Plugins/Icons/plugin-file-position.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-file-position.png rename to Projects/Plugins/Icons/plugin-file-position.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-file.png b/Projects/Plugins/Icons/plugin-file.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-file.png rename to Projects/Plugins/Icons/plugin-file.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-learning-engines.png b/Projects/Plugins/Icons/plugin-learning-engines.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-learning-engines.png rename to Projects/Plugins/Icons/plugin-learning-engines.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-learning-mines.png b/Projects/Plugins/Icons/plugin-learning-mines.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-learning-mines.png rename to Projects/Plugins/Icons/plugin-learning-mines.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-learning-systems.png b/Projects/Plugins/Icons/plugin-learning-systems.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-learning-systems.png rename to Projects/Plugins/Icons/plugin-learning-systems.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-project.png b/Projects/Plugins/Icons/plugin-project.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-project.png rename to Projects/Plugins/Icons/plugin-project.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-super-scripts.png b/Projects/Plugins/Icons/plugin-super-scripts.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-super-scripts.png rename to Projects/Plugins/Icons/plugin-super-scripts.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-trading-engines.png b/Projects/Plugins/Icons/plugin-trading-engines.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-trading-engines.png rename to Projects/Plugins/Icons/plugin-trading-engines.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-trading-mines.png b/Projects/Plugins/Icons/plugin-trading-mines.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-trading-mines.png rename to Projects/Plugins/Icons/plugin-trading-mines.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-trading-systems.png b/Projects/Plugins/Icons/plugin-trading-systems.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-trading-systems.png rename to Projects/Plugins/Icons/plugin-trading-systems.png diff --git a/Projects/Foundations/Icons/Plugins/plugin-tutorials.png b/Projects/Plugins/Icons/plugin-tutorials.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugin-tutorials.png rename to Projects/Plugins/Icons/plugin-tutorials.png diff --git a/Projects/Foundations/Icons/Plugins/plugins.png b/Projects/Plugins/Icons/plugins-project.png similarity index 100% rename from Projects/Foundations/Icons/Plugins/plugins.png rename to Projects/Plugins/Icons/plugins-project.png diff --git a/Projects/Plugins/Icons/plugins.png b/Projects/Plugins/Icons/plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..09d71a2968da53a11a4f3ebddd1e549e9975de0a GIT binary patch literal 9720 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 U3k?{Ke_!m{6@$OaFWX1`H~7(pU;qFB literal 0 HcmV?d00001 diff --git a/Projects/Foundations/SA/Utilities/Plugins.js b/Projects/Plugins/SA/Utilities/Plugins.js similarity index 94% rename from Projects/Foundations/SA/Utilities/Plugins.js rename to Projects/Plugins/SA/Utilities/Plugins.js index 7998febf6..fb5f66c96 100644 --- a/Projects/Foundations/SA/Utilities/Plugins.js +++ b/Projects/Plugins/SA/Utilities/Plugins.js @@ -1,4 +1,4 @@ -exports.newFoundationsUtilitiesPlugins = function () { +exports.newPluginsUtilitiesPlugins = function () { let thisObject = { getPluginFileNames: getPluginFileNames, @@ -14,7 +14,7 @@ exports.newFoundationsUtilitiesPlugins = function () { SA.nodeModules.fs.readdir(path, (err, files) => { if (err) { - reject() + reject(err) return } if (files === undefined) { diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-api-maps.json b/Projects/Plugins/Schemas/App-Schema/plugin-api-maps.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-api-maps.json rename to Projects/Plugins/Schemas/App-Schema/plugin-api-maps.json index 9274fb772..207cde2d5 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-api-maps.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-api-maps.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-data-mines.json b/Projects/Plugins/Schemas/App-Schema/plugin-data-mines.json similarity index 77% rename from Projects/Foundations/Schemas/App-Schema/plugin-data-mines.json rename to Projects/Plugins/Schemas/App-Schema/plugin-data-mines.json index 8599d57c8..b84e59308 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-data-mines.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-data-mines.json @@ -7,7 +7,9 @@ "askConfirmation": true, "confirmationLabel": "Confirm to Proceed", "workDoneLabel": "Done", - "relatedUiObject": "Data Mine", + "iconPathOn": "data-mine", + "iconPathOff": "data-mine", + "iconProject": "Data-Mining", "actionFunction": "payload.executeAction" }, { @@ -17,7 +19,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, @@ -31,7 +34,8 @@ "name": "pluginFiles", "type": "array", "childType": "Plugin File", - "autoAdd": false + "autoAdd": false, + "project": "Foundations" } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-file-position.json b/Projects/Plugins/Schemas/App-Schema/plugin-file-position.json similarity index 83% rename from Projects/Foundations/Schemas/App-Schema/plugin-file-position.json rename to Projects/Plugins/Schemas/App-Schema/plugin-file-position.json index 98fd30600..982ed5de5 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-file-position.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-file-position.json @@ -8,7 +8,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "title": [ diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-file.json b/Projects/Plugins/Schemas/App-Schema/plugin-file.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-file.json rename to Projects/Plugins/Schemas/App-Schema/plugin-file.json index 37dc941cf..aefb2ba77 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-file.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-file.json @@ -6,7 +6,8 @@ "label": "Configure", "iconPathOn": "configuration", "iconPathOff": "configuration", - "actionFunction": "uiObject.configEditor.activate" + "actionFunction": "uiObject.configEditor.activate", + "actionProject": "Foundations" }, { "action": "Add UI Object", @@ -41,7 +42,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "editors": { diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-learning-engines.json b/Projects/Plugins/Schemas/App-Schema/plugin-learning-engines.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-learning-engines.json rename to Projects/Plugins/Schemas/App-Schema/plugin-learning-engines.json index 989fdfef0..e436c13f6 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-learning-engines.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-learning-engines.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-learning-mines.json b/Projects/Plugins/Schemas/App-Schema/plugin-learning-mines.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-learning-mines.json rename to Projects/Plugins/Schemas/App-Schema/plugin-learning-mines.json index 25c3a4891..1fbe71833 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-learning-mines.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-learning-mines.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-learning-systems.json b/Projects/Plugins/Schemas/App-Schema/plugin-learning-systems.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-learning-systems.json rename to Projects/Plugins/Schemas/App-Schema/plugin-learning-systems.json index 362412ab8..e73b6cd87 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-learning-systems.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-learning-systems.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-project.json b/Projects/Plugins/Schemas/App-Schema/plugin-project.json similarity index 95% rename from Projects/Foundations/Schemas/App-Schema/plugin-project.json rename to Projects/Plugins/Schemas/App-Schema/plugin-project.json index e4aa17c5b..b4f39f5c6 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-project.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-project.json @@ -6,7 +6,8 @@ "actionFunction": "uiObject.configEditor.activate", "label": "Configure", "iconPathOn": "configuration", - "iconPathOff": "configuration" + "iconPathOff": "configuration", + "actionProject": "Foundations" }, { "action": "Add Missing Plugin Types", @@ -21,7 +22,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "initialValues": { diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-trading-engines.json b/Projects/Plugins/Schemas/App-Schema/plugin-trading-engines.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-trading-engines.json rename to Projects/Plugins/Schemas/App-Schema/plugin-trading-engines.json index d8814713c..5fdfd8ba8 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-trading-engines.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-trading-engines.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-trading-mines.json b/Projects/Plugins/Schemas/App-Schema/plugin-trading-mines.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-trading-mines.json rename to Projects/Plugins/Schemas/App-Schema/plugin-trading-mines.json index 882c3a935..1cc96e5bf 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-trading-mines.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-trading-mines.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-trading-systems.json b/Projects/Plugins/Schemas/App-Schema/plugin-trading-systems.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-trading-systems.json rename to Projects/Plugins/Schemas/App-Schema/plugin-trading-systems.json index 45a3c1f9c..b7b7489cc 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-trading-systems.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-trading-systems.json @@ -17,7 +17,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Foundations/Schemas/App-Schema/plugin-tutorials.json b/Projects/Plugins/Schemas/App-Schema/plugin-tutorials.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugin-tutorials.json rename to Projects/Plugins/Schemas/App-Schema/plugin-tutorials.json index ba844f57f..f2338a322 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugin-tutorials.json +++ b/Projects/Plugins/Schemas/App-Schema/plugin-tutorials.json @@ -18,7 +18,8 @@ "label": "Delete", "iconPathOn": "delete-entity", "iconPathOff": "delete-entity", - "actionFunction": "payload.executeAction" + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" } ], "addLeftIcons": true, diff --git a/Projects/Plugins/Schemas/App-Schema/plugins-project.json b/Projects/Plugins/Schemas/App-Schema/plugins-project.json new file mode 100644 index 000000000..45226535f --- /dev/null +++ b/Projects/Plugins/Schemas/App-Schema/plugins-project.json @@ -0,0 +1,45 @@ +{ + "type": "Plugins Project", + "menuItems": [ + { + "action": "Add Missing Children", + "label": "Add Missing Children", + "relatedUiObject": "Foundations Project", + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" + }, + { + "action": "Add UI Object", + "label": "Add Plugins", + "relatedUiObject": "Plugins", + "relatedUiObjectProject": "Plugins", + "actionFunction": "payload.executeAction", + "actionProject": "Foundations" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "actionFunction": "payload.executeAction", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionProject": "Foundations" + } + ], + "isProjectHead": true, + "isTitleAllwaysVisible": false, + "addLeftIcons": true, + "isPinned": true, + "positionLocked": true, + "icon": "plugins-project", + "childrenNodesProperties": [ + { + "name": "projectDefinition", + "type": "node", + "childType": "Project Definition", + "project": "Foundations", + "autoAdd": true + } + ] +} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/App-Schema/plugins.json b/Projects/Plugins/Schemas/App-Schema/plugins.json similarity index 91% rename from Projects/Foundations/Schemas/App-Schema/plugins.json rename to Projects/Plugins/Schemas/App-Schema/plugins.json index 3858fa98d..8f68f4ba4 100644 --- a/Projects/Foundations/Schemas/App-Schema/plugins.json +++ b/Projects/Plugins/Schemas/App-Schema/plugins.json @@ -17,7 +17,8 @@ "actionFunction": "payload.executeAction", "label": "Delete", "iconPathOn": "delete-entity", - "iconPathOff": "delete-entity" + "iconPathOff": "delete-entity", + "actionProject": "Foundations" } ], "isHierarchyHead": true, diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-API-Maps/plugin-api-maps.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-API-Maps/plugin-api-maps.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-API-Maps/plugin-api-maps.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-API-Maps/plugin-api-maps.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Data-Mines/plugin-data-mines.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Data-Mines/plugin-data-mines.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Data-Mines/plugin-data-mines.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Data-Mines/plugin-data-mines.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-File-Position/plugin-file-position.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-File-Position/plugin-file-position.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-File-Position/plugin-file-position.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-File-Position/plugin-file-position.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-File/plugin-file.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-File/plugin-file.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-File/plugin-file.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-File/plugin-file.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Project/plugin-project.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Project/plugin-project.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Project/plugin-project.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Project/plugin-project.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Super-Scripts/plugin-super-scripts.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Super-Scripts/plugin-super-scripts.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Super-Scripts/plugin-super-scripts.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Super-Scripts/plugin-super-scripts.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Engines/plugin-trading-engines.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Engines/plugin-trading-engines.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Engines/plugin-trading-engines.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Engines/plugin-trading-engines.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Mines/plugin-trading-mines.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Mines/plugin-trading-mines.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Mines/plugin-trading-mines.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Mines/plugin-trading-mines.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Systems/plugin-trading-systems.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Systems/plugin-trading-systems.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Systems/plugin-trading-systems.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Trading-Systems/plugin-trading-systems.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Tutorials/plugin-tutorials.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Tutorials/plugin-tutorials.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugin/Plugin-Tutorials/plugin-tutorials.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugin/Plugin-Tutorials/plugin-tutorials.json diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plugins/Plugins/plugins.json b/Projects/Plugins/Schemas/Docs-Nodes/P/Plugins/plugins.json similarity index 100% rename from Projects/Foundations/Schemas/Docs-Nodes/P/Plugins/Plugins/plugins.json rename to Projects/Plugins/Schemas/Docs-Nodes/P/Plugins/plugins.json diff --git a/Projects/Plugins/UI/Function-Libraries/ActionSwitch.js b/Projects/Plugins/UI/Function-Libraries/ActionSwitch.js new file mode 100644 index 000000000..9698faf65 --- /dev/null +++ b/Projects/Plugins/UI/Function-Libraries/ActionSwitch.js @@ -0,0 +1,98 @@ +function newPluginsActionSwitch() { + + let thisObject = { + executeAction: executeAction, + initialize: initialize, + finalize: finalize + } + + return thisObject + + function finalize() { + + } + + function initialize() { + /* Nothing to initialize since a Function Library does not hold any state. */ + } + + async function executeAction(action) { + switch (action.name) { + case 'Install as Plugin': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.installAsPlugin(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Projects': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginProjects(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Types': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTypes(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Data Mines': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Trading Mines': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Trading Systems': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTradingSystems(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Trading Engines': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Learning Mines': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Learning Systems': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginLearningSystems(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Learning Engines': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginLearningEngines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Tutorials': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginTutorials(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin API Maps': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.addMissingPluginApiMaps(action.node, action.rootNodes) + } + break + case 'Enable Saving With Workspace': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes) + } + break + case 'Disable Saving With Workspace': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes) + } + break + case 'Save Plugin': + { + UI.projects.plugins.functionLibraries.pluginsFunctions.savePlugin(action.node, action.rootNodes) + } + break + } + } +} diff --git a/Projects/Foundations/UI/Function-Libraries/PluginsFunctions.js b/Projects/Plugins/UI/Function-Libraries/PluginsFunctions.js similarity index 68% rename from Projects/Foundations/UI/Function-Libraries/PluginsFunctions.js rename to Projects/Plugins/UI/Function-Libraries/PluginsFunctions.js index 7e4db38a0..fcd4f38ab 100644 --- a/Projects/Foundations/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Plugins/UI/Function-Libraries/PluginsFunctions.js @@ -1,4 +1,4 @@ -function newFoundationsFunctionLibraryPluginsFunctions() { +function newPluginsFunctionLibraryPluginsFunctions() { let thisObject = { addMissingPluginProjects: addMissingPluginProjects, addMissingPluginTypes: addMissingPluginTypes, @@ -43,14 +43,14 @@ function newFoundationsFunctionLibraryPluginsFunctions() { let pluginType = "Plugin" + " " + projectDefinition.plugins[i] if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenByType(node, pluginType) === true) { - UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, project) + UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, 'Plugins') } } } } function addMissingPluginDataMines(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -58,15 +58,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Data-Mines', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Data-Mines', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Data-Mines', 'Data Mine') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Data-Mines', 'Data Mine', 'Data-Mining') } } function addMissingPluginTradingMines(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -74,15 +74,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Trading-Mines', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Trading-Mines', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Mines', 'Trading Mine') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Mines', 'Trading Mine', 'Foundations') } } function addMissingPluginTradingSystems(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -90,15 +90,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Trading-Systems', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Trading-Systems', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Systems', 'Trading System') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Systems', 'Trading System', 'Foundations') } } function addMissingPluginTradingEngines(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -106,15 +106,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Trading-Engines', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Trading-Engines', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Engines', 'Trading Engine') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Trading-Engines', 'Trading Engine', 'Foundations') } } function addMissingPluginLearningMines(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -122,15 +122,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Learning-Mines', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Learning-Mines', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Mines', 'Learning Mine') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Mines', 'Learning Mine', 'Foundations') } } function addMissingPluginLearningSystems(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -138,15 +138,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Learning-Systems', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Learning-Systems', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Systems', 'Learning System') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Systems', 'Learning System', 'Foundations') } } function addMissingPluginLearningEngines(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -154,15 +154,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Learning-Engines', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Learning-Engines', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Engines', 'Learning Engine') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Learning-Engines', 'Learning Engine', 'Foundations') } } function addMissingPluginTutorials(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -170,15 +170,15 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'Tutorials', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'Tutorials', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Tutorials', 'Tutorial') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Tutorials', 'Tutorial', 'Education') } } function addMissingPluginApiMaps(node, rootNodes) { - let projectName = UI.projects.foundations.utilities.plugins.getProjectName(node) + let projectName = UI.projects.plugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") @@ -186,10 +186,10 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } } - UI.projects.foundations.utilities.plugins.getPluginFileNames(projectName, 'API-Maps', onNamesArrived) + UI.projects.plugins.utilities.plugins.getPluginFileNames(projectName, 'API-Maps', onNamesArrived) function onNamesArrived(fileNames) { - UI.projects.foundations.utilities.plugins.addMissingPluginFiles(node, fileNames, 'API-Maps', 'API Map') + UI.projects.plugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'API-Maps', 'API Map', 'Foundations') } } @@ -204,16 +204,16 @@ function newFoundationsFunctionLibraryPluginsFunctions() { } function savePlugin(node, rootNodes) { - UI.projects.foundations.utilities.plugins.savePluginFile(node) + UI.projects.plugins.utilities.plugins.savePluginFile(node) } function installAsPlugin(node, rootNodes) { let plugins = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadByNodeType('Plugins') let pluginProject = UI.projects.foundations.utilities.nodeChildren.findChildByCodeName(plugins, node.project) - let pluginFolderName = UI.projects.foundations.utilities.plugins.getPluginFolderNamesByNodeType(node.type) + let pluginFolderName = UI.projects.plugins.utilities.plugins.getPluginFolderNamesByNodeType(node.type) let pluginForlderNodeType = 'Plugin ' + pluginFolderName.replaceAll('-', ' ') let pluginFolderNode = UI.projects.foundations.utilities.nodeChildren.findChildByType(pluginProject, pluginForlderNodeType) - let pluginFile = UI.projects.foundations.utilities.plugins.addMissingPluginFile(pluginFolderNode, node.name, pluginFolderName, node.type, true) + let pluginFile = UI.projects.plugins.utilities.plugins.addMissingPluginFile(pluginFolderNode, node.name, pluginFolderName, node.type, node.project, true) node.isPlugin = true if (pluginFile === undefined) { @@ -221,6 +221,6 @@ function newFoundationsFunctionLibraryPluginsFunctions() { return } - UI.projects.foundations.utilities.plugins.savePluginFile(pluginFile) + UI.projects.plugins.utilities.plugins.savePluginFile(pluginFile) } } diff --git a/Projects/Foundations/UI/Utilities/Plugins.js b/Projects/Plugins/UI/Utilities/Plugins.js similarity index 97% rename from Projects/Foundations/UI/Utilities/Plugins.js rename to Projects/Plugins/UI/Utilities/Plugins.js index 70fb48ac1..e4242dc68 100644 --- a/Projects/Foundations/UI/Utilities/Plugins.js +++ b/Projects/Plugins/UI/Utilities/Plugins.js @@ -1,4 +1,4 @@ -function newFoundationsUtilitiesPlugins() { +function newPluginsUtilitiesPlugins() { let thisObject = { getPluginFileNames: getPluginFileNames, getPluginFolderNamesByNodeType: getPluginFolderNamesByNodeType, @@ -24,20 +24,20 @@ function newFoundationsUtilitiesPlugins() { } } - function addMissingPluginFiles(node, fileNames, pluginFolder, nodeType) { + function addMissingPluginFiles(node, fileNames, pluginFolder, nodeType, project) { for (let i = 0; i < fileNames.length; i++) { let fileName = fileNames[i] fileName = fileName.replace('.json', '') - addMissingPluginFile(node, fileName, pluginFolder, nodeType, false) + addMissingPluginFile(node, fileName, pluginFolder, nodeType, project, false) } } - function addMissingPluginFile(node, fileName, pluginFolder, nodeType, saveWithWorkspace) { + function addMissingPluginFile(node, fileName, pluginFolder, nodeType, project, saveWithWorkspace) { if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenByName(node, fileName) === true) { - let child = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Foundations') + let child = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Plugins') child.name = fileName child.config = JSON.stringify({ - project: node.project, + project: project, fileName: fileName, folderName: pluginFolder, nodeType: nodeType, diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 9982a1af8..fe6d9310c 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -96,11 +96,6 @@ "propertyName": "chartingSpaceFunctions", "functionName": "newFoundationsFunctionLibraryChartingSpaceFunctions" }, - { - "name": "Plugins Functions", - "propertyName": "pluginsFunctions", - "functionName": "newFoundationsFunctionLibraryPluginsFunctions" - }, { "name": "Workspace Functions", "propertyName": "workspaceFunctions", @@ -202,11 +197,6 @@ "name": "Status Bar", "propertyName": "statusBar", "functionName": "newFoundationsUtilitiesStatusBar" - }, - { - "name": "Plugins", - "propertyName": "plugins", - "functionName": "newFoundationsUtilitiesPlugins" } ], "spaces": [ @@ -764,7 +754,7 @@ ] }, "SA": { - "globals":[ + "globals": [ { "name": "Time Constants", "propertyName": "timeConstants", @@ -773,12 +763,6 @@ } ], "utilities": [ - { - "name": "Plugins", - "propertyName": "plugins", - "functionName": "newFoundationsUtilitiesPlugins", - "fileName": "Plugins.js" - }, { "name": "Miscellaneous Functions", "propertyName": "miscellaneousFunctions", @@ -806,7 +790,6 @@ ] }, "plugins": [ - "Data Mines", "Trading Mines", "Learning Mines", "Trading Systems", @@ -830,7 +813,7 @@ ] }, "TS": { - "botModules":[ + "botModules": [ { "name": "Single Market Sensor Bot", "propertyName": "singleMarketSensorBot", @@ -940,7 +923,41 @@ "folderName": "Sensor-Bot/Webhooks" } ] - } + }, + "plugins": [ + "Data Mines" + ] + }, + { + "name": "Plugins", + "propertyName": "plugins", + "UI": { + "functionLibraries": [ + { + "name": "Plugins Functions", + "propertyName": "pluginsFunctions", + "functionName": "newPluginsFunctionLibraryPluginsFunctions" + } + ], + "utilities": [ + { + "name": "Plugins", + "propertyName": "plugins", + "functionName": "newPluginsUtilitiesPlugins" + } + ] + }, + "SA": { + "utilities": [ + { + "name": "Plugins", + "propertyName": "plugins", + "functionName": "newPluginsUtilitiesPlugins", + "fileName": "Plugins.js" + } + ] + }, + "plugins": [] }, { "name": "Ethereum", @@ -1358,7 +1375,7 @@ "propertyName": "queriesUnfollowedUserProfiles", "functionName": "newSocialTradingModulesQueriesUnfollowedUserProfiles", "fileName": "Queries/UnfollowedUserProfiles.js" - }, + }, { "name": "Bot Profile Stats", "propertyName": "queriesBotProfileStats", @@ -1523,8 +1540,8 @@ ], "utilities": [] }, - "UI":{ - "modules":[ + "UI": { + "modules": [ { "name": "Web Sockets Client", "propertyName": "webSocketsClient", diff --git a/Projects/Social-Trading/NT/Modules/Bootstrap.js b/Projects/Social-Trading/NT/Modules/Bootstrap.js index f46a016b7..2ff290e35 100644 --- a/Projects/Social-Trading/NT/Modules/Bootstrap.js +++ b/Projects/Social-Trading/NT/Modules/Bootstrap.js @@ -18,7 +18,7 @@ exports.newBootstrap = function newBootstrap() { async function initialize() { - let pluginFileNames = await SA.projects.foundations.utilities.plugins.getPluginFileNames( + let pluginFileNames = await SA.projects.plugins.utilities.plugins.getPluginFileNames( 'Governance', 'User-Profiles' ) @@ -26,7 +26,7 @@ exports.newBootstrap = function newBootstrap() { for (let i = 0; i < pluginFileNames.length; i++) { let pluginFileName = pluginFileNames[i] - let pluginFileContent = await SA.projects.foundations.utilities.plugins.getPluginFileContent( + let pluginFileContent = await SA.projects.plugins.utilities.plugins.getPluginFileContent( 'Governance', 'User-Profiles', pluginFileName