import { FlowRouter } from 'meteor/ostrio:flow-router-extra'; import { Workouts } from '../../../../imports/api/workouts'; import { WorkoutLog } from '../../../../imports/api/workoutLog'; import { LogEntry } from '../../../../imports/api/logEntry'; Template.logEntry.onCreated(function() { this.subscribe("myWorkoutRoutines"); this.subscribe("myWorkoutLog"); this.subscribe("myLogEntries"); }); Template.logEntry.onRendered(function() { Session.set("exId", ""); Session.set("exIdSelected", false); }); Template.logEntry.helpers({ workoutLog: function() { return WorkoutLog.find({}); }, exerciseToLog: function() { let exId = Session.get("exerciseLogId"); return WorkoutLog.findOneAsync({ _id: exId }); }, exIdSelected: function() { return Session.get("exIdSelected"); } }); Template.logEntry.events({ 'change #selectExerciseToLog' (e) { let exerciseId = $("#selectExerciseToLog").val(); Session.set("exerciseLogId", exerciseId); Session.set("exIdSelected", true); }, 'click #saveLogEntry' (e) { let logId = Session.get("exerciseLogId"); const getRoutine = async() => { let workout = await WorkoutLog.findOneAsync({ _id: logId }); if (!workout) { console.log("no workout found."); } else { let routineId = workout.routineId; let exerName = workout.exerciseName; let measure1 = $("#" + workout.exerciseMeasure).val(); let measUnit1 = workout.exerciseUnitMeasure; let measure2 = $("#" + workout.exerciseMeasure2).val(); let measUnit2 = workout.exerciseUnitMeasure2; let measure3 = $("#" + workout.exerciseMeasure3).val(); let measUnit3 = workout.exerciseUnitMeasure3; let measName1 = workout.exerciseMeasure; let measName2 = workout.exerciseMeasure2; let measName3 = workout.exerciseMeasure3; let meas1 = Number(measure1); let meas2 = Number(measure2); let meas3 = Number(measure3); if (meas1 == "" || meas1 == null) { showSnackbar("Measurement for " + workout.exerciseMeasure + " is required!", " red"); return; } else { const saveLogEntry = async() => { try { const result = Meteor.callAsync('add.logEntry', routineId, logId, exerName, measName1, meas1, measUnit1, measName2, meas2, measUnit2, measName3, meas3, measUnit3); if (!result) { console.log(" UNABLE TO SAVE LOG ENTRY!"); showSnackbar("Unable to save log entry!", "red"); } else { $("#" + workout.exerciseMeasure).val(""); $("#" + workout.exerciseMeasure2).val(""); $("#" + workout.exerciseMeasure3).val(""); $("#selectExerciseToLog").val(""); Session.set("exIdSelected", false); Session.set("exerciseLogId", ""); showSnackbar("Log Entry Added!", "green"); } } catch(error) { console.log(" ERROR saving log entry: " + error); } } saveLogEntry(); } } } getRoutine(); } });