diff --git a/src/ide/ui.ts b/src/ide/ui.ts
index 6711cedd..804d925f 100644
--- a/src/ide/ui.ts
+++ b/src/ide/ui.ts
@@ -1220,13 +1220,13 @@ async function _downloadAllFilesZipFile(e) {
}
function populateExamples(sel) {
- var files = {};
- sel.append($("").text("--------- Examples ---------").attr('disabled','true'));
+ let files = {};
+ let optgroup = $("").attr('label','Examples').appendTo(sel);
for (var i=0; i").val(preset.id).text(name).attr('selected',isCurrentPreset?'selected':null));
+ optgroup.append($("").val(preset.id).text(name).attr('selected',isCurrentPreset?'selected':null));
if (isCurrentPreset) current_preset = preset;
files[preset.id] = name;
}
@@ -1238,12 +1238,11 @@ function populateRepos(sel) {
var n = 0;
var repos = getRepos();
if (repos) {
+ let optgroup = $("").attr('label','Repositories').appendTo(sel);
for (let repopath in repos) {
var repo = repos[repopath];
if (repo.platform_id && getBasePlatform(repo.platform_id) == getBasePlatform(platform_id)) {
- if (n++ == 0)
- sel.append($("").text("------ Repositories ------").attr('disabled','true'));
- sel.append($("").val(repo.url).text(repo.url.substring(repo.url.indexOf('/'))));
+ optgroup.append($("").val(repo.url).text(repo.url.substring(repo.url.indexOf('/'))));
}
}
}
@@ -1251,16 +1250,15 @@ function populateRepos(sel) {
}
async function populateFiles(sel:JQuery, category:string, prefix:string, foundFiles:{}) {
- var keys = await store.keys();
- var numFound = 0;
+ let keys = await store.keys();
if (!keys) keys = [];
+ let optgroup;
for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
+ let key = keys[i];
if (key.startsWith(prefix) && !foundFiles[key]) {
- if (numFound++ == 0)
- sel.append($("").text("------- " + category + " -------").attr('disabled','true'));
- var name = key.substring(prefix.length);
- sel.append($("").val(key).text(name).attr('selected',(key==current_project.mainPath)?'selected':null));
+ if (!optgroup) optgroup = $("").attr('label',category).appendTo(sel);
+ let name = key.substring(prefix.length);
+ optgroup.append($("").val(key).text(name).attr('selected',(key==current_project.mainPath)?'selected':null));
}
}
}