@@ -73,6 +73,8 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
7373 } ,
7474
7575 __addModelsInfo : function ( modelsInfo ) {
76+ const modelLayout = new qx . ui . container . Composite ( new qx . ui . layout . VBox ( 16 ) ) ;
77+
7678 if ( modelsInfo . length > 1 ) {
7779 const sBox = new qx . ui . form . SelectBox ( ) . set ( {
7880 minWidth : 200 ,
@@ -84,14 +86,23 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
8486 sBox . add ( sbItem ) ;
8587 } ) ;
8688 this . _add ( sBox ) ;
87- this . __addModelInfo ( modelsInfo [ 0 ] [ "source" ] ) ;
89+ sBox . addListener ( "changeSelection" , e => {
90+ const selection = e . getData ( ) ;
91+ if ( selection . length ) {
92+ const modelFound = modelsInfo . find ( mdlInfo => mdlInfo [ "source" ] [ "id" ] === selection [ 0 ] . modelId )
93+ this . __populateModelInfo ( modelLayout , modelFound [ "source" ] ) ;
94+ }
95+ } , this ) ;
96+ this . __populateModelInfo ( modelLayout , modelsInfo [ 0 ] [ "source" ] ) ;
8897 } else {
89- this . __addModelInfo ( modelsInfo [ 0 ] [ "source" ] ) ;
98+ this . __populateModelInfo ( modelLayout , modelsInfo [ 0 ] [ "source" ] ) ;
9099 }
100+
101+ this . _add ( modelLayout ) ;
91102 } ,
92103
93- __addModelInfo : function ( anatomicalModel ) {
94- const cardLayout = new qx . ui . container . Composite ( new qx . ui . layout . VBox ( 16 ) ) ;
104+ __populateModelInfo : function ( modelLayout , anatomicalModel ) {
105+ modelLayout . removeAll ( ) ;
95106
96107 const topGrid = new qx . ui . layout . Grid ( 8 , 8 ) ;
97108 topGrid . setColumnFlex ( 0 , 1 ) ;
@@ -150,6 +161,7 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
150161 maxWidth : 32 ,
151162 maxHeight : 32 ,
152163 scale : true ,
164+ decorator : "rounded" ,
153165 } ) ;
154166 manufacturerLink . addListener ( "tap" , ( ) => window . open ( manufacturerData [ "link" ] ) ) ;
155167 topLayout . add ( manufacturerLink , {
@@ -158,7 +170,7 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
158170 rowSpan : 2 ,
159171 } ) ;
160172 }
161- cardLayout . add ( topLayout ) ;
173+ modelLayout . add ( topLayout ) ;
162174
163175
164176 const middleLayout = new qx . ui . container . Composite ( new qx . ui . layout . HBox ( 16 ) ) ;
@@ -248,9 +260,7 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
248260
249261 middleLayout . add ( featuresLayout ) ;
250262
251- cardLayout . add ( middleLayout ) ;
252-
253- this . _add ( cardLayout ) ;
263+ modelLayout . add ( middleLayout ) ;
254264 } ,
255265
256266 __createPricingUnits : function ( anatomicalModelsData ) {
0 commit comments