@@ -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