Skip to content

Commit 1bce83c

Browse files
committed
refactors
1 parent a302368 commit 1bce83c

File tree

1 file changed

+39
-31
lines changed
  • services/static-webserver/client/source/class/osparc/data/model

1 file changed

+39
-31
lines changed

services/static-webserver/client/source/class/osparc/data/model/Workbench.js

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,18 @@ qx.Class.define("osparc.data.model.Workbench", {
106106
buildWorkbench: function() {
107107
this.__nodes = {};
108108
this.__edges = {};
109+
109110
const newWay = true;
110111
if (newWay) {
111-
this.__deserializeAll(this.__workbenchInitData, this.__workbenchUIInitData);
112-
this.__workbenchInitData = null;
113-
this.__workbenchUIInitData = null;
114-
} else {
115-
this.__deserialize(this.__workbenchInitData, this.__workbenchUIInitData);
112+
this.__deserialize2(this.__workbenchInitData, this.__workbenchUIInitData);
116113
this.__workbenchInitData = null;
117114
this.__workbenchUIInitData = null;
115+
return;
118116
}
117+
118+
this.__deserialize(this.__workbenchInitData, this.__workbenchUIInitData);
119+
this.__workbenchInitData = null;
120+
this.__workbenchUIInitData = null;
119121
},
120122

121123
// starts the dynamic services
@@ -299,23 +301,23 @@ qx.Class.define("osparc.data.model.Workbench", {
299301
return node;
300302
},
301303

302-
__deserializeNode: function(key, version, nodeId, nodeData, nodeUiData) {
304+
__createNode2: function(key, version, nodeId, nodeData, nodeUiData) {
303305
const node = new osparc.data.model.Node(this.getStudy(), key, version, nodeId);
304-
node.fetchMetadataAndPopulate(nodeData, nodeUiData);
305-
if (osparc.utils.Utils.eventDrivenPatch()) {
306-
node.listenToChanges();
307-
node.addListener("projectDocumentChanged", e => this.fireDataEvent("projectDocumentChanged", e.getData()), this);
308-
}
309-
node.addListener("keyChanged", () => this.fireEvent("reloadModel"), this);
310-
node.addListener("changeInputNodes", () => this.fireDataEvent("pipelineChanged"), this);
311-
node.addListener("reloadModel", () => this.fireEvent("reloadModel"), this);
312-
node.addListener("updateStudyDocument", () => this.fireEvent("updateStudyDocument"), this);
313-
osparc.utils.Utils.localCache.serviceToFavs(key);
314-
315-
this.__initNodeSignals(node);
316-
this.__addNode(node);
317-
318-
return node;
306+
return node.fetchMetadataAndPopulate(nodeData, nodeUiData)
307+
.then(() => {
308+
if (osparc.utils.Utils.eventDrivenPatch()) {
309+
node.listenToChanges();
310+
node.addListener("projectDocumentChanged", e => this.fireDataEvent("projectDocumentChanged", e.getData()), this);
311+
}
312+
node.addListener("keyChanged", () => this.fireEvent("reloadModel"), this);
313+
node.addListener("changeInputNodes", () => this.fireDataEvent("pipelineChanged"), this);
314+
node.addListener("reloadModel", () => this.fireEvent("reloadModel"), this);
315+
node.addListener("updateStudyDocument", () => this.fireEvent("updateStudyDocument"), this);
316+
osparc.utils.Utils.localCache.serviceToFavs(key);
317+
318+
this.__initNodeSignals(node);
319+
this.__addNode(node);
320+
});
319321
},
320322

321323
createUnknownNode: function(nodeId) {
@@ -737,7 +739,7 @@ qx.Class.define("osparc.data.model.Workbench", {
737739
});
738740
},
739741

740-
__deserializeAll: function(workbenchInitData, uiData = {}) {
742+
__deserialize2: function(workbenchInitData, uiData = {}) {
741743
const nodeDatas = {};
742744
const nodeUiDatas = {};
743745
for (const nodeId in workbenchInitData) {
@@ -747,15 +749,11 @@ qx.Class.define("osparc.data.model.Workbench", {
747749
nodeUiDatas[nodeId] = uiData["workbench"][nodeId];
748750
}
749751
}
750-
for (const nodeId in nodeDatas) {
751-
const nodeData = nodeDatas[nodeId];
752-
const nodeUiData = nodeUiDatas[nodeId];
753-
this.__deserializeNode(nodeData["key"], nodeData["version"], nodeId, nodeData, nodeUiData);
754-
}
755-
setTimeout(() => {
756-
this.__deserializeEdges(workbenchInitData);
757-
this.setDeserialized(true);
758-
}, 2000);
752+
this.__deserializeNodes2(nodeDatas, nodeUiDatas)
753+
.then(() => {
754+
this.__deserializeEdges(workbenchInitData);
755+
this.setDeserialized(true);
756+
});
759757
},
760758

761759
__deserializeNodes: function(workbenchData, workbenchUIData = {}) {
@@ -786,6 +784,16 @@ qx.Class.define("osparc.data.model.Workbench", {
786784
});
787785
},
788786

787+
__deserializeNodes2: function(nodeDatas, nodeUiDatas) {
788+
const nodesPromises = [];
789+
for (const nodeId in nodeDatas) {
790+
const nodeData = nodeDatas[nodeId];
791+
const nodeUiData = nodeUiDatas[nodeId];
792+
nodesPromises.push(this.__createNode2(nodeData["key"], nodeData["version"], nodeId, nodeData, nodeUiData));
793+
}
794+
return Promise.allSettled(nodesPromises);
795+
},
796+
789797
__deserializeEdges: function(workbenchData) {
790798
for (const nodeId in workbenchData) {
791799
const node = this.getNode(nodeId);

0 commit comments

Comments
 (0)