89 lines
No EOL
3.4 KiB
JavaScript
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();
|
|
}
|
|
}
|
|
}); |