From c79e2ccb304e61e1f4ad51b5d3899bd71c4a9776 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 14 Jan 2021 19:14:22 +0100 Subject: [PATCH 1/3] Switching Workspaces More Intereactive and User Friendly --- Projects/ProjectsSchema.json | 6 +- .../UI/Function-Libraries/ActionSwitch.js | 2 +- .../UI/Function-Libraries/NodeDeleter.js | 38 ++- .../Function-Libraries/UiObjectsFromNodes.js | 8 +- .../UI/Spaces/Design-Space/Workspace.js | 253 +++++++++++------- .../Superalgos/UI/Utilities/CreditsPage.js | 9 +- 6 files changed, 202 insertions(+), 114 deletions(-) diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 783631241..460dd2bae 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -219,9 +219,9 @@ "functionName": "newSuperalgosUtilitiesDocs" }, { - "name": "Credits Page", - "propertyName": "creditsPage", - "functionName": "newSuperalgosUtilitiesCreditsPage" + "name": "Status Bar", + "propertyName": "statusBar", + "functionName": "newSuperalgosUtilitiesStatusBar" } ], "spaces": [ diff --git a/Projects/Superalgos/UI/Function-Libraries/ActionSwitch.js b/Projects/Superalgos/UI/Function-Libraries/ActionSwitch.js index 91d29a319..9fe670bcd 100644 --- a/Projects/Superalgos/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Superalgos/UI/Function-Libraries/ActionSwitch.js @@ -63,7 +63,7 @@ function newSuperalgosActionSwitch() { } break case 'Delete Workspace': { - return UI.projects.superalgos.functionLibraries.nodeDeleter.deleteWorkspace(action.node, action.rootNodes) + return UI.projects.superalgos.functionLibraries.nodeDeleter.deleteWorkspace(action.node, action.rootNodes, action.callBackFunction) } break case 'Copy Node Path': diff --git a/Projects/Superalgos/UI/Function-Libraries/NodeDeleter.js b/Projects/Superalgos/UI/Function-Libraries/NodeDeleter.js index 785695373..864825d20 100644 --- a/Projects/Superalgos/UI/Function-Libraries/NodeDeleter.js +++ b/Projects/Superalgos/UI/Function-Libraries/NodeDeleter.js @@ -10,18 +10,36 @@ function newSuperalgosFunctionLibraryNodeDeleter() { UI.projects.superalgos.spaces.floatingSpace.uiObjectConstructor.destroyUiObject(node.payload) } - function deleteWorkspace(node, rootNodes) { + function deleteWorkspace(node, rootNodes, callBackFuntion) { if (node.rootNodes !== undefined) { - while (node.rootNodes.length > 0) { - let rootNode = node.rootNodes[0] + + let totalDeleted = 0 + let totalToBeDeleted = node.rootNodes.length + + for (let i = 0; i < node.rootNodes.length; i++) { + let rootNode = node.rootNodes[i] + setTimeout(deleteRootNode, 100, rootNode) + } + + function deleteRootNode(rootNode) { let result = deleteUIObject(rootNode, rootNodes) - if (result === false) { return false} + if (result === false) { + return false + } else { + totalDeleted++ + if (totalDeleted === totalToBeDeleted) { + finish() + } + } } } - completeDeletion(node, rootNodes) - destroyUiObject(node) - cleanNode(node) + function finish() { + completeDeletion(node, rootNodes) + destroyUiObject(node) + cleanNode(node) + callBackFuntion() + } } function deleteUIObject(node, rootNodes) { @@ -44,7 +62,7 @@ function newSuperalgosFunctionLibraryNodeDeleter() { if (property.name !== previousPropertyName) { if (node[property.name] !== undefined) { let result = deleteUIObject(node[property.name], rootNodes) - if (result === false) { return false} + if (result === false) { return false } } previousPropertyName = property.name } @@ -55,7 +73,7 @@ function newSuperalgosFunctionLibraryNodeDeleter() { if (nodePropertyArray !== undefined) { while (nodePropertyArray.length > 0) { let result = deleteUIObject(nodePropertyArray[0], rootNodes) - if (result === false) { return false} + if (result === false) { return false } } } } @@ -94,7 +112,7 @@ function newSuperalgosFunctionLibraryNodeDeleter() { nextArrayItem.payload.chainParent = node.payload.chainParent } } - + nodePropertyArray.splice(j, 1) removedFromParent = true } diff --git a/Projects/Superalgos/UI/Function-Libraries/UiObjectsFromNodes.js b/Projects/Superalgos/UI/Function-Libraries/UiObjectsFromNodes.js index 4a4a654ce..bfd05f2d8 100644 --- a/Projects/Superalgos/UI/Function-Libraries/UiObjectsFromNodes.js +++ b/Projects/Superalgos/UI/Function-Libraries/UiObjectsFromNodes.js @@ -48,7 +48,7 @@ function newSuperalgosFunctionLibraryUiObjectsFromNodes() { addPluginNodes() function addPluginNodes(pluginNames) { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Loading Plugins...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Loading Plugins...") let blobService = newFileStorage() let totalPlugin = 0 @@ -146,7 +146,7 @@ function newSuperalgosFunctionLibraryUiObjectsFromNodes() { /* Create the workspace UI OBject and then continue with the root nodes. */ createUiObject(false, 'Workspace', node.name, node, undefined, undefined, 'Workspace') if (node.rootNodes !== undefined) { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Setting up Rootnodes...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Setting up Rootnodes...") let rootNode let i = -1 @@ -161,10 +161,10 @@ function newSuperalgosFunctionLibraryUiObjectsFromNodes() { i++ if (i < node.rootNodes.length) { rootNode = node.rootNodes[i] - UI.projects.superalgos.utilities.creditsPage.changeStatus("Connecting children nodes from " + rootNode.name + " - " + rootNode.type + "...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Connecting children nodes from " + rootNode.name + " - " + rootNode.type + "...") setTimeout(loopBody, 100) } else { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Setting up the Docs Search Engine Index...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Finished connecting all nodes.") setTimeout(endLoop, 100) } } diff --git a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js index 0b5f19699..56b258f6e 100644 --- a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js @@ -3,7 +3,7 @@ function newWorkspace() { const MODULE_NAME = 'Workspace' const ERROR_LOG = true const logger = newWebDebugLog() - + let thisObject = { isInitialized: false, @@ -44,8 +44,6 @@ function newWorkspace() { let savingWorkspaceIntervalId let workingAtTask = 0 - let circularProgressBar = newBusyProgressBar() - circularProgressBar.fitFunction = UI.projects.superalgos.spaces.floatingSpace.fitIntoVisibleArea let loadedWorkspaceNode let sessionTimestamp = (new Date()).valueOf() window.localStorage.setItem('Session Timestamp', sessionTimestamp) @@ -57,14 +55,12 @@ function newWorkspace() { function finalize() { thisObject.definition = undefined thisObject.workspaceNode = undefined - circularProgressBar.finalize() - circularProgressBar = undefined actionSwitchesByProject = undefined } function initialize() { try { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Initializing...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Initializing...") /* Set up the action switches map */ for (let i = 0; i < PROJECTS_ARRAY.length; i++) { @@ -78,7 +74,7 @@ function newWorkspace() { if (lastUsedWorkspace !== 'undefined' && lastUsedWorkspace !== null && lastUsedWorkspace !== undefined) { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Loading Workspace " + lastUsedWorkspace + "...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Loading Workspace " + lastUsedWorkspace + "...") httpRequest(undefined, 'LoadMyWorkspace' + '/' + lastUsedWorkspace, onFileReceived) function onFileReceived(err, text, response) { @@ -100,26 +96,30 @@ function newWorkspace() { } function recreateWorkspace() { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Connecting all the workspace nodes...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Connecting all the workspace nodes...") executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization }) } function finishInitialization() { - UI.projects.superalgos.utilities.creditsPage.changeStatus("Setting up websockets connections...") - setupEventsServerClients() - runTasksAndSessions() - thisObject.enabled = true - UI.projects.superalgos.spaces.cockpitSpace.initializePosition() - CAN_SPACES_DRAW = true - /* We will help the Docs Space finish its initialization, since it is waiting for the workspace to be done. */ - UI.projects.superalgos.spaces.docsSpace.searchEngine.setUpSearchEngine() - thisObject.isInitialized = true - savingWorkspaceIntervalId = setInterval(saveWorkspace, 60000) - UI.projects.superalgos.utilities.creditsPage.changeStatus("Displaying the UI...") + UI.projects.superalgos.utilities.statusBar.changeStatus("Setting up Docs Search Engine...") + setTimeout(theEnd, 100) + function theEnd() { + UI.projects.superalgos.spaces.docsSpace.searchEngine.setUpSearchEngine() + + setupEventsServerClients() + runTasksAndSessions() + thisObject.enabled = true + UI.projects.superalgos.spaces.cockpitSpace.initializePosition() + CAN_SPACES_DRAW = true + + thisObject.isInitialized = true + savingWorkspaceIntervalId = setInterval(saveWorkspace, 60000) + UI.projects.superalgos.utilities.statusBar.changeStatus("Displaying the UI...") + } } } catch (err) { if (ERROR_LOG === true) { logger.write('[ERROR] initialize -> err = ' + err.stack) } @@ -130,7 +130,7 @@ function newWorkspace() { executeAction({ name: 'Syncronize Tasks', project: 'Superalgos' }) executeAction({ name: 'Syncronize Trading Sessions', project: 'Superalgos' }) executeAction({ name: 'Syncronize Learning Sessions', project: 'Superalgos' }) - executeAction({ name: 'Play Tutorials', project: 'Superalgos' }) + executeAction({ name: 'Play Tutorials', project: 'Superalgos' }) } function setupEventsServerClients() { @@ -151,7 +151,7 @@ function newWorkspace() { } } - async function saveWorkspace() { + async function saveWorkspace(callBackFunction) { let workspace = UI.projects.superalgos.spaces.designSpace.workspace.workspaceNode /* Validation if it is too early to save. */ @@ -200,6 +200,9 @@ function newWorkspace() { if (ARE_WE_RECORDING_A_MARKET_PANORAMA === false) { UI.projects.superalgos.spaces.cockpitSpace.setStatus(workspace.name + ' Saved.', 50, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.ALL_GOOD) } + if (callBackFunction !== undefined) { + callBackFunction() + } } else { UI.projects.superalgos.spaces.cockpitSpace.setStatus('Could not save the Workspace at the Client. Please check the Client Console for more information.', 150, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.WARNING) } @@ -251,73 +254,134 @@ function newWorkspace() { if (thisObject.enabled !== true) { return } if (workingAtTask > 0) { - circularProgressBar.physics() switch (workingAtTask) { - case 1: - thisObject.isInitialized = false - console.log('[INFO] Replacing Workspace Procedure Started') - console.log('[INFO] Deleting Workspace ' + thisObject.workspaceNode.name + '. This might take a few minutes depending on the size of the workspace.') - UI.projects.superalgos.spaces.tutorialSpace.stop() - let result = await executeAction({ node: thisObject.workspaceNode, name: 'Delete Workspace', project: 'Superalgos' }) - if (result === false) { - console.log('[ERROR] Could not replace the current workspace because there was a problem removing one node from memory.') - console.log('[ERROR] The system is at an inconsistent state and your workspace is partially deleted. Saving has been disabled to prevent data loss.') - console.log('[ERROR] The only thing you can do now is to fix the APP SCHEMA and refresh the page to reaload the previously saved workspace again.') - circularProgressBar.visible = false - workingAtTask = 0 - return - } - workingAtTask++ - break - case 2: - console.log('[INFO] Closing Events Server') - finalizeEventsServerClients() - thisObject.eventsServerClients = new Map() - workingAtTask++ - break - case 3: - console.log('[INFO] Stopping Automatic Saving') - clearInterval(savingWorkspaceIntervalId) - workingAtTask++ - break - case 4: - console.log('[INFO] Loading new Workspace ' + loadedWorkspaceNode.name + '.') - thisObject.workspaceNode = loadedWorkspaceNode - thisObject.workspaceNode.project = 'Superalgos' - loadedWorkspaceNode = undefined - workingAtTask++ - break - case 5: - console.log('[INFO] Setting up Workspace') - executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization }) - function finishInitialization() { - setupEventsServerClients() - runTasksAndSessions() - } - workingAtTask++ - break - case 6: - console.log('[INFO] Resetting Spaces') - UI.projects.superalgos.spaces.chartingSpace.reset() - workingAtTask++ - break - case 7: - console.log('[INFO] Replacing Workspace Procedure Finished') + case 1: { + UI.projects.superalgos.utilities.statusBar.changeStatus('Saving Workspace ' + thisObject.workspaceNode.name + '.') workingAtTask = 0 - circularProgressBar.visible = false - thisObject.isInitialized = true - saveWorkspace() - UI.projects.superalgos.spaces.docsSpace.reset() // The docs needs to index the loaded workspace. + + UI.projects.superalgos.spaces.docsSpace.sidePanelTab.close() + UI.projects.superalgos.spaces.sideSpace.sidePanelTab.close() + UI.projects.superalgos.spaces.floatingSpace.inMapMode = true + saveWorkspace(takeAction) + + function takeAction() { + workingAtTask = 2 + } break + } + case 2: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Deleting Workspace ' + thisObject.workspaceNode.name + '. This might take a few minutes depending on the size of the workspace.') + setTimeout(takeAction, 100) + workingAtTask = 0 + + async function takeAction() { + thisObject.isInitialized = false + UI.projects.superalgos.spaces.tutorialSpace.stop() + + let result = await executeAction({ node: thisObject.workspaceNode, name: 'Delete Workspace', project: 'Superalgos', callBackFunction: onDeleted }) + if (result === false) { + console.log('[ERROR] Could not replace the current workspace because there was a problem removing one node from memory.') + console.log('[ERROR] The system is at an inconsistent state and your workspace is partially deleted. Saving has been disabled to prevent data loss.') + console.log('[ERROR] The only thing you can do now is to fix the APP SCHEMA and refresh the page to reaload the previously saved workspace again.') + workingAtTask = 0 + return + } + function onDeleted() { + workingAtTask = 3 + } + } + + break + } + case 3: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Stopping Events Server Client...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + finalizeEventsServerClients() + thisObject.eventsServerClients = new Map() + workingAtTask = 4 + } + break + } + case 4: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Stopping Automatic Saving...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + clearInterval(savingWorkspaceIntervalId) + workingAtTask = 5 + } + break + } + case 5: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Loading Workspace ' + loadedWorkspaceNode.name + '...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + thisObject.workspaceNode = loadedWorkspaceNode + thisObject.workspaceNode.project = 'Superalgos' + loadedWorkspaceNode = undefined + workingAtTask = 6 + } + break + } + case 6: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Setting up Workspace...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization }) + function finishInitialization() { + setupEventsServerClients() + runTasksAndSessions() + workingAtTask = 7 + } + } + break + } + case 7: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Rebuilding the Charting Space...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + UI.projects.superalgos.spaces.chartingSpace.reset() + workingAtTask = 8 + } + break + } + case 8: + { + UI.projects.superalgos.utilities.statusBar.changeStatus('Search Engine Reindexing...') + setTimeout(takeAction, 100) + workingAtTask = 0 + + function takeAction() { + thisObject.isInitialized = true + saveWorkspace() + UI.projects.superalgos.spaces.docsSpace.reset() // The docs needs to index the loaded workspace. + UI.projects.superalgos.spaces.floatingSpace.inMapMode = false + } + break + } } } } function draw() { - if (circularProgressBar !== undefined) { - circularProgressBar.draw() - } + } async function stringifyWorkspace(removePersonalData) { @@ -378,6 +442,7 @@ function newWorkspace() { } async function getNodeByShortcutKey(searchingKey) { + if (thisObject.workspaceNode === undefined) { return } for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] let node = await executeAction({ node: rootNode, name: 'Get Node By Shortcut Key', project: 'Superalgos', extraParameter: searchingKey }) @@ -386,6 +451,7 @@ function newWorkspace() { } async function getNodeThatIsOnFocus() { + if (thisObject.workspaceNode === undefined) { return } for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] let node = await executeAction({ node: rootNode, name: 'Get Node On Focus', project: 'Superalgos' }) @@ -394,6 +460,7 @@ function newWorkspace() { } function getHierarchyHeads() { + if (thisObject.workspaceNode === undefined) { return } let nodes = [] for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] @@ -408,6 +475,7 @@ function newWorkspace() { } function getProjectsHeads() { + if (thisObject.workspaceNode === undefined) { return } let nodes = [] for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] @@ -422,21 +490,23 @@ function newWorkspace() { } function getHierarchyHeadsById(nodeId) { - let hiriatchyHeads = getHierarchyHeads() - for (let i = 0; i < hiriatchyHeads.length; i++) { - let hiriatchyHead = hiriatchyHeads[i] - if (hiriatchyHead.id === nodeId) { - return hiriatchyHead + let hierarchyHeads = getHierarchyHeads() + if (hierarchyHeads === undefined) { return } + for (let i = 0; i < hierarchyHeads.length; i++) { + let hierarchyHead = hierarchyHeads[i] + if (hierarchyHead.id === nodeId) { + return hierarchyHead } } } function getHierarchyHeadsByType(nodeType) { - let hiriatchyHeads = getHierarchyHeads() - for (let i = 0; i < hiriatchyHeads.length; i++) { - let hiriatchyHead = hiriatchyHeads[i] - if (hiriatchyHead.type === nodeType) { - return hiriatchyHead + let hierarchyHeads = getHierarchyHeads() + if (hierarchyHeads === undefined) { return } + for (let i = 0; i < hierarchyHeads.length; i++) { + let hierarchyHead = hierarchyHeads[i] + if (hierarchyHead.type === nodeType) { + return hierarchyHead } } } @@ -459,7 +529,6 @@ function newWorkspace() { } loadedWorkspaceNode = JSON.parse(text) - saveWorkspace() UI.projects.superalgos.spaces.cockpitSpace.toTop() let position = { @@ -470,8 +539,6 @@ function newWorkspace() { UI.projects.superalgos.spaces.floatingSpace.container.frame.position.x = browserCanvas.width / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.width / 2 UI.projects.superalgos.spaces.floatingSpace.container.frame.position.y = browserCanvas.height / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.height / 2 - circularProgressBar.initialize(position) - circularProgressBar.visible = true workingAtTask = 1 } } @@ -490,8 +557,6 @@ function newWorkspace() { if (droppedNode.type === 'Workspace') { loadedWorkspaceNode = droppedNode - circularProgressBar.initialize(mousePointer) - circularProgressBar.visible = true workingAtTask = 1 return } diff --git a/Projects/Superalgos/UI/Utilities/CreditsPage.js b/Projects/Superalgos/UI/Utilities/CreditsPage.js index 9df5c52db..44a0ba035 100644 --- a/Projects/Superalgos/UI/Utilities/CreditsPage.js +++ b/Projects/Superalgos/UI/Utilities/CreditsPage.js @@ -1,4 +1,4 @@ -function newSuperalgosUtilitiesCreditsPage() { +function newSuperalgosUtilitiesStatusBar() { thisObject = { changeStatus: changeStatus } @@ -8,6 +8,11 @@ function newSuperalgosUtilitiesCreditsPage() { function changeStatus(newStatus) { let statusParagraph = document.getElementById('credits-page-status-paragraph') statusParagraph.lastChild.data = newStatus - + + try { + UI.projects.superalgos.spaces.cockpitSpace.setStatus(newStatus, 50, UI.projects.superalgos.spaces.cockpitSpace.statusTypes.ALL_GOOD) + } catch(err) { + // this means that the cockpitSpace is not ready... + } } } \ No newline at end of file From fb2c5f8d59aa4401385b9930423a938a674f4050 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 14 Jan 2021 19:30:20 +0100 Subject: [PATCH 2/3] Bug Fixed, not reindexing after workspace switch --- .../Superalgos/UI/Spaces/Design-Space/Workspace.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js index 56b258f6e..65a6de58a 100644 --- a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js @@ -272,7 +272,7 @@ function newWorkspace() { } case 2: { - UI.projects.superalgos.utilities.statusBar.changeStatus('Deleting Workspace ' + thisObject.workspaceNode.name + '. This might take a few minutes depending on the size of the workspace.') + UI.projects.superalgos.utilities.statusBar.changeStatus('Unloading Workspace ' + thisObject.workspaceNode.name + '. This might take a few minutes depending on the size of the workspace.') setTimeout(takeAction, 100) workingAtTask = 0 @@ -344,7 +344,6 @@ function newWorkspace() { executeAction({ node: thisObject.workspaceNode, name: 'Recreate Workspace', project: 'Superalgos', callBackFunction: finishInitialization }) function finishInitialization() { setupEventsServerClients() - runTasksAndSessions() workingAtTask = 7 } } @@ -364,15 +363,17 @@ function newWorkspace() { } case 8: { - UI.projects.superalgos.utilities.statusBar.changeStatus('Search Engine Reindexing...') + UI.projects.superalgos.utilities.statusBar.changeStatus('Reindexing Search Engine...') setTimeout(takeAction, 100) workingAtTask = 0 function takeAction() { + UI.projects.superalgos.spaces.docsSpace.reset() + UI.projects.superalgos.spaces.docsSpace.searchEngine.setUpSearchEngine() // The docs needs to index the loaded workspace. + UI.projects.superalgos.spaces.floatingSpace.inMapMode = false thisObject.isInitialized = true saveWorkspace() - UI.projects.superalgos.spaces.docsSpace.reset() // The docs needs to index the loaded workspace. - UI.projects.superalgos.spaces.floatingSpace.inMapMode = false + runTasksAndSessions() } break } From 34127ea5610cbd756496ef472b503e4c5185c654 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 14 Jan 2021 19:57:09 +0100 Subject: [PATCH 3/3] Improvement: Missing to delete this --- Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js index 65a6de58a..50527b2d0 100644 --- a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js @@ -532,11 +532,6 @@ function newWorkspace() { loadedWorkspaceNode = JSON.parse(text) UI.projects.superalgos.spaces.cockpitSpace.toTop() - let position = { - x: browserCanvas.width / 2, - y: browserCanvas.height / 2 - } - UI.projects.superalgos.spaces.floatingSpace.container.frame.position.x = browserCanvas.width / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.width / 2 UI.projects.superalgos.spaces.floatingSpace.container.frame.position.y = browserCanvas.height / 2 - UI.projects.superalgos.spaces.floatingSpace.container.frame.height / 2