Plugins Project implemented

This commit is contained in:
Luis Fernando Molina committed 2021-09-26 14:58:22 +02:00
1 parent 47e3961b3e
commit 742722be71
76 files changed
+315 -187

No files matched your search

+4 -4
View File
@@ -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
+13 -7
View File
@@ -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.
}
}
@@ -1383,10 +1383,12 @@ exports.newHttpInterface = function newHttpInterface() {
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)
@@ -1420,11 +1422,17 @@ exports.newHttpInterface = function newHttpInterface() {
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)
File renamed without changes.
@@ -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",
@@ -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
},
{
@@ -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)
@@ -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
@@ -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)
}
}
}
@@ -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')
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -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) {
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -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"
}
]
}
@@ -8,7 +8,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"title": [
@@ -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": {
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -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": {
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -17,7 +17,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -18,7 +18,8 @@
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
}
],
"addLeftIcons": true,
@@ -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
}
]
}
@@ -17,7 +17,8 @@
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity"
"iconPathOff": "delete-entity",
"actionProject": "Foundations"
}
],
"isHierarchyHead": true,
@@ -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
}
}
}
@@ -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)
}
}
@@ -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,
+39 -22
View File
@@ -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",
@@ -1523,8 +1540,8 @@
],
"utilities": []
},
"UI":{
"modules":[
"UI": {
"modules": [
{
"name": "Web Sockets Client",
"propertyName": "webSocketsClient",
@@ -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