From 77525a14b366e001806f0dc13b67b8b2fa3423e9 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 11 Dec 2019 13:10:04 +0100 Subject: [PATCH] shortcuts and onfocus ignoring collapsed branches --- .../FunctionLibraries/NodeDeleter.js | 4 ++ .../Workspace/FunctionLibraries/OnFocus.js | 44 +++++++++---------- .../FunctionLibraries/ShortcutKeys.js | 42 +++++++++--------- DesignerSpace/Workspace/Workspace.js | 2 - 4 files changed, 48 insertions(+), 44 deletions(-) diff --git a/DesignerSpace/Workspace/FunctionLibraries/NodeDeleter.js b/DesignerSpace/Workspace/FunctionLibraries/NodeDeleter.js index 5ce654fde..2a96e6ce5 100644 --- a/DesignerSpace/Workspace/FunctionLibraries/NodeDeleter.js +++ b/DesignerSpace/Workspace/FunctionLibraries/NodeDeleter.js @@ -998,6 +998,10 @@ function newNodeDeleter () { deleteJavascriptCode(node.javascriptCode, rootNodes) } + if (node.shapes !== undefined) { + deleteUIObject(node.shapes, rootNodes) + } + if (node.panels !== undefined) { while (node.panels.length > 0) { deletePlotterPanel(node.panels[0], rootNodes) diff --git a/DesignerSpace/Workspace/FunctionLibraries/OnFocus.js b/DesignerSpace/Workspace/FunctionLibraries/OnFocus.js index 902c89d31..2f7de9a10 100644 --- a/DesignerSpace/Workspace/FunctionLibraries/OnFocus.js +++ b/DesignerSpace/Workspace/FunctionLibraries/OnFocus.js @@ -11,8 +11,6 @@ function newOnFocus () { { if (node.payload.uiObject.isOnFocus === true) { return node - } else { - return } } case 'Condition': @@ -1098,33 +1096,35 @@ function newOnFocus () { } /* Then we check all of its own children nodes. */ - if (nodeDefinition.properties !== undefined) { - for (let i = 0; i < nodeDefinition.properties.length; i++) { - let property = nodeDefinition.properties[i] + if (node.payload.floatingObject.isCollapsed !== true) { + if (nodeDefinition.properties !== undefined) { + for (let i = 0; i < nodeDefinition.properties.length; i++) { + let property = nodeDefinition.properties[i] - switch (property.type) { - case 'node': { - if (node[property.name] !== undefined) { - let child - child = getNodeThatIsOnFocus(node[property.name]) - if (child !== undefined) { - return child - } - } - } - break - case 'array': { - let nodePropertyArray = node[property.name] - if (nodePropertyArray !== undefined) { - for (let m = 0; m < nodePropertyArray.length; m++) { - child = getNodeThatIsOnFocus(nodePropertyArray[m]) + switch (property.type) { + case 'node': { + if (node[property.name] !== undefined) { + let child + child = getNodeThatIsOnFocus(node[property.name]) if (child !== undefined) { return child } } } + break + case 'array': { + let nodePropertyArray = node[property.name] + if (nodePropertyArray !== undefined) { + for (let m = 0; m < nodePropertyArray.length; m++) { + child = getNodeThatIsOnFocus(nodePropertyArray[m]) + if (child !== undefined) { + return child + } + } + } + } + break } - break } } } diff --git a/DesignerSpace/Workspace/FunctionLibraries/ShortcutKeys.js b/DesignerSpace/Workspace/FunctionLibraries/ShortcutKeys.js index 891e81e9b..11baf45b9 100644 --- a/DesignerSpace/Workspace/FunctionLibraries/ShortcutKeys.js +++ b/DesignerSpace/Workspace/FunctionLibraries/ShortcutKeys.js @@ -1076,33 +1076,35 @@ function newShortcutKeys () { } /* Check all of its own children nodes. */ - if (nodeDefinition.properties !== undefined) { - for (let i = 0; i < nodeDefinition.properties.length; i++) { - let property = nodeDefinition.properties[i] + if (node.payload.floatingObject.isCollapsed !== true) { + if (nodeDefinition.properties !== undefined) { + for (let i = 0; i < nodeDefinition.properties.length; i++) { + let property = nodeDefinition.properties[i] - switch (property.type) { - case 'node': { - if (node[property.name] !== undefined) { - let child - child = getNodeByShortcutKey(node[property.name], searchingKey) - if (child !== undefined) { - return child - } - } - } - break - case 'array': { - let nodePropertyArray = node[property.name] - if (nodePropertyArray !== undefined) { - for (let m = 0; m < nodePropertyArray.length; m++) { - child = getNodeByShortcutKey(nodePropertyArray[m], searchingKey) + switch (property.type) { + case 'node': { + if (node[property.name] !== undefined) { + let child + child = getNodeByShortcutKey(node[property.name], searchingKey) if (child !== undefined) { return child } } } + break + case 'array': { + let nodePropertyArray = node[property.name] + if (nodePropertyArray !== undefined) { + for (let m = 0; m < nodePropertyArray.length; m++) { + child = getNodeByShortcutKey(nodePropertyArray[m], searchingKey) + if (child !== undefined) { + return child + } + } + } + } + break } - break } } } diff --git a/DesignerSpace/Workspace/Workspace.js b/DesignerSpace/Workspace/Workspace.js index f904cd6ee..aef9f4bc8 100644 --- a/DesignerSpace/Workspace/Workspace.js +++ b/DesignerSpace/Workspace/Workspace.js @@ -179,7 +179,6 @@ function newWorkspace () { function getNodeByShortcutKey (searchingKey) { for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] - let definition = rootNode let node = functionLibraryShortcutKeys.getNodeByShortcutKey(rootNode, searchingKey) if (node !== undefined) { return node } } @@ -188,7 +187,6 @@ function newWorkspace () { function getNodeThatIsOnFocus () { for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] - let definition = rootNode let node = functionLibraryOnFocus.getNodeThatIsOnFocus(rootNode) if (node !== undefined) { return node } }