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 000000000..09d71a296 Binary files /dev/null and b/Projects/Plugins/Icons/plugins.png differ 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