diff --git a/Projects/Community-Plugins/Icons-SVG-Sources/disable-saving-with-workspace.svg b/Projects/Community-Plugins/Icons-SVG-Sources/disable-saving-with-workspace.svg
new file mode 100644
index 000000000..94d074615
--- /dev/null
+++ b/Projects/Community-Plugins/Icons-SVG-Sources/disable-saving-with-workspace.svg
@@ -0,0 +1,238 @@
+
+
diff --git a/Projects/Community-Plugins/Icons-SVG-Sources/enable-saving-with-workspace.svg b/Projects/Community-Plugins/Icons-SVG-Sources/enable-saving-with-workspace.svg
new file mode 100644
index 000000000..e6afe3802
--- /dev/null
+++ b/Projects/Community-Plugins/Icons-SVG-Sources/enable-saving-with-workspace.svg
@@ -0,0 +1,222 @@
+
+
diff --git a/Projects/Community-Plugins/Icons/disable-saving-with-workspace.png b/Projects/Community-Plugins/Icons/disable-saving-with-workspace.png
new file mode 100644
index 000000000..9671bdebb
Binary files /dev/null and b/Projects/Community-Plugins/Icons/disable-saving-with-workspace.png differ
diff --git a/Projects/Community-Plugins/Icons/enable-saving-with-workspace.png b/Projects/Community-Plugins/Icons/enable-saving-with-workspace.png
new file mode 100644
index 000000000..92aa8fc01
Binary files /dev/null and b/Projects/Community-Plugins/Icons/enable-saving-with-workspace.png differ
diff --git a/Projects/Community-Plugins/Schemas/App-Schema/plugin-file.json b/Projects/Community-Plugins/Schemas/App-Schema/plugin-file.json
index 3f2b0b8e4..24f4d053a 100644
--- a/Projects/Community-Plugins/Schemas/App-Schema/plugin-file.json
+++ b/Projects/Community-Plugins/Schemas/App-Schema/plugin-file.json
@@ -23,15 +23,15 @@
"action": "Enable Saving With Workspace",
"actionFunction": "payload.executeAction",
"label": "Enable Saving With Workspace",
- "relatedUiObject": "Plugin File",
- "actionProject": "Community-Plugins",
- "relatedUiObjectProject": "Community-Plugins"
- },
- {
- "action": "Disable Saving With Workspace",
- "actionFunction": "payload.executeAction",
- "label": "Disable Saving With Workspace",
- "relatedUiObject": "Plugin File",
+ "workDoneLabel": "Enabled",
+ "secondaryAction": "Disable Saving With Workspace",
+ "secondaryLabel": "Disable Saving With Workspace",
+ "secondaryWorkDoneLabel": "Disabled",
+ "secondaryIcon": "disable-saving-with-workspace",
+ "booleanProperty": "saveWithWorkspace",
+ "iconPathOn": "enable-saving-with-workspace",
+ "iconPathOff": "enable-saving-with-workspace",
+ "iconProject": "Community-Plugins",
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
diff --git a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js
index 2f96c6f67..085ea3b13 100644
--- a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js
+++ b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js
@@ -80,12 +80,12 @@ function newCommunityPluginsActionSwitch() {
break
case 'Enable Saving With Workspace':
{
- UI.projects.communityPlugins.functionLibraries.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes)
+ UI.projects.communityPlugins.functionLibraries.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction)
}
break
case 'Disable Saving With Workspace':
{
- UI.projects.communityPlugins.functionLibraries.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes)
+ UI.projects.communityPlugins.functionLibraries.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction)
}
break
case 'Save Plugin':
diff --git a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js
index 0b19c15da..46a9045d7 100644
--- a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js
+++ b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js
@@ -193,14 +193,16 @@ function newPluginsFunctionLibraryPluginsFunctions() {
}
}
- function enableSavingWithWorkspace(node, rootNodes) {
+ function enableSavingWithWorkspace(node, rootNodes, callBackFunction) {
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', true)
node.payload.uiObject.setInfoMessage('Saving with Workspace Enabled')
+ callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE)
}
- function disableSavingWithWorkspace(node, rootNodes) {
+ function disableSavingWithWorkspace(node, rootNodes, callBackFunction) {
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', false)
node.payload.uiObject.setInfoMessage('Saving with Workspace Disabled')
+ callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE)
}
function savePlugin(node, rootNodes) {
diff --git a/Projects/Foundations/Schemas/App-Schema/phase.json b/Projects/Foundations/Schemas/App-Schema/phase.json
index 5038d4358..0414744a9 100644
--- a/Projects/Foundations/Schemas/App-Schema/phase.json
+++ b/Projects/Foundations/Schemas/App-Schema/phase.json
@@ -26,7 +26,7 @@
"label": "Add Move To Phase Event",
"relatedUiObject": "Move To Phase Event",
"actionFunction": "payload.executeAction",
- "relatedUiObjectProject": "Social-Bots",
+ "relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenu.js b/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenu.js
index 18701154a..08de42283 100644
--- a/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenu.js
+++ b/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenu.js
@@ -70,6 +70,7 @@ function newCircularMenu() {
menuItem.secondaryWorkDoneLabel = menuItemInitialValue.secondaryWorkDoneLabel
menuItem.secondaryWorkFailedLabel = menuItemInitialValue.secondaryWorkFailedLabel
menuItem.secondaryIcon = menuItemInitialValue.secondaryIcon
+ menuItem.booleanProperty = menuItemInitialValue.booleanProperty
menuItem.visible = menuItemInitialValue.visible
menuItem.iconPathOn = menuItemInitialValue.iconPathOn
menuItem.iconPathOff = menuItemInitialValue.iconPathOff
diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenuItem.js b/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenuItem.js
index abb7b2cc1..f01dcfd1b 100644
--- a/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenuItem.js
+++ b/Projects/Foundations/UI/Spaces/Floating-Space/CircularMenuItem.js
@@ -28,6 +28,7 @@ function newCircularMenuItem() {
secondaryWorkDoneLabel: undefined,
secondaryWorkFailedLabel: undefined,
secondaryIcon: undefined,
+ booleanProperty: undefined,
nextAction: undefined,
visible: false,
iconPathOn: undefined,
@@ -121,7 +122,18 @@ function newCircularMenuItem() {
containerPhysics()
- thisObject.nextAction = thisObject.action
+ if(thisObject.booleanProperty !== undefined) {
+ let config = JSON.parse(thisObject.payload.node.config)
+
+ if (config[thisObject.booleanProperty] === true) {
+ thisObject.nextAction = thisObject.secondaryAction
+ setStatus(thisObject.secondaryLabel, defaultBackgroudColor, undefined, STATUS_PRIMARY_WORK_DONE)
+ } else {
+ thisObject.nextAction = thisObject.action
+ }
+ } else {
+ thisObject.nextAction = thisObject.action
+ }
}
function getContainer(point) {
@@ -265,8 +277,13 @@ function newCircularMenuItem() {
temporaryStatus === STATUS_SECONDARY_WORK_FAILED
) && thisObject.secondaryAction !== undefined
) {
- thisObject.iconOn = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', thisObject.secondaryIcon)
- thisObject.iconOff = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', thisObject.secondaryIcon)
+ if(thisObject.iconProject !== undefined) {
+ thisObject.iconOn = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName(thisObject.iconProject, thisObject.secondaryIcon)
+ thisObject.iconOff = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName(thisObject.iconProject, thisObject.secondaryIcon)
+ } else {
+ thisObject.iconOn = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', thisObject.secondaryIcon)
+ thisObject.iconOff = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', thisObject.secondaryIcon)
+ }
} else {
/*