@@ -114,25 +114,56 @@ qx.Class.define("osparc.dashboard.NewPlusMenu", {
114114 ] ) . then ( values => {
115115 const newStudiesData = values [ 0 ] ;
116116 const templates = values [ 1 ] ;
117+ if ( newStudiesData [ "categories" ] ) {
118+ // this.__addCategories(newStudiesData["categories"]);
119+ }
117120 if ( newStudiesData [ "linkedResource" ] === "templates" ) {
118- this . __addFromTemplateButtons ( newStudiesData , templates ) ;
121+ newStudiesData [ "resources" ] . forEach ( templateData => {
122+ this . __addFromTemplateButton ( templateData , templates ) ;
123+ } ) ;
119124 }
120125 } ) ;
121126 } ,
122127
123- __addFromTemplateButtons : function ( referencedTemplates , templates ) {
124- const displayTemplates = referencedTemplates [ "resources" ] . filter ( referencedTemplate => {
125- if ( referencedTemplate . showDisabled ) {
126- return true ;
127- }
128- return templates . find ( t => t . name === referencedTemplate . expectedTemplateLabel ) ;
128+ __addCategories : function ( categories ) {
129+ categories . forEach ( category => {
130+ const categoryHeader = new qx . ui . basic . Label ( ) . set ( {
131+ value : category [ "label" ] ,
132+ font : "text-14" ,
133+ rich : true ,
134+ wrap : true ,
135+ } ) ;
136+ categoryHeader . id = category [ "id" ] ;
137+ this . add ( categoryHeader ) ;
129138 } ) ;
130- displayTemplates . forEach ( displayTemplate => {
131- const menuButton = this . self ( ) . createMenuButton ( displayTemplate . title ) ;
132- osparc . utils . Utils . setIdToWidget ( menuButton , displayTemplate . idToWidget ) ;
133- menuButton . addListener ( "tap" , ( ) => this . fireDataEvent ( "newStudyFromTemplateClicked" , displayTemplate ) ) ;
139+ } ,
140+
141+ __addFromTemplateButton : function ( templateData , templates ) {
142+ if ( templateData . showDisabled ) {
143+ const menuButton = this . self ( ) . createMenuButton ( templateData . title ) ;
144+ osparc . utils . Utils . setIdToWidget ( menuButton , templateData . idToWidget ) ;
145+ if ( templateData . showDisabled ) {
146+ menuButton . set ( {
147+ enabled : false ,
148+ blockToolTip : templateData . description ,
149+ } ) ;
150+ }
134151 this . add ( menuButton ) ;
135- } ) ;
152+ return ;
153+ }
154+
155+ const templateFound = templates . find ( t => t . name === templateData . expectedTemplateLabel ) ;
156+ if ( templateFound ) {
157+ const menuButton = this . self ( ) . createMenuButton ( templateData . title ) ;
158+ osparc . utils . Utils . setIdToWidget ( menuButton , templateData . idToWidget ) ;
159+ menuButton . addListener ( "tap" , ( ) => {
160+ this . fireDataEvent ( "newStudyFromTemplateClicked" , {
161+ templateData : templateFound ,
162+ newStudyLabel : templateData . newStudyLabel ,
163+ } ) ;
164+ } ) ;
165+ this . add ( menuButton ) ;
166+ }
136167 } ,
137168
138169 __createNewFolder : function ( ) {
0 commit comments