Skip to content

Commit 2c03ead

Browse files
committed
start sim4life from menu
1 parent 43176dd commit 2c03ead

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ qx.Class.define("osparc.dashboard.NewPlusMenu", {
3636
events: {
3737
"createFolder": "qx.event.type.Data",
3838
"newStudyFromTemplateClicked": "qx.event.type.Data",
39+
"newStudyFromServiceClicked": "qx.event.type.Data",
3940
"changeTab": "qx.event.type.Data",
4041
},
4142

@@ -227,6 +228,34 @@ qx.Class.define("osparc.dashboard.NewPlusMenu", {
227228

228229
__addFromServiceButton: function(serviceData) {
229230
const menuButton = this.__createFromResourceButton(serviceData);
231+
// disable it until found in services store
232+
menuButton.setEnabled(false);
233+
234+
const key = serviceData.expectedKey;
235+
// Include deprecated versions, they should all be updatable to a non deprecated version
236+
const versions = osparc.service.Utils.getVersions(key, false);
237+
if (versions.length && serviceData) {
238+
// scale to latest compatible
239+
const latestVersion = versions[0];
240+
const latestCompatible = osparc.service.Utils.getLatestCompatible(key, latestVersion);
241+
osparc.store.Services.getService(latestCompatible["key"], latestCompatible["version"])
242+
.then(latestMetadata => {
243+
// make sure this one is not deprecated
244+
if (osparc.service.Utils.isDeprecated(latestMetadata)) {
245+
return;
246+
}
247+
menuButton.setEnabled(true);
248+
if (menuButton.getIcon() === null && latestMetadata["thumbnail"]) {
249+
menuButton.setIcon(latestMetadata["thumbnail"]);
250+
}
251+
menuButton.addListener("tap", () => {
252+
this.fireDataEvent("newStudyFromServiceClicked", {
253+
serviceMetadata: latestMetadata,
254+
newStudyLabel: serviceData.newStudyLabel,
255+
});
256+
});
257+
})
258+
}
230259

231260
this.__addFromResourceButton(menuButton, serviceData);
232261
},

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,16 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
906906
}
907907
}, this);
908908

909+
newPlusButtonMenu.addListener("newStudyFromServiceClicked", e => {
910+
const {
911+
serviceMetadata,
912+
newStudyLabel,
913+
} = e.getData();
914+
if (serviceMetadata) {
915+
this.__newStudyFromServiceBtnClicked(serviceMetadata["key"], serviceMetadata["version"], newStudyLabel);
916+
}
917+
}, this);
918+
909919
newPlusButtonMenu.addListener("changeTab", e => this.fireDataEvent("changeTab", e.getData()));
910920
},
911921

@@ -1019,7 +1029,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
10191029
const newStudyFromServiceButton = (mode === "grid") ? new osparc.dashboard.GridButtonNew(title, desc) : new osparc.dashboard.ListButtonNew(title, desc);
10201030
newStudyFromServiceButton.setCardKey("new-"+key);
10211031
osparc.utils.Utils.setIdToWidget(newStudyFromServiceButton, newButtonInfo.idToWidget);
1022-
newStudyFromServiceButton.addListener("tap", () => this.__newStudyFromServiceBtnClicked(newStudyFromServiceButton, latestMetadata["key"], latestMetadata["version"], newButtonInfo.newStudyLabel));
1032+
newStudyFromServiceButton.addListener("tap", () => this.__newStudyFromServiceBtnClicked(latestMetadata["key"], latestMetadata["version"], newButtonInfo.newStudyLabel));
10231033
this._resourcesContainer.addNonResourceCard(newStudyFromServiceButton);
10241034
})
10251035
}
@@ -1536,7 +1546,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
15361546
});
15371547
},
15381548

1539-
__newStudyFromServiceBtnClicked: function(button, key, version, newStudyLabel) {
1549+
__newStudyFromServiceBtnClicked: function(key, version, newStudyLabel) {
15401550
this._showLoadingPage(this.tr("Creating ") + osparc.product.Utils.getStudyAlias());
15411551
const contextProps = {
15421552
workspaceId: this.getCurrentWorkspaceId(),

services/static-webserver/client/source/class/osparc/store/Products.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ qx.Class.define("osparc.store.Products", {
3737

3838
getNewStudyConfig: function() {
3939
return new Promise(resolve => {
40-
console.log("newStudyConfig", this.__newStudyConfig);
4140
if (this.__newStudyConfig) {
4241
resolve(this.__newStudyConfig);
4342
} else {

0 commit comments

Comments
 (0)