@@ -34,9 +34,7 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
3434 this . base ( arguments ) ;
3535 this . _setLayout ( new qx . ui . layout . Grow ( ) ) ;
3636
37- this . __studyModel = qx . data . marshal . Json . createModel ( studyData ) ;
38- this . __selectedTags = studyData . tags ;
39- this . __workbench = studyData . workbench ;
37+ this . __studyData = osparc . data . model . Study . deepCloneStudyObject ( studyData ) ;
4038
4139 this . __stack = new qx . ui . container . Stack ( ) ;
4240 this . __displayView = this . __createDisplayView ( studyData , isTemplate , winWidth ) ;
@@ -66,10 +64,7 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
6664 __stack : null ,
6765 __fields : null ,
6866 __openButton : null ,
69- __study : null ,
70- __studyModel : null ,
71- __workbench : null ,
72- __selectedTags : null ,
67+ __studyData : null ,
7368
7469 showOpenButton : function ( show ) {
7570 this . __openButton . setVisibility ( show ? "visible" : "excluded" ) ;
@@ -118,14 +113,14 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
118113 const editView = new qx . ui . container . Composite ( new qx . ui . layout . VBox ( 8 ) ) ;
119114
120115 this . __fields = {
121- name : new qx . ui . form . TextField ( this . __studyModel . getName ( ) ) . set ( {
116+ name : new qx . ui . form . TextField ( this . __studyData . name ) . set ( {
122117 font : "title-16" ,
123118 enabled : fieldIsEnabled
124119 } ) ,
125- description : new qx . ui . form . TextArea ( this . __studyModel . getDescription ( ) ) . set ( {
120+ description : new qx . ui . form . TextArea ( this . __studyData . description ) . set ( {
126121 enabled : fieldIsEnabled
127122 } ) ,
128- thumbnail : new qx . ui . form . TextField ( this . __studyModel . getThumbnail ( ) ) . set ( {
123+ thumbnail : new qx . ui . form . TextField ( this . __studyData . thumbnail ) . set ( {
129124 enabled : fieldIsEnabled
130125 } )
131126 } ;
@@ -198,13 +193,13 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
198193 appearance : "link-button"
199194 } ) ;
200195 editButton . addListener ( "execute" , ( ) => {
201- const tagManager = new osparc . component . form . tag . TagManager ( this . __selectedTags , editButton , "study" , this . __studyModel . getUuid ( ) ) ;
196+ const tagManager = new osparc . component . form . tag . TagManager ( this . __studyData . tags , editButton , "study" , this . __studyData . uuid ) ;
202197 tagManager . addListener ( "changeSelected" , evt => {
203- this . __selectedTags = evt . getData ( ) . selected ;
198+ this . __studyData . tags = evt . getData ( ) . selected ;
204199 } , this ) ;
205200 tagManager . addListener ( "close" , ( ) => {
206201 this . __renderTags ( ) ;
207- this . fireDataEvent ( "updateTags" , this . __studyModel . getUuid ( ) ) ;
202+ this . fireDataEvent ( "updateTags" , this . __studyData . uuid ) ;
208203 } , this ) ;
209204 } ) ;
210205 header . add ( editButton ) ;
@@ -224,7 +219,7 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
224219 this . __tagsContainer = this . __tagsContainer || new qx . ui . container . Composite ( new qx . ui . layout . HBox ( 5 ) ) ;
225220 this . __tagsContainer . removeAll ( ) ;
226221 this . __tagsContainer . setMarginTop ( 5 ) ;
227- osparc . store . Store . getInstance ( ) . getTags ( ) . filter ( tag => this . __selectedTags . includes ( tag . id ) )
222+ osparc . store . Store . getInstance ( ) . getTags ( ) . filter ( tag => this . __studyData . tags . includes ( tag . id ) )
228223 . forEach ( selectedTag => {
229224 this . __tagsContainer . add ( new osparc . ui . basic . Tag ( selectedTag . name , selectedTag . color ) ) ;
230225 } ) ;
@@ -233,12 +228,9 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
233228
234229 __saveStudy : function ( isTemplate , btn ) {
235230 const data = this . __serializeForm ( ) ;
236- // FIXME: Avoid adding invalid properties to standard entities.
237- delete data . locked ;
238- delete data . resourceType ;
239231 const params = {
240232 url : {
241- projectId : this . __studyModel . getUuid ( )
233+ projectId : this . __studyData . uuid
242234 } ,
243235 data
244236 } ;
@@ -247,9 +239,8 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
247239 btn . resetIcon ( ) ;
248240 btn . getChildControl ( "icon" ) . getContentElement ( )
249241 . removeClass ( "rotate" ) ;
250- this . __studyModel . set ( studyData ) ;
251242 this . setMode ( "display" ) ;
252- this . fireDataEvent ( isTemplate ? "updateTemplate" : "updateStudy" , studyData . uuid ) ;
243+ this . fireDataEvent ( isTemplate ? "updateTemplate" : "updateStudy" , studyData ) ;
253244 } )
254245 . catch ( err => {
255246 btn . resetIcon ( ) ;
@@ -261,11 +252,7 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
261252 } ,
262253
263254 __serializeForm : function ( ) {
264- let data = { } ;
265- data = {
266- ...qx . util . Serializer . toNativeObject ( this . __studyModel ) ,
267- workbench : this . __workbench
268- } ;
255+ const data = this . __studyData ;
269256
270257 for ( let key in this . __fields ) {
271258 data [ key ] = this . __fields [ key ] . getValue ( ) ;
@@ -279,11 +266,10 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
279266 const dirty = data [ fieldKey ] ;
280267 const clean = osparc . wrapper . DOMPurify . getInstance ( ) . sanitize ( dirty ) ;
281268 if ( dirty && dirty !== clean ) {
282- osparc . component . message . FlashMessenger . getInstance ( ) . logAs ( this . tr ( "There was an issue in the text of " ) + fieldKey , "ERROR " ) ;
269+ osparc . component . message . FlashMessenger . getInstance ( ) . logAs ( this . tr ( "There was some curation in the text of " ) + fieldKey , "WARNING " ) ;
283270 }
284271 data [ fieldKey ] = clean ;
285272 } , this ) ;
286- data . tags = this . __selectedTags ;
287273 return data ;
288274 } ,
289275
@@ -299,8 +285,8 @@ qx.Class.define("osparc.component.metadata.StudyDetailsEditor", {
299285 } ,
300286
301287 __isUserOwner : function ( ) {
302- if ( this . __studyModel ) {
303- return this . __studyModel . getPrjOwner ( ) === osparc . auth . Data . getInstance ( ) . getEmail ( ) ;
288+ if ( this . __studyData ) {
289+ return this . __studyData . prjOwner === osparc . auth . Data . getInstance ( ) . getEmail ( ) ;
304290 }
305291 return false ;
306292 }
0 commit comments