Skip to content

Commit 11a954e

Browse files
committed
Convert to Pipeline from dashboard
1 parent 9c61212 commit 11a954e

File tree

2 files changed

+40
-10
lines changed

2 files changed

+40
-10
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -877,6 +877,10 @@ qx.Class.define("osparc.dashboard.CardBase", {
877877
if (duplicateButton) {
878878
duplicateButton.setEnabled(osparc.study.Utils.canBeDuplicated(resourceData));
879879
}
880+
const convertToPipelineButton = menuButtons.find(menuBtn => "convertToPipelineButton" in menuBtn);
881+
if (convertToPipelineButton) {
882+
convertToPipelineButton.setEnabled(osparc.study.Utils.canBeDuplicated(resourceData));
883+
}
880884
const exportCMISButton = menuButtons.find(menuBtn => "exportCMISButton" in menuBtn);
881885
if (exportCMISButton) {
882886
exportCMISButton.setEnabled(osparc.study.Utils.canBeExported(resourceData));

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

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1648,6 +1648,9 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
16481648
const duplicateStudyButton = this.__getDuplicateMenuButton(studyData);
16491649
menu.add(duplicateStudyButton);
16501650

1651+
const convertToPipelineButton = this.__getConvertToPipelineMenuButton(studyData);
1652+
menu.add(convertToPipelineButton);
1653+
16511654
if (osparc.product.Utils.isProduct("osparc")) {
16521655
const exportStudyButton = this.__getExportMenuButton(studyData);
16531656
menu.add(exportStudyButton);
@@ -1722,6 +1725,16 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
17221725
return renameButton;
17231726
},
17241727

1728+
__updateName: function(studyData, name) {
1729+
osparc.info.StudyUtils.patchStudyData(studyData, "name", name)
1730+
.then(() => this._updateStudyData(studyData))
1731+
.catch(err => {
1732+
console.error(err);
1733+
const msg = err.message || this.tr("Something went wrong Renaming");
1734+
osparc.FlashMessenger.logAs(msg, "ERROR");
1735+
});
1736+
},
1737+
17251738
__getThumbnailStudyMenuButton: function(studyData) {
17261739
const thumbButton = new qx.ui.menu.Button(this.tr("Thumbnail..."), "@FontAwesome5Solid/image/12");
17271740
thumbButton.addListener("execute", () => {
@@ -1743,16 +1756,6 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
17431756
return thumbButton;
17441757
},
17451758

1746-
__updateName: function(studyData, name) {
1747-
osparc.info.StudyUtils.patchStudyData(studyData, "name", name)
1748-
.then(() => this._updateStudyData(studyData))
1749-
.catch(err => {
1750-
console.error(err);
1751-
const msg = err.message || this.tr("Something went wrong Renaming");
1752-
osparc.FlashMessenger.logAs(msg, "ERROR");
1753-
});
1754-
},
1755-
17561759
__updateThumbnail: function(studyData, url) {
17571760
osparc.info.StudyUtils.patchStudyData(studyData, "thumbnail", url)
17581761
.then(() => this._updateStudyData(studyData))
@@ -1860,6 +1863,29 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
18601863
return duplicateButton;
18611864
},
18621865

1866+
__getConvertToPipelineMenuButton: function(studyData) {
1867+
const convertToPipelineButton = new qx.ui.menu.Button(this.tr("Convert to Pipeline"), null);
1868+
convertToPipelineButton["convertToPipelineButton"] = true;
1869+
const uiMode = osparc.data.model.Study.getUiMode(studyData);
1870+
convertToPipelineButton.setVisibility(uiMode === "standalone" ? "visible" : "excluded");
1871+
convertToPipelineButton.addListener("execute", () => {
1872+
this.__updateUIMode(studyData, "workbench")
1873+
.catch(err => {
1874+
console.error(err);
1875+
const msg = err.message || this.tr("Something went wrong Converting to Pipeline");
1876+
osparc.FlashMessenger.logAs(msg, "ERROR");
1877+
});
1878+
}, this);
1879+
return convertToPipelineButton;
1880+
},
1881+
1882+
__updateUIMode: function(studyData, uiMode) {
1883+
const studyUI = osparc.utils.Utils.deepCloneObject(studyData["ui"]);
1884+
studyUI["mode"] = uiMode;
1885+
return osparc.info.StudyUtils.patchStudyData(studyData, "ui", studyUI)
1886+
.then(() => this._updateStudyData(studyData))
1887+
},
1888+
18631889
__getExportMenuButton: function(studyData) {
18641890
const exportButton = new qx.ui.menu.Button(this.tr("Export cMIS"), "@FontAwesome5Solid/cloud-download-alt/12");
18651891
exportButton["exportCMISButton"] = true;

0 commit comments

Comments
 (0)