()
| 194 | |
| 195 | function createCheckboxHandlers(input, checkbox, references, row) { |
| 196 | var clickHandler = () => { |
| 197 | refsSet = getStoredCheckboxRefs(checkbox); |
| 198 | var markWhenChecked = settings.markWhenChecked == checkbox; |
| 199 | eventArgs = { |
| 200 | checkbox: checkbox, |
| 201 | refs: references, |
| 202 | } |
| 203 | if (input.checked) { |
| 204 | // checkbox ticked |
| 205 | for (var ref of references) { |
| 206 | refsSet.add(ref[1]); |
| 207 | } |
| 208 | if (markWhenChecked) { |
| 209 | row.classList.add("checked"); |
| 210 | for (var ref of references) { |
| 211 | markedFootprints.add(ref[1]); |
| 212 | } |
| 213 | drawHighlights(); |
| 214 | } |
| 215 | eventArgs.state = 'checked'; |
| 216 | } else { |
| 217 | // checkbox unticked |
| 218 | for (var ref of references) { |
| 219 | refsSet.delete(ref[1]); |
| 220 | } |
| 221 | if (markWhenChecked) { |
| 222 | row.classList.remove("checked"); |
| 223 | for (var ref of references) { |
| 224 | markedFootprints.delete(ref[1]); |
| 225 | } |
| 226 | drawHighlights(); |
| 227 | } |
| 228 | eventArgs.state = 'unchecked'; |
| 229 | } |
| 230 | settings.checkboxStoredRefs[checkbox] = [...refsSet].join(","); |
| 231 | writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]); |
| 232 | updateCheckboxStats(checkbox); |
| 233 | EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs); |
| 234 | } |
| 235 | |
| 236 | return [ |
| 237 | (e) => { |
no test coverage detected