diff options
| author | FivePixels <o5pxels@gmail.com> | 2022-05-08 18:04:56 -0500 |
|---|---|---|
| committer | FivePixels <o5pxels@gmail.com> | 2022-05-08 18:04:56 -0500 |
| commit | ee628b5e2d023ccbca45936f6078ff652a80279f (patch) | |
| tree | cdaaaabdd495823d8f5c92c6729d23e89fb7026c | |
| parent | 39b1035b0ab1a1437de8b45a971525d18a69adae (diff) | |
| download | Strengthy-ee628b5e2d023ccbca45936f6078ff652a80279f.tar.xz Strengthy-ee628b5e2d023ccbca45936f6078ff652a80279f.zip | |
Working on resolving bugs
| -rw-r--r-- | app/static/js/record.js | 75 | ||||
| -rw-r--r-- | app/templates/workout/record.html | 6 |
2 files changed, 46 insertions, 35 deletions
diff --git a/app/static/js/record.js b/app/static/js/record.js index bbd8c63..a3ea516 100644 --- a/app/static/js/record.js +++ b/app/static/js/record.js @@ -98,6 +98,11 @@ function setCheck(row) { if (timerButton.children[0].children[0].classList.contains('fa-pause')) { timerButton.children[0].children[0].classList.remove('fa-pause'); timerButton.children[0].children[0].classList.add('fa-play'); + timers.get(timerButton.id).finished = true; + } else if (timerButton.children[0].children[0].classList.contains('fa-play')) { + timerButton.children[0].children[0].classList.remove('fa-play'); + timerButton.children[0].children[0].classList.add('fa-pause'); + timers.get(timerButton.id).finished = false; } } else { // Disable input editing @@ -108,17 +113,20 @@ function setCheck(row) { row.children[1].firstChild.classList.add('is-success') row.children[2].firstChild.classList.add('is-success') } + doneButton = row.children[2].children[0]; + doneButton.classList.add('is-success'); } // Called when the check at the end of a set line is clicked function onClickSetCheck(elem) { row = elem.parentElement.parentElement; - if (elem.classList.contains('is-success')) { - setReset(row, row.parentElement.children.length - 1, false); - } else { - elem.classList.add('is-success'); - setCheck(elem.parentElement.parentElement); - } + if (elem.classList.contains('is-success')) { + setReset(row, row.parentElement.children.length - 1, false); + } else { + elem.classList.add('is-success'); + setCheck(elem.parentElement.parentElement); + } + } function onClickAddSet(elem) { @@ -152,8 +160,9 @@ function runClock(timer) { if (t.total <= 0 || timer.finished) { clearInterval(timeInterval); updateTimerButton(timer.elem); - onClickSetCheck(timer.elem.parentElement.parentElement.parentElement); - timer.finished = true; + onClickSetCheck(timer.elem.parentElement); + timer.elem.dataset.isActive = false; + timers.delete(timer.elem.id); } } if (!timer.startedBefore) { @@ -164,6 +173,7 @@ function runClock(timer) { timeInterval = setInterval(updateClock, 100); timer.intervalId = timeInterval; // add a new map record + console.log(timer.elem.id); timers.set(timer.elem.id, timer); } @@ -178,29 +188,30 @@ function updateTimerButton(elem) { } function onClickPausePlayTimer(elem) { - // on press, if the button has not been pressed before - if (!elem.dataset.pressedBefore) { - // say it now has - elem.dataset.pressedBefore = true; - // create a new Timer object that represents the timer for this row - timer = new Timer(); - timer.elem = elem; - timer.paused = true; - seconds = elem.parentElement.parentElement.parentElement.dataset.timerSeconds; - timer.finishDate = new Date(Date.parse(new Date()) + 1*seconds*1000); - console.log(timer.finishDate); - } - updateTimerButton(elem); - if (timer.paused) { - console.log('paused, starting...'); - timer.paused = false; - // start/resume timer - resumeTimer(timer); - } else { - console.log('started, pausing...'); - timer.paused = true; - // pause timer - pauseTimer(timer); + // on press, if the button is not currently active (in use) + if (elem.dataset.isActive == false || typeof elem.dataset.isActive == 'undefined') { + elem.dataset.isActive = true; + // create a new Timer object that represents the timer for this row + timer = new Timer(); + timer.elem = elem; + timer.paused = true; + seconds = elem.parentElement.parentElement.parentElement.dataset.timerSeconds; + timer.finishDate = new Date(Date.parse(new Date()) + 1*seconds*1000); + console.log(timer.finishDate); + } else { + timer = timers.get(elem.id); + } + updateTimerButton(elem); + if (timer.paused) { + console.log('paused, starting...'); + timer.paused = false; + // start/resume timer + resumeTimer(timer); + } else { + console.log('started, pausing...'); + timer.paused = true; + // pause timer + pauseTimer(timer); } } @@ -218,8 +229,8 @@ function resumeTimer(timer) { } function pauseTimer(timer) { + console.log(timer); intervalId = timers.get(timer.elem.id).intervalId; clearInterval(intervalId); timer.timeLeft = getTimeRemaining(timer.finishDate).total; - timers.delete(timer.elem.id); } diff --git a/app/templates/workout/record.html b/app/templates/workout/record.html index 8c8eaf2..c7152cd 100644 --- a/app/templates/workout/record.html +++ b/app/templates/workout/record.html @@ -30,13 +30,13 @@ <th>{{ loop.index }}</th> {% if exercise.type == 'time' %} <td> - <div class='timer-{{ outer_loop.index }}'style="display:flex;align-items:center;font-size:1em;"> - <button type="button" onclick="onClickPausePlayTimer(this)" class="button"> + <div class='timer' style="display:flex;align-items:center;font-size:1em;"> + <button id='timer-{{ outer_loop.index }}' type="button" onclick="onClickPausePlayTimer(this)" class="button"> <span class="icon is-small"> <i class="fa fa-play"></i> </span> </button> - <span style='padding-left: 15px;' id='timer-time'> + <span style='padding-left: 15px;' id='timer-time-{{ outer_loop.index }}'> {{ exercise.units }} seconds </span> </div> |
