@@ -21,32 +21,41 @@ qx.Class.define("osparc.dashboard.ResourceDetails", {
2121 construct : function ( resourceData ) {
2222 this . base ( arguments ) ;
2323
24- this . __resourceData = resourceData ;
25-
26- this . __resourceModel = null ;
27- const initPromises = [ ] ;
24+ let latestPromise = null ;
2825 switch ( resourceData [ "resourceType" ] ) {
2926 case "study" :
3027 case "template" : {
31- this . __resourceModel = new osparc . data . model . Study ( resourceData ) ;
3228 const params = {
3329 url : {
34- "studyId" : this . __resourceData [ "uuid" ]
30+ "studyId" : resourceData [ "uuid" ]
3531 }
3632 } ;
37- initPromises . push ( osparc . data . Resources . fetch ( "studies" , "getOne" , params ) ) ;
33+ latestPromise = osparc . data . Resources . fetch ( "studies" , "getOne" , params ) ;
3834 break ;
3935 }
4036 case "service" : {
41- this . __resourceModel = new osparc . data . model . Service ( resourceData ) ;
42- initPromises . push ( osparc . store . Services . getService ( this . __resourceData [ "key" ] , this . __resourceData [ "version" ] ) ) ;
37+ latestPromise = osparc . store . Services . getService ( resourceData [ "key" ] , resourceData [ "version" ] ) ;
4338 break ;
4439 }
4540 }
46- this . __resourceModel [ "resourceType" ] = resourceData [ "resourceType" ] ;
4741
48- Promise . all ( initPromises )
49- . then ( ( ) => this . __addPages ( ) ) ;
42+ latestPromise
43+ . then ( latestResourceData => {
44+ this . __resourceData = latestResourceData ;
45+ switch ( resourceData [ "resourceType" ] ) {
46+ case "study" :
47+ case "template" : {
48+ this . __resourceModel = new osparc . data . model . Study ( latestResourceData ) ;
49+ break ;
50+ }
51+ case "service" : {
52+ this . __resourceModel = new osparc . data . model . Service ( latestResourceData ) ;
53+ break ;
54+ }
55+ }
56+ this . __resourceModel [ "resourceType" ] = resourceData [ "resourceType" ] ;
57+ this . __addPages ( ) ;
58+ } ) ;
5059 } ,
5160
5261 events : {
@@ -276,7 +285,7 @@ qx.Class.define("osparc.dashboard.ResourceDetails", {
276285
277286 // first setSelection
278287 versions . forEach ( version => {
279- selectedItem = osparc . service . Utils . versionToListItem ( this . __resourceData [ "key" ] , version ) ;
288+ selectedItem = osparc . service . Utils . versionToListItem ( this . __resourceData , version ) ;
280289 versionsBox . add ( selectedItem ) ;
281290 if ( this . __resourceData [ "version" ] === version ) {
282291 versionsBox . setSelection ( [ selectedItem ] ) ;
0 commit comments