class TagSelectController {
constructor() {
this.div = document.getElementById('tagSelectDiv');
this.initHtml();
this.expanded = false;
}
initHtml () {
this.div.style.display = 'grid';
this.div.style.gridTemplateColumns = 'auto auto auto auto';
this.div.style.gridTemplateRows = 'auto auto auto auto';
this.headerDiv = document.createElement('div');
this.headerDiv.innerHTML = 'Type Select ';
this.headerDiv.style.display = 'grid';
this.headerDiv.style.gridColumn = '1 / span 4';
this.div.appendChild(this.headerDiv);
this.div.style.gap = '5px';
for (const type in typesMap) {
typesMap[type]['div'] = document.createElement('div');
let typeColor = '#11FF11';
if (!typesMap[type]['enabled']) {
typeColor = '#FF1111';
}
typesMap[type]['div'].innerHTML = '' + type + '';
this.div.appendChild(typesMap[type]['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 type in typesMap) {
typesMap[type]['enabled'] = true;
}
tsc.updateHtml();
saveSettings();
}
deselectAll () {
for (const type in typesMap) {
typesMap[type]['enabled'] = false;
}
tsc.updateHtml();
saveSettings();
}
updateHtml () {
for (const type in typesMap) {
let typeColor = '#11FF11';
if (!typesMap[type]['enabled']) {
typeColor = '#FF1111';
}
document.getElementById('typeSelectSpan-' + type).style.color = typeColor;
}
abc.update();
}
toggleExpand () {
if (this.expanded) {
this.collapse();
this.expanded = false;
} else {
this.expand();
this.expanded = true;
}
}
expand () {
for (const type in typesMap) {
document.getElementById('typeSelectSpan-' + type).style.display = 'block'
}
this.buttonDiv.style.display = 'block';
}
collapse () {
for (const type in typesMap) {
document.getElementById('typeSelectSpan-' + type).style.display = 'none'
}
this.buttonDiv.style.display = 'none';
}
toggleType (type) {
if (ctrlPressedDuringLastClick) {
for (const t in typesMap) {
if (t != type) { typesMap[t]['enabled'] = false}
else { typesMap[t]['enabled'] = true}
}
} else {
typesMap[type]['enabled'] = !typesMap[type]['enabled'];
}
this.updateHtml();
saveSettings();
}
}