summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFivePixels <o5pxels@gmail.com>2022-05-08 18:04:56 -0500
committerFivePixels <o5pxels@gmail.com>2022-05-08 18:04:56 -0500
commitee628b5e2d023ccbca45936f6078ff652a80279f (patch)
treecdaaaabdd495823d8f5c92c6729d23e89fb7026c /app
parent39b1035b0ab1a1437de8b45a971525d18a69adae (diff)
downloadStrengthy-ee628b5e2d023ccbca45936f6078ff652a80279f.tar.xz
Strengthy-ee628b5e2d023ccbca45936f6078ff652a80279f.zip
Working on resolving bugs
Diffstat (limited to 'app')
-rw-r--r--app/static/js/record.js75
-rw-r--r--app/templates/workout/record.html6
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>