Skip to content

Commit 9c67e70

Browse files
committed
refactor versionsToSelectBox
1 parent f7cb8ad commit 9c67e70

File tree

4 files changed

+22
-23
lines changed

4 files changed

+22
-23
lines changed

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

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -282,18 +282,15 @@ qx.Class.define("osparc.dashboard.ResourceDetails", {
282282
hBox.add(versionsBox);
283283

284284

285-
osparc.store.Services.getVersions(this.__resourceData["key"], this.__resourceData["version"])
286-
.then(versions => {
285+
osparc.store.Services.versionsToSelectBox(this.__resourceData["key"], versionsBox)
286+
.then(() => {
287287
let selectedItem = null;
288288

289289
// first setSelection
290-
versions.forEach(version => {
291-
selectedItem = osparc.service.Utils.versionToListItem(this.__resourceData, version);
292-
versionsBox.add(selectedItem);
293-
if (this.__resourceData["version"] === version) {
294-
versionsBox.setSelection([selectedItem]);
295-
}
296-
});
290+
const versionFound = versionsBox.getSelectables().find(selectable => selectable.version === this.__resourceData["version"]);
291+
if (versionFound) {
292+
versionsBox.setSelection([selectedItem]);
293+
}
297294
osparc.utils.Utils.growSelectBox(versionsBox, 200);
298295

299296
// then listen to changes

services/static-webserver/client/source/class/osparc/service/Utils.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,6 @@ qx.Class.define("osparc.service.Utils", {
137137
return "";
138138
},
139139

140-
versionToListItem: function(key, version) {
141-
const versionDisplay = osparc.store.Services.getVersionDisplay(key, version);
142-
const listItem = new qx.ui.form.ListItem(versionDisplay);
143-
osparc.utils.Utils.setIdToWidget(listItem, "serviceVersionItem_" + versionDisplay);
144-
listItem.version = version;
145-
return listItem;
146-
},
147-
148140
canIWrite: function(serviceAccessRights) {
149141
const groupsStore = osparc.store.Groups.getInstance();
150142
const orgIDs = groupsStore.getOrganizationIds();

services/static-webserver/client/source/class/osparc/store/Services.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,20 @@ qx.Class.define("osparc.store.Services", {
157157
return [];
158158
},
159159

160+
versionsToSelectBox: function(key, selectBox) {
161+
const metadata = this.getLatest(key);
162+
return this.getVersions(key, metadata["version"])
163+
.then(versions => {
164+
versions.forEach(vrsn => {
165+
const versionDisplay = this.getVersionDisplay(key, vrsn);
166+
const listItem = new qx.ui.form.ListItem(versionDisplay);
167+
osparc.utils.Utils.setIdToWidget(listItem, "serviceVersionItem_" + versionDisplay);
168+
listItem.version = vrsn;
169+
selectBox.add(listItem);
170+
});
171+
});
172+
},
173+
160174
getVersions: function(key, version, filterDeprecated = true) {
161175
return new Promise(resolve => {
162176
const versionsFromCache = () => {

services/static-webserver/client/source/class/osparc/workbench/ServiceCatalog.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,8 @@ qx.Class.define("osparc.workbench.ServiceCatalog", {
247247
const latest = new qx.ui.form.ListItem(this.self().LATEST);
248248
latest.version = this.self().LATEST;
249249
selectBox.add(latest);
250-
osparc.store.Services.getVersions(key, version)
251-
.then(versions => {
252-
versions.forEach(vrsn => {
253-
const listItem = osparc.service.Utils.versionToListItem(key, vrsn);
254-
selectBox.add(listItem);
255-
});
250+
osparc.store.Services.versionsToSelectBox(key, selectBox)
251+
.then(() => {
256252
osparc.utils.Utils.growSelectBox(selectBox, 200);
257253
selectBox.setSelection([latest]);
258254
});

0 commit comments

Comments
 (0)