From 34570bfac6a152142c0bb9634ab2da2963b8bcba Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 17 Oct 2020 17:01:09 +0200 Subject: [PATCH] Improvements --- DesignSpace/Workspace/Workspace.js | 15 +++++++++++++++ FloatingSpace/UiObject.js | 4 ++-- FloatingSpace/UiObjectTitle.js | 2 +- Spaces/FloatingSpace.js | 4 +++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/DesignSpace/Workspace/Workspace.js b/DesignSpace/Workspace/Workspace.js index 3e496d9fe..91547ab68 100644 --- a/DesignSpace/Workspace/Workspace.js +++ b/DesignSpace/Workspace/Workspace.js @@ -15,6 +15,7 @@ function newWorkspace() { save: saveWorkspace, backup: backupWorkspace, share: shareWorkspace, + getProjectsHeads: getProjectsHeads, getHierarchyHeads: getHierarchyHeads, getHierarchyHeadsById: getHierarchyHeadsById, getHierarchyHeadsByType: getHierarchyHeadsByType, @@ -363,6 +364,20 @@ function newWorkspace() { return nodes } + function getProjectsHeads() { + let nodes = [] + for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { + let rootNode = thisObject.workspaceNode.rootNodes[i] + let nodeDefinition = getNodeDefinition(rootNode) + if (nodeDefinition !== undefined) { + if (nodeDefinition.isProjectHead === true) { + nodes.push(rootNode) + } + } + } + return nodes + } + function getHierarchyHeadsById(nodeId) { let hiriatchyHeads = getHierarchyHeads() for (let i = 0; i < hiriatchyHeads.length; i++) { diff --git a/FloatingSpace/UiObject.js b/FloatingSpace/UiObject.js index bdfd5d169..1fd6a722e 100644 --- a/FloatingSpace/UiObject.js +++ b/FloatingSpace/UiObject.js @@ -1531,7 +1531,7 @@ function newUiObject() { if (canvas.floatingSpace.inMapMode === true) { let nodeDefinition = getNodeDefinition(thisObject.payload.node) if (nodeDefinition !== undefined) { - if (nodeDefinition.isHierarchyHead !== true) { + if (nodeDefinition.isHierarchyHead !== true && nodeDefinition.isProjectHead !== true) { return } } @@ -2202,7 +2202,7 @@ function newUiObject() { if (nodeDefinition === undefined) { return } if (canvas.floatingSpace.inMapMode === true) { - if (nodeDefinition.isHierarchyHead === true) { + if (nodeDefinition.isHierarchyHead === true || nodeDefinition.isProjectHead === true ) { totalImageSize = 50 } else { totalImageSize = canvas.floatingSpace.transformImagesizeToMap(totalImageSize) diff --git a/FloatingSpace/UiObjectTitle.js b/FloatingSpace/UiObjectTitle.js index bb32d7402..3401485b3 100644 --- a/FloatingSpace/UiObjectTitle.js +++ b/FloatingSpace/UiObjectTitle.js @@ -340,7 +340,7 @@ function newUiObjectTitle() { let nodeDefinition = getNodeDefinition(thisObject.payload.node) if (nodeDefinition !== undefined) { - if (nodeDefinition.isHierarchyHead !== true) { + if (nodeDefinition.isHierarchyHead !== true && nodeDefinition.isProjectHead !== true) { return } } diff --git a/Spaces/FloatingSpace.js b/Spaces/FloatingSpace.js index a10c3b510..e45af38fb 100644 --- a/Spaces/FloatingSpace.js +++ b/Spaces/FloatingSpace.js @@ -209,8 +209,10 @@ function newFloatingSpace() { x: mousePosition.x / browserCanvas.width * SPACE_SIZE, y: mousePosition.y / browserCanvas.height * SPACE_SIZE } - /* Let's see if we can snap to some of the root nodes that are isHierarchyHead */ + /* Let's see if we can snap to some of the root nodes that are Hierarchy Head and Project Heads */ let snapCandidateNodes = canvas.designSpace.workspace.getHierarchyHeads() + snapCandidateNodes = snapCandidateNodes.concat(canvas.designSpace.workspace.getProjectsHeads()) + for (let i = 0; i < snapCandidateNodes.length; i++) { let node = snapCandidateNodes[i] let nodePosition = {