Skip to content

Commit 4473261

Browse files
clear modules list on changing WORKSPACE folder or reload modules
1 parent 78d27b2 commit 4473261

File tree

1 file changed

+42
-28
lines changed

1 file changed

+42
-28
lines changed

html/editor.html

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040

4141
switch (message.command) {
4242
case 'setworkspace': {
43+
clearModules();
4344
setLocation("workspaceLocation", message);
4445
break;
4546
}
@@ -48,39 +49,52 @@
4849
break;
4950
}
5051
case 'listModules': {
51-
const modules = message.data;
52-
if (modules != null) {
53-
if (modules.length > 0) {
54-
document.getElementById('importProjectBtn').disabled = false;
55-
}
56-
for (i = 0; i < modules.length; i++) {
57-
const moduleName = modules[i].name;
58-
const moduleId = moduleListDivId + moduleName;
59-
const divSection = document.getElementById(moduleListDivId);
60-
const cbNode = document.createElement('input');
61-
cbNode.type = 'checkbox';
62-
cbNode.name = moduleId;
63-
cbNode.value = moduleName;
64-
cbNode.id = moduleId;
65-
if (modules[i].selected) {
66-
cbNode.checked = true;
67-
}
68-
69-
const labelNode = document.createElement('label');
70-
labelNode.htmlFor = moduleId;
71-
labelNode.appendChild(document.createTextNode(moduleName));
72-
73-
divSection.appendChild(cbNode);
74-
divSection.appendChild(labelNode);
75-
divSection.appendChild(document.createElement('br'));
76-
77-
}
78-
}
52+
clearModules();
53+
listModules(message);
7954
break;
8055
}
8156
}
8257
});
8358

59+
function clearModules() {
60+
const divSection = document.getElementById(moduleListDivId);
61+
while (divSection.firstChild) {
62+
divSection.removeChild(divSection.firstChild);
63+
}
64+
document.getElementById('importProjectBtn').disabled = true;
65+
}
66+
67+
function listModules(message) {
68+
const modules = message.data;
69+
if (modules != null) {
70+
if (modules.length > 0) {
71+
document.getElementById('importProjectBtn').disabled = false;
72+
}
73+
for (i = 0; i < modules.length; i++) {
74+
const moduleName = modules[i].name;
75+
const moduleId = moduleListDivId + moduleName;
76+
const divSection = document.getElementById(moduleListDivId);
77+
const cbNode = document.createElement('input');
78+
cbNode.type = 'checkbox';
79+
cbNode.name = moduleId;
80+
cbNode.value = moduleName;
81+
cbNode.id = moduleId;
82+
if (modules[i].selected) {
83+
cbNode.checked = true;
84+
}
85+
86+
const labelNode = document.createElement('label');
87+
labelNode.htmlFor = moduleId;
88+
labelNode.appendChild(document.createTextNode(moduleName));
89+
90+
divSection.appendChild(cbNode);
91+
divSection.appendChild(labelNode);
92+
divSection.appendChild(document.createElement('br'));
93+
94+
}
95+
}
96+
}
97+
8498
function setLocation(elementId, message) {
8599
if (message.data != null) {
86100
document.getElementById(elementId).value = message.data

0 commit comments

Comments
 (0)