Merge pull request #2543 from Smidy13/develop

ListSelector Improvements and Bug Fixes
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-11-08 04:55:17 -04:00
commit 2d7322a9c8
5 files changed
+50 -2

No files matched your search

@@ -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->"
},
@@ -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)
@@ -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) {
@@ -34,7 +34,7 @@
"config": true
},
"initialValues": {
"config": "{ \n\"startDate\": \"2020-01-01\"\n}"
"config": "{ \n\"startDate\": \"2021-01-01\"\n}"
},
"level": 3,
"attachingRules": {
@@ -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
}