diff --git a/Projects/Community-Plugins/Schemas/App-Schema/plugin-data-mines.json b/Projects/Community-Plugins/Schemas/App-Schema/plugin-data-mines.json index 46374ebc2..5bd222c5e 100644 --- a/Projects/Community-Plugins/Schemas/App-Schema/plugin-data-mines.json +++ b/Projects/Community-Plugins/Schemas/App-Schema/plugin-data-mines.json @@ -13,6 +13,17 @@ "actionFunction": "payload.executeAction", "actionProject": "Community-Plugins" }, + { + "action": "Add Specified Plugin Data Mine", + "label": "Add Specified Plugin Data Mine", + "iconPathOn": "data-mine", + "iconPathOff": "data-mine", + "iconProject": "Data-Mining", + "actionProject": "Community-Plugins", + "relatedUiObject": "Data Mine", + "dontShowAtFullscreen": true, + "actionFunction": "payload.executeAction" + }, { "action": "Delete UI Object", "actionProject": "Visual-Scripting", @@ -27,6 +38,9 @@ "addLeftIcons": true, "level": 1, "propertyNameAtParent": "pluginDataMines", + "editors": { + "list": true + }, "attachingRules": { "compatibleTypes": "->Plugin Project->" }, diff --git a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js index 085ea3b13..bfb19b124 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js @@ -38,6 +38,11 @@ function newCommunityPluginsActionSwitch() { UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes) } break + case 'Add Specified Plugin Data Mine': + { + UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addSpecifiedPluginDataMine(action.node, action.rootNodes) + } + break case 'Add Missing Plugin Trading Mines': { UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes) diff --git a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js index 46a9045d7..d5c39c775 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js @@ -3,6 +3,7 @@ function newPluginsFunctionLibraryPluginsFunctions() { addMissingPluginProjects: addMissingPluginProjects, addMissingPluginTypes: addMissingPluginTypes, addMissingPluginDataMines: addMissingPluginDataMines, + addSpecifiedPluginDataMine: addSpecifiedPluginDataMine, addMissingPluginTradingMines: addMissingPluginTradingMines, addMissingPluginTradingSystems: addMissingPluginTradingSystems, addMissingPluginTradingEngines: addMissingPluginTradingEngines, @@ -65,6 +66,32 @@ function newPluginsFunctionLibraryPluginsFunctions() { } } + function addSpecifiedPluginDataMine(node, rootNodes) { + let action = { node: node } + + let projectName = UI.projects.communityPlugins.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.") + return + } + } + + UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Data-Mines', onNamesArrived) + + function onNamesArrived(fileNames) { + let eventSubscriptionId = node.payload.uiObject.container.eventHandler.listenToEvent('listSelectorClicked', onListSelect) + node.payload.uiObject.listSelector.activate(action, fileNames, eventSubscriptionId) + + function onListSelect(event) { + let selectedArray = [] + selectedArray.push(event.selectedNode) + UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, selectedArray, 'Data-Mines', 'Data Mine', 'Data-Mining') + node.payload.uiObject.container.eventHandler.stopListening('listSelectorClicked') + } + } + } + function addMissingPluginTradingMines(node, rootNodes) { let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { diff --git a/Projects/Foundations/Schemas/App-Schema/sensor-bot-instance.json b/Projects/Foundations/Schemas/App-Schema/sensor-bot-instance.json index 10da7e392..0cd0a1478 100644 --- a/Projects/Foundations/Schemas/App-Schema/sensor-bot-instance.json +++ b/Projects/Foundations/Schemas/App-Schema/sensor-bot-instance.json @@ -34,7 +34,7 @@ "config": true }, "initialValues": { - "config": "{ \n\"startDate\": \"2020-01-01\"\n}" + "config": "{ \n\"startDate\": \"2021-01-01\"\n}" }, "level": 3, "attachingRules": { diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/ListSelector.js b/Projects/Foundations/UI/Spaces/Floating-Space/ListSelector.js index 9ffcc847b..f88bbc83a 100644 --- a/Projects/Foundations/UI/Spaces/Floating-Space/ListSelector.js +++ b/Projects/Foundations/UI/Spaces/Floating-Space/ListSelector.js @@ -47,6 +47,8 @@ function newListSelector() { const SIZE = 36 const FONT_SIZE = 24 + const MAX_LABELS = 7 + let VISIBLE_LABELS = 7 let selected = 0 @@ -107,7 +109,7 @@ function newListSelector() { deactivate() } - if (optionsList.length < VISIBLE_LABELS) { + if (optionsList.length < MAX_LABELS) { VISIBLE_LABELS = optionsList.length }