Skip to content

Commit 23d95f1

Browse files
committed
[skip ci] refactor
1 parent 5aea20e commit 23d95f1

File tree

2 files changed

+48
-16
lines changed

2 files changed

+48
-16
lines changed

services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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() {

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -897,11 +897,12 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
897897
}, this);
898898

899899
newPlusButtonMenu.addListener("newStudyFromTemplateClicked", e => {
900-
const templateInfo = e.getData();
901-
const templates = osparc.store.Store.getInstance().getTemplates();
902-
const templateData = templates.find(t => t.name === templateInfo.expectedTemplateLabel);
900+
const {
901+
templateData,
902+
newStudyLabel,
903+
} = e.getData();
903904
if (templateData) {
904-
this.__newPlanBtnClicked(templateData, templateInfo.newStudyLabel);
905+
this.__newPlanBtnClicked(templateData, newStudyLabel);
905906
}
906907
}, this);
907908

0 commit comments

Comments
 (0)