mirror of
https://github.com/sstent/node.git
synced 2026-01-25 22:52:07 +00:00
313 lines
12 KiB
HTML
313 lines
12 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Ninja Store - Items</title>
|
|
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
|
|
<script type="text/javascript" src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
|
|
<script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js"></script>
|
|
<script src="/static/javascripts/jsrender.js"></script>
|
|
<script src="/socket.io/socket.io.js"></script>
|
|
<script src="/static/form2js/form2js.js"></script>
|
|
<script src="/static/form2js/jquery.toObject.js"></script>
|
|
<script src="/static/form2js/json2.js"></script>
|
|
<link rel="stylesheet" href="/static/stylesheets/smoothness/jquery-ui-1.8.20.custom.css"/>
|
|
<link rel="stylesheet" href="/static/stylesheets/style.css"/>
|
|
<script id="movieTemplate1" type="text/x-jsrender">
|
|
<h3>{{:activity.date}} - {{:activity.name}}</h3>
|
|
<div class="workoutdata">
|
|
<h4>{{:activity.date}} - {{:activity.name}}</h4>
|
|
<a href=# class="activitydelete" title="{{:_id}}" >Delete</a>
|
|
{{if activity.lap}}
|
|
{{for activity.lap}}
|
|
<p>LAP {{:#index+1}} -
|
|
{{if run}} Run - {{:run.name}} - {{:run.distance}}KM in {{:run.time}}{{/if}}
|
|
{{if bike}} Bike - {{:bike.name}} - {{:bike.distance}} x {{:bike.time}}{{/if}}
|
|
{{if cardio}} Cardio - {{:cardio.name}} - {{:cardio.distance}} x {{:cardio.time}}{{/if}}
|
|
{{if exercise}} Exercise - {{:exercise.name}} - {{:exercise.sets}} x {{:exercise.reps}} with {{:exercise.weight}} Kg{{/if}}
|
|
{{if rest}} Recovery Step {{/if}}
|
|
</p>
|
|
|
|
{{/for}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
</script>
|
|
<script type='text/javascript'>
|
|
$(document).ready(function() {
|
|
var socket = io.connect();
|
|
|
|
socket.emit('getactivites', '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
|
|
});
|
|
|
|
});
|
|
////populate exercise sortable
|
|
socket.on('populateexercises', function(json) {
|
|
console.log('#exercises recieved' + JSON.stringify(json, null, ' '));
|
|
var content = "";
|
|
$('ul#sortableexercises li').remove();
|
|
$( "ul#sortableexercises" ).append('<li style="display: none"><input type="text" name="_id" value="'+ json[0]._id + '"></li>')
|
|
///// for loop
|
|
var array = json[0].exercise.name;
|
|
console.log('#exercises recieved' + array );
|
|
$.each(array, function(index, value) {
|
|
console.log('beep' + value );
|
|
console.log('index-' + index);
|
|
console.log('value-' + value);
|
|
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise.name[]" value="'+ value + '"></li>')
|
|
});
|
|
//end for
|
|
//create sortable
|
|
});
|
|
|
|
|
|
$( "#tabs" ).tabs();
|
|
$( "#tabs" ).tabs('select' , 0);
|
|
//sets buttons to be jquery buttons
|
|
$("button").button();
|
|
//sets datepickers
|
|
$( "#datepicker" ).datepicker();
|
|
|
|
|
|
$( "#tabs" ).bind( "tabsselect", function(event, ui) {
|
|
//console.log('index ' + ui.index );
|
|
//console.log('tab ' + ui.tab );
|
|
//console.log('panel ' + ui.panel );
|
|
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');
|
|
};
|
|
if (ui.index == 3) {
|
|
console.log('send stuff ' + ui.index );
|
|
socket.emit('getexpresso', 'please');
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#ActivityList').delegate('a.activitydelete', 'click', function() {
|
|
socket.emit('delactivity', $(this).attr('title'));
|
|
return false;
|
|
});
|
|
|
|
|
|
|
|
$("#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((itemindex +1));
|
|
$(this).children('input').each(function(){
|
|
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
|
|
$(this).attr("name",newname);
|
|
});
|
|
});
|
|
});
|
|
|
|
$("#sortableexercises").sortable({
|
|
placeholder: "ui-state-highlight",
|
|
revert: true,
|
|
});
|
|
|
|
|
|
//Removes slectable element
|
|
$('ul').on('click', '.delete',function() {
|
|
$(this).closest('li').remove();
|
|
$('#sortable').trigger('sortupdate')
|
|
});
|
|
|
|
|
|
|
|
|
|
$("button").button();
|
|
//adds selectable element
|
|
$("button").click(function() {
|
|
var addtype = $(this).attr('value');
|
|
console.log('click');
|
|
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');
|
|
});
|
|
|
|
$("button.AddExercise").click(function() {
|
|
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise.name[]" hint="Name" placeholder="Exercise Name"></li>')
|
|
});
|
|
|
|
$('#Activity').find('input.datepicker').datepicker();
|
|
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
|
|
|
|
|
|
|
|
$('#save').click(function() {
|
|
var selector= "#myForm"
|
|
//var formDataFirst = $(selector).toObject({mode: 'first'});
|
|
var formDataAll = $(selector).toObject({mode: 'all'});
|
|
socket.emit('addactivity', formDataAll);
|
|
|
|
console.log('All ', JSON.stringify(formDataAll, null, ' '));
|
|
// to prevent the page from changing
|
|
$('ul#sortable li').remove();
|
|
$('#Activity').find('input').attr('value','');
|
|
$( "#tabs" ).tabs( "select" , 0 )
|
|
$('#Activity').find('input.datepicker').datepicker();
|
|
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
|
|
return false;
|
|
});
|
|
|
|
$('#saveexercises').click(function() {
|
|
var selector= "#ExerciseForm"
|
|
//var formDataFirst = $(selector).toObject({mode: 'first'});
|
|
var formDataAll = $(selector).toObject({mode: 'all'});
|
|
socket.emit('updateexercises', formDataAll);
|
|
|
|
console.log('All ', JSON.stringify(formDataAll, null, ' '));
|
|
// to prevent the page from changing
|
|
$('ul#sortableexercises li').remove();
|
|
return false;
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#cancelform').click(function() {
|
|
$('ul#sortable li').remove();
|
|
return false;
|
|
});
|
|
|
|
$('#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() );
|
|
switch($(this).val()) {
|
|
case "Run":
|
|
$(this).siblings('span').html('<input type="text" name="activity.lap[0].run.name" placeholder="Location"><input type="text" name="activity.lap[0].run.time" placeholder="hh:mm:ss"><a href=# class=delete>delete</a>');
|
|
break;
|
|
case "Bike":
|
|
$(this).siblings('span').html('<input type="text" name="activity.lap[0].bike.name" hint="Name" placeholder="Track Name"><input type="text" name="activity.lap[0].bike.distance" placeholder="Distance"> <input type="text" name="activity.lap[0].bike.time" placeholder="hh:mm:ss"><a href=# class=delete>delete</a>');
|
|
break;
|
|
case "Cardio":
|
|
$(this).siblings('span').html('<input type="text" name="activity.lap[0].cardio.name" placeholder="Machine"><input type="text" name="activity.lap[0].cardio.distance" placeholder="Distance"><input type="text" name="activity.lap[0].cardio.time" placeholder="hh:mm:ss"><a href=# class=delete>delete</a>');
|
|
break;
|
|
case "Exercise":
|
|
$(this).siblings('span').html('<input type="text" name="activity.lap[0].exercise.name" placeholder="Exercise Name"> <input type="text" name="activity.lap[0].exercise.sets" placeholder="Sets"><input type="text" name="activity.lap[0].exercise.sets" placeholder="Reps"><a href=# class=delete>delete</a>');
|
|
break;
|
|
case "Rest":
|
|
$(this).siblings('span').html('<input type="text" name="activity.lap[0].rest[0]" placeholder="Rest"><a href=# class=delete>delete</a>');
|
|
break;
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="container">
|
|
<div id="logo"><H1>Workout Tracker</h1></div>
|
|
<div id="display">
|
|
<ul>
|
|
<li style="display: none" class="new-lap ui-state-highlight">
|
|
<!-- <label class="uiindex">-->
|
|
<label class="uiindex"></label>
|
|
<select class="laptype">
|
|
<option value="">Select...</option>
|
|
<option value="Run">Run</option>
|
|
<option value="Bike">Bike</option>
|
|
<option value="Cardio">Cardio</option>
|
|
<option value="Exercise">Exercise</option>
|
|
<option value="Rest">Rest</option>
|
|
</select>
|
|
<span></span>
|
|
</li>
|
|
</ul>
|
|
|
|
<div id="tabs">
|
|
<ul>
|
|
<li><a id="Activities_tab" href="#Activities">Activities</a></li>
|
|
<li><a href="#Activity">Add Activity</a></li>
|
|
<li><a href="#ExerciseEditor">Edit Exercises</a></li>
|
|
<li><a href="#ExpressoEditor">Edit Expresso Tracks</a></li>
|
|
</ul>
|
|
|
|
|
|
<div id="Activity">
|
|
<button class="Add" value="lap">Add Lap</button>
|
|
<form id="myForm">
|
|
<ul id="activityheader">
|
|
<li><label>Activity Name</label><input type="text" name="activity.name" placeholder="Location"><label>Date</label><input type="text" class="datepicker" name="activity.date"></li>
|
|
</ul>
|
|
<ul id="sortable">
|
|
</ul>
|
|
<button type="submit" id="save" value="Save">Save</button>
|
|
<button type="button" id="cancelform" value="Cancel"/>Cancel</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div id="ExerciseEditor" >
|
|
<button class="AddExercise">Add Exercise</button>
|
|
<button type="button" class="cancel" value="Cancel"/>Cancel</button>
|
|
CODE FOR EDITING EXERCISES
|
|
<form id="ExerciseForm">
|
|
<ul id="sortableexercises">
|
|
</ul>
|
|
<button type="submit" id="saveexercises" value="Save">Save</button>
|
|
<button type="button" id="cancelexerciseform" value="Cancel"/>Cancel</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div id="ExpressoEditor" >
|
|
<button type="button" class="cancel" value="Cancel"/>Cancel</button>
|
|
CODE FOR EDITING EXPRESSO TRACKS
|
|
<ul id="sortableexpresso">
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="Activities">
|
|
<ul id="ActivityList"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div></body>
|
|
</html>
|