Improvement: ListSelector added to Plugin Data Mines

This commit is contained in:
Smidy13 committed 2021-11-08 16:54:51 +13:00
1 parent 489e92277f
commit 8e05d35a08
3 files changed
+46

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) {