From 218772ab695af92bc81812f9ae26f4c37c41da29 Mon Sep 17 00:00:00 2001 From: LianaHus Date: Thu, 29 Nov 2018 16:16:41 +0100 Subject: [PATCH] fixes bug in checkall for test tab --- src/app/tabs/test-tab.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/app/tabs/test-tab.js b/src/app/tabs/test-tab.js index edf8a524af..a70bfdcc96 100644 --- a/src/app/tabs/test-tab.js +++ b/src/app/tabs/test-tab.js @@ -101,7 +101,7 @@ module.exports = class TestTab { self._deps.filePanel.event.register('newTestFileCreated', file => { var testList = document.querySelector("[class^='testList']") - var test = yo`` + var test = yo`` testList.appendChild(test) self.data.allTests.push(file) self.data.selectedTests.push(file) @@ -133,15 +133,17 @@ module.exports = class TestTab { function listTests () { var tests = self.data.allTests - return tests.map(test => yo``) + return tests.map(test => yo``) } - function toggleCheckbox (e, test) { + function toggleCheckbox (eChecked, test) { + if (!self.data.selectedTests) + self.data.selectedTests = document.querySelectorAll('.singleTest:checked') let selectedTests = self.data.selectedTests - selectedTests = e.target.checked ? [...selectedTests, test] : selectedTests.filter(el => el !== test) + selectedTests = eChecked ? [...selectedTests, test] : selectedTests.filter(el => {el !== test}) self.data.selectedTests = selectedTests let checkAll = document.querySelector('[id="checkAllTests"]') - if (e.target.checked) { + if (eChecked) { checkAll.checked = true } else if (!selectedTests.length) { checkAll.checked = false @@ -149,14 +151,17 @@ module.exports = class TestTab { } function checkAll (event) { - const checkBoxes = document.querySelectorAll('.singleTest') + let checkBoxes = document.querySelectorAll('.singleTest') + const checkboxesLabels = document.querySelectorAll(".singleTestLabel") const selectionsCount = document.querySelectorAll('.singleTest:checked').length // checks/unchecks all - checkBoxes.forEach(checkbox => checkbox.checked = !selectionsCount) + for (let i = 0; i < checkBoxes.length; i++) { + checkBoxes[i].checked = !selectionsCount; + toggleCheckbox(!selectionsCount, checkboxesLabels[i].innerText) + } event.target.checked = !selectionsCount } - var runTests = function () { testsOutput.innerHTML = '' testsSummary.innerHTML = ''