(evt)
| 5021 | |
| 5022 | // Processes selection changes |
| 5023 | function selectionChange(evt) { |
| 5024 | var i, |
| 5025 | item, |
| 5026 | checkbox = evt && evt.target || allCheckbox, |
| 5027 | modulesList = dropDownList.getElementsByTagName("input"), |
| 5028 | selectedNames = []; |
| 5029 | |
| 5030 | toggleClass(checkbox.parentNode, "checked", checkbox.checked); |
| 5031 | |
| 5032 | dirty = false; |
| 5033 | if (checkbox.checked && checkbox !== allCheckbox) { |
| 5034 | allCheckbox.checked = false; |
| 5035 | removeClass(allCheckbox.parentNode, "checked"); |
| 5036 | } |
| 5037 | for (i = 0; i < modulesList.length; i++) { |
| 5038 | item = modulesList[i]; |
| 5039 | if (!evt) { |
| 5040 | toggleClass(item.parentNode, "checked", item.checked); |
| 5041 | } else if (checkbox === allCheckbox && checkbox.checked) { |
| 5042 | item.checked = false; |
| 5043 | removeClass(item.parentNode, "checked"); |
| 5044 | } |
| 5045 | dirty = dirty || item.checked !== item.defaultChecked; |
| 5046 | if (item.checked) { |
| 5047 | selectedNames.push(item.parentNode.textContent); |
| 5048 | } |
| 5049 | } |
| 5050 | |
| 5051 | commit.style.display = reset.style.display = dirty ? "" : "none"; |
| 5052 | moduleSearch.placeholder = selectedNames.join(", ") || allCheckbox.parentNode.textContent; |
| 5053 | moduleSearch.title = "Type to filter list. Current selection:\n" + (selectedNames.join("\n") || allCheckbox.parentNode.textContent); |
| 5054 | } |
| 5055 | |
| 5056 | return moduleFilter; |
| 5057 | } |
no test coverage detected