class SystemSelectController { constructor() { this.div = document.getElementById('systemSelectDiv'); this.initHtml(); this.expanded = false; } initHtml () { this.div.style.display = 'grid'; this.div.style.gridTemplateColumns = 'auto auto'; this.div.style.gridTemplateRows = 'auto auto auto'; this.headerDiv = document.createElement('div'); this.headerDiv.innerHTML = 'System Select '; this.headerDiv.style.display = 'grid'; this.headerDiv.style.gridColumn = '1 / span 2'; this.div.appendChild(this.headerDiv); this.div.style.gap = '5px'; for (const system in systemsMap) { systemsMap[system]['div'] = document.createElement('div'); let systemColor = '#11FF11'; if (!systemsMap[system]['enabled']) { systemColor = '#FF1111'; } systemsMap[system]['div'].innerHTML = ''; this.div.appendChild(systemsMap[system]['div']); } this.buttonDiv = document.createElement('div'); this.buttonDiv.style.display = 'none'; this.buttonDiv.style.gridColumn = '1 / span 2'; this.buttonDiv.innerHTML += ' All   '; this.buttonDiv.innerHTML += ' None '; this.div.appendChild(this.buttonDiv); } selectAll () { for (const system in systemsMap) { systemsMap[system]['enabled'] = true; } ssc.updateHtml(); saveSettings(); } deselectAll () { for (const system in systemsMap) { systemsMap[system]['enabled'] = false; } ssc.updateHtml(); saveSettings(); } updateHtml () { for (const system in systemsMap) { let systemColor = '#11FF11'; if (!systemsMap[system]['enabled']) { systemColor = '#FF1111'; } document.getElementById('systemSelectSpan-' + system).style.color = systemColor; } abc.update(); } toggleExpand () { if (this.expanded) { this.collapse(); this.expanded = false; } else { this.expand(); this.expanded = true; } } expand () { for (const system in systemsMap) { document.getElementById('systemSelectSpan-' + system).style.display = 'block' } this.buttonDiv.style.display = 'block'; } collapse () { for (const system in systemsMap) { document.getElementById('systemSelectSpan-' + system).style.display = 'none' } this.buttonDiv.style.display = 'none'; } toggleSystem (system) { if (ctrlPressedDuringLastClick) { for (const s in systemsMap) { if (s != system) {systemsMap[s]['enabled'] = false } else {systemsMap[s]['enabled'] = true} } } else { systemsMap[system]['enabled'] = !systemsMap[system]['enabled']; } this.updateHtml(); saveSettings(); } }