open-health/client/General/Workouts/WorkoutLogs/workoutLog.js

89 lines
No EOL
3.4 KiB
JavaScript

import { FlowRouter } from 'meteor/ostrio:flow-router-extra';
import { Workouts } from '../../../../imports/api/workouts';
import { WorkoutLog } from '../../../../imports/api/workoutLog';
Template.workoutLog.onCreated(function() {
this.subscribe("myWorkoutRoutines");
this.subscribe("myWorkoutLog");
});
Template.workoutLog.onRendered(function() {
});
Template.workoutLog.helpers({
exMeas1: function() {
return Session.get("exMeas1");
},
exMeas2: function() {
return Session.get("exMeas2");
},
exMeas3: function() {
return Session.get("exMeas3");
},
routine: function() {
let routineId = Session.get("routineId");
let routine = Workouts.findOneAsync({ _id: routineId });
return routine;
}
});
Template.workoutLog.events({
'change #exerciseMeasure, change #exerciseMeasure2, change #exerciseMeasure3' (e) {
let fieldId = e.currentTarget.id;
if (fieldId == "exerciseMeasure") {
let exMeas = $("#exerciseMeasure").val();
if (exMeas == "Sets" || exMeas == "Reps") {
exMeas = "Sets"
}
Session.set("exMeas1", exMeas);
} else if (fieldId == "exerciseMeasure2") {
let exMeas2 = $("#exerciseMeasure2").val();
if (exMeas2 == "Sets" || exMeas2 == "Reps") {
exMeas2 = "Sets"
}
Session.set("exMeas2", exMeas2);
} else {
let exMeas3 = $("#exerciseMeasure3").val();
if (exMeas3 == "Sets" || exMeas3 == "Reps") {
exMeas3 = "Sets"
}
Session.set("exMeas3", exMeas3);
}
},
'click #saveLogExercise' (e) {
let routineId = Session.get("routineId");
let exerciseName = $("#exerciseName").val();
let exerciseType = $("#exerciseType").val();
let exerciseMeasure = $("#exerciseMeasure").val();
let exerciseUnitMeasure = $("#exerciseUnitMeasure").val();
let exerciseMeasure2 = $("#exerciseMeasure2").val();
let exerciseUnitMeasure2 = $("#exerciseUnitMeasure2").val();
let exerciseMeasure3 = $("#exerciseMeasure3").val();
let exerciseUnitMeasure3 = $("#exerciseUnitMeasure3").val();
let exerciseInstruction = $("#exerciseInstruction").val();
if (typeof routineId == 'undefined' || routineId == null || routineId == "") {
showSnackbar("Unable to get Workout!", "red");
return;
} else if (exerciseName == "" || exerciseName == null) {
showSnackbar("Exercise Name is Required!", "red");
return;
} else {
const addExercise = async() => {
try {
const result = await Meteor.callAsync('add.exerciseToLog', routineId, exerciseName, exerciseType, exerciseMeasure, exerciseUnitMeasure, exerciseMeasure2, exerciseUnitMeasure2, exerciseMeasure3, exerciseUnitMeasure3, exerciseInstruction);
if (!result) {
console.log(" ISSUE saving exercise info for loggin.");
showSnackbar("Exercise Not Saved!", "red");
} else {
showSnackbar("Exercise Added!", "green");
}
} catch(error) {
console.log(" ERROR trying to add an exercise to log: " + error);
}
}
addExercise();
}
}
});