almost working

This commit is contained in:
2013-01-06 18:45:31 -05:00
parent 97b688d56a
commit 8de0734913
51 changed files with 359 additions and 13052 deletions

View File

@@ -1,351 +1,249 @@
$(document).ready(function() {
var socket = io.connect();
exercise_autocompletedata = "unset";
bike_autocompletedata = "unset";
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
// socket.emit('getexpresso', 'please');
socket.on('populateactivities', function(json) {
console.log('#poulate recieved');
var content = "";
$(".workoutdata").hide();
$('#ActivityList').empty();
$( "#ActivityList" ).html(
$( "#movieTemplate1" ).render( json )
);
$(".ui-accordion-content").css("display", "block");
// $("#ActivityList").accordion('destroy').accordion({
// header: 'h3',
// active: false,
// collapsible: true
// });
$(document).ready(function() {
//makes buttons buttons
$("button").button();
});
//poulate activity by id
socket.on('populateactivitybyid', function(json) {
//set document id
$('span.ActivityID').attr('docid',json._id);
//poulate name
$('input[name="Activities.Activity.name"]').attr('value', json.Activities.Activity.name)
//poulate date
$('input[name="Activities.Activity.date"]').attr('value', json.Activities.Activity.date)
// Activities.Activity.date
// for each lap
if ("Lap" in json.Activities.Activity) {
var array = json.Activities.Activity.Lap;
$.each(array, function(index, value) {
////if cardio
if ("cardio" in value) {
//get exercise muscledata
var lapmuscledata = exercise_autocompletedata[value.cardio.selection].muscledata.value;
AddPopulatedLap("Cardio", value.cardio.name, value.cardio.time, value.cardio.distance, "", "" , "", lapmuscledata)
// $("#ExerciseEditor").dialog({ autoOpen: false });
// $( "#ExerciseEditor" ).dialog( "option", "minHeight", 330 );
// $( "#ExerciseEditor" ).dialog( "option", "minWidth", 630 );
// $( "#ExerciseEditor" ).dialog({ buttons: [
// {
// text: "Close/Cancel",
// click: function() { $(this).dialog("close"); }
// }
// ]
// });
};
////if exercise
if ("exercise" in value) {
//get exercise muscledata
console.log("selction = " + value.exercise.selection);
var lapmuscledata = exercise_autocompletedata[value.exercise.selection].muscledata.value;
AddPopulatedLap("Exercise", value.exercise.name, "", "", value.exercise.sets, value.exercise.reps , value.exercise.weight , lapmuscledata)
};
});
};
$('#savecopy').attr('style', 'display: block');
///refresh tabvle
$('#sortable').trigger('sortupdate');
//switch to tab
$( "#tabs" ).tabs( "select" , 1 )
});
// $("button#openexercises").click(function() {
// socket.emit('getexercises', 'please');
// $("#ExerciseEditor").dialog("open");
// });
function AddPopulatedLap(type, name, time, distance, sets, reps, weight, muscledata) {
console.log('type= ' + type);
console.log('muscledata= ' + muscledata);
var newElem = $('.new-lap').clone(true).attr('style', 'display: block');
$(newElem).removeClass('new-lap');
$(newElem).appendTo('#sortable');
$(newElem).children('.laptype').val(type).trigger('change');
$(newElem).children('input').attr('disabled',false);
$(newElem).find('.lapname').attr('value', name);
$(newElem).find('.lapdistance').attr('value', distance);
$(newElem).find('.laptime').attr('value', time);
$(newElem).find('.sets').attr('value', sets);
$(newElem).find('.reps').attr('value', reps);
$(newElem).find('.weight').attr('value', weight);
$(newElem).find('.muscledata').attr('value', muscledata);
$(newElem).sortable( "refresh" );
};
//var addtype = $(this).attr('value');
//var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
//$(newElem).removeClass("new-" + addtype);
//$(newElem).children('input').attr('disabled',false);
//$(newElem).appendTo('#sortable');
//$(newElem).sortable( "refresh" );
//$('#sortable').trigger('sortupdate');
// $("#Activity").dialog({ autoOpen: false });
// $( "#Activity" ).dialog( "option", "minHeight", 330 );
// $( "#Activity" ).dialog( "option", "minWidth", 730 );
// $( "#Activity" ).dialog({ buttons: [
// {
// text: "Close/Cancel",
// click: function() { $(this).dialog("close"); }
// }
// ]
// });
////populate exercise sortable
socket.on('populateexercises', function(json) {
//console.log('#exercises recieved' + JSON.stringify(json, null, ' '));
var content = "";
$('ul#sortableexercises li').remove();
$('span.ExerciseID').attr('docid',json[0]._id);
//$( "ul#sortableexercises" ).append('<li style="display: none"><input type="text" name="_id" value="'+ json[0]._id + '"></li>')
///// for loop
var array = json[0].exercise;
exercise_autocompletedata = array;
$('#sortable').trigger('sortupdate');
$.each(array, function(index, value) {
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise[].name" value="'+ value.name + '"><input type="text" name="exercise[].class" value="'+ value.class + '"><input type="text" name="exercise[].muscledata" value="'+ value.muscledata + '"><a href=# class=delete>delete</a></li>');
$('#sortableexercises').trigger('sortupdate');
});
////populate expresso sortable
// socket.on('populateexpresso', function(json) {
// //console.log('#tracks recieved' + JSON.stringify(json, null, ' '));
// var content = "";
// $('ul#sortableexpresso li').remove();
// $('span.ExpressoID').attr('docid',json[0]._id);
// var barray = json[0].track.name;
// bike_autocompletedata = barray;
// $('#sortable').trigger('sortupdate');
// $.each(barray, function(index, value) {
// $( "ul#sortableexpresso" ).append('<li class=ui-state-default><input type="text" name="track.name[]" value="'+ value + '"></li>')
// });
// });
});
// //THe TABs stuff
// $( "#tabs" ).tabs();
// $( "#tabs" ).tabs('select' , 0);
//sets buttons to be jquery buttons
$("button").button();
//sets datepickers
$( "#datepicker" ).datepicker();
// $("button#openactivities").click(function() {
// //
// $("#Activity").dialog("open");
// });
$( "#tabs" ).bind( "tabsselect", function(event, ui) {
if (ui.index == 0) {
console.log('send stuff ' + ui.index );
socket.emit('getactivites', 'please');
};
if (ui.index == 2) {
console.log('send stuff ' + ui.index );
socket.emit('getexercises', 'please');
};
});
$('#ActivityList').delegate('a.activitydelete', 'click', function() {
socket.emit('delactivity', $(this).attr('title'));
return false;
});
$('#ActivityList').delegate('a.activityedit', 'click', function() {
socket.emit('getactivitybyid', $(this).attr('title'));
return false;
});
//THe Sortable Stuff
$("#sortable").sortable({
placeholder: "ui-state-highlight",
revert: true,
stop: function(event, ui) {
$('#sortable').trigger('sortupdate')
},
//makes datepickers
$( "#datepicker" ).datepicker();
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
});
$("#sortable").bind('sortupdate', function(event, ui) {
$('#sortable li').each(function(){
var itemindex= $(this).index()
$(this).children('label.uiindex').html('Exercise '+ itemindex );
$(this).find('input').each(function(){
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
$(this).attr("name",newname);
});
$(this).find('input.exertags').autocomplete({source: exercise_autocompletedata});
});
});
$("#sortableexercises").sortable({
placeholder: "ui-state-highlight",
revert: true,
});
$("#sortableexercises").bind('sortupdate', function(event, ui) {
$('#sortableexercises li').each(function(){
var itemindex= $(this).index()
$(this).find('input, select').each(function(){
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
console.log('newname' + newname );
$(this).attr("name",newname);
});
});
});
$('ul').on('click', '.delete',function() {
$(this).closest('li').remove();
$('#sortable').trigger('sortupdate')
// $('#sortableexercises').trigger('sortupdate')
});
///All the Buttons
$("button").button();
var socket = io.connect();
exercise_autocompletedata = "unset";
bike_autocompletedata = "unset";
//get intial data
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
socket.emit('getexerciselist', 'cardio');
socket.emit('getexerciselist', 'weights');
//adds selectable element
$("button").click(function() {
var addtype = $(this).attr('value');
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
$(newElem).removeClass("new-" + addtype);
$(newElem).children('input').attr('disabled',false);
$(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" );
socket.on('populateactivities', function(json) {
console.log('#poulate recieved');
var content = "";
$(".workoutdata").hide();
$('#ActivityList').empty();
$( "#ActivityList" ).html(
$( "#movieTemplate1" ).render( json )
);
$(".ui-accordion-content").css("display", "block");
// $("#ActivityList").accordion('destroy').accordion({
// header: 'h3',
// active: false,
// collapsible: true
// });
});
//poulate activity by id
socket.on('populateactivitybyid', function(json) {
// clear it first
$('ul#sortable li').remove('.removable');
$('span.ActivityID').removeAttr('docid');
$('#Activity').find('input').attr('value','');
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
//set document id
$('span.ActivityID').attr('docid',json._id);
//poulate name
// $('input[name="Activities.Activity.name"]').attr('value', json.Activities.Activity.name)
//poulate date
$('input[name="Activities.Activity.date"]').attr('value', json.Activities.Activity.date)
// Activities.Activity.date
// for each lap
if ("Lap" in json.Activities.Activity) {
var array = json.Activities.Activity.Lap;
$.each(array, function(index, value) {
////if cardio
if (value.class == "Cardio" ) {
//get exercise muscledata
var lapmuscledata = "123123";
AddPopulatedLap("Cardio", value.name, value.time, value.distance, "", "" , "", lapmuscledata)
};
////if exercise
if (value.class == "Exercise" ) {
//get exercise muscledata
console.log("selction = " + value.selection);
var lapmuscledata = "123123";
AddPopulatedLap("Exercise", value.name, "", "", value.sets, value.reps , value.weight , lapmuscledata)
};
});
};
///refresh table
$('#sortable').trigger('sortupdate');
});
$('#sortable').trigger('sortupdate');
//$('#sortableexercises').trigger('sortupdate');
function AddPopulatedLap(type, name, time, distance, sets, reps, weight, muscledata) {
console.log('type= ' + type);
console.log('muscledata= ' + muscledata);
var newElem = $('.new-lap').clone(true).attr('style', 'display: block');
$(newElem).removeClass('new-lap');
$(newElem).appendTo('#sortable');
$(newElem).children('.laptype').val(type).trigger('change');
$(newElem).children('input').attr('disabled',false);
$(newElem).find('.lapname').attr('value', name);
$(newElem).find('.lapdistance').attr('value', distance);
$(newElem).find('.laptime').attr('value', time);
$(newElem).find('.sets').attr('value', sets);
$(newElem).find('.reps').attr('value', reps);
$(newElem).find('.weight').attr('value', weight);
$(newElem).find('.muscledata').attr('value', muscledata);
$(newElem).sortable( "refresh" );
};
socket.on('populateexerciselist', function(data, result) {
if ("cardio" == data) {
//create cardiodropdownlist
$( ".ExerciseDropDownCardio" ).remove('option');
$.each(result, function(index, array) {
$( ".ExerciseDropDownCardio" ).append('<option value="' + array._id +'" > '+ array.exercise.name +'</option>');
})
};
if ("weights" == data) {
$( ".ExerciseDropDownWeights" ).remove('option');
$.each(result, function(index, array) {
$( ".ExerciseDropDownWeights" ).append('<option value="' + array._id +'" > '+ array.exercise.name +'</option>');
})
};
});
//THe Sortable Stuff
$("#sortable").sortable({
placeholder: "ui-state-highlight",
revert: true,
stop: function(event, ui) {
$('#sortable').trigger('sortupdate')
},
});
$("#sortable").bind('sortupdate', function(event, ui) {
$('#sortable li').each(function(){
var itemindex= $(this).index()
$(this).children('label.uiindex').html('Exercise '+ itemindex );
$(this).find('input, select').each(function(){
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
$(this).attr("name",newname);
});
$(this).find('input.exertags').autocomplete({source: exercise_autocompletedata});
});
});
$("button.AddExercise").click(function() {
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise[].name" hint="Name" placeholder="Exercise Name"><input type="text" name="exercise[].class" placeholder="cardio or weights"><input type="text" name="exercise[].muscledata" hint="Muscle Array" placeholder="Muscle Array"><a href=# class=delete>delete</a></li>')
$('#sortableexercises').trigger('sortupdate');
});
$("button.AddExpresso").click(function() {
$( "ul#sortableexpresso" ).append('<li class=ui-state-default><input type="text" name="track.name[]" hint="Name" placeholder="Track Name"><input type="text" name="track.distance[]" hint="Name" placeholder="Distance"><input type="text" name="track.peak[]" hint="Name" placeholder="Peak"></li>')
});
$('#ActivityList').delegate('a.activitydelete', 'click', function() {
socket.emit('delactivity', $(this).attr('title'));
return false;
});
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
$('#save').click(function() {
var docid =$(this).closest('span').attr('docid');
var selector= "#myForm"
var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('addactivity', formDataAll[0], docid);
//console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
$('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
return false;
$('#ActivityList').delegate('a.activityedit', 'click', function() {
socket.emit('getactivitybyid', $(this).attr('title'));
$("#Activity").dialog("open");
return false;
});
});
$('#savecopy').click(function() {
var selector= "#myForm"
var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('addactivity', formDataAll[0]);
//console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
// $('ul').on('click', '.delete',function() {
// $(this).closest('li').remove();
// $('#sortable').trigger('sortupdate')
// });
//adds selectable element
$("button").click(function() {
var addtype = $(this).attr('value');
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
$(newElem).removeClass("new-" + addtype);
$(newElem).children('input').attr('disabled',false);
$(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" );
$('#sortable').trigger('sortupdate');
});
$('#save').click(function() {
var docid =$(this).closest('span').attr('docid');
var selector= "#myForm"
var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('addactivity', formDataAll[0], docid);
$('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
return false;
});
$('#cancelform').click(function() {
$('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input').attr('value','');
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
return false;
});
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
});
$('ul').on('change', '.laptype',function() {
console.log ('value= ' + $(this).val() );
var currentselect;
switch($(this).val()) {
case "Cardio":
$(this).siblings('span').html('<select class="ExerciseDropDownCardio" name="Activities.Activity.Lap[0].selection"></select><input type="text" class="lapdistance" name="Activities.Activity.Lap[0].distance" placeholder="Distance"><input type="text" class="laptime" name="Activities.Activity.Lap[0].time" placeholder="hh:mm:ss"><input style="display: none" type=text class="muscledata" name="Activities.Activity.Lap[0].muscledata"><a href=# class=delete>delete</a>');
socket.emit('getexerciselist', 'cardio');
break;
case "Exercise":
$(this).siblings('span').html('<select class="ExerciseDropDownWeights" name="Activities.Activity.Lap[0].selection"></select> <input type="text" class="sets" name="Activities.Activity.Lap[0].sets" placeholder="Sets"><input type="text" class="reps" name="Activities.Activity.Lap[0].reps" placeholder="Reps"><input type="text" name="Activities.Activity.Lap[0].weight" class="weight" placeholder="Weight in KG"><input style="display: none" type=text class="muscledata" name="Activities.Activity.Lap[0].muscledata"><a href=# class=delete>delete</a>');
socket.emit('getexerciselist', 'weights');
break;
};
$('#sortable').trigger('sortupdate')
});
$('#saveexercises').click(function() {
var docid =$(this).closest('span').attr('docid');
var selector= "#ExerciseForm"
var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('updateexercises', formDataAll[0], docid);
//console.log('All ', JSON.stringify(formDataAll, null, ' '));
// to prevent the page from changing
$('ul#sortableexercises li').remove();
$( "#tabs" ).tabs( "select" , 0 )
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
return false;
});
$('#saveexpresso').click(function() {
var docid =$(this).closest('span').attr('docid');
var selector= "#ExpressoForm"
var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('updateexpresso', formDataAll[0], docid);
console.log('All ', JSON.stringify(formDataAll, null, ' '));
// to prevent the page from changing
$('ul#sortableexpresso li').remove();
$( "#tabs" ).tabs( "select" , 0 )
return false;
});
//document closing
});
$('#cancelform').click(function() {
$('ul#sortable li').remove('.removable');
$('span.ActivityID').removeAttr('docid');
$('#Activity').find('input').attr('value','');
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
return false;
socket.emit('getactivites', 'please');
socket.emit('getexercises', 'please');
});
$('#my-text-link').click(function() { // bind click event to link
$tabs.tabs('select', 2); // switch to third tab
return false;
});
$('ul').on('change', '.laptype',function() {
console.log ('value= ' + $(this).val() );
var currentselect;
switch($(this).val()) {
case "Cardio":
$(this).siblings('span').html('<select class="ExerciseDropDownCardio" name="Activities.Activity.Lap[0].cardio.selection"></select><input type="text" class="lapdistance" name="Activities.Activity.Lap[0].cardio.distance" placeholder="Distance"><input type="text" class="laptime" name="Activities.Activity.Lap[0].cardio.time" placeholder="hh:mm:ss"><a href=# class=delete>delete</a>');
$(exercise_autocompletedata).each(function(index)
{
var option = $('<option />');
if (this.class == 'cardio') {
option.attr('value', index).text(this.name);
$('.ExerciseDropDownCardio').append(option);
};
});
break;
case "Exercise":
$(this).siblings('span').html('<select class="ExerciseDropDown" name="Activities.Activity.Lap[0].exercise.selection"></select> <input type="text" class="sets" name="Activities.Activity.Lap[0].exercise.sets" placeholder="Sets"><input type="text" class="reps" name="Activities.Activity.Lap[0].exercise.reps" placeholder="Reps"><input type="text" name="Activities.Activity.Lap[0].exercise.weight" class="weight" placeholder="Weight in KG"><a href=# class=delete>delete</a>');
$(exercise_autocompletedata).each(function(index)
{
//console.log(this.name);
//console.log(this.muscledata);
console.log("resetingdropdown")
var option = $('<option />');
if (this.class == 'weights') {
option.attr('value', index).text(this.name);
$('.ExerciseDropDown').append(option);
};
});
break;
};
$('#sortable').trigger('sortupdate')
});
});